zk-SNARK: інноваційний доказ нульового знання та його застосування

Середній11/28/2023, 12:24:18 PM
Технологія zk-SNARK є значним проривом у сфері захисту конфіденційності та зашифрованої перевірки. Це не тільки багатообіцяюче в забезпеченні надійних гарантій конфіденційності, але й практичне в підвищенні масштабованості блокчейну та різних інших програм.

Попередній досвід

Підтвердження з нульовим знанням (ZKP) — це криптографічна технологія, яку вперше запропонували С. Голдвассер, С. Мікалі та К. Ракофф на початку 1980-х років у статті під назвою «Складність знань інтерактивних систем доказу ». У цій статті він був концептуалізований як теоретична модель для вирішення проблеми перевірки математичних тверджень без розкриття доказів. Ця концепція привернула значну увагу в академічній спільноті, оскільки вона кинула виклик традиційним методам шифрування та забезпечила новий підхід до обробки конфіденційної інформації.

З часом ZKP перетворився з абстрактної теоретичної концепції в конкретні протоколи, які можна інтегрувати в різні програми. У 2010 році Грот опублікував статтю під назвою Short Pairing-based Non-interactive Zero-Knowledge Arguments, яка стала основоположною роботою в розробці zk-SNARK, важливого рішення в ZKP. Найбільш значущим практичним застосуванням ZKP є система підтвердження з нульовим знанням, використана Z-cash у 2015 році, яка забезпечила захист конфіденційності транзакцій і сум. Згодом zk-SNARK поєднали зі смарт-контрактами, що призвело до ширшого спектру застосувань.

Технічні принципи zk-SNARK

Принципи, яких традиційні ЗКП повинні дотримуватися, такі:

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

Принцип ЗКП можна зрозуміти на простому прикладі: якщо мені потрібно довести А, що я маю номер телефону В, мені не потрібно прямо повідомляти номер телефону А Б. Натомість я можу безпосередньо набрати номер телефону B, і коли виклик з’єднається, це може підтвердити, що я справді маю номер телефону B. Цей процес не розкриває інформацію про номер B.

І zk-SNARK продовжує вдосконалюватися на цій основі з такими характеристиками:

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

У статті Грота він запропонував неінтерактивний метод доказу з нульовим знанням, заснований на парах, який перетворює обчислювальну задачу в програму квадратичної арифметики (QAP), а потім будує ефективне доказ за допомогою криптографії еліптичної кривої та хеш-функцій. Пізніші розробки zk-SNARK зазвичай включають чотири етапи:

  • Налаштування: виконується довіреною третьою стороною, генерує CRS, який містить ключ перевірки (pk) для створення доказів і ключ перевірки (vk) для перевірки доказів. Цей процес потрібно виконати лише один раз, а CRS можна повторно використовувати кілька разів.
  • Кодування проблеми: обчислювальна задача f(x) = y перетворюється у форму QAP A(x)·B(x) = C(x)·Z(x), де A(x), B(x), C (x) є поліномами, визначеними структурою схеми f, Z(x) є фіксованим поліномом, x є випадково вибраною точкою, а y є результатом f. Цей крок може бути виконано перевіряючим або верифікатором, або може бути зроблено заздалегідь третьою стороною.
  • Генерація доказів: Виконується перевірником, він використовує pk, x і вхідні дані w для f для створення доказу π, щоб довести, що вони знають aw, який задовольняє f(w) = y, не розкриваючи конкретного значення w. Цей процес включає поліноміальні обчислення, операції з еліптичною кривою та операції з хеш-функцією, у результаті чого генерується число π, що складається з кількох точок еліптичної кривої та хеш-значення.
  • Перевірка доказу: виконується верифікатором і використовує vk, x, y та π, щоб перевірити, чи справді перевіряльник знає aw, що задовольняє f(w) = y. Цей процес також включає поліноміальні обчислення, операції з еліптичною кривою та операції з хеш-функцією, що в кінцевому підсумку дає логічне значення, що вказує на достовірність доказу.

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

Навіщо нам zk-SNARK?

Традиційний підхід до доказів із нульовим знанням передбачає інтерактивні методи доказу, коли перевіряючий неодноразово запитує верифікатора «так чи ні?» запитань, поки не буде досягнута правильна відповідь. Цей процес неефективний. Однак zk-SNARK усуває необхідність повторних взаємодій, отримуючи CRS від довіреної третьої сторони. Усі прувери можуть безпосередньо порівнювати CRS для визначення правдивості. Це значно підвищує ефективність доказів з нульовим знанням.

