В эти дни я роюсь в документации по консенсусу Dusk и чем больше читаю, тем больше думаю: есть один момент, который прямо в точку — во многих PoS-сетях валидаторы выполняют сразу две функции: и предлагают блоки, и проверяют блоки. Проще говоря, один и тот же человек совмещает роли и инициатора, и судьи. В самой этой конструкции уже спрятана уязвимость: путь для злоумышленника получается слишком коротким

//
В подходе Dusk эти две вещи полностью разделены
Их консенсус называется SBA (Segregated Byzantine Agreement). Суть в том, что роли «производителя блока» и «свидетеля блока» разнесены по дизайну. Одна группа узлов занимается тем, чтобы предлагать кандидатные блоки, а другая — чтобы проверять, голосовать и окончательно утверждать, какой блок можно добавить в цепочку

Эти группы имеют разные полномочия и разные идентичности: один отвечает только за предложение, другой — только за рассмотрение. Никто не может одновременно быть и спортсменом, и судьёй

//
Есть ещё один инженерный нюанс, который особенно интересно рассмотреть
На этапе верификации множество узлов должны подписать голоса. Если каждый такой подпись отдельно транслировать и отдельно проверять, сетевые расходы начинают расти вместе с количеством узлов. Идея BLS агрегированных подписей в том, чтобы сжать тысячи отдельных подписей в короткий агрегированный результат. Тогда другим узлам достаточно проверить одну такую агрегированную подпись — и это по сути означает проверку всех голосов сразу. В результате стоимость верификации резко падает, а эффективность консенсуса растёт

//
Самое ценное в разбиении на два этапа — то, что поднимается порог сговора
Если блоки и проверка — дело одной и той же компании, то для злоупотребления достаточно захватить одну роль. После разделения, чтобы реально повлиять на результат, нужно одновременно завербовать и производственный сегмент, и свидетельский — это две полностью независимые группы людей. Как их выбирают, как определяют идентичности и какие стимулы дают — всё проектируется отдельно. Стоимость сговора и риск разоблачения сразу повышаются
Эта логика разделения полномочий не нова для традиционного управления, но Dusk «встроил» её в самую основу консенсуса, на уровне механизма, а не ограничился разговорами — вероятно, именно это SBA и пытается решить

@Dusk $DUSK #dusk

Какой ключевой дизайн у консенсуса SBA?
A. 把出块和验块拆成两拨独立节点
B. 用算力竞争决定谁出块
C. 所有节点轮流当唯一的验证者
6 дн. осталось