Перейти до основного вмісту

Що таке доведення з нульовим розголошенням?

Редагувати сторінку (opens in a new tab)

Доведення з нульовим розголошенням — це спосіб доведення дійсності твердження без розкриття самого твердження. «Доводжувач» — це сторона, яка намагається довести твердження, тоді як «верифікатор» відповідає за перевірку цього твердження.

Доведення з нульовим розголошенням вперше з'явилися у статті 1985 року «Складність знань в інтерактивних системах доведення (opens in a new tab)» (The knowledge complexity of interactive proof systems), яка містить визначення доведень з нульовим розголошенням, що широко використовується сьогодні:

Протокол з нульовим розголошенням — це метод, за допомогою якого одна сторона (доводжувач) може довести іншій стороні (верифікатору), що щось є істинним, не розкриваючи жодної інформації, окрім того факту, що це конкретне твердження є істинним.

З роками доведення з нульовим розголошенням вдосконалювалися, і зараз вони використовуються в кількох реальних застосунках.

Zero-knowledge proofs explained in 5 levels of difficulty

A computer scientist explains zero-knowledge proofs at five different levels of complexity, from a child to an expert.

Дивитися з транскриптом 

Навіщо нам потрібні доведення з нульовим розголошенням?

Доведення з нульовим розголошенням стали проривом у прикладній криптографії, оскільки вони обіцяли підвищити безпеку інформації для окремих осіб. Подумайте, як ви могли б довести твердження (наприклад, «Я є громадянином країни X») іншій стороні (наприклад, постачальнику послуг). Вам потрібно було б надати «докази» на підтвердження свого твердження, такі як національний паспорт або водійське посвідчення.

Але з цим підходом є проблеми, головним чином — відсутність приватності. Персональні дані (PII), якими діляться зі сторонніми сервісами, зберігаються в центральних базах даних, які є вразливими до зломів. Оскільки крадіжка особистих даних стає критичною проблемою, лунають заклики до створення засобів обміну конфіденційною інформацією, які б краще захищали приватність.

Доведення з нульовим розголошенням вирішують цю проблему, усуваючи необхідність розкривати інформацію для доведення дійсності тверджень. Протокол з нульовим розголошенням використовує твердження (яке називається «свідок») як вхідні дані для створення стислого доведення його дійсності. Це доведення надає надійні гарантії того, що твердження є істинним, не розкриваючи інформацію, використану для його створення.

Повертаючись до нашого попереднього прикладу, єдиним доказом, який вам потрібен для підтвердження вашого громадянства, є доведення з нульовим розголошенням. Верифікатору потрібно лише перевірити, чи виконуються певні властивості доведення, щоб переконатися, що базове твердження також є істинним.

Варіанти використання доведень з нульовим розголошенням

Анонімні платежі

Платежі за кредитними картками часто видимі для багатьох сторін, включаючи постачальника платіжних послуг, банки та інші зацікавлені сторони (наприклад, державні органи). Хоча фінансовий нагляд має переваги для виявлення незаконної діяльності, він також підриває приватність звичайних громадян.

Криптовалюти створювалися для того, щоб надати користувачам засіб для здійснення приватних однорангових транзакцій. Але більшість криптовалютних транзакцій відкрито видимі в публічних блокчейнах. Особистості користувачів часто є псевдонімними і або свідомо пов'язані з реальними особами (наприклад, шляхом додавання адрес ETH у профілі Twitter або GitHub), або можуть бути пов'язані з реальними особами за допомогою базового аналізу ончейн- та позамережевих даних.

Існують спеціальні «приватні монети», розроблені для повністю анонімних транзакцій. Блокчейни, орієнтовані на приватність, такі як Zcash та Monero, приховують деталі транзакцій, включаючи адреси відправника/одержувача, тип активу, кількість та час транзакції.

