Доказ нульового знання був запропонований С. Голдвассером, С. Мікалі та К. Ракоффом на початку 1980-х років.
Це стосується здатності перевіряючого переконати верифікатор у правильності певного твердження, не надаючи жодної корисної інформації верифікатору. Тобто перевіряльник доводить верифікатору та змушує його повірити, що він знає або володіє певним повідомленням, але процес доказу не може відкрити жодної інформації про перевірене повідомлення верифікатору.
Гра перевірки судоку є класичним прикладом доказу з нульовим знанням, написана Авівом Зохаром, лідером команд засновників двох протоколів Ghost і Spectre.
Аліса, яка перевіряє, хоче довести верифікатору Бобу, що вона знає рішення певної гри судоку, але не хоче розкривати конкретний зміст рішення верифікатору Бобу. Доказ можна отримати за допомогою наступного процесу:
Імовірність того, що Аліса успішно обдурить Боба, заздалегідь здогадавшись, який метод перевірки (рядок/стовпець/будинок) вибере Боб, становить 1/3. Таким чином, Боб може випадковим чином вибирати різні методи перевірки кожного разу та повторювати описаний вище процес доказу кілька разів, доки Боб не повірить, що Аліса знає розв’язок гри судоку, а Боб не знає жодної конкретної інформації про розв’язок протягом усього процесу.
Наведена вище гра хоче довести вирішення проблеми судоку. Аліса просить Боба щоразу навмання вибирати рядки, стовпці та сітку з дев’ятьма квадратами, збирати їх разом і навмання перемішувати. Боб не може дізнатися рішення проблеми, відкривши мішок, але він може повірити, що Аліса, швидше за все, знає рішення проблеми.
Оскільки Аліса та Боб можуть пройти перевірку Боба після кількох раундів взаємодії, це називається інтерактивним доказом нульового знання. Інтерактивне підтвердження з нульовим знанням вимагає від верифікатора Боба постійно надсилати випадкові експерименти після того, як Аліса, що доводить, ставить відповідь (зобов’язання).
Припустімо, що існує неінтерактивна машина доказування судоку з нульовим знанням. Ця машина в основному автоматизує докази Судоку Аліси та Боба, більше не потребуючи взаємодії людини.
Алісі потрібно лише покласти картку на конвеєр, і машина автоматично вибере, щоб картки збирати по рядках, стовпчиках або палацах, покладе їх у мішок не по порядку, а потім відправить мішок через конвеєр. Потім Боб може відкрити мішок і відкрити картки всередині.
Машина має панель керування, яка відкривається до серії ручок, які вказують вибір (рядок, стовпець, палац) для кожного випробування.
Це називається Non-Interactive Zero-Knowledge (NIZK), але для цього знадобляться деякі додаткові машини чи програми, а також послідовність тестів, які нікому невідомі. Завдяки такій програмі та послідовності випробувань перевірочна машина може автоматично обчислити доказ і запобігти будь-якій стороні від фальсифікації.
Підтвердження з нульовим знанням включає багато криптографічних і математичних теорій, у тому числі зміст теорії обчислювальної складності, як-от обчислювально/статистично нерозрізнювані, симуляторні та випадкові моделі Oracle. Щоб полегшити розуміння, ми описуємо три основні властивості протоколу підтвердження з нульовим знанням більш популярною мовою так:
«Знання» проти «Інформації»
Доказ із нульовим знанням виник із протоколу інтерактивного підтвердження. На прикладі протоколу Шнорра проаналізувати принципи та характеристики інтерактивного доказу з нульовим знанням. Протокол Schnorr — це протокол автентифікації особи, який сьогодні також використовується багатьма схемами цифрового підпису PKI.
PKI — це абревіатура інфраструктури відкритих ключів. Це сумісна зі стандартом технологія та специфікація, яка використовує технологію шифрування з відкритим ключем для забезпечення безпечної базової платформи для розвитку електронної комерції.
У протоколі Schnorr перевірник A доводить, що він володіє закритим ключем sk, який відповідає відкритому ключу pk, тричі взаємодіючи з верифікатором B, але верифікатор B не може отримати інформацію про закритий ключ sk протягом усього процесу.
Інтерактивні протоколи перевірки з нульовим знанням покладаються на випадкові спроби верифікатора та потребують кількох взаємодій між перевірячем і верифікатором для завершення. Неінтерактивне підтвердження з нульовим знанням зменшує кількість взаємодій до однієї, уможливлюючи підтвердження в автономному режимі та публічну перевірку. Наприклад, у сценаріях додатків із підтвердженням нульового знання, таких як блокчейн, підтвердження зазвичай потрібно публікувати безпосередньо, а не покладатися на інтерактивну реалізацію, і воно має підтримувати багатосторонню публічну офлайн-перевірку.
Наразі існує три основні алгоритми в технології підтвердження нульового знання:
zk-SNARK (короткі неінтерактивні аргументи знання з нульовим знанням) — це широко використовувана універсальна схема доказу з нульовим знанням. Перетворюючи будь-який процес обчислення у форму кількох вентильних схем, використовуйте серію математичних властивостей поліномів для перетворення вентильних схем у поліноми, а потім генеруйте неінтерактивні докази, які можуть реалізувати застосування різноманітних складних бізнес-сценаріїв. На даний момент zk-SNARK реалізовано в сферах блокчейну, таких як цифрова валюта та блокчейн-фінанси, і наразі є одним із найдосконаліших універсальних рішень із нульовим знанням.
Для запуску zk-SNARK потрібне надійне налаштування. Довірена установка означає, що в довіреній установці кілька сторін генерують частковий ключ для запуску мережі, а потім знищують ключ. Якщо секрети ключів, які використовуються для створення конфігурації довіри, не знищено, ці секрети можуть бути використані для підробки транзакцій за допомогою помилкових перевірок.
zk-STARK (короткі прозорі аргументи знання з нульовим знанням), що представляє стислу та прозору аргументацію знань із нульовим знанням, є технічною еволюцією алгоритму zk-SNARK, який усуває слабкі сторони SNARK, покладаючись на надійні налаштування, а не покладаючись на на ньому. Будь-яка довіра встановлюється для завершення перевірки блокчейну, тим самим зменшуючи складність запуску мережі та усуваючи будь-який ризик змови.
Bulletproofs (короткий неінтерактивний протокол доказів із нульовим знанням) враховує переваги SNARK і STARK, може працювати без довіреної установки та може зменшити розмір криптографічних підтверджень із понад 10 КБ до менш ніж 1 КБ, ступінь стиснення досягає більше ніж на 80%, одночасно зменшуючи комісії за транзакції на 80%. Він привернув велику увагу в галузі через відносно низькі комісії за транзакції, розмір алгоритму та відсутність довіри.
Підтвердження нульового знання може забезпечити безпеку даних і вирішити багато проблем конфіденційності. Процес підтвердження потребує невеликих обчислень, а обсяг інформації, якою обмінюються обидві сторони, значно зменшується. Він має такі переваги, як безпека та ефективність. Підтвердження з нульовим знанням спочатку часто використовувалися для перевірки особи, цифрових підписів, протоколів автентифікації тощо. Поява блокчейну забезпечила нові напрямки для застосування доказів з нульовим знанням.
Блокчейн не може задовольнити поточні потреби через власні проблеми з продуктивністю. Очікується, що рішення масштабування на основі нульових знань вирішать вузьке місце продуктивності блокчейна. Масштабування означає збільшення швидкості транзакцій і пропускної здатності без шкоди для децентралізації та безпеки. ZK-Rollups — це рішення для масштабування рівня 2, засноване на доказі нульового знання. Він покращує пропускну здатність блокчейну, передаючи обчислення в ланцюжок, тобто упаковуючи велику кількість транзакцій у блок Rollup і генеруючи дійсний блок для блоку поза ланцюгом. Смарт-контракт на Рівні 1 потребує лише перевірки доказів, щоб безпосередньо застосувати новий стан, що може досягти меншого газу та вищої безпеки в ланцюзі.
У контексті блокчейну докази з нульовим знанням можна використовувати для перевірки дійсності транзакцій без розкриття відправника, одержувача, залученої суми та інших конфіденційних даних у транзакції. Таким чином, докази з нульовим знанням відіграють величезну роль у захисті конфіденційності даних у ланцюжку. Типові програми включають конфіденційність L2, публічні ланцюги конфіденційності, монети конфіденційності та конфіденційність KYC.
Aztec Network — це перший проект блокчейну конфіденційності рівня 2 на Ethereum, спрямований на забезпечення конфіденційності та масштабованості для централізованих програм. Aztec використовує модель UTXO, подібну до принципу облікового запису Bitcoin. У цій моделі нота нота є основною одиницею протокольної операції. Під час торгівлі активом вартість банкноти шифрується, власник банкноти змінюється, а реєстр банкнот записує статус кожної банкноти. Усі активи користувача AZTEC знаходяться в реєстрі нот. Сума дійсних квитків, якими володіє ця адреса користувача.
Aleo є першою платформою, яка надає повні додатки для захисту конфіденційності, і є загальнодоступним ланцюгом, заснованим на захисті конфіденційності з нульовими знаннями. Ядром Aleo є ZEXE, децентралізоване приватне обчислення DPC (децентралізоване приватне обчислення), яке розділяє обчислення та консенсус, надає zkCloud для виконання транзакцій поза ланцюгом і надсилає докази ланцюжку після виконання транзакції. Оскільки в ланцюжок надсилаються лише докази, технічно неможливо для будь-кого побачити або використати інформацію про будь-які деталі транзакцій, що забезпечує конфіденційність транзакцій.
Zcash називають творцем приватних монет. Конфіденційність конфіденційних транзакцій залежить від хеш-функцій і потокових шифрів у стандартній криптографії. Відправник, одержувач і обсяг транзакції в записі транзакції зашифровані в ланцюжку. Користувачі можуть вибирати, чи надавати іншим ключ перегляду (тільки ті, хто має цей ключ, можуть бачити вміст транзакції), і використовувати zk-SNARK поза мережею для перевірки дійсності транзакції.
zkPass — це децентралізоване рішення KYC, засноване на захищених багатосторонніх обчисленнях і доказах з нульовим знанням, що дозволяє користувачам анонімно підтверджувати свої претензії на особу третім сторонам за допомогою облікових даних Web2. Наприклад, платформа альянсу файлів цілісності Ufile Chain — це блокчейн-платформа альянсу, яка зосереджена на автентифікації, зберіганні, обігові, підтвердженні прав і захисті конфіденційності особистої інформації. Це ланцюгова система альянсу з авторитетними установами, такими як університети, підприємства та державні відомства, як основні вузли. Ufile Chain використовує технологію захисту нульових знань для забезпечення конфіденційності та безпеки особистої інформації. Користувачі даних можуть отримувати лише обмежену інформацію, пов’язану з їхнім бізнесом, що гарантує, що користувачам даних важко отримати повну та ефективну інформацію користувача у відкритому вигляді. Ніхто, включаючи офіційних осіб UfileChain, не може отримати дійсну особисту інформацію користувача.
Завдяки розвитку новітніх технологічних додатків, таких як блокчейн і конфіденційні обчислення в останні роки, технологія з нульовим знанням стала важливою технологією для побудови довіри та невід’ємною частиною організму блокчейну.
По суті, технологія з нульовим знанням може не довіряти блокчейну та перевести його з економічних припущень на криптографічні припущення для подальшого розширення нативних функцій, таких як доступність даних поза ланцюгом і рідні абстрактні гаманці облікових записів, особливо для Ethereum. Він надає рішення або навіть єдине рішення проблем, пов’язаних із масштабованістю та захистом конфіденційності, з якими стикаються основні мережі, такі як Fang.
Доказ нульового знання був запропонований С. Голдвассером, С. Мікалі та К. Ракоффом на початку 1980-х років.
Це стосується здатності перевіряючого переконати верифікатор у правильності певного твердження, не надаючи жодної корисної інформації верифікатору. Тобто перевіряльник доводить верифікатору та змушує його повірити, що він знає або володіє певним повідомленням, але процес доказу не може відкрити жодної інформації про перевірене повідомлення верифікатору.
Гра перевірки судоку є класичним прикладом доказу з нульовим знанням, написана Авівом Зохаром, лідером команд засновників двох протоколів Ghost і Spectre.
Аліса, яка перевіряє, хоче довести верифікатору Бобу, що вона знає рішення певної гри судоку, але не хоче розкривати конкретний зміст рішення верифікатору Бобу. Доказ можна отримати за допомогою наступного процесу:
Імовірність того, що Аліса успішно обдурить Боба, заздалегідь здогадавшись, який метод перевірки (рядок/стовпець/будинок) вибере Боб, становить 1/3. Таким чином, Боб може випадковим чином вибирати різні методи перевірки кожного разу та повторювати описаний вище процес доказу кілька разів, доки Боб не повірить, що Аліса знає розв’язок гри судоку, а Боб не знає жодної конкретної інформації про розв’язок протягом усього процесу.
Наведена вище гра хоче довести вирішення проблеми судоку. Аліса просить Боба щоразу навмання вибирати рядки, стовпці та сітку з дев’ятьма квадратами, збирати їх разом і навмання перемішувати. Боб не може дізнатися рішення проблеми, відкривши мішок, але він може повірити, що Аліса, швидше за все, знає рішення проблеми.
Оскільки Аліса та Боб можуть пройти перевірку Боба після кількох раундів взаємодії, це називається інтерактивним доказом нульового знання. Інтерактивне підтвердження з нульовим знанням вимагає від верифікатора Боба постійно надсилати випадкові експерименти після того, як Аліса, що доводить, ставить відповідь (зобов’язання).
Припустімо, що існує неінтерактивна машина доказування судоку з нульовим знанням. Ця машина в основному автоматизує докази Судоку Аліси та Боба, більше не потребуючи взаємодії людини.
Алісі потрібно лише покласти картку на конвеєр, і машина автоматично вибере, щоб картки збирати по рядках, стовпчиках або палацах, покладе їх у мішок не по порядку, а потім відправить мішок через конвеєр. Потім Боб може відкрити мішок і відкрити картки всередині.
Машина має панель керування, яка відкривається до серії ручок, які вказують вибір (рядок, стовпець, палац) для кожного випробування.
Це називається Non-Interactive Zero-Knowledge (NIZK), але для цього знадобляться деякі додаткові машини чи програми, а також послідовність тестів, які нікому невідомі. Завдяки такій програмі та послідовності випробувань перевірочна машина може автоматично обчислити доказ і запобігти будь-якій стороні від фальсифікації.
Підтвердження з нульовим знанням включає багато криптографічних і математичних теорій, у тому числі зміст теорії обчислювальної складності, як-от обчислювально/статистично нерозрізнювані, симуляторні та випадкові моделі Oracle. Щоб полегшити розуміння, ми описуємо три основні властивості протоколу підтвердження з нульовим знанням більш популярною мовою так:
«Знання» проти «Інформації»
Доказ із нульовим знанням виник із протоколу інтерактивного підтвердження. На прикладі протоколу Шнорра проаналізувати принципи та характеристики інтерактивного доказу з нульовим знанням. Протокол Schnorr — це протокол автентифікації особи, який сьогодні також використовується багатьма схемами цифрового підпису PKI.
PKI — це абревіатура інфраструктури відкритих ключів. Це сумісна зі стандартом технологія та специфікація, яка використовує технологію шифрування з відкритим ключем для забезпечення безпечної базової платформи для розвитку електронної комерції.
У протоколі Schnorr перевірник A доводить, що він володіє закритим ключем sk, який відповідає відкритому ключу pk, тричі взаємодіючи з верифікатором B, але верифікатор B не може отримати інформацію про закритий ключ sk протягом усього процесу.
Інтерактивні протоколи перевірки з нульовим знанням покладаються на випадкові спроби верифікатора та потребують кількох взаємодій між перевірячем і верифікатором для завершення. Неінтерактивне підтвердження з нульовим знанням зменшує кількість взаємодій до однієї, уможливлюючи підтвердження в автономному режимі та публічну перевірку. Наприклад, у сценаріях додатків із підтвердженням нульового знання, таких як блокчейн, підтвердження зазвичай потрібно публікувати безпосередньо, а не покладатися на інтерактивну реалізацію, і воно має підтримувати багатосторонню публічну офлайн-перевірку.
Наразі існує три основні алгоритми в технології підтвердження нульового знання:
zk-SNARK (короткі неінтерактивні аргументи знання з нульовим знанням) — це широко використовувана універсальна схема доказу з нульовим знанням. Перетворюючи будь-який процес обчислення у форму кількох вентильних схем, використовуйте серію математичних властивостей поліномів для перетворення вентильних схем у поліноми, а потім генеруйте неінтерактивні докази, які можуть реалізувати застосування різноманітних складних бізнес-сценаріїв. На даний момент zk-SNARK реалізовано в сферах блокчейну, таких як цифрова валюта та блокчейн-фінанси, і наразі є одним із найдосконаліших універсальних рішень із нульовим знанням.
Для запуску zk-SNARK потрібне надійне налаштування. Довірена установка означає, що в довіреній установці кілька сторін генерують частковий ключ для запуску мережі, а потім знищують ключ. Якщо секрети ключів, які використовуються для створення конфігурації довіри, не знищено, ці секрети можуть бути використані для підробки транзакцій за допомогою помилкових перевірок.
zk-STARK (короткі прозорі аргументи знання з нульовим знанням), що представляє стислу та прозору аргументацію знань із нульовим знанням, є технічною еволюцією алгоритму zk-SNARK, який усуває слабкі сторони SNARK, покладаючись на надійні налаштування, а не покладаючись на на ньому. Будь-яка довіра встановлюється для завершення перевірки блокчейну, тим самим зменшуючи складність запуску мережі та усуваючи будь-який ризик змови.
Bulletproofs (короткий неінтерактивний протокол доказів із нульовим знанням) враховує переваги SNARK і STARK, може працювати без довіреної установки та може зменшити розмір криптографічних підтверджень із понад 10 КБ до менш ніж 1 КБ, ступінь стиснення досягає більше ніж на 80%, одночасно зменшуючи комісії за транзакції на 80%. Він привернув велику увагу в галузі через відносно низькі комісії за транзакції, розмір алгоритму та відсутність довіри.
Підтвердження нульового знання може забезпечити безпеку даних і вирішити багато проблем конфіденційності. Процес підтвердження потребує невеликих обчислень, а обсяг інформації, якою обмінюються обидві сторони, значно зменшується. Він має такі переваги, як безпека та ефективність. Підтвердження з нульовим знанням спочатку часто використовувалися для перевірки особи, цифрових підписів, протоколів автентифікації тощо. Поява блокчейну забезпечила нові напрямки для застосування доказів з нульовим знанням.
Блокчейн не може задовольнити поточні потреби через власні проблеми з продуктивністю. Очікується, що рішення масштабування на основі нульових знань вирішать вузьке місце продуктивності блокчейна. Масштабування означає збільшення швидкості транзакцій і пропускної здатності без шкоди для децентралізації та безпеки. ZK-Rollups — це рішення для масштабування рівня 2, засноване на доказі нульового знання. Він покращує пропускну здатність блокчейну, передаючи обчислення в ланцюжок, тобто упаковуючи велику кількість транзакцій у блок Rollup і генеруючи дійсний блок для блоку поза ланцюгом. Смарт-контракт на Рівні 1 потребує лише перевірки доказів, щоб безпосередньо застосувати новий стан, що може досягти меншого газу та вищої безпеки в ланцюзі.
У контексті блокчейну докази з нульовим знанням можна використовувати для перевірки дійсності транзакцій без розкриття відправника, одержувача, залученої суми та інших конфіденційних даних у транзакції. Таким чином, докази з нульовим знанням відіграють величезну роль у захисті конфіденційності даних у ланцюжку. Типові програми включають конфіденційність L2, публічні ланцюги конфіденційності, монети конфіденційності та конфіденційність KYC.
Aztec Network — це перший проект блокчейну конфіденційності рівня 2 на Ethereum, спрямований на забезпечення конфіденційності та масштабованості для централізованих програм. Aztec використовує модель UTXO, подібну до принципу облікового запису Bitcoin. У цій моделі нота нота є основною одиницею протокольної операції. Під час торгівлі активом вартість банкноти шифрується, власник банкноти змінюється, а реєстр банкнот записує статус кожної банкноти. Усі активи користувача AZTEC знаходяться в реєстрі нот. Сума дійсних квитків, якими володіє ця адреса користувача.
Aleo є першою платформою, яка надає повні додатки для захисту конфіденційності, і є загальнодоступним ланцюгом, заснованим на захисті конфіденційності з нульовими знаннями. Ядром Aleo є ZEXE, децентралізоване приватне обчислення DPC (децентралізоване приватне обчислення), яке розділяє обчислення та консенсус, надає zkCloud для виконання транзакцій поза ланцюгом і надсилає докази ланцюжку після виконання транзакції. Оскільки в ланцюжок надсилаються лише докази, технічно неможливо для будь-кого побачити або використати інформацію про будь-які деталі транзакцій, що забезпечує конфіденційність транзакцій.
Zcash називають творцем приватних монет. Конфіденційність конфіденційних транзакцій залежить від хеш-функцій і потокових шифрів у стандартній криптографії. Відправник, одержувач і обсяг транзакції в записі транзакції зашифровані в ланцюжку. Користувачі можуть вибирати, чи надавати іншим ключ перегляду (тільки ті, хто має цей ключ, можуть бачити вміст транзакції), і використовувати zk-SNARK поза мережею для перевірки дійсності транзакції.
zkPass — це децентралізоване рішення KYC, засноване на захищених багатосторонніх обчисленнях і доказах з нульовим знанням, що дозволяє користувачам анонімно підтверджувати свої претензії на особу третім сторонам за допомогою облікових даних Web2. Наприклад, платформа альянсу файлів цілісності Ufile Chain — це блокчейн-платформа альянсу, яка зосереджена на автентифікації, зберіганні, обігові, підтвердженні прав і захисті конфіденційності особистої інформації. Це ланцюгова система альянсу з авторитетними установами, такими як університети, підприємства та державні відомства, як основні вузли. Ufile Chain використовує технологію захисту нульових знань для забезпечення конфіденційності та безпеки особистої інформації. Користувачі даних можуть отримувати лише обмежену інформацію, пов’язану з їхнім бізнесом, що гарантує, що користувачам даних важко отримати повну та ефективну інформацію користувача у відкритому вигляді. Ніхто, включаючи офіційних осіб UfileChain, не може отримати дійсну особисту інформацію користувача.
Завдяки розвитку новітніх технологічних додатків, таких як блокчейн і конфіденційні обчислення в останні роки, технологія з нульовим знанням стала важливою технологією для побудови довіри та невід’ємною частиною організму блокчейну.
По суті, технологія з нульовим знанням може не довіряти блокчейну та перевести його з економічних припущень на криптографічні припущення для подальшого розширення нативних функцій, таких як доступність даних поза ланцюгом і рідні абстрактні гаманці облікових записів, особливо для Ethereum. Він надає рішення або навіть єдине рішення проблем, пов’язаних із масштабованістю та захистом конфіденційності, з якими стикаються основні мережі, такі як Fang.