Два разных компа говорят, что они "нашли" блок. Как с помощью ЭЦП и асимметричного кодирования определить кто из них прав?
а зачем их искать? Просто генерация по таймеру и все.
(сеть собирает заявки за этот интервал времени, потом ведущий генерит блок по ним, и все)
"ведущего" стоит выбрать просто чтобы чтобы не было генерации тысяч одинаковых блоков в сети, вот и все.
проверить блок вообще не вопрос - этот принцип и сейчас в основе биткойна.
Сеть тупо сравнивает заявки у себя и проверяет все ли они включены в блок - ну скажем с точностью 10%.
Если все закопаны - то блок принимается(можно голосованием, и не обязательно 51% - можно и 90% сделать,
тут же нет проблем низкой посещаемости выборов
, все 100% клиентов одинаковы и на связи),
случайно оставшиеся 10% переносяться в след. блок...
Майнинг-блоки вообще могут быть отделены от транзакций - монеты и так имеют ЭЦП ключи доступа и защищены...
(кстати скорость транзакций может быть мгновенной - не обязательно ждать несколько подтверждений,
ЭЦП проверяется же быстро, в какой блок потом будет закопана транзакция уже не важно)
Майнинг-блоки тоже могут идти независимо с любой другой частотой...
После слова "центр" можно дальше не читать. По условиям задачи нужна ДЕЦЕНТРАЛИЗОВАННАЯ система.
а вот и нет...
Открою страшную тайну - ВСЕ ресурсы и сервисы являются логически(выглядят) как бы центром, это всегда.
(вы видете всегда один центральный google.com или yandex.ru, хотя внутри он может состоять из тыс. серверов)
Сам биткоин логически тоже одна система - то есть центр.
Так что самое надежное это "распределенный центр", как-то так.
Временное назначение ведущих это по сути арбитраж, хотя в принципе это тоже центр.
Нет проблем с крахом такого временного центра поскольку все остальные 100% проверят каждый блок.
Загнеться один ведущий - тут-же выберут другого, это не проблема совсем.
Vladimir
PS сам биткоин логически тоже все равно выгдядит как центр - то есть одна сеть.