Підтвердження з нульовим знанням (ZKP) — це криптографічна технологія, яку вперше запропонували С. Голдвассер, С. Мікалі та К. Ракофф на початку 1980-х років у статті під назвою «Складність знань інтерактивних систем доказу ». У цій статті він був концептуалізований як теоретична модель для вирішення проблеми перевірки математичних тверджень без розкриття доказів. Ця концепція привернула значну увагу в академічній спільноті, оскільки вона кинула виклик традиційним методам шифрування та забезпечила новий підхід до обробки конфіденційної інформації.
З часом ZKP перетворився з абстрактної теоретичної концепції в конкретні протоколи, які можна інтегрувати в різні програми. У 2010 році Грот опублікував статтю під назвою Short Pairing-based Non-interactive Zero-Knowledge Arguments, яка стала основоположною роботою в розробці zk-SNARK, важливого рішення в ZKP. Найбільш значущим практичним застосуванням ZKP є система підтвердження з нульовим знанням, використана Z-cash у 2015 році, яка забезпечила захист конфіденційності транзакцій і сум. Згодом zk-SNARK поєднали зі смарт-контрактами, що призвело до ширшого спектру застосувань.
Принципи, яких традиційні ЗКП повинні дотримуватися, такі:
Принцип ЗКП можна зрозуміти на простому прикладі: якщо мені потрібно довести А, що я маю номер телефону В, мені не потрібно прямо повідомляти номер телефону А Б. Натомість я можу безпосередньо набрати номер телефону B, і коли виклик з’єднається, це може підтвердити, що я справді маю номер телефону B. Цей процес не розкриває інформацію про номер B.
І zk-SNARK продовжує вдосконалюватися на цій основі з такими характеристиками:
У статті Грота він запропонував неінтерактивний метод доказу з нульовим знанням, заснований на парах, який перетворює обчислювальну задачу в програму квадратичної арифметики (QAP), а потім будує ефективне доказ за допомогою криптографії еліптичної кривої та хеш-функцій. Пізніші розробки zk-SNARK зазвичай включають чотири етапи:
Щоб допомогти зрозуміти, давайте розглянемо простий приклад: припустімо, що у вас є карта скарбів, яка допоможе вам знайти точне місце розташування закопаного скарбу. Ви хочете довести комусь, що знаєте місцезнаходження скарбу, не розкриваючи вміст карти чи фактичне місцезнаходження скарбу. Якщо ви використовуєте технологію zk-SNARK, вам потрібно буде створити складну головоломку з карти скарбів. Ви вибираєте невеликий шматочок пазла (доказ) і показуєте його людині, що переконує його, що ви знаєте, як узгоджується весь пазл, тобто місцезнаходження скарбу, не бачачи всю головоломку. Однак для цього вам знадобиться отримати спеціальні позначки в перевіреній друкарні, які є доказом того, що ваш пазл справжній.
Традиційний підхід до доказів із нульовим знанням передбачає інтерактивні методи доказу, коли перевіряючий неодноразово запитує верифікатора «так чи ні?» запитань, поки не буде досягнута правильна відповідь. Цей процес неефективний. Однак zk-SNARK усуває необхідність повторних взаємодій, отримуючи CRS від довіреної третьої сторони. Усі прувери можуть безпосередньо порівнювати CRS для визначення правдивості. Це значно підвищує ефективність доказів з нульовим знанням.
Крім того, zk-SNARK пропонує наступні переваги:
Першим додатком zk-SNARK є Zcash, який дозволяє користувачам здійснювати повністю анонімні транзакції, приховуючи таку інформацію, як відправники, одержувачі та суми за допомогою zk-SNARK. У поточному просторі Web3 технологія zk-SNARK відіграє значну роль у масштабованості блокчейну та управлінні резервами обміну.
Через механізм консенсусу та вимоги безпеки блокчейна його пропускна здатність і ефективність значно обмежені. Щоб вирішити цю проблему, поширеним рішенням є використання технології Layer2, яка створює додатковий рівень поверх блокчейну для переміщення великої кількості транзакцій або обчислень з основного ланцюга (Layer1) на Layer2, тим самим покращуючи продуктивність системи та зручність використання. .
zk-SNARK відіграє важливу роль у цьому рішенні, оскільки він може стискати транзакції або обчислення на Layer2 у невеликий і швидкий доказ, який потім надсилається на перевірку в основному ланцюжку, забезпечуючи правильність і послідовність Layer2. Наразі існує два основних рішення Layer2 на основі zk-SNARK: ZK-rollup і Validium.
Через волатильність і невизначеність ринку криптовалют багатьом біржам потрібно мати певну суму резервних коштів для вирішення потенційних ризиків або вимог. Однак цим резервним фондам часто не вистачає прозорості та надійності, що залишає користувачів невпевненими щодо того, чи дійсно біржа має достатньо резервних фондів для захисту своїх активів.
zk-SNARK може надати рішення в цьому відношенні, дозволивши біржам довести користувачам або регулюючим органам, що вони володіють достатньою кількістю та вартістю резервних фондів, не розкриваючи конкретні деталі активів або місцезнаходження.
Типовим прикладом є Gate.io, який використовує комбінацію дерев zk-SNARK і Merkle. Вони шифрують дані користувача та генерують докази резервних фондів 100 різних токенів за допомогою обмежених схем, щоб продемонструвати свою 100% платоспроможність.
Джерело: https://www.gate.io/proof-of-reserves
Додаткова інформація: як zk-SNARK покращує підтвердження резервів Gate.io
Окрім додатків Web3, zk-SNARK також можна використовувати в доменах, які не є блокчейном, наприклад:
У попередньому розділі ми представили технічні принципи zk-SNARK, де згадувалося, що zk-SNARK покращує ефективність доказів, знаходячи надійну третю сторону для створення CRS. Однак це також призводить до деяких внутрішніх обмежень і проблем zk-SNARK.
Таким чином, існують різні підходи до усунення властивих обмежень zk-SNARK.
zk-SNARK, як інноваційна криптографічна технологія, має широкі майбутні сценарії застосування, особливо у сфері конфіденційності:
Технологія zk-SNARK є значним проривом у сфері захисту конфіденційності та зашифрованої перевірки. Це не тільки багатообіцяюче в забезпеченні надійних гарантій конфіденційності, але й практичне в підвищенні масштабованості блокчейну та різних інших програм. Незважаючи на наявність технічних проблем і обмежень, завдяки постійним дослідженням та інноваціям, ми очікуємо, що zk-SNARK продовжуватиме розвиватися, оптимізуючи існуючі системи та створюючи нові моделі додатків, які сприятимуть розвитку технологій захисту конфіденційності та шифрування. Зі зрілістю технологій і все більшим акцентом на конфіденційності даних у суспільстві zk-SNARK має потенціал стати незамінним інструментом у цифрову епоху, надаючи користувачам більший контроль над своєю інформацією та сприяючи безпечній і прозорій цифровій взаємодії.
Підтвердження з нульовим знанням (ZKP) — це криптографічна технологія, яку вперше запропонували С. Голдвассер, С. Мікалі та К. Ракофф на початку 1980-х років у статті під назвою «Складність знань інтерактивних систем доказу ». У цій статті він був концептуалізований як теоретична модель для вирішення проблеми перевірки математичних тверджень без розкриття доказів. Ця концепція привернула значну увагу в академічній спільноті, оскільки вона кинула виклик традиційним методам шифрування та забезпечила новий підхід до обробки конфіденційної інформації.
З часом ZKP перетворився з абстрактної теоретичної концепції в конкретні протоколи, які можна інтегрувати в різні програми. У 2010 році Грот опублікував статтю під назвою Short Pairing-based Non-interactive Zero-Knowledge Arguments, яка стала основоположною роботою в розробці zk-SNARK, важливого рішення в ZKP. Найбільш значущим практичним застосуванням ZKP є система підтвердження з нульовим знанням, використана Z-cash у 2015 році, яка забезпечила захист конфіденційності транзакцій і сум. Згодом zk-SNARK поєднали зі смарт-контрактами, що призвело до ширшого спектру застосувань.
Принципи, яких традиційні ЗКП повинні дотримуватися, такі:
Принцип ЗКП можна зрозуміти на простому прикладі: якщо мені потрібно довести А, що я маю номер телефону В, мені не потрібно прямо повідомляти номер телефону А Б. Натомість я можу безпосередньо набрати номер телефону B, і коли виклик з’єднається, це може підтвердити, що я справді маю номер телефону B. Цей процес не розкриває інформацію про номер B.
І zk-SNARK продовжує вдосконалюватися на цій основі з такими характеристиками:
У статті Грота він запропонував неінтерактивний метод доказу з нульовим знанням, заснований на парах, який перетворює обчислювальну задачу в програму квадратичної арифметики (QAP), а потім будує ефективне доказ за допомогою криптографії еліптичної кривої та хеш-функцій. Пізніші розробки zk-SNARK зазвичай включають чотири етапи:
Щоб допомогти зрозуміти, давайте розглянемо простий приклад: припустімо, що у вас є карта скарбів, яка допоможе вам знайти точне місце розташування закопаного скарбу. Ви хочете довести комусь, що знаєте місцезнаходження скарбу, не розкриваючи вміст карти чи фактичне місцезнаходження скарбу. Якщо ви використовуєте технологію zk-SNARK, вам потрібно буде створити складну головоломку з карти скарбів. Ви вибираєте невеликий шматочок пазла (доказ) і показуєте його людині, що переконує його, що ви знаєте, як узгоджується весь пазл, тобто місцезнаходження скарбу, не бачачи всю головоломку. Однак для цього вам знадобиться отримати спеціальні позначки в перевіреній друкарні, які є доказом того, що ваш пазл справжній.
Традиційний підхід до доказів із нульовим знанням передбачає інтерактивні методи доказу, коли перевіряючий неодноразово запитує верифікатора «так чи ні?» запитань, поки не буде досягнута правильна відповідь. Цей процес неефективний. Однак zk-SNARK усуває необхідність повторних взаємодій, отримуючи CRS від довіреної третьої сторони. Усі прувери можуть безпосередньо порівнювати CRS для визначення правдивості. Це значно підвищує ефективність доказів з нульовим знанням.
Крім того, zk-SNARK пропонує наступні переваги:
Першим додатком zk-SNARK є Zcash, який дозволяє користувачам здійснювати повністю анонімні транзакції, приховуючи таку інформацію, як відправники, одержувачі та суми за допомогою zk-SNARK. У поточному просторі Web3 технологія zk-SNARK відіграє значну роль у масштабованості блокчейну та управлінні резервами обміну.
Через механізм консенсусу та вимоги безпеки блокчейна його пропускна здатність і ефективність значно обмежені. Щоб вирішити цю проблему, поширеним рішенням є використання технології Layer2, яка створює додатковий рівень поверх блокчейну для переміщення великої кількості транзакцій або обчислень з основного ланцюга (Layer1) на Layer2, тим самим покращуючи продуктивність системи та зручність використання. .
zk-SNARK відіграє важливу роль у цьому рішенні, оскільки він може стискати транзакції або обчислення на Layer2 у невеликий і швидкий доказ, який потім надсилається на перевірку в основному ланцюжку, забезпечуючи правильність і послідовність Layer2. Наразі існує два основних рішення Layer2 на основі zk-SNARK: ZK-rollup і Validium.
Через волатильність і невизначеність ринку криптовалют багатьом біржам потрібно мати певну суму резервних коштів для вирішення потенційних ризиків або вимог. Однак цим резервним фондам часто не вистачає прозорості та надійності, що залишає користувачів невпевненими щодо того, чи дійсно біржа має достатньо резервних фондів для захисту своїх активів.
zk-SNARK може надати рішення в цьому відношенні, дозволивши біржам довести користувачам або регулюючим органам, що вони володіють достатньою кількістю та вартістю резервних фондів, не розкриваючи конкретні деталі активів або місцезнаходження.
Типовим прикладом є Gate.io, який використовує комбінацію дерев zk-SNARK і Merkle. Вони шифрують дані користувача та генерують докази резервних фондів 100 різних токенів за допомогою обмежених схем, щоб продемонструвати свою 100% платоспроможність.
Джерело: https://www.gate.io/proof-of-reserves
Додаткова інформація: як zk-SNARK покращує підтвердження резервів Gate.io
Окрім додатків Web3, zk-SNARK також можна використовувати в доменах, які не є блокчейном, наприклад:
У попередньому розділі ми представили технічні принципи zk-SNARK, де згадувалося, що zk-SNARK покращує ефективність доказів, знаходячи надійну третю сторону для створення CRS. Однак це також призводить до деяких внутрішніх обмежень і проблем zk-SNARK.
Таким чином, існують різні підходи до усунення властивих обмежень zk-SNARK.
zk-SNARK, як інноваційна криптографічна технологія, має широкі майбутні сценарії застосування, особливо у сфері конфіденційності:
Технологія zk-SNARK є значним проривом у сфері захисту конфіденційності та зашифрованої перевірки. Це не тільки багатообіцяюче в забезпеченні надійних гарантій конфіденційності, але й практичне в підвищенні масштабованості блокчейну та різних інших програм. Незважаючи на наявність технічних проблем і обмежень, завдяки постійним дослідженням та інноваціям, ми очікуємо, що zk-SNARK продовжуватиме розвиватися, оптимізуючи існуючі системи та створюючи нові моделі додатків, які сприятимуть розвитку технологій захисту конфіденційності та шифрування. Зі зрілістю технологій і все більшим акцентом на конфіденційності даних у суспільстві zk-SNARK має потенціал стати незамінним інструментом у цифрову епоху, надаючи користувачам більший контроль над своєю інформацією та сприяючи безпечній і прозорій цифровій взаємодії.