#dusk @Dusk

Я искал источник случайности, стоящий за детерминированной сортировкой Dusk.

Я ожидал, что будет совершенно отдельный механизм. Внешний маяк случайности. Значение, сгенерированное независимо от цепочки.

Однако его нет.

Сид, используемый для выбора следующего генератора блоков и голосующих комитетов, берётся из подписи текущего генератора блока по сидy предыдущего блока.

Каждый блок формирует входные данные, необходимые для следующего выбора.

Именно это остановило меня.

Сид не просто передаётся от блока к блоку. Он каждый раз генерируется заново текущим генератором блока. Генератор, который мог бы предсказать будущий выбор, имел бы причину использовать эту осведомлённость.

В whitepaper прямо говорится, почему это важно. Поскольку каждый сид существует только один раз — в момент, когда его генератор подписывает его, — будущие генераторы и члены комитета не могут быть рассчитаны заранее.

Не потому, что информация где-то скрыта.

А потому что она ещё не существует.

Я представлял непредсказуемость как нечто, что консенсусной системе нужно импортировать откуда-то извне.

@Dusk рассматривает её как то, что цепочка производит шаг за шагом.

Это меняет то, что я считаю границей безопасности. Важное свойство не в том, что сид остаётся секретным. Важнее то, что информация, необходимая для следующего выбора, появляется только после того, как текущий блок будет произведён.

То, что мне всё ещё хочется понять, — что происходит, когда одна и та же небольшая группа генераторов случайно производит несколько подряд идущих блоков. Сохраняется ли та же непредсказуемость во всём этом промежутке при связанной конструкции подписи, или повторный контроль над производством блоков меняет какие-либо из допущений по безопасности?

$DUSK становится для меня ещё интереснее только в том случае, если эта цепочка зависимостей выдерживает реальный отрезок подряд идущих генераторов — а не только в модели.