Крім того, zk-SNARK пропонує наступні переваги:

  • Захист конфіденційності: zk-SNARK дозволяє верифікатору продемонструвати знання або виконання певних умов верифікатору, не розкриваючи жодної приватної інформації. Це особливо корисно в сценаріях, пов’язаних із конфіденційними або приватними даними, такими як автентифікація особи, анонімне голосування та приватні транзакції.
  • Масштабованість: zk-SNARK стискає складні обчислювальні проблеми в невеликі та швидкі докази, зменшуючи обчислювальне навантаження та вимоги до зберігання для верифікаторів. Це корисно в сценаріях, які вимагають ефективної перевірки та зберігання великих обсягів даних, таких як хмарні обчислення, масштабованість блокчейну та обчислення, які можна перевірити.
  • Безпека: zk-SNARK базується на математично складних задачах, таких як проблема дискретного логарифмування та задача білінійного відображення, які забезпечують високий рівень безпеки. Згідно з припущенням про неквантові обчислення, якщо довірена третя сторона не витікає або не втручається в CRS, перевіреному неможливо підробити підтвердження або верифікатору підробити результат перевірки.

Реальні програми zk-SNARK

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

Масштабованість блокчейна

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

zk-SNARK відіграє важливу роль у цьому рішенні, оскільки він може стискати транзакції або обчислення на Layer2 у невеликий і швидкий доказ, який потім надсилається на перевірку в основному ланцюжку, забезпечуючи правильність і послідовність Layer2. Наразі існує два основних рішення Layer2 на основі zk-SNARK: ZK-rollup і Validium.

  • ZK-зведення: це рішення зберігає всі дані стану в основному ланцюжку, але використовує докази для перевірки дійсності переходів станів. Це забезпечує доступність і безпеку даних рівня 2, але збільшує навантаження на сховище основного ланцюга. Наприклад, zkSync зберігає дані стану в основному ланцюзі Ethereum і забезпечує дійсність переходів станів за допомогою доказів з нульовим знанням. Подібні проекти включають Polygon zkEVM і Scroll.
  • Validium: це рішення зберігає всі дані про стан на Layer2 або інших довірених третіх сторонах і використовує лише докази для перевірки дійсності переходів станів, надсилаючи докази в основний ланцюг. Це зменшує навантаження на зберігання в основному ланцюзі, але може знизити доступність і безпеку даних рівня 2. DeversiFi використовує технологію Validium для підтримки швидкості та ефективності транзакцій Layer2, забезпечуючи при цьому конфіденційність даних. Loopring забезпечує режим Validium, щоб зменшити навантаження на головний ланцюг зберігання.

Резервні кошти на біржах

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

zk-SNARK може надати рішення в цьому відношенні, дозволивши біржам довести користувачам або регулюючим органам, що вони володіють достатньою кількістю та вартістю резервних фондів, не розкриваючи конкретні деталі активів або місцезнаходження.

Типовим прикладом є Gate.io, який використовує комбінацію дерев zk-SNARK і Merkle. Вони шифрують дані користувача та генерують докази резервних фондів 100 різних токенів за допомогою обмежених схем, щоб продемонструвати свою 100% платоспроможність.

Джерело: https://www.gate.io/proof-of-reserves

Додаткова інформація: як zk-SNARK покращує підтвердження резервів Gate.io

Окрім додатків Web3, zk-SNARK також можна використовувати в доменах, які не є блокчейном, наприклад:

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

Технічні обмеження та проблеми

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

  • Довірені параметри: для zk-SNARK потрібна CRS, створена надійною третьою стороною, яка може містити конфіденційну інформацію. Витік або підробка може поставити під загрозу безпеку системи. Щоб вирішити цю проблему, деякі проекти застосували підхід Multi-Party Computation (MPC) для генерації CRS, коли кілька учасників спільно беруть участь у процесі генерації та знищують свою секретну інформацію. Однак цей підхід все ще стикається з проблемами, такими як чесність учасників, витрати на спілкування та труднощі з координацією.
  • Універсальність: наразі zk-SNARK можна застосовувати лише до конкретних обчислювальних задач, таких як QAP або R1CS, і не можна застосовувати до довільних обчислювальних задач. Щоб усунути це обмеження, деякі проекти досліджували використання загальних схем (GC) або загального рекурсивного доказу (GRS) для розширення застосовності zk-SNARK. Однак цей підхід передбачає такі компроміси, як збільшення розміру перевірки, зниження ефективності та збільшення складності.
  • Верифікованість: хоча zk-SNARK гарантує, що прувер не випустить будь-яку конфіденційну інформацію, він не гарантує, що прувер не обдурить і не обдурить верифікатор. Щоб вирішити цю проблему, деякі проекти запровадили перевіряються випадкові функції (VRF) або верифіковані функції затримки (VDF), щоб підвищити цілісність прувера. Однак цей підхід також збільшує складність і накладні витрати на систему.