Вбудовуючи технологію нульового розголошення в протокол, орієнтовані на приватність -мережі дозволяють перевіряти транзакції без необхідності доступу до даних транзакцій. EIP-7503 (opens in a new tab) є прикладом запропонованого дизайну, який дозволить здійснювати нативні приватні перекази цінностей у блокчейні Етеріум. Однак такі пропозиції важко реалізувати через поєднання проблем безпеки, регулювання та користувацького досвіду (UX).

Доведення з нульовим розголошенням також застосовуються для анонімізації транзакцій у публічних блокчейнах. Прикладом є Tornado Cash, децентралізований, некастодіальний сервіс, який дозволяє користувачам здійснювати приватні транзакції в Етеріумі. Tornado Cash використовує доведення з нульовим розголошенням для обфускації деталей транзакцій та гарантування фінансової приватності. На жаль, оскільки ці інструменти приватності є «добровільними» (opt-in), вони асоціюються з незаконною діяльністю. Щоб подолати це, приватність з часом має стати стандартом за замовчуванням у публічних блокчейнах. Дізнайтеся більше про приватність в Етеріумі.

Захист ідентичності

Сучасні системи управління ідентифікацією ставлять під загрозу особисту інформацію. Доведення з нульовим розголошенням можуть допомогти особам підтверджувати ідентичність, одночасно захищаючи конфіденційні дані.

Доведення з нульовим розголошенням особливо корисні в контексті децентралізованої ідентифікації. Децентралізована ідентифікація (також відома як «суверенна ідентифікація») дає особі можливість контролювати доступ до особистих ідентифікаторів. Доведення вашого громадянства без розкриття вашого податкового номера або паспортних даних є хорошим прикладом того, як технологія нульового розголошення уможливлює децентралізовану ідентифікацію.

ZKP + Ідентифікація в дії: Національна цифрова ідентифікація Бутану (NDI) в Етеріумі

Реальним прикладом використання ZKP для систем управління ідентифікацією є система Національної цифрової ідентифікації (NDI) Королівства Бутан, побудована на Етеріумі. NDI Бутану використовує ZKP, щоб дозволити громадянам криптографічно доводити факти про себе, наприклад, «Я є громадянином» або «Мені більше 18 років», не розкриваючи конфіденційні персональні дані зі свого посвідчення.

Дізнайтеся більше про NDI Бутану в тематичному дослідженні децентралізованої ідентифікації.

Доведення людяності (Proof of Humanity)

