Повний аналіз технології zk-SNARKs в застосуванні Блокчейн та перспективи на майбутнє

Технологія zk-SNARKs в застосуванні та розвитку в сфері Блокчейн

Резюме

zk-SNARKs(ZKP)технологія вважається одним з найважливіших інновацій у сфері Блокчейн, а також ключовим напрямком для венчурного капіталу. У цій статті детально розглядається розвиток ZKP за останні сорок років та останні дослідження.

По-перше, було представлено основні концепції та історичний контекст ZKP, зосереджуючи увагу на технології ZKP на основі схем, включаючи проектування, застосування та оптимізацію моделей zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs та Ligero. У контексті обчислювального середовища обговорюється, як ZKVM та ZKEVM можуть підвищити можливості обробки транзакцій, захистити конфіденційність та покращити ефективність верифікації. У статті також розглядається механізм роботи ZK Rollup як рішення для розширення Layer 2 та методи оптимізації, а також останні досягнення в апаратному прискоренні, гібридних рішеннях та спеціалізованому ZK EVM.

Нарешті, у статті розглядаються нові концепції, такі як ZKCoprocessor, ZKML, ZKThreads, ZK Sharding та ZK StateChannels, а також обговорюється їх потенціал у сфері масштабованості Блокчейн, взаємодії та захисту конфіденційності.

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

Зміст

Вступ

Одне, основи zk-SNARKs

  1. Огляд
  2. zk-SNARKs приклад

Два, неінтерактивні zk-SNARKs

  1. Фон
  2. Введення NIZK
  3. Перетворення Фіата-Шаміра
  4. Йенс Грот та його дослідження
  5. Інші дослідження

Три, zk-SNARKs на основі електричних схем

  1. Фон
  2. Основні концепції та характеристики електронних схем
  3. Дизайн і застосування схем в zk-SNARKs
  4. Потенційні недоліки та виклики

Чотири, zk-SNARKs модель

  1. Фон
  2. Загальні алгоритмічні моделі
  3. Схема на основі лінійних PCP та задачі дискретного логарифму
  4. Схема, основана на доказательствах звичайних людей
  5. Основи ймовірнісного доказу ( PCP ) zk-SNARKs
  6. Класифікація етапу налаштування загального доведення на основі CPC( конструкції )

П'ять. Огляд та розвиток нульових знань віртуальної машини

  1. Фон
  2. Існуючі категорії ZKVM
  3. Парадигми фронтенду та бекенду
  4. Переваги та недоліки парадигми ZKVM

Шість, огляд та розвиток zk-SNARKs в Ethereum Virtual Machine

  1. Фон
  2. Принцип роботи ZKEVM
  3. Процес реалізації ZKEVM
  4. Особливості ZKEVM

Сім. Огляд та розвиток рішення для другої рівні з нульовими знаннями

  1. Фон
  2. Механізм роботи ZK Rollup
  3. Недоліки та оптимізація zk-Rollup

Восьме. Майбутні напрямки розвитку zk-SNARKs

  1. Прискорення розвитку обчислювального середовища
  2. Запровадження та розвиток zk-SNARKs
  3. Розвиток технологій розширення zk-SNARKs
  4. Розвиток інтероперабельності zk-SNARKs

Дев'яте. Висновок

Передмова

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

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

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

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

Відповідно, багато мережевих проектів на базі ZKP з'являються один за одним, таких як ZkSync, StarkNet, Mina, Filecoin та Aleo. З розвитком цих проектів, алгоритмічні інновації в області ZKP з'являються на кожному кроці, за повідомленнями, практично щотижня з'являється новий алгоритм. Крім того, розробка апаратного забезпечення, пов'язаного з технологією ZKP, також швидко прогресує, включаючи чіпи, спеціально оптимізовані для ZKP. Наприклад, деякі проекти вже завершили масовий збір коштів, ці розробки не лише демонструють швидкий прогрес технології ZKP, але й відображають перехід від загального апаратного забезпечення до спеціалізованого, такого як GPU, FPGA та ASIC.

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

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

Один. Основи zk-SNARKs

1. Огляд

У 1985 році вчені Голдвассер, Мікалі та Раков у статті «Складність знань інтерактивних доказових систем» вперше запропонували zk-SNARKs(Zero-Knowledge Proof, ZKP) та інтерактивні знання(Interactive Zero-Knowledge, IZK). Ця стаття стала основою для zk-SNARKs, визначивши багато концепцій, які вплинули на подальші академічні дослідження. Наприклад, визначення знань є "необхідним обчислювальним виходом", тобто знання повинно бути виходом, і є необхідним обчисленням, що означає, що воно не може бути простим функцією, а повинно бути складним. Необхідні обчислення зазвичай можна розуміти як NP-проблему, тобто проблему, для якої можна перевірити правильність її рішення за поліноміальний час, поліноміальний час означає, що час виконання алгоритму може бути виражений як поліноміальна функція розміру входу. Це важливий критерій для вимірювання ефективності та здійсненності алгоритму в комп'ютерних науках. Через складність процесу розв'язання NP-проблем вважається, що це необхідні обчислення; але їх процес перевірки відносно простий, тому вони дуже підходять для верифікації zk-SNARKs.

