От редакции NodeTimes.
Большинство SNARKs генерируют наименьшие по размеру доказательства, но требуют доверенной настройки и не являются постквантовыми; STARKs не требуют настройки и основаны на хеш-функциях, однако их доказательства достигают десятков килобайт. Решение о реальном развертывании зависит от того, какие из трех затрат – размер доказательства, время доказателя (prover) и уровень доверия – ваша система фактически несет.
Три оси, которые часто смешивают
Обсуждения SNARK versus STARK обычно сводят три независимых свойства в одну ранжированную шкалу, что и вызывает разногласия. Размер доказательства, доверие к настройке и устойчивость к квантовым атакам варьируются отдельно, и система может преуспевать в одном аспекте, проигрывая в двух других.
Доверенная настройка: одноразовая церемония, которая генерирует ключи доказательства и проверки, чья секретная случайность («токсичные отходы») позволила бы кому угодно подделывать доказательства, если бы она сохранилась. FRI (Fast Reed-Solomon Interactive Oracle Proof of Proximity): основанная на хеш-функциях проверка низкой степени, которая делает STARKs прозрачными и устойчивыми к квантовым атакам. Система доказательств: пара алгоритмов, позволяющих доказателю убедить верификатора в истинности утверждения, не раскрывая свидетеля (witness).
Оси по отдельности:
- Размер доказательства: SNARKs имеют постоянный размер, сотни байт; STARKs растут вместе с объемом вычислений.
- Доверие к настройке: Groth16 требует церемонии для каждой схемы (circuit), PLONK – универсальной, Halo2 и системы на базе FRI не требуют ничего.
- Устойчивость к квантовым атакам: системы на основе спариваний (pairing-based) и дискретного логарифма уязвимы перед алгоритмом Шора, хеш-основанные STARKs – нет.
Терминология для более широкого стека, от коммитментов до рекурсии, остается в глоссарии блокчейна.
Размер доказательства, время доказателя и время верификатора: что показывают бенчмарки
Публикуемые бенчмарки расходятся на порядки, и это расхождение – самая полезная информация перед чтением любой сравнительной таблицы. Их цифры получены из разных схем и на разном оборудовании, и эти две переменные перевешивают выбор семейства.
| Бенчмарк | Платформа | Результат SNARK | Результат STARK | Кто побеждает |
|---|---|---|---|---|
| Сравнение Groth16 со справочным STARK | потребительский ARM | 55,47 мс доказательство, 1807 мс верификация, доказательство 384 байта | 3809,64 мс доказательство, 472 мс верификация, доказательство 68 564 байта | SNARK по доказательству и размеру, STARK по верификации |
| Обзор SNARK, STARK и Bulletproofs | смешанные библиотеки | наименьшие доказательства из трех | самая быстрая генерация и верификация | STARK по скорости, SNARK по размеру |
Из этого следуют два вывода, которые ценнее выбора победителя:
- Порядок времени доказателя и верификатора меняется между бенчмарками, поэтому таблица, опубликованная без описания схемы, не является доказательством.
- Стабильный порядок по обоим бенчмаркам – размер доказательства: SNARKs на основе спариваний остаются примерно на два порядка меньше STARKs.
Почему доверенная настройка – это реальный риск, а не формальность
Церемония SNARKs создает структурированную эталонную строку, и если какой-либо участник сохранил токсичные отходы, он может бесконечно подделывать доказательства для этой схемы. Мера предосторожности – дизайн церемонии: Groth16 требует новой церемонии для каждой схемы, тогда как универсальные настройки стиля PLONK, построенные на коммитах KZG к единой структурированной эталонной строке, могут использоваться для различных схем в пределах ограничения размера.
- Groth16: настройка для каждой схемы, наименьшие доказательства, слабая операционная история при частом изменении схемы.
- PLONK: одна универсальная настройка, доказательства около 500 байт, многоразовое использование для различных схем.
- Halo2: прозрачная настройка с использованием аргументов внутреннего произведения, но все еще построена на эллиптических кривых, поэтому не является постквантовой.
- STARKs на базе FRI: прозрачные и основанные на хеш-функциях, без какой-либо церемонии в любой момент.
Для протокола, который должен просуществовать десятилетие, одноразовая церемония – это обязательство управления, а не техническая деталь, и именно этот аргумент подтолкнул части экосистемы к системам доказательств на основе хеш-функций.
Постквантовая безопасность
STARKs опираются на стойкие к коллизиям хеш-функции как для коммитментов, так и для звуковости (soundness), поэтому они считаются постквантово безопасными. Groth16 и PLONK опираются на предположения о спариваниях над эллиптическими кривыми, которые разрушаются алгоритмом Шора.
Это имеет следствие для планирования, а не немедленное:
- SNARK, верифицирующий доказательство STARK, наследует звуковость STARK, но добавляет проверку спаривания, которую квантовый компьютер может сломать.
- Доказательства, уже закрепленные в блокчейне, нельзя будет позже верифицировать иначе; верификатор, существующий в момент появления доказательства, – тот, который имеет значение.
- Если постквантовая верификация является требованием, внутренняя система доказательств должна быть основана на хеш-функциях, независимо от того, какая обертка используется.
Более широкое движение к криптографии на основе хеш-функций отображено в руководстве по постквантовому блокчейну сайта, и тот же вопрос утверждения против проверки на практике попадает в аудиты, сертификаты и постквантовую защиту.
Где каждая система используется в продакшене сегодня
Сложившаяся модель составная, а не исключительная: прозрачное, основанное на хеш-функциях доказательство, генерируемое вне цепи, оборачивается в небольшое основанное на спариваниях доказательство SNARK, чтобы верификация внутри цепи оставалась дешевой.
| Система | Семейство | Настройка | Пример использования в продакшене |
|---|---|---|---|
| Groth16 | Спаривание SNARK | Для каждой схемы | Защищенные транзакции Zcash |
| PLONK | Спаривание SNARK | Универсальная | Несколько zkEVM rollups |
| Halo2 | IPA SNARK | Прозрачная | Реализации zkEVM |
| STARK на базе FRI | Основанный на хеш-функциях | Нет | Rollups и доказатели STARK, такие как Plonky2 и Plonky3 |
| STARK, обернутый в SNARK | Гибрид | Наследует оба | Rollups, которые публикуют STARK и верифицируют SNARK |
EIP-4844 изменил экономику на стороне L1, оценивая данные blob отдельно от calldata, что снижает стоимость публикации большого доказательства, но не делает ее бесплатной; данные blob также не хранятся бессрочно клиентами консенсуса.
Как выбрать, в порядке приоритета
Принимайте решение в этой последовательности, поскольку каждый шаг устраняет большую часть оставшихся вариантов.
- Если требуется постквантовая верификация, внутренняя система доказательств должна быть основана на хеш-функциях: STARK, а не Groth16 или PLONK.
- Если стоимость верификации внутри цепи доминирует, уменьшайте количество байт: спаривания экономят calldata, поэтому оборачивайте большое доказательство.
- Если схема часто изменяется, предпочтите универсальную или прозрачную настройку вместо церемоний для каждой схемы.
- Если производительность доказателя доминирует, запустите бенчмарк вашей собственной схемы: опубликованные таблицы расходятся, как показано выше.
- Если утверждение мало и единично (доказательство диапазона, доказательство членства), неуниверсальный SNARK обычно является самым дешевым рабочим решением.
Порядок важнее ответа: команды, которые сначала выбирают систему доказательств, а затем обнаруживают свой бюджет на верификацию внутри цепи, обычно все равно перестраивают схему вокруг бюджета.
Часто задаваемые вопросы
Всегда ли ZK-STARKs лучше, чем ZK-SNARKs?
Нет: STARKs выигрывают по предположениям о доверии и устойчивости к квантовым атакам, тогда как SNARKs выигрывают по размеру доказательства и стоимости верификации внутри цепи.
Гибридная модель, где STARK обернут в SNARK, существует именно потому, что ни один из них не доминирует.
Почему доказательства STARKs такие большие?
Они построены из коммитментов Меркла и запросов FRI, поэтому их размер растет вместе с вычислениями, а не остается постоянным.
Системы на основе спариваний вместо этого сжимают все в несколько элементов группы, что и делает возможным доказательство размером 384 байта.
Можно ли сделать SNARK постквантовым?
Не пока он опирается на спаривания или дискретные логарифмы: системы доказательств на решетках (lattice-based) являются активным направлением исследований, а производственные системы, которые используются, либо основаны на спариваниях, либо на хеш-функциях.
Если дорожная карта обещает постквантовые ZK, спросите, на каком из двух семейств она фактически построена.
Означает ли доверенная настройка, что система взломана?
Нет, но существует конкретный режим отказа: если секретная случайность церемонии сохранилась, доказательства можно подделать, а многопользовательские церемонии делают такой исход требующим сговора многих участников.
Честная позиция заключается в том, что настройка – это риск, который необходимо количественно оценить и задокументировать, а не свойство, которое следует игнорировать.
Какое семейство следует выбрать rollup?
Большинство производственных rollups выбирают по стоимости верификации на L1, а затем оборачивают соответствующим образом: доказатель на основе хеш-функций для масштабируемости, небольшой SNARK для проверки внутри цепи.
Выбор следует пересмотреть при изменении схемы, потому что церемония для каждой схемы – это повторяющаяся стоимость, а не одноразовая.
Top comments (0)