Одним із найпоширеніших прикладів використання доведень з нульовим розголошенням на сьогодні є протокол World ID (opens in a new tab), який можна розглядати як «глобальний цифровий паспорт для епохи ШІ». Він дозволяє людям доводити, що вони є унікальними особами, не розкриваючи особисту інформацію. Це досягається за допомогою пристрою під назвою Orb, який сканує райдужну оболонку ока людини та генерує код райдужної оболонки. Код райдужної оболонки перевіряється та верифікується, щоб підтвердити, що особа є біологічно унікальною людиною. Після верифікації фіксація ідентичності, згенерована на пристрої користувача (і не пов'язана з біометричними даними та не похідна від них), додається до безпечного списку в блокчейні. Потім, коли користувач хоче довести, що він є верифікованою людиною — чи то для входу в систему, чи для того, щоб віддати голос, чи для інших дій — він може згенерувати доведення з нульовим розголошенням, яке підтверджує його членство у списку. Краса використання доведення з нульовим розголошенням полягає в тому, що розкривається лише одне твердження: ця особа є унікальною. Все інше залишається приватним.

World ID покладається на протокол Semaphore (opens in a new tab), розроблений командою PSE (opens in a new tab) у Фундації Ethereum. Semaphore розроблений як легкий, але потужний спосіб генерування та перевірки доведень з нульовим розголошенням. Він дозволяє користувачам доводити, що вони є частиною групи (у цьому випадку — верифікованих людей), не показуючи, яким саме членом групи вони є. Semaphore також є дуже гнучким, дозволяючи створювати групи на основі широкого спектра критеріїв, таких як верифікація ідентичності, участь у подіях або володіння обліковими даними.

Автентифікація

Використання онлайн-сервісів вимагає підтвердження вашої ідентичності та права доступу до цих платформ. Це часто вимагає надання особистої інформації, такої як імена, адреси електронної пошти, дати народження тощо. Вам також може знадобитися запам'ятовувати довгі паролі або ризикувати втратою доступу.

Однак доведення з нульовим розголошенням можуть спростити автентифікацію як для платформ, так і для користувачів. Після того, як ZK-доведення було згенеровано з використанням відкритих вхідних даних (наприклад, даних, що підтверджують членство користувача на платформі) та приватних вхідних даних (наприклад, даних користувача), користувач може просто надати його для автентифікації своєї особи, коли йому потрібен доступ до сервісу. Це покращує досвід для користувачів і звільняє організації від необхідності зберігати величезні обсяги інформації про користувачів.

Обчислення, що піддаються перевірці

Обчислення, що піддаються перевірці (verifiable computation) — це ще одне застосування технології нульового розголошення для покращення архітектури блокчейнів. Обчислення, що піддаються перевірці, дозволяють нам передавати обчислення іншій сутності, зберігаючи при цьому результати, які можна перевірити. Ця сутність подає результат разом із доведенням, яке підтверджує, що програма була виконана правильно.

Обчислення, що піддаються перевірці, є критично важливими для підвищення швидкості обробки в блокчейнах без зниження рівня безпеки. Розуміння цього вимагає знання відмінностей у запропонованих рішеннях для масштабування Етеріуму.

Ончейн-рішення для масштабування, такі як шардинг, вимагають значної модифікації базового рівня блокчейну. Однак цей підхід є дуже складним, і помилки в реалізації можуть підірвати модель безпеки Етеріуму.

Позамережеві рішення для масштабування не вимагають переробки основного протоколу Етеріуму. Натомість вони покладаються на модель аутсорсингу обчислень для покращення пропускної здатності на базовому рівні Етеріуму.

Ось як це працює на практиці:

  • Замість того, щоб обробляти кожну транзакцію, Етеріум переносить виконання в окремий ланцюг.

  • Після обробки транзакцій інший ланцюг повертає результати для застосування до стану Етеріуму.

Перевага тут полягає в тому, що Етеріуму не потрібно виконувати жодних обчислень, а лише застосовувати результати аутсорсингових обчислень до свого стану. Це зменшує перевантаження мережі, а також підвищує швидкість транзакцій (позамережеві протоколи оптимізовані для швидшого виконання).

Ланцюгу потрібен спосіб перевірки позамережевих транзакцій без їх повторного виконання, інакше цінність позамережевого виконання втрачається.

Саме тут у гру вступають обчислення, що піддаються перевірці. Коли вузол виконує транзакцію за межами Етеріуму, він подає доведення з нульовим розголошенням, щоб довести правильність позамережевого виконання. Це доведення (яке називається ) гарантує, що транзакція є дійсною, дозволяючи Етеріуму застосувати результат до свого стану — не чекаючи, поки хтось його оскаржить.

Ролапи з нульовим розголошенням та валідіуми — це два позамережеві рішення для масштабування, які використовують докази дійсності для забезпечення безпечної масштабованості. Ці протоколи виконують тисячі транзакцій позамережево і подають доведення для перевірки в Етеріумі. Ці результати можуть бути застосовані негайно після перевірки доведення, що дозволяє Етеріуму обробляти більше транзакцій без збільшення обчислень на базовому рівні.

Окрім масштабування рівня 2 (l2), доведення з нульовим розголошенням також можуть перевіряти виконання блоків рівня 1 (l1) Етеріуму. zkEVM для верифікації L1 дозволила б валідаторам перевіряти блоки шляхом перевірки доведення, а не повторного виконання всіх транзакцій — що уможливило б вищі ліміти газу без підвищення вимог до апаратного забезпечення валідаторів.

Зменшення хабарництва та змови в ончейн-голосуванні

Схеми голосування на блокчейні мають багато сприятливих характеристик: вони повністю піддаються аудиту, захищені від атак, стійкі до цензури та вільні від географічних обмежень. Але навіть схеми ончейн-голосування не застраховані від проблеми змови.

Змова, яка визначається як «координація з метою обмеження відкритої конкуренції шляхом обману, шахрайства та введення в оману інших», може набувати форми зловмисника, який впливає на голосування, пропонуючи хабарі. Наприклад, Аліса може отримати хабар від Боба, щоб віддати голос за option B у бюлетені, навіть якщо вона віддає перевагу option A.

Хабарництво та змова обмежують ефективність будь-якого процесу, який використовує голосування як сигнальний механізм (особливо там, де користувачі можуть довести, як вони проголосували). Це може мати значні наслідки, особливо коли голоси відповідають за розподіл дефіцитних ресурсів.

Наприклад, механізми квадратичного фінансування (opens in a new tab) покладаються на пожертви для вимірювання переваг певних варіантів серед різних проєктів суспільного блага. Кожна пожертва вважається «голосом» за конкретний проєкт, причому проєкти, які отримують більше голосів, отримують більше коштів із пулу співфінансування.

Використання ончейн-голосування робить квадратичне фінансування вразливим до змови: транзакції в блокчейні є публічними, тому хабародавці можуть перевірити ончейн-активність хабароодержувача, щоб побачити, як він «проголосував». Таким чином квадратичне фінансування перестає бути ефективним засобом розподілу коштів на основі сукупних уподобань спільноти.

На щастя, новіші рішення, такі як MACI (Мінімальна інфраструктура протидії змові), використовують доведення з нульовим розголошенням, щоб зробити ончейн-голосування (наприклад, механізми квадратичного фінансування) стійким до хабарництва та змови. MACI — це набір смарт-контрактів і скриптів, які дозволяють центральному адміністратору (якого називають «координатором») агрегувати голоси та підраховувати результати без розкриття деталей того, як проголосувала кожна окрема особа. Незважаючи на це, все ще можливо перевірити, чи були голоси підраховані правильно, або підтвердити, що конкретна особа брала участь у раунді голосування.

Як MACI працює з доведеннями з нульовим розголошенням?

На початку координатор розгортає контракт MACI в Етеріумі, після чого користувачі можуть зареєструватися для голосування (зареєструвавши свій відкритий ключ у смарт-контракті). Користувачі віддають голоси, надсилаючи повідомлення, зашифровані їхнім відкритим ключем, до смарт-контракту (дійсний голос має бути підписаний останнім відкритим ключем, пов'язаним з ідентичністю користувача, серед інших критеріїв). Після цього координатор обробляє всі повідомлення після закінчення періоду голосування, підраховує голоси та перевіряє результати ончейн.

У MACI доведення з нульовим розголошенням використовуються для забезпечення правильності обчислень, унеможливлюючи для координатора неправильну обробку голосів та підрахунок результатів. Це досягається шляхом вимоги до координатора генерувати доведення ZK-SNARK, які підтверджують, що а) всі повідомлення були оброблені правильно, б) кінцевий результат відповідає сумі всіх дійсних голосів.

