Технологічна революція 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)
  6. Класифікація етапу налаштування на основі CPC

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

  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, розвиток застосувань Блокчейн відбувається швидко. Останніми роками платформи Блокчейн щодня обробляють мільйони користувачів, виконуючи десятки мільярдів транзакцій. Велика кількість даних, що генеруються цими транзакціями, зазвичай містить чутливу особисту інформацію, таку як ідентифікація користувачів, суми транзакцій, адреси рахунків та залишки рахунків. Враховуючи відкритість та прозорість Блокчейн, ці збережені дані є відкритими для всіх, що викликає різноманітні проблеми безпеки та конфіденційності.

На сьогоднішній день існує кілька криптографічних технологій, які можуть впоратися з цими викликами, включаючи гомоморфне шифрування, кільцеві підписи, безпечні багатосторонні обчислення та 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; одночасно ми також детально проаналізували матеріали та білі книги провідних проектів у цій галузі. Ці комплексні збори та аналізи матеріалів забезпечили міцну основу для написання цього документа.

Одне, базові знання про zk-SNARKs

1.Огляд

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Другий крок: виклик

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

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

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

Якщо, доказувач надсилає ( тут r є числом, яке він випадково вибрав раніше ).

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

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

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

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

( 1.Фон

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

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

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

Вони запропонували, що неінтерактивні zk-SNARKs можна поділити на три етапи:

  1. Налаштування
  2. Обчислення
  3. Верифікація

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

На етапі обчислень використовуються обчислювальна функція, вхідні дані та ключі свідчення, а на виході отримуються результати обчислень та свідчення.

На етапі перевірки, через перевірку ключа для підтвердження дійсності доказу.

Вони запропонували модель публічної довідкової строки, тобто на основі того, що всі учасники ділять один символ.

ZK25.35%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Репост
  • Поділіться
Прокоментувати
0/400
GweiWatchervip
· 07-31 02:31
Нульові знання ще на ранній стадії
Переглянути оригіналвідповісти на0
LiquidationSurvivorvip
· 07-30 23:33
Майбутнє належить нульовим знанням
Переглянути оригіналвідповісти на0
TestnetNomadvip
· 07-30 23:29
Майбутнє приватних обчислень
Переглянути оригіналвідповісти на0
PhantomMinervip
· 07-30 23:28
ZK може змінити майбутнє
Переглянути оригіналвідповісти на0
WhaleWatchervip
· 07-30 23:08
Добра стаття повинна бути підтримана
Переглянути оригіналвідповісти на0
  • Закріпити