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

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

Резюме

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

Стаття спочатку представляє основні концепції та історичний контекст zk-SNARKs. Зосереджується на аналізі технології zk-SNARKs на основі схем, включаючи моделі Ben-Sasson, Pinocchio, Bulletproofs та Ligero, їхній дизайн, застосування та методи оптимізації. Що стосується обчислювального середовища, стаття описує ZKVM та ZKEVM, досліджуючи, як вони покращують обробку транзакцій, захищають конфіденційність і підвищують ефективність перевірки. Стаття також охоплює механізм роботи та методи оптимізації нульових знань Rollup(ZK Rollup) як рішення другого рівня розширення, а також останні досягнення в апаратному прискоренні, гібридних рішеннях і спеціалізованих ZK EVM.

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

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

Зміст

Передмова

Одне, базові знання про 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. Огляд та розробка віртуальних машин з нульовим розголошенням
    1.Фон
  2. Існуюча класифікація ZKVM
  3. Фронтенд та бекенд парадигми 4.Переваги та недоліки ZKVM парадигми

Шість, огляд та розвиток zk-SNARKs Ethereum віртуальної машини 1.Фон 2. Принцип роботи ZKEVM 3.Процес реалізації ZKEVM 4. Особливості ZKEVM

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

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

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

Список літератури

Передмова

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

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

zk-SNARKs є більш комплексним рішенням, цей протокол верифікації дозволяє перевіряти правильність певних тверджень без розкриття будь-яких проміжних даних. Цей протокол не потребує складних інфраструктур відкритих ключів, а його повторне впровадження також не надає зловмисним користувачам можливості отримати додаткову корисну інформацію. За допомогою 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 році вчені Goldwasser, Micali та Rackoff вперше представили нульові знання у своїй статті (Zero-KnowledgeProof, ZKP) та інтерактивні нульові знання (InteractiveZero-Knowledge, IZK). Ця стаття стала основоположною для нульових знань, визначивши багато концепцій, які вплинули на подальші академічні дослідження. Наприклад, визначення знання — це "недоступний обчислювальний вихід", тобто знання повинно бути виходом і бути недоступним обчисленням, що означає, що це не може бути простою функцією, а має бути складною функцією. Недоступне обчислення зазвичай можна розуміти як NP-проблему, тобто проблему, для якої можна перевірити правильність її розв'язку за поліноміальний час, де поліноміальний час означає, що час виконання алгоритму можна виразити поліноміальною функцією розміру вхідних даних. Це важливий критерій для оцінки ефективності і здійсненності алгоритмів у комп'ютерних науках. Оскільки процес розв'язання NP-проблеми є складним, його вважають недоступним обчисленням; але процес перевірки є відносно простим, тому він дуже підходить для верифікації нульових знань.

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

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

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

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

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

3.零知识性(zero-knowledge):Після завершення процесу доведення, перевіряючий отримує лише інформацію "доказник має це знання", а будь-який додатковий контент залишається невідомим.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

( 1.Фон

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

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

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

ZK2.09%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Репост
  • Поділіться
Прокоментувати
0/400
GasFeeAssassinvip
· 4год тому
Відчуваю, що знову потрібно буде платити газом, угу.
Переглянути оригіналвідповісти на0
FunGibleTomvip
· 08-10 02:49
zksnark та й не розумію
Переглянути оригіналвідповісти на0
ShibaOnTheRunvip
· 08-10 02:45
DOGE链 гравці а-а-а все вже майже згоріло
Переглянути оригіналвідповісти на0
DegenWhisperervip
· 08-10 02:42
Це просто абсурд! Нульові знання вже існують сорок років.
Переглянути оригіналвідповісти на0
RugpullAlertOfficervip
· 08-10 02:40
Цей zk - це велика тенденція Блокчейн.
Переглянути оригіналвідповісти на0
ChainMaskedRidervip
· 08-10 02:31
玩zk还得看 цю пастку
Переглянути оригіналвідповісти на0
LiquiditySurfervip
· 08-10 02:30
Знову почали хвалити zk, я вже п'яний від цього. Вип'ю мартіні, щоб заспокоїтися.
Переглянути оригіналвідповісти на0
  • Закріпити