Таким чином, існують різні підходи до усунення властивих обмежень zk-SNARK.

Майбутні сценарії застосування

zk-SNARK, як інноваційна криптографічна технологія, має широкі майбутні сценарії застосування, особливо у сфері конфіденційності:

  • Розумні контракти конфіденційності: zk-SNARK дозволяє користувачам довести третій стороні, що вони виконали певні смарт-контракти та отримали правильний результат, не розкриваючи жодної логіки або стану контракту. Це особливо корисно в сценаріях, пов’язаних із комерційною таємницею або конфіденційними правилами, такими як керування ланцюгом поставок, страхові претензії, захист авторських прав тощо.1
  • Обчислення із збереженням конфіденційності: zk-SNARK дозволяє користувачам довести третій стороні, що вони виконали певні обчислювальні завдання та отримали правильні результати, не розкриваючи жодних вхідних чи вихідних даних. Це стосується сценаріїв, пов’язаних із конфіденційними або особистими даними, такими як медичний діагноз, аналіз даних, машинне навчання тощо.
  • Комунікація із збереженням конфіденційності: zk-SNARK дозволяє користувачам довести третій стороні, що вони брали участь у певній комунікаційній діяльності та дотримувалися певних протоколів або правил, не розкриваючи жодного вмісту комунікації чи метаданих. Це корисно в ситуаціях, коли необхідно захистити конфіденційність або безпеку зв’язку, наприклад обмін миттєвими повідомленнями, соціальні мережі, електронна пошта тощо.

Висновок

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

作者: Wayne
譯者: Sonia
審校: KOWEI、Piccolo、Elisa、Ashley He、Joyce
* 投資有風險,入市須謹慎。本文不作為 Gate.io 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate.io 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io 有權追究其法律責任。

zk-SNARK: інноваційний доказ нульового знання та його застосування

Середній11/28/2023, 12:24:18 PM
Технологія zk-SNARK є значним проривом у сфері захисту конфіденційності та зашифрованої перевірки. Це не тільки багатообіцяюче в забезпеченні надійних гарантій конфіденційності, але й практичне в підвищенні масштабованості блокчейну та різних інших програм.

Попередній досвід

Підтвердження з нульовим знанням (ZKP) — це криптографічна технологія, яку вперше запропонували С. Голдвассер, С. Мікалі та К. Ракофф на початку 1980-х років у статті під назвою «Складність знань інтерактивних систем доказу ». У цій статті він був концептуалізований як теоретична модель для вирішення проблеми перевірки математичних тверджень без розкриття доказів. Ця концепція привернула значну увагу в академічній спільноті, оскільки вона кинула виклик традиційним методам шифрування та забезпечила новий підхід до обробки конфіденційної інформації.

З часом ZKP перетворився з абстрактної теоретичної концепції в конкретні протоколи, які можна інтегрувати в різні програми. У 2010 році Грот опублікував статтю під назвою Short Pairing-based Non-interactive Zero-Knowledge Arguments, яка стала основоположною роботою в розробці zk-SNARK, важливого рішення в ZKP. Найбільш значущим практичним застосуванням ZKP є система підтвердження з нульовим знанням, використана Z-cash у 2015 році, яка забезпечила захист конфіденційності транзакцій і сум. Згодом zk-SNARK поєднали зі смарт-контрактами, що призвело до ширшого спектру застосувань.

Технічні принципи zk-SNARK

Принципи, яких традиційні ЗКП повинні дотримуватися, такі:

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

Принцип ЗКП можна зрозуміти на простому прикладі: якщо мені потрібно довести А, що я маю номер телефону В, мені не потрібно прямо повідомляти номер телефону А Б. Натомість я можу безпосередньо набрати номер телефону B, і коли виклик з’єднається, це може підтвердити, що я справді маю номер телефону B. Цей процес не розкриває інформацію про номер B.

І zk-SNARK продовжує вдосконалюватися на цій основі з такими характеристиками:

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

У статті Грота він запропонував неінтерактивний метод доказу з нульовим знанням, заснований на парах, який перетворює обчислювальну задачу в програму квадратичної арифметики (QAP), а потім будує ефективне доказ за допомогою криптографії еліптичної кривої та хеш-функцій. Пізніші розробки zk-SNARK зазвичай включають чотири етапи:

  • Налаштування: виконується довіреною третьою стороною, генерує CRS, який містить ключ перевірки (pk) для створення доказів і ключ перевірки (vk) для перевірки доказів. Цей процес потрібно виконати лише один раз, а CRS можна повторно використовувати кілька разів.
  • Кодування проблеми: обчислювальна задача f(x) = y перетворюється у форму QAP A(x)·B(x) = C(x)·Z(x), де A(x), B(x), C (x) є поліномами, визначеними структурою схеми f, Z(x) є фіксованим поліномом, x є випадково вибраною точкою, а y є результатом f. Цей крок може бути виконано перевіряючим або верифікатором, або може бути зроблено заздалегідь третьою стороною.
  • Генерація доказів: Виконується перевірником, він використовує pk, x і вхідні дані w для f для створення доказу π, щоб довести, що вони знають aw, який задовольняє f(w) = y, не розкриваючи конкретного значення w. Цей процес включає поліноміальні обчислення, операції з еліптичною кривою та операції з хеш-функцією, у результаті чого генерується число π, що складається з кількох точок еліптичної кривої та хеш-значення.
  • Перевірка доказу: виконується верифікатором і використовує vk, x, y та π, щоб перевірити, чи справді перевіряльник знає aw, що задовольняє f(w) = y. Цей процес також включає поліноміальні обчислення, операції з еліптичною кривою та операції з хеш-функцією, що в кінцевому підсумку дає логічне значення, що вказує на достовірність доказу.

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

Навіщо нам zk-SNARK?

Традиційний підхід до доказів із нульовим знанням передбачає інтерактивні методи доказу, коли перевіряючий неодноразово запитує верифікатора «так чи ні?» запитань, поки не буде досягнута правильна відповідь. Цей процес неефективний. Однак zk-SNARK усуває необхідність повторних взаємодій, отримуючи CRS від довіреної третьої сторони. Усі прувери можуть безпосередньо порівнювати CRS для визначення правдивості. Це значно підвищує ефективність доказів з нульовим знанням.

Крім того, zk-SNARK пропонує наступні переваги:

  • Захист конфіденційності: zk-SNARK дозволяє верифікатору продемонструвати знання або виконання певних умов верифікатору, не розкриваючи жодної приватної інформації. Це особливо корисно в сценаріях, пов’язаних із конфіденційними або приватними даними, такими як автентифікація особи, анонімне голосування та приватні транзакції.
  • Масштабованість: zk-SNARK стискає складні обчислювальні проблеми в невеликі та швидкі докази, зменшуючи обчислювальне навантаження та вимоги до зберігання для верифікаторів. Це корисно в сценаріях, які вимагають ефективної перевірки та зберігання великих обсягів даних, таких як хмарні обчислення, масштабованість блокчейну та обчислення, які можна перевірити.
  • Безпека: zk-SNARK базується на математично складних задачах, таких як проблема дискретного логарифмування та задача білінійного відображення, які забезпечують високий рівень безпеки. Згідно з припущенням про неквантові обчислення, якщо довірена третя сторона не витікає або не втручається в CRS, перевіреному неможливо підробити підтвердження або верифікатору підробити результат перевірки.

Реальні програми zk-SNARK

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

Масштабованість блокчейна

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

zk-SNARK відіграє важливу роль у цьому рішенні, оскільки він може стискати транзакції або обчислення на Layer2 у невеликий і швидкий доказ, який потім надсилається на перевірку в основному ланцюжку, забезпечуючи правильність і послідовність Layer2. Наразі існує два основних рішення Layer2 на основі zk-SNARK: ZK-rollup і Validium.

  • ZK-зведення: це рішення зберігає всі дані стану в основному ланцюжку, але використовує докази для перевірки дійсності переходів станів. Це забезпечує доступність і безпеку даних рівня 2, але збільшує навантаження на сховище основного ланцюга. Наприклад, zkSync зберігає дані стану в основному ланцюзі Ethereum і забезпечує дійсність переходів станів за допомогою доказів з нульовим знанням. Подібні проекти включають Polygon zkEVM і Scroll.
  • Validium: це рішення зберігає всі дані про стан на Layer2 або інших довірених третіх сторонах і використовує лише докази для перевірки дійсності переходів станів, надсилаючи докази в основний ланцюг. Це зменшує навантаження на зберігання в основному ланцюзі, але може знизити доступність і безпеку даних рівня 2. DeversiFi використовує технологію Validium для підтримки швидкості та ефективності транзакцій Layer2, забезпечуючи при цьому конфіденційність даних. Loopring забезпечує режим Validium, щоб зменшити навантаження на головний ланцюг зберігання.

Резервні кошти на біржах

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

zk-SNARK може надати рішення в цьому відношенні, дозволивши біржам довести користувачам або регулюючим органам, що вони володіють достатньою кількістю та вартістю резервних фондів, не розкриваючи конкретні деталі активів або місцезнаходження.

Типовим прикладом є Gate.io, який використовує комбінацію дерев zk-SNARK і Merkle. Вони шифрують дані користувача та генерують докази резервних фондів 100 різних токенів за допомогою обмежених схем, щоб продемонструвати свою 100% платоспроможність.

Джерело: https://www.gate.io/proof-of-reserves

Додаткова інформація: як zk-SNARK покращує підтвердження резервів Gate.io

Окрім додатків Web3, zk-SNARK також можна використовувати в доменах, які не є блокчейном, наприклад:

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

Технічні обмеження та проблеми

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

  • Довірені параметри: для zk-SNARK потрібна CRS, створена надійною третьою стороною, яка може містити конфіденційну інформацію. Витік або підробка може поставити під загрозу безпеку системи. Щоб вирішити цю проблему, деякі проекти застосували підхід Multi-Party Computation (MPC) для генерації CRS, коли кілька учасників спільно беруть участь у процесі генерації та знищують свою секретну інформацію. Однак цей підхід все ще стикається з проблемами, такими як чесність учасників, витрати на спілкування та труднощі з координацією.
  • Універсальність: наразі zk-SNARK можна застосовувати лише до конкретних обчислювальних задач, таких як QAP або R1CS, і не можна застосовувати до довільних обчислювальних задач. Щоб усунути це обмеження, деякі проекти досліджували використання загальних схем (GC) або загального рекурсивного доказу (GRS) для розширення застосовності zk-SNARK. Однак цей підхід передбачає такі компроміси, як збільшення розміру перевірки, зниження ефективності та збільшення складності.
  • Верифікованість: хоча zk-SNARK гарантує, що прувер не випустить будь-яку конфіденційну інформацію, він не гарантує, що прувер не обдурить і не обдурить верифікатор. Щоб вирішити цю проблему, деякі проекти запровадили перевіряються випадкові функції (VRF) або верифіковані функції затримки (VDF), щоб підвищити цілісність прувера. Однак цей підхід також збільшує складність і накладні витрати на систему.

Таким чином, існують різні підходи до усунення властивих обмежень zk-SNARK.

Майбутні сценарії застосування

zk-SNARK, як інноваційна криптографічна технологія, має широкі майбутні сценарії застосування, особливо у сфері конфіденційності:

  • Розумні контракти конфіденційності: zk-SNARK дозволяє користувачам довести третій стороні, що вони виконали певні смарт-контракти та отримали правильний результат, не розкриваючи жодної логіки або стану контракту. Це особливо корисно в сценаріях, пов’язаних із комерційною таємницею або конфіденційними правилами, такими як керування ланцюгом поставок, страхові претензії, захист авторських прав тощо.1
  • Обчислення із збереженням конфіденційності: zk-SNARK дозволяє користувачам довести третій стороні, що вони виконали певні обчислювальні завдання та отримали правильні результати, не розкриваючи жодних вхідних чи вихідних даних. Це стосується сценаріїв, пов’язаних із конфіденційними або особистими даними, такими як медичний діагноз, аналіз даних, машинне навчання тощо.
  • Комунікація із збереженням конфіденційності: zk-SNARK дозволяє користувачам довести третій стороні, що вони брали участь у певній комунікаційній діяльності та дотримувалися певних протоколів або правил, не розкриваючи жодного вмісту комунікації чи метаданих. Це корисно в ситуаціях, коли необхідно захистити конфіденційність або безпеку зв’язку, наприклад обмін миттєвими повідомленнями, соціальні мережі, електронна пошта тощо.

Висновок

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

作者: Wayne
譯者: Sonia
審校: KOWEI、Piccolo、Elisa、Ashley He、Joyce
* 投資有風險,入市須謹慎。本文不作為 Gate.io 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate.io 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io 有權追究其法律責任。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!