Недавно всплыла критическая уязвимость в прошивке аппаратного кошелька v4.0.1: выяснилось, что генератор аппаратных случайных чисел на основе физической энтропии откатили до уровня программного слоя с псевдослучайностью, которую можно предсказать. В итоге хакерам даже не пришлось ломать приватные ключи — они просто перебором смогли вычислить мнемонику. 1778 BTC на сумму примерно 112 миллионов долларов США были мгновенно выведены. Я писал код на уровне ядра уже десять лет, и я слишком хорошо знаю такие «скрытые болезни»: невидимая, не проверяемая на блокчейне «черная коробка» случайности — это клинок Дамокла, нависший над пулом средств в Web3.
Эта история заставила меня сразу вспомнить «детерминированные лотереи», которыми сейчас занимается @Dusk . Лотерея по определению должна быть случайной, но добавление «детерминированности» кажется странным — на деле это прямое попадание в боль отрасли: результат случайности должен быть публичным и поддающимся повторному вычислению.
Dusk превратила консенсусную лотерею в «игру на витрине». Все узлы сети через алгоритм SHA-3 перемешивают (проворачивают) seed предыдущего блока, текущий раунд и номера слотов, чтобы получить итоговый скор. Ключевой «seed» — это цифровая подпись предыдущего генератора, сделанная тем, кто выпустил прошлый блок; каждый блок принудительно обновляет этот seed. Это означает, что кто выиграл билет и кто вошел в комиссию — может проверить любой разработчик, запустивший узел: стоимость мошенничества крайне высока. Даже изменение одного байта вызывает лавинообразный эффект — хеш становится другим, и сеть сразу «светится».
В этой схеме $DUSK — это «номерной билет» лотереи. Чем больше заложено, тем выше шанс выиграть, но в тонкости — механизм «затухания веса»: каждый раз, когда у крупного держателя вычитается один слот, вес для следующих розыгрышей принудительно уменьшается, а базовая логика не дает китам устраивать массовую монополизацию.
Но я, как правило, не верю в абсолютно идеальные протоколы — по привычке надо найти слабое место. Эта конструкция, конечно, не требует интерактивности и достаточно умна, но фатальная уязвимость тоже очевидна: детерминизм часто означает предсказуемость. В сравнении с механизмом RANDAO в Ethereum или VRF в Algorand, Dusk фактически отдает ключ к следующему розыгрышу — подписи предыдущего раунда. Как только у вас оказывается seed текущего блока, следующий раунд уже можно заранее посчитать, кто выиграет. Если идентичность узла заранее известна, появляются огромные возможности для таргетированных DDoS-атак или сговора узлов, направленных на то, чтобы «выбить» нужные моменты. Проверяемость, доведенная до крайности, превращает случайность в «спойлер».
#dusk $DUSK $BTC
Эта история заставила меня сразу вспомнить «детерминированные лотереи», которыми сейчас занимается @Dusk . Лотерея по определению должна быть случайной, но добавление «детерминированности» кажется странным — на деле это прямое попадание в боль отрасли: результат случайности должен быть публичным и поддающимся повторному вычислению.
Dusk превратила консенсусную лотерею в «игру на витрине». Все узлы сети через алгоритм SHA-3 перемешивают (проворачивают) seed предыдущего блока, текущий раунд и номера слотов, чтобы получить итоговый скор. Ключевой «seed» — это цифровая подпись предыдущего генератора, сделанная тем, кто выпустил прошлый блок; каждый блок принудительно обновляет этот seed. Это означает, что кто выиграл билет и кто вошел в комиссию — может проверить любой разработчик, запустивший узел: стоимость мошенничества крайне высока. Даже изменение одного байта вызывает лавинообразный эффект — хеш становится другим, и сеть сразу «светится».
В этой схеме $DUSK — это «номерной билет» лотереи. Чем больше заложено, тем выше шанс выиграть, но в тонкости — механизм «затухания веса»: каждый раз, когда у крупного держателя вычитается один слот, вес для следующих розыгрышей принудительно уменьшается, а базовая логика не дает китам устраивать массовую монополизацию.
Но я, как правило, не верю в абсолютно идеальные протоколы — по привычке надо найти слабое место. Эта конструкция, конечно, не требует интерактивности и достаточно умна, но фатальная уязвимость тоже очевидна: детерминизм часто означает предсказуемость. В сравнении с механизмом RANDAO в Ethereum или VRF в Algorand, Dusk фактически отдает ключ к следующему розыгрышу — подписи предыдущего раунда. Как только у вас оказывается seed текущего блока, следующий раунд уже можно заранее посчитать, кто выиграет. Если идентичность узла заранее известна, появляются огромные возможности для таргетированных DDoS-атак или сговора узлов, направленных на то, чтобы «выбить» нужные моменты. Проверяемость, доведенная до крайности, превращает случайность в «спойлер».
#dusk $DUSK $BTC
🔹 可复算优先,确定性抽签利大于弊
100%
🔹 风险致命,可预测会引来定向攻击
0%
🔹 需要折中,参考VRF/RANDAO做改良
0%
1 проголосовали • Голосование закрыто