Таким чином, навіть без надання розбивки голосів за користувачами (як це зазвичай буває), MACI гарантує цілісність результатів, розрахованих під час процесу підрахунку. Ця функція корисна для зниження ефективності базових схем змови. Ми можемо дослідити цю можливість, використовуючи попередній приклад, коли Боб дає хабар Алісі, щоб вона проголосувала за певний варіант:

  • Аліса реєструється для голосування, надсилаючи свій відкритий ключ до смарт-контракту.
  • Аліса погоджується віддати голос за option B в обмін на хабар від Боба.
  • Аліса голосує за option B.
  • Аліса таємно надсилає зашифровану транзакцію, щоб змінити відкритий ключ, пов'язаний з її ідентичністю.
  • Аліса надсилає ще одне (зашифроване) повідомлення до смарт-контракту, голосуючи за option A з використанням нового відкритого ключа.
  • Аліса показує Бобу транзакцію, яка свідчить про те, що вона проголосувала за option B (яка є недійсною, оскільки відкритий ключ більше не пов'язаний з ідентичністю Аліси в системі).
  • Під час обробки повідомлень координатор пропускає голос Аліси за option B і враховує лише голос за option A. Отже, спроба Боба вступити в змову з Алісою та зманіпулювати ончейн-голосуванням зазнає невдачі.

Використання MACI дійсно вимагає довіри до координатора в тому, що він не вступить у змову з хабародавцями або не спробує сам підкупити виборців. Координатор може розшифровувати повідомлення користувачів (що необхідно для створення доведення), тому він може точно перевірити, як проголосувала кожна особа.

Але у випадках, коли координатор залишається чесним, MACI є потужним інструментом для гарантування недоторканності ончейн-голосування. Це пояснює його популярність серед застосунків квадратичного фінансування (наприклад, clr.fund (opens in a new tab)), які значною мірою покладаються на цілісність вибору кожного окремого виборця.

Дізнайтеся більше про MACI (opens in a new tab).

Як працюють доведення з нульовим розголошенням?

Доведення з нульовим розголошенням дозволяє вам довести істинність твердження, не ділячись змістом твердження та не розкриваючи, як ви дізналися правду. Щоб зробити це можливим, протоколи з нульовим розголошенням покладаються на алгоритми, які приймають певні дані як вхідні та повертають «істина» або «хибність» як вихідні.

Протокол з нульовим розголошенням повинен відповідати таким критеріям:

  1. Повнота: Якщо вхідні дані є дійсними, протокол з нульовим розголошенням завжди повертає «істина». Отже, якщо базове твердження є істинним, а доводжувач і верифікатор діють чесно, доведення може бути прийняте.

  2. Коректність: Якщо вхідні дані є недійсними, теоретично неможливо обдурити протокол з нульовим розголошенням, щоб він повернув «істина». Отже, доводжувач, який бреше, не може обдурити чесного верифікатора, змусивши його повірити, що недійсне твердження є дійсним (за винятком мізерної ймовірності).

  3. Нульове розголошення: Верифікатор не дізнається нічого про твердження, окрім його дійсності або хибності (він має «нульове розголошення» про твердження). Ця вимога також не дозволяє верифікатору вивести оригінальні вхідні дані (зміст твердження) з доведення.

У базовій формі доведення з нульовим розголошенням складається з трьох елементів: свідок, виклик та відповідь.

  • Свідок: За допомогою доведення з нульовим розголошенням доводжувач хоче довести знання певної прихованої інформації. Секретна інформація є «свідком» доведення, і передбачуване знання доводжувачем свідка встановлює набір запитань, на які може відповісти лише сторона, що володіє цією інформацією. Таким чином, доводжувач починає процес доведення, випадковим чином вибираючи запитання, обчислюючи відповідь і надсилаючи її верифікатору.

  • Виклик: Верифікатор випадковим чином вибирає інше запитання з набору і просить доводжувача відповісти на нього.

  • Відповідь: Доводжувач приймає запитання, обчислює відповідь і повертає її верифікатору. Відповідь доводжувача дозволяє верифікатору перевірити, чи дійсно перший має доступ до свідка. Щоб переконатися, що доводжувач не вгадує наосліп і не отримує правильні відповіді випадково, верифікатор вибирає більше запитань. Повторюючи цю взаємодію багато разів, ймовірність того, що доводжувач підробить знання свідка, значно знижується, поки верифікатор не буде задоволений.

Вище описано структуру «інтерактивного доведення з нульовим розголошенням». Ранні протоколи з нульовим розголошенням використовували інтерактивне доведення, де перевірка дійсності твердження вимагала двосторонньої комунікації між доводжувачами та верифікаторами.

Хорошим прикладом, який ілюструє, як працюють інтерактивні доведення, є відома історія про печеру Алі-Баби (opens in a new tab) Жана-Жака Кіскатера. В історії Пеггі (доводжувач) хоче довести Віктору (верифікатору), що вона знає секретну фразу, щоб відкрити чарівні двері, не розкриваючи саму фразу.

Неінтерактивні доведення з нульовим розголошенням

Незважаючи на свою революційність, інтерактивне доведення мало обмежену корисність, оскільки вимагало від обох сторін бути доступними та неодноразово взаємодіяти. Навіть якщо верифікатор був переконаний у чесності доводжувача, доведення було б недоступним для незалежної перевірки (обчислення нового доведення вимагало нового набору повідомлень між доводжувачем і верифікатором).

Щоб вирішити цю проблему, Мануель Блюм, Пол Фельдман та Сільвіо Мікалі запропонували перші неінтерактивні доведення з нульовим розголошенням (opens in a new tab), де доводжувач і верифікатор мають спільний ключ. Це дозволяє доводжувачу продемонструвати своє знання певної інформації (тобто свідка), не надаючи саму інформацію.

На відміну від інтерактивних доведень, неінтерактивні доведення вимагали лише одного раунду комунікації між учасниками (доводжувачем і верифікатором). Доводжувач передає секретну інформацію спеціальному алгоритму для обчислення доведення з нульовим розголошенням. Це доведення надсилається верифікатору, який перевіряє, чи знає доводжувач секретну інформацію, використовуючи інший алгоритму.

Неінтерактивне доведення зменшує комунікацію між доводжувачем і верифікатором, роблячи ZK-доведення більш ефективними. Крім того, після того, як доведення згенеровано, воно стає доступним для перевірки будь-кому іншому (хто має доступ до спільного ключа та алгоритму верифікації).

Неінтерактивні доведення стали проривом для технології нульового розголошення і стимулювали розвиток систем доведення, які використовуються сьогодні. Ми обговоримо ці типи доведень нижче:

Типи доведень з нульовим розголошенням

ZK-SNARKs

ZK-SNARK — це абревіатура від Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (Стислий неінтерактивний аргумент знання з нульовим розголошенням). Протокол ZK-SNARK має такі властивості:

  • Нульове розголошення: Верифікатор може підтвердити цілісність твердження, не знаючи про нього нічого іншого. Єдине знання, яке верифікатор має про твердження, — це те, чи є воно істинним, чи хибним.

  • Стислість: Доведення з нульовим розголошенням є меншим за свідка і може бути швидко перевірене.

  • Неінтерактивність: Доведення є «неінтерактивним», оскільки доводжувач і верифікатор взаємодіють лише один раз, на відміну від інтерактивних доведень, які вимагають кількох раундів комунікації.

  • Аргумент: Доведення задовольняє вимогу «коректності», тому шахрайство є вкрай малоймовірним.

  • Знання: Доведення з нульовим розголошенням не може бути побудоване без доступу до секретної інформації (свідка). Доводжувачу, який не має свідка, важко, якщо не неможливо, обчислити дійсне доведення з нульовим розголошенням.

Згаданий раніше «спільний ключ» стосується відкритих параметрів, які доводжувач і верифікатор погоджуються використовувати під час генерування та перевірки доведень. Генерування відкритих параметрів (спільно відомих як Загальний довідковий рядок (CRS)) є чутливою операцією через її важливість для безпеки протоколу. Якщо ентропія (випадковість), використана під час генерування CRS, потрапить до рук нечесного доводжувача, він зможе обчислювати хибні доведення.

Багатосторонні обчислення (MPC) (opens in a new tab) — це спосіб зниження ризиків під час генерування відкритих параметрів. Кілька сторін беруть участь у церемонії довіреного налаштування (opens in a new tab), де кожна особа вносить певні випадкові значення для генерування CRS. Поки хоча б одна чесна сторона знищує свою частину ентропії, протокол ZK-SNARK зберігає обчислювальну коректність.

Довірені налаштування вимагають від користувачів довіряти учасникам генерування параметрів. Однак розробка ZK-STARKs уможливила протоколи доведення, які працюють із недовіреним налаштуванням.

ZK-STARKs

ZK-STARK — це абревіатура від Zero-Knowledge Scalable Transparent Argument of Knowledge (Масштабований прозорий аргумент знання з нульовим розголошенням). ZK-STARKs схожі на ZK-SNARKs, за винятком того, що вони є:

  • Масштабованими: ZK-STARK швидше за ZK-SNARK генерує та перевіряє доведення, коли розмір свідка є більшим. З доведеннями STARK час доводжувача та верифікації лише незначно збільшується зі зростанням свідка (час доводжувача та верифікатора SNARK збільшується лінійно з розміром свідка).

  • Прозорими: ZK-STARK покладається на публічно перевірювану випадковість для генерування відкритих параметрів для доведення та верифікації замість довіреного налаштування. Таким чином, вони є більш прозорими порівняно з ZK-SNARKs.

ZK-STARKs створюють більші доведення, ніж ZK-SNARKs, що означає, що вони зазвичай мають вищі накладні витрати на верифікацію. Однак існують випадки (наприклад, доведення великих наборів даних), коли ZK-STARKs можуть бути більш економічно вигідними, ніж ZK-SNARKs.

Недоліки використання доведень з нульовим розголошенням

Витрати на апаратне забезпечення

Генерування доведень з нульовим розголошенням передбачає дуже складні обчислення, які найкраще виконувати на спеціалізованих машинах. Оскільки ці машини дорогі, вони часто недоступні для звичайних людей. Крім того, застосунки, які хочуть використовувати технологію нульового розголошення, повинні враховувати витрати на апаратне забезпечення, що може збільшити витрати для кінцевих користувачів.

Витрати на перевірку доведень

Перевірка доведень також вимагає складних обчислень і збільшує витрати на впровадження технології нульового розголошення в застосунках. Ця вартість особливо актуальна в контексті доведення обчислень. Наприклад, ZK-ролапи платять ~ 500 000 газу за перевірку одного доведення ZK-SNARK в Етеріумі, причому ZK-STARKs вимагають ще вищих комісій.

Припущення довіри

У ZK-SNARK Загальний довідковий рядок (відкриті параметри) генерується один раз і доступний для повторного використання сторонам, які бажають брати участь у протоколі з нульовим розголошенням. Відкриті параметри створюються за допомогою церемонії довіреного налаштування, де передбачається, що учасники є чесними.

Але насправді у користувачів немає способу оцінити чесність учасників, і користувачам доводиться вірити розробникам на слово. ZK-STARKs вільні від припущень довіри, оскільки випадковість, використана під час генерування рядка, є публічно перевірюваною. Тим часом дослідники працюють над недовіреними налаштуваннями для ZK-SNARKs, щоб підвищити безпеку механізмів доведення.

Загрози квантових обчислень

ZK-SNARK використовує криптографію на еліптичних кривих для шифрування. Хоча проблема дискретного логарифма на еліптичній кривій наразі вважається нерозв'язною, розвиток квантових комп'ютерів може зламати цю модель безпеки в майбутньому.

ZK-STARK вважається несприйнятливим до загрози квантових обчислень, оскільки для своєї безпеки він покладається лише на стійкі до колізій хеш-функції. На відміну від пар відкритого та приватного ключів, що використовуються в криптографії на еліптичних кривих, стійке до колізій хешування важче зламати алгоритмам квантових обчислень.

Подальше читання

Останнє оновлення сторінки: 6 червня 2026 р.