Як у реальному житті, так і в цифровому світі ми часто хочемо щось довести іншим. Перш ніж увійти в офісну будівлю, співробітники зазвичай надають певний тип посвідчення особи, перш ніж зайти всередину.
Коли користувачі намагаються увійти в такі програми, як Facebook або Twitter, ці служби повинні спочатку попросити користувача ввійти за допомогою пароля, а іноді на їхній мобільний пристрій надсилається одноразовий пароль (OTP).
Недоліком надання доказів є те, що ми часто надаємо інші типи інформації. Надання пароля веб-сайту все ще означає, що сам веб-сайт зберігає копію хешованого пароля на своїх серверах. Якщо хтось зламав сканер ідентифікаційних даних співробітників офісної будівлі, він може отримати приватні ключі кожного.
Докази з нульовим знанням або ZKP забезпечують спосіб підтвердження особи чи транзакції без надання додаткової інформації. Завдяки застосуванню в криптографії ZKP були адаптовані блокчейни для створення безпечних і масштабованих протоколів перевірки.
Що таке докази з нульовим знанням?
Докази з нульовим знанням були вперше запропоновані дослідниками з Массачусетського технологічного інституту Сільвіо Мікалі, Чарльзом Ракоффом та Шафі Гольдвассером у 1985 році у своїй роботі. «Складність знань інтерактивних доказових систем»
У цій роботі введено поняття складності знань. Це стосується обсягу знань про доказ, переданого від довідника до перевіряючого. Докази з нульовою інформацією мають на меті дозволити стороні довести, що конкретне твердження є правдивим для іншої сторони, без необхідності розголошувати будь-яку іншу інформацію.
ZKP можна використовувати як безпечну альтернативу поточним системам аутентифікації, а також можна додавати до протоколів блокчейну для збереження конфіденційності транзакцій.
Як працюють ZKP?
Реальний приклад
Щоб проілюструвати, як працюють докази з нульовим знанням, давайте подивимося на абстрактний приклад ZKP.
Припустимо, у вас є друг, який червоно-зелений дальтоник. У вас з собою дві однакові кульки, які відрізняються лише кольором: одна червона, а друга зелена. Для вашого друга вони виглядають ідентичними, але, як людина без дальтонізму, ви можете легко відрізнити їх.
Чи можете ви довести своєму другові, що вони іншого кольору, не вказуючи, яка кулька червона чи зелена?
Насправді є спосіб довести це, не розкриваючи кольори кульок. По-перше, ви повинні дозволити своєму другові покласти обидві м’ячі за спину і сказати йому показати будь-який м’яч і знову сховати його. Далі ви кажете своєму другові, що у нього є вибір: показати той самий м’яч знову або змінити його на інший.
Щоразу, коли показується новий м’яч, ви можете сказати йому, змінив він м’яч чи ні. Якщо ви продовжуєте вгадувати правильний виклик, стає все більш імовірно, що кульки різного кольору. Тепер ваш друг повинен переконатися, що кульки різного кольору, не вказуючи йому, які кульки якого кольору.
практичне застосування
Більшість практичних прикладів доказів з нульовим знанням поділяються на два типи.
По-перше, ZKP можна використовувати при розробці протоколів. Ми можемо гарантувати, що різні сторони не зможуть обманювати або скористатися перевагами протоколу. По-друге, для ідентифікації можна використовувати ЗКП.
Наприклад, ми можемо використовувати ZKP для безпечного входу у веб-програму без необхідності розкривати сам пароль.
Давайте розглянемо кілька прикладів того, як ми можемо використовувати докази з нульовим знанням.
Електронне голосування
Одним із часто обговорюваних застосувань ZKP є їхня можлива роль в онлайн-голосуванні. Скажімо, у нас є майбутній референдум, на якому користувачі можуть проголосувати за запропоновану політику. Кожен виборець, який має право голосу, має право голосувати 1 або 0 у бюлетені.
За допомогою ЗКП виборці можуть довести своє право голосувати, не розкриваючи свою особу. Це гарантує, що кожен голос буде справді анонімним. Додатковий ZKP також буде використовуватися для підтвердження того, що голос певного користувача є частиною остаточного підрахунку голосів.
Що стосується самого вмісту бюлетенів, система голосування може також генерувати докази з нульовою інформацією, що кожен бюлетень містить 1 або 0. Це досягається без необхідності знати вміст самого бюлетеня.
Конфіденційність блокчейну
Блокчейни, такі як Bitcoin та Ethereum, не підтримують приватні транзакції. Поки ваш біткойн-гаманець є загальнодоступним, будь-хто може перейти до провідника блоків, наприклад Blockstream щоб побачити всі транзакції, частиною яких є гаманець.
Тим часом використання такої служби, як банк або платіжних служб, таких як Cash App або Venmo, дає вам можливість здійснювати приватні операції. Однак ця зручність забезпечується ціною розкриття вашої інформації централізованій службі.
Ми можемо поєднати анонімність з децентралізацією, додавши ZKP до протоколу блокчейна. Криптовалюти, такі як ZCash, використовують ZKP для створення приватних транзакцій, які дозволяють власникам монет зберігати свою анонімність. Деякі з цих криптовалют використовують тип ZKP, відомий як zk-SNARK.
Ці ZKP не вимагають взаємодії між довідником і верифікатором.
Зведення з нульовим знанням
ZK-зведення — це рішення для масштабування, яке дозволяє миттєво перевіряти позамережні транзакції з мінімальною платою за газ. Вони є способом об’єднати велику кількість транзакцій рівня 2 і передати їх у протокол рівня 1.
Окрім забезпечення конфіденційності, ZKP дозволяє масштабувати складні системи. Протоколи Blockchain можуть використовувати ZKP, щоб довести, що користувачі здійснили правильні транзакції, мають відповідний баланс тощо. Ці безпечні, але масштабовані рішення можливі лише завдяки математичним доказам, виконаним поза ланцюгом у ZKP.
Такі протоколи, як Loopring, використовують докази з нульовим знанням, щоб допомогти обробляти позаланцюгові транзакції без шкоди для безпеки.
Переваги доказів з нульовим знанням
- ZKP замінюють менш надійні форми аутентифікації, такі як PIN-коди або ідентифікаційні картки
- ZKPS підвищує масштабованість блокчейнів
- Реалізація ZKP вимагає простих методів шифрування
- Використання ZKPS може зробити системи більш безпечними, не вимагаючи зберігання непотрібної інформації в системі.
Висновок
Конфіденційність даних вже є серйозною проблемою як в централізованих, так і в децентралізованих системах. Докази з нульовою інформацією надають різним сторонам спосіб підтвердити або підтвердити транзакції та особи без необхідності розкривати зазначені транзакції чи особи.
Оскільки технологія блокчейн набуває все більшого поширення, прийняття ZKP для безпечної обробки верифікації стане ключем до проблем масштабованості.
залишити коментар