Как проверявате информация, без да споделяте достъп? Това е предизвикателството, което се опитват да разрешат доказателствата с нулево знание.
Доказателството с нулево знание (ZKP) набира голяма популярност напоследък за различни цели. Той позволява проверка на информация, без да се разкриват основните данни, като по този начин предлага по-висока степен на сигурност и поверителност на чувствителната информация.
Но какво точно е доказателство с нулево знание, как работи и какви са случаите на използване на система за доказателство с нулево знание? Нека разберем.
Какво е доказателство с нулево знание?
Goldwasser, Micali и Rackoff предложиха доказателства с нулево знание в своята статия "Сложността на знанието на интерактивните системи за доказателство."
В система за доказателство с нулево знание, една страна (доказващ) трябва да докаже на друга страна (верификатор), че конкретно твърдение е вярно, без да разкрива допълнителна информация, освен че изречението е вярно вярно. Това се постига чрез представяне на минимално количество информация на проверяващия, така че той да може да потвърди, че твърдението наистина е вярно.
Например, Пол иска Анита да докаже знанията си за тайния магически код на вратата, който свързва два пътя (А и Б) в пещерата. Анита минава през вратата няколко пъти, започвайки от Път А и излизайки през Път Б, докато Пол остава отвън.
Повтаряйки това постижение няколко пъти, Анита доказва, че знае кода за отваряне на магическата врата вътре в пещерата, без да разкрива кода на Пол.
Как работи доказателството с нулево знание?
Доказателствата с нулево знание работят, като доказващият и проверяващият извършват серия от взаимодействия. Тези взаимодействия обикновено включват множество кръгове на комуникация. По време на всяко взаимодействие доказващият изгражда доказателство, което подкрепя истинността на твърдението на доказващия.
Верификаторът често създава множество предизвикателства, свързани с твърдението, което се доказва. И доказващият отговаря всеки път с внимателно изработено доказателство, за да убеди проверяващия в истинността на изявлението, без да разкрива информация, свързана с изявлението.
Предизвикателствата и взаимодействията се повтарят многократно, за да се елиминират шансовете доказващият да познае твърдението.
Доказателството с нулево знание ви позволява да споделяте доказателство за знание с другата страна, без да разкривате допълнителни подробности за знанието. За да се случи това, протоколът с нулево знание зависи от алгоритмите, които приемат някои данни като вход и връщат изхода като true или false за дадения вход.
Ето три критерия, на които трябва да отговаря една доказателствена система с нулево знание.
1. Пълнота
Ако твърдението е вярно, честен доказващ може да убеди честен проверител в истинността на твърдението.
2. Здравина
Ако твърдението е невярно (което означава, че доказващият не знае правилното твърдение), тогава никой нечестен доказващ не може да убеди честен проверяващ в истинността на твърдението.
3. Нулево знание
Доказателствата с нулево знание (ZKPs) гарантират, че верификаторът не получава никакво знание за твърдението, което се доказва, освен дали е вярно или невярно. Освен това верификаторът не може да извлече каквато и да е информация за твърдението от доказателството, предоставено от доказващия, което е създадено, за да демонстрира истинността на твърдението.
Видове доказателства с нулево знание
Следват два основни типа доказателства с нулево знание, за които трябва да знаете.
Интерактивни доказателства с нулево знание
В интерактивна система за доказателство с нулево знание, доказващият изгражда доказателство за твърдението и го изпраща на проверяващия. След това верификаторът задава въпроси и създава предизвикателства. Доказващият отговаря на предизвикателствата на проверяващия и продължава взаимодействието. Този процес на комуникация напред-назад позволява на проверяващия да бъде убеден в истинността на изявлението.
Неинтерактивни доказателства с нулево знание
В неинтерактивна система за доказателство с нулево знание доказващият създава едно доказателство, което той може независимо да провери без допълнително взаимодействие.
От две, интерактивните доказателства с нулево знание са по-интензивни в изчислително отношение, тъй като интерактивната ZKP технология прави допълнителни изчисления поради взаимодействия напред и назад.
Приложения с нулево знание и случаи на употреба
Ето някои случаи на използване на протоколи с нулево знание.
Удостоверяване
Доказателства с нулево знание (ZKP) може да се използва за удостоверяване на потребителите без обмен на секретна информация, като потребителски имена или пароли. Това може да подобри потребителското изживяване и да освободи компаниите от запазването на огромни количества потребителски данни на техните сървъри.
Частни транзакции
Блокчейн транзакциите не са частни. Вместо това те са свързани с псевдонимни адреси на крипто портфейли. И правителствата могат да проследят тези транзакции, което им позволява да залавят престъпници от тъмната мрежа.
Законно е да се залавят престъпници чрез проследяване на тези транзакции. Но какво да кажем за потиснически режим, който следи редовните потребители на крипто чрез информация, съхранявана в публичната книга?
Чрез внедряване на доказателства с нулево знание компаниите могат да активират защитени транзакции, при които адресите на изпращача и получателя и сумите на транзакциите са скрити от публичната блокчейн.
Например, ZCash и Monero предлагат частни транзакции използване на доказателства с нулево знание.
Сигурни вериги за доставки
Използването на доказателство с нулево знание може да подобри сигурността във веригата на доставки. Той може да провери целостта на данните, да потвърди идентификационните данни на доставчиците, да докаже автентичността на продуктите или услугите и да даде възможност за сигурно проследяване, без да е необходимо да се разкрива чувствителна информация.
Освен това, доказателствата с нулево знание позволяват на компаниите да докажат на регулаторите и властите, че спазват приложимите закони и индустриални стандарти.
Лична проверка на самоличността
Доказателствата с нулево знание помагат за защита на поверителността на потребителите. Властите могат да проверят самоличността на всяко лице, без да е необходимо да разкриват чувствителна информация.
Например, a приложение за децентрализирано финансиране (DeFi). може да се наложи да провери дали даден потребител принадлежи към определена държава. Традиционният процес ще изисква потребителят да предостави своите паспортни данни или номер на шофьорска книжка. Но с помощта на протокол за самоличност на трета страна, базиран на ZKP, потребителят може да докаже, че е от списък с разрешени държави, дори без да казва името на държавата си.
Доказателство за членство
Доказателството с нулево знание може да позволи на потребителите да докажат, че са част от голям публичен набор, без да казват към коя част от публичния набор принадлежат.
Например холандската ING Bank стартира своето членство с нулев набор от знания (ZKSM), което позволява на потребителите да докажат, че са членове на Европейския съюз, без да казват в кои страни живеят.
Недостатъци на използването на доказателство с нулево знание
Доказателството с нулево знание предлага значителни предимства. Но те също имат някои проблеми.
Най-голямото предизвикателство са разходите за хардуер. Генерирането на доказателства с нулево знание изисква сложни изчисления, често извършвани на специализирани машини, чието закупуване е скъпо.
Освен това проверката на доказателства също изисква сложни изчисления. Така че не е възможно да се приложи доказателство с нулево знание, освен ако компаниите нямат големи бюджети за същото.
Освен това липсата на ресурси за обучение и инструменти за разработчици за ZKP приложения възпрепятства по-широкото приемане на доказателства с нулево знание.
Доказателства с нулево знание за подобряване на поверителността
Хакери и заплахи непрекъснато се опитват да се доберат до вашата чувствителна информация. Затова предприемете необходимите стъпки, за да защитите данните си. Търсете приложения, базирани на доказателства с нулево знание, и ги използвайте, за да защитите поверителността и сигурността си.
Освен това трябва да използвате криптиране с нулево знание, за да защитите чувствителните си данни.