Когда я обсуждал консенсус Dusk, я заметил один момент, который часто уводят в сторону: многие смотрят лишь на то, что блоки появляются за «несколько секунд», и спешат заявить, что это высокоскоростной PoS. Но когда я дочитал белую книгу, я понял: в SBA главное вовсе не в скорости, а в том, как поднять «стоимость мошенничества» до такого уровня, при котором другие не осмелятся к этому прикасаться.
Сначала — пороговые подписи. Традиционная верификация опирается на то, что множество узлов независимо проводят голосование, а затем рассылают результаты всем. n узлов подтверждают друг друга, поэтому коммуникационная нагрузка составляет O(n²) — и чем больше узлов, тем сильнее сеть начинает перегружаться. В Dusk иначе: все валидаторы сначала совместно генерируют агрегированный открытый ключ, а затем по принципу шардированной подписи вместе подписывают один и тот же блок — каждый узел отправляет наружу лишь небольшой фрагмент, а когда все фрагменты собраны, они склеиваются в полную BLS-подпись.
В итоге коммуникации сразу падают до O(n), а ожидание подтверждения выпуска блока заметно сокращается. Когда я запускал сетевые симуляции в лаборатории, разница особенно бросалась в глаза уже при десятках узлов: время верификации набора подписей почти не менялось и в значительной степени не зависело от числа участников.
Но по-настоящему интересным для меня стало продолжение — система допуска и механизм подотчетности (с slashing). #dusk не может быть валидатором «кто угодно»: сначала нужно пройти процедуру допуска. А после входа тебя «подстраховывает» целый набор механизмов Slashing: если ты творишь зло, твою залоговую ставку накажут. По сути, это затычка для одной очень скрытой лазейки в PoS — «верификация без затрат» в атаке типа Сибил.
Если сказать проще: атакующий создает целую пачку фальшивых идентичностей и «бесплатно присоединяется» рядом с честными валидаторами — не вносит усилий и не платит, но снаружи выглядит так, будто система децентрализована, а реальные полномочия при этом тихо сосредотачиваются. Система допуска сначала отсеивает поток массовых фальшивых аккаунтов, а подотчетность затем гарантирует, что внутри действительно есть залог «живыми деньгами». Когда эти два слоя складываются вместе, цена за злонамеренные действия перестает быть «нулевой» и становится вполне измеримой реальной потерей. @Dusk $DUSK
Изначально я думал, что такие решения сделаны ради стабильности. Но потом понял: они используют теорию игр, чтобы задать «цену» доверию. Консенсус — это то, где иногда консервативность и есть настоящая смелость.
Сначала — пороговые подписи. Традиционная верификация опирается на то, что множество узлов независимо проводят голосование, а затем рассылают результаты всем. n узлов подтверждают друг друга, поэтому коммуникационная нагрузка составляет O(n²) — и чем больше узлов, тем сильнее сеть начинает перегружаться. В Dusk иначе: все валидаторы сначала совместно генерируют агрегированный открытый ключ, а затем по принципу шардированной подписи вместе подписывают один и тот же блок — каждый узел отправляет наружу лишь небольшой фрагмент, а когда все фрагменты собраны, они склеиваются в полную BLS-подпись.
В итоге коммуникации сразу падают до O(n), а ожидание подтверждения выпуска блока заметно сокращается. Когда я запускал сетевые симуляции в лаборатории, разница особенно бросалась в глаза уже при десятках узлов: время верификации набора подписей почти не менялось и в значительной степени не зависело от числа участников.
Но по-настоящему интересным для меня стало продолжение — система допуска и механизм подотчетности (с slashing). #dusk не может быть валидатором «кто угодно»: сначала нужно пройти процедуру допуска. А после входа тебя «подстраховывает» целый набор механизмов Slashing: если ты творишь зло, твою залоговую ставку накажут. По сути, это затычка для одной очень скрытой лазейки в PoS — «верификация без затрат» в атаке типа Сибил.
Если сказать проще: атакующий создает целую пачку фальшивых идентичностей и «бесплатно присоединяется» рядом с честными валидаторами — не вносит усилий и не платит, но снаружи выглядит так, будто система децентрализована, а реальные полномочия при этом тихо сосредотачиваются. Система допуска сначала отсеивает поток массовых фальшивых аккаунтов, а подотчетность затем гарантирует, что внутри действительно есть залог «живыми деньгами». Когда эти два слоя складываются вместе, цена за злонамеренные действия перестает быть «нулевой» и становится вполне измеримой реальной потерей. @Dusk $DUSK
Изначально я думал, что такие решения сделаны ради стабильности. Но потом понял: они используют теорию игр, чтобы задать «цену» доверию. Консенсус — это то, где иногда консервативность и есть настоящая смелость.
