Zk-SNARK против Zk-STARK против BulletProofs? (обновлено)

zk-S N ARK , Zk-S T ARK и BulletProofs — это три основных доказательства с нулевым разглашением, обеспечивающие конфиденциальность технологии блокчейн.

Если мы сможем их сравнить,

(1) Bulletproofs и Zk-S T ARK не требуют надежной настройки.

В отличие от zk-S N ARK , который требует доверенной установки, что создает для него неудобную ситуацию.

(2) Zcash , использующий zk-S N ARK, может скрывать адрес суммы вместе с отправителем и получателем .

Мне пока не ясно, можно ли скрыть отправителя и получателя с помощью Bulletproofs и Zk-S T ARK .

(3) Судя по всему, Zk-S T ARKs быстрее , чем zk-S N ARKs быстрее , чем Bulletproofs .

(4) Bulletproofs короче, чем zk -S N ARK и Zk-S T ARK .

В общем, каковы основные различия (преимущества и недостатки) между этими тремя основными методами доказательства с нулевым разглашением?

Примечание . Ссылки используются для приведенных выше сравнений:

https://crypto.stanford.edu/bulletproofs/

https://blockonomi.com/bullet-proofs/

https://nulltx.com/mit-review-acclaims-zk-snarks-but-zk-starks-may-steal-the-show/

Примечание 1. В следующей статье сравниваются SNARK и STARK :

Примечание 2. Я сравнил zk-SNARK, Zk-STARK и BulletProofs на следующем рисунке. Любые комментарии к этому сравнению приветствуются:

введите описание изображения здесь

Ответы (3)

Некоторые из ваших пунктов действительны (например, SNARK и STARKS быстрее, чем Bulletproofs), но есть и некоторые ошибки:

  1. STARK быстрее, чем SNARK, только на уровне прувера (1,6 с против 2,3 с), в то время как для верификаторов протокол немного медленнее (16 мс против 10 мс).
  2. Если под короче вы имеете в виду размер в байтах, Bulletproofs только меньше, чем STARK (1300 байт против 45 000 байт), в то время как они значительно больше, чем SNARK (1300 байт против 288 байт).

Каковы основные отличия (преимущества и недостатки)?

Согласно потрясающему репозиторию ZKP :

крутоZKP


Согласно слайдам Елены Надилинской из Devcon4:

постная фасоль


Согласно основному докладу Zooko Wilcox (Zcash) от Devcon4 :

Зооко


Согласно основному докладу Эли-Бена Сассона (STARKware) на Летней школе Техниона (обратите внимание, что на этом последнем изображении измеряется решатель суммы подмножеств, вероятно, более сложный, чем вычисления, выполненные в сравнении выше):

Элибен

Спасибо, не могли бы вы сказать, что означает выражение «на порядок больше» ? (в вашей третьей фигуре.) Спасибо
Порядки величин - это, грубо говоря, степени 10 в числе. Вы можете легко сравнить их, когда представляете числа в научной нотации. Например: ``` 27 = 2,7 * 10^1 98 = 9,8 * 10^1 342 = 3,42 * 10^2 50000 = 5 * 10^4 ``` Первые два числа, хотя одно почти в 4 раза больше как и другие, имеют тот же порядок величины: они оба между 10 и 100. Однако другие больше. 50000 на 3 порядка выше 27, потому что его показатель степени в экспоненциальном представлении равен 4, а 27-й - 1.

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

Для некоторых приложений, таких как то, с которым я должен работать, это просто невозможно. Нам пришлось выбирать между доказательством Снарка размером в сотни байтов и доказательством СТАРКа размером в сотни килобайт. Этот единственный фактор стал для нас убийцей.

Время проверки также значительно больше у Старков, чем у Снарков. В первом случае он растет за время O(poly log n), тогда как для Snarks он линейен в зависимости от входного размера , который является небольшой константой, особенно в сложных схемах. Помните, что здесь n — это количество ворот.

Например, возьмем схему, которая доказывает, что вы знаете прообраз определенного хеш-значения. Ввод будет иметь размер этого ввода, который составляет 32 байта, если вы используете SHA256. Однако для этой функции количество вентилей будет исчисляться десятками тысяч, и вы можете видеть, что время проверки для SNARK незначительно по сравнению с ним.

Цифры в приведенных выше таблицах вводят в заблуждение. Они не говорят вам, какая у вас схема и насколько велико n . В зависимости от того, насколько сложна ваша схема, они могут сильно различаться. Я предпочитаю использовать асимптотическую запись, и в этой статье для этого есть хорошая таблица (стр. 3).

Спасибо, но в документе STARK упоминается: «для средних и крупных последовательных вычислений время нашего верификатора ZK-STARK лучше, чем у других решений » (стр. 12) (ссылка на документ: eprint.iacr.org /2018/046.pdf ). Означает ли это, что они утверждают, что время проверки STARK в среднем короче, чем у SNARK? Спасибо
Привет, спасибо за вопрос. Ответ: я не знаю. Из того, что я прочитал, авторы статьи выбрали очень специфический тип схемы (тест DPM). Также я думаю, что они немного нечестны в том, как они измеряют время проверки, поскольку они добавляют к нему одноразовую настройку. Делать это незачем, проверка и настройка — независимые процессы. Если вы видите график, они также включили строку для libSnark без установки и значительно ниже строки ZKStark.
Асимптотическая запись отражает рост объема вычислений при увеличении размера входных данных и не всегда может отражать реальные затраты. Во многих случаях STARK может превзойти SNARK по времени проверки, потому что он использует простую арифметику полей, в то время как последний использует дорогостоящие пары эллиптических кривых для полей расширения.

AFAIK Bulletproofs короче, но для их проверки требуется больше времени, чем для Starks, что делает его не масштабируемым для сокрытия транзакций блокчейна.

Спасибо. Да, но как насчет S T arks? когда они быстрее, чем S N arks и Bulletproofs, и в то же время им не нужна доверенная установка . А также в чем преимущество того факта, что Bulletproof короче , чем S Tark ? Спасибо
Согласно комментарию здесь ( bitcoin.stackexchange.com/q/79423/41513 ) размер и скорость в sNarks и Bulletproofs зависят от сложности и простоты оператора, но я не уверен насчет sTarks, если его размер и скорость не зависят по сложности высказывания. Спасибо
Скорость проверки SNARK не зависит от размера схемы, в отличие от других систем.