Доказ нульових знаннь

Доказ нульових знань, який іноді також називають протоколом ZK, – це метод перевірки, який відбувається між перевіряючим і тим, кого перевіряють. У системі доведення нульових знань той кого перевіряють може довести, що він знає певну інформацію (наприклад, рішення математичного рівняння), не розкриваючи саму інформацію. Ці доказові системи можуть використовуватися сучасними криптографами для забезпечення підвищеного рівня конфіденційності та безпеки.Поняття доказу нульових знань було вперше описано в статті MIT 1985 року, опублікованій Шафі Голдвассер та Сільвіо Мікалі. Вони продемонстрували, що можна довести деякі властивості числа, не розкриваючи число або будь-яку додаткову інформацію про нього. Цей документ також представив математично значущий висновок про те, що взаємодія між перевірителем та верифікатором може зменшити кількість інформації, необхідної для доведення даної теореми. 

Доказ ZK повинен відповідати двом основним вимогам, відомим як повнота та надійність. Повнота відноситься до здатності продемонструвати знання відповідної інформації з високим ступенем ймовірної точності. Щоб доказ був надійним, перевіряючий повинен мати можливість надійно визначити, чи справді володіє інформацією перевіряючий орган. Нарешті, для того, щоб бути справді нульовим знанням, доказ повинен досягти як повноти, так і обґрунтованості, без необхідності передачі інформації, про яку йдеться, між перевіряючим та тим кого перевіряють.

Докази нульового знання в основному використовуються для додатків, в яких конфіденційність та безпека є важливими. Наприклад, системи автентифікації можуть використовувати ZK-докази для перевірки облікових даних або ідентифікаційних даних без безпосереднього їх розголошення. Як простий приклад він може бути використаний для перевірки наявності у людини пароля до комп’ютерної системи без необхідності розголошення пароля. Один із видатних випадків використання доказів нульового знання в реальному світі можна знайти у світі криптовалют та технологій блокчейнів. Використовуючи тип доказу, відомий як Нульовий Короткий Неінтерактивний Аргумент Знань ( zk-SNARK ), орієнтовані на конфіденційність криптовалюти, такі як Zcash, можуть пропонувати своїм користувачам транзакції блокчейну з підвищеним рівнем конфіденційності. Ethereum також працює з доказами zk-SNARK з моменту оновлення в 2017 році.