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

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

Резюме

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

Стаття спочатку представляє основні концепції та історичний контекст ZKP, зосереджуючи увагу на технології ZKP на основі схем, включаючи проекти zkSNARK, модель Ben-Sasson, Pinocchio, Bulletproofs та Ligero, їх дизайн, застосування та методи оптимізації. Що стосується обчислювального середовища, стаття досліджує, як ZKVM та ZKEVM підвищують здатність обробки транзакцій, захищають конфіденційність та підвищують ефективність перевірки. Стаття також роз'яснює механізм роботи ZK Rollup як рішення для розширення другого рівня та методи оптимізації, а також останні досягнення в галузі апаратного прискорення, змішаних рішень і спеціалізованих 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 )
  6. Класифікація етапів налаштування загального доказу на основі CPC( конструкції )

П'ять, огляд та розвиток zk-SNARKs віртуальної машини

  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. Виникнення та розвиток ZKML
  3. Розвиток технологій розширення ZKP
  4. Розвиток інтероперабельності zk-SNARKs

Десять, висновок

Передмова

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

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

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

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

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

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

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

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

1. Огляд

У 1985 році Goldwasser, Micali та Rackoff вперше запропонували концепцію zk-SNARKs у своїй статті (ZKP) та інтерактивних доказів знань (IZK). Ця стаття стала основоположною для zk-SNARKs, визначивши багато концепцій, які вплинули на подальші академічні дослідження. Наприклад, знання визначається як "вивід, що не може бути обчислений", тобто знання повинно бути виходом, і є неможливим обчисленням, що означає, що це не може бути простою функцією, а має бути складною функцією. Неможливе обчислення зазвичай можна розуміти як NP-проблему, тобто задачу, розв'язок якої можна перевірити на правильність за поліноміальний час, при цьому поліноміальний час означає, що час виконання алгоритму можна представити як поліноміальну функцію від розміру вхідних даних. Це важливий критерій для оцінки ефективності та здійсненності алгоритмів у комп'ютерних науках. Через складність процесу розв'язання NP-проблем вважається, що це неможливе обчислення; але процес перевірки відносно простий, тому він дуже підходить для перевірки zk-SNARKs.

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

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

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

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

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

  3. zk-SNARKs(zero-knowledge): Після завершення процесу доказу, перевіряючий отримує лише інформацію "доказувач має це знання", але не може отримати жодного додаткового змісту.

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;

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

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

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

( 1. Фон

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

) 2. Введення NIZK

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

ZK7.03%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Поділіться
Прокоментувати
0/400
TokenToastervip
· 08-07 02:39
Ера zk нарешті настала
Переглянути оригіналвідповісти на0
ChainSpyvip
· 08-07 02:34
Дійсно, не розумію, чому всі інші божеволіють через zk
Переглянути оригіналвідповісти на0
GasFeeCriervip
· 08-07 02:34
Витрати зараз надто високі, це мене дуже дратує.
Переглянути оригіналвідповісти на0
StakeWhisperervip
· 08-07 02:15
Знову zk закручується
Переглянути оригіналвідповісти на0
GreenCandleCollectorvip
· 08-07 02:12
Ще один новий хлопець zkvm, хтось відчуває запах Гаманець?
Переглянути оригіналвідповісти на0
  • Закріпити