#dusk $DUSK @Dusk

Я предположил, что только одной системе доказательств нужен доверенный setup, а другая просто пропускает его. Но это не так: реальная картина и собственная настройка Dusk показали мне обратное.

Вот в чем дело. И PlonK, и Groth16 требуют доверенной настройки. Dusk поддерживает оба варианта, встроив их прямо в движок Piecrust как нативные функции. Настоящее различие не в том, нужно ли это. Разница в том, как часто.

Groth16 нуждается в новой настройке для каждого отдельного схемного доказательства (каждого circuit). Новая логика контракта — новый setup — каждый раз. Это дорого организовывать, но оно того стоит. Доказательства получаются крошечными, а верификация проходит быстро.

PlonK устроен иначе. Один setup, сделанный один раз, затем используется повторно для любых схем, которые вы создадите позже. Это гораздо гибче. Но при этом доказательства становятся больше, а их проверка стоит дороже.

Так что Dusk не выбирает одного победителя. Он дает разработчикам оба инструмента и позволяет им самим определить компромисс. Нужна скорость и вы не против заново организовывать setup под каждую схему? Groth16. Нужна гибкость и вы готовы нести более крупное доказательство? PlonK.

Раньше я думал, что доверенный setup — это вопрос «да или нет». Документация Dusk показала мне, что на самом деле это вопрос о том, сколько работы по настройке вы готовы переделывать, и о том, какой размер доказательства вы готовы нести.