Класичним прикладом NP-проблеми є задача комівояжера, в якій потрібно знайти найкоротший шлях, що проходить через ряд міст і повертається до початкової точки. Хоча знайти найкоротший шлях може бути досить складно, проте, given a path, перевірити, чи є цей шлях найкоротшим, відносно легко. Оскільки перевірка загальної відстані конкретного шляху може бути виконана за поліноміальний час.

Голдвасер та інші в своїй статті ввели концепцію "складності знань", щоб кількісно оцінити обсяг знань, які доказувач передає перевірячу в інтерактивних системах доказів. Вони також запропонували інтерактивні системи доказів (Interactive Proof Systems, IPS), де доказувач (Prover) і перевіряючий (Verifier) спілкуються в кількох раундах, щоб підтвердити істинність певного твердження.

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

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

  2. Надійність: якщо доказувач не знає змісту заяви, він може обманути перевіряльника лише з незначною ймовірністю;

  3. Нульові знання: після завершення процесу доказу, верифікатор отримує лише інформацію "доказник має ці знання", але не може отримати жодної додаткової інформації.

2. zk-SNARKs приклад

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

Перший крок: налаштування (Setup)

На цьому етапі мета доказувача полягає в тому, щоб створити свідчення, що він знає певне секретне число s, але не показує s безпосередньо. Нехай секретне число s;

Виберіть два великі прості числа p та q, обчисліть їхній добуток n. Нехай прості числа p та q, обчисліть отримане n;

Обчисліть v=s^2 mod n, тут v, як частина доказу, надсилається перевіряючому, але цього недостатньо, щоб перевіряючий або будь-який спостерігач міг вивести s;

Випадково виберіть ціле число r, обчисліть x=r^2 mod n та надішліть його перевіряльнику. Це значення x використовується для подальшого процесу перевірки, але також не розкриває s. Нехай випадкове ціле число r, обчислене значення x.

Другий крок: виклик (Challenge)

Валідатор випадковим чином обирає позицію a(, яка може бути 0 або 1), а потім надсилає її доказувачу. Це "виклик" визначає, які кроки повинен зробити доказувач далі.

Третій крок: відповідь (Response)

Відповідно до значення a, яке надсилається валідатором, доказувач дає відповідь:

Якщо a=0, довіритель надсилає g=r(, де r — це число, яке він раніше вибрав випадково ).

Якщо a=1, доказувач обчислює g=rs mod n і надсилає. Нехай перевіряючий надсилає випадковий біт a, в залежності від значення a, доказувач обчислює g;

В кінці, валідатор перевіряє, чи g^2 mod n дорівнює xa^v mod n на основі отриманого g. Якщо рівність виконується, валідатор приймає цей доказ. Коли a=0, валідатор обчислює g^2 mod n, з правого боку перевіряє xa^v mod n=x; коли a=1, валідатор обчислює g^2 mod n, з правого боку перевіряє xa^v mod n=xv.

Тут ми бачимо, що g^2 mod n=xa^v mod n, обчислене валідатором, показує, що доводчик успішно пройшов процес верифікації, не розкривши свого секретного числа s. Тут, оскільки a може бути лише 0 або 1, існує лише дві можливості; ймовірність того, що доводчик пройде верифікацію за удачею, становить 1/2(, коли a дорівнює 0, тобто ). Але валідатор потім викликає доводчика k разів, доводчик постійно змінює відповідні числа, подає їх валідатору, і завжди успішно проходить процес верифікації; таким чином, ймовірність того, що доводчик пройде верифікацію за удачею, становить (1/2)^k(, що нескінченно наближається до 0), отже, висновок про те, що доводчик справді знає певне секретне число s, отримує підтвердження. Цей приклад підтверджує цілісність, надійність та нульову обізнаність системи нульових знань.

Два, неінтерактивні zk-SNARKs

1. Фон

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

2. Запропоновано NIZK

У 1988 році Блум, Фельдман і Мікалі вперше запропонували концепцію неінтерактивних нульових доказів (NIZK) (, довівши можливість завершення процесу сертифікації між довірителем )Prover( і верифікатором )Verifier( без необхідності багатократної взаємодії. Цей прорив дозволив.

ZK3.78%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 2
  • Поділіться
Прокоментувати
0/400
FlatlineTradervip
· 9год тому
Коротка історія ZK
Переглянути оригіналвідповісти на0
PanicSellervip
· 07-25 04:32
бик але не розумію
Переглянути оригіналвідповісти на0
  • Закріпити