Захистіть свої дані на блокчейні
Коли-небудь відчували, що живете в пісні Стінга? Тій, що звучить: “Кожен ваш подих, кожен ваш рух, я буду стежити за вами”? В ці дні здається, що завжди є хтось, хто відстежує кожен ваш крок — буквально. Йдете в магазин, і ваш банк знає, що ви купили, скільки витратили і навіть де це сталося. GPS на вашому смартфоні відстежує ваше місцезнаходження кожну секунду, камери відеоспостереження постійно стежать за вами в громадських місцях, а ваш провайдер Інтернету контролює ваші онлайн-звички, як яструб. Тож, якщо все це здається трохи реаліті-шоу, можливо, так і є, але без гламурності!
Питання в тому, що якби ви могли перевернути сценарій і зберегти принаймні частину свого життя приватним? Насправді, дуже значну частину — ваше фінансове життя. З'являються Докази нульового знання (ZKP). Ці зручні криптографічні інструменти дозволяють вам довести, що транзакція є законною, не розкриваючи жодних деталей — хто заплатив що і де, хто надіслав скільки і коли, або будь-які соковиті деталі. В основному, це як сказати: “Все в порядку”, не показуючи нікому справжні квитанції. Звучить цікаво? Залишайтеся з нами, щоб побачити, як цей протокол може допомогти вам досягти рівня приватності, який здається науковою фантастикою, але є абсолютно реальним.
Докази нульового знання (ZKP) - це криптографічні методи, які дозволяють комусь довести, що він знає або має щось, наприклад, пароль, не розкриваючи саму інформацію
ZKP існують у різних формах, включаючи ZK-SNARKs (докази нульового знання, стислі, неінтерактивні аргументи знання) та ZK-STARKs (докази нульового знання, масштабовані, прозорі аргументи знання)
ZKP все більше інтегруються в різноманітні блокчейн-додатки, від криптовалют, орієнтованих на конфіденційність, таких як ZCash, до рішень другого рівня, таких як zkSync, що збільшує пропускну здатність транзакцій
Давайте одразу зануримось у визначення нульових доказів знань (ZKP). Не хвилюйтеся, якщо це здається трохи складним на перший погляд, ми розберемо це і пояснимо все в наступному реченні.
Нульовий доказ знань (ZKP) — це криптографічний метод, за допомогою якого одна сторона (доказник) може довести іншій стороні (перевіряючому), що твердження є істинним, не розкриваючи жодної додаткової інформації, окрім дійсності самого твердження. Це означає, що перевіряючий може бути переконаний у правдивості твердження, не отримуючи жодних знань про основні дані або про те, як був побудований доказ. Іншими словами, нульовий доказ знань — це криптографічний метод, за допомогою якого одна сторона — скажімо, це ви, купуючи речі в Walmart — може довести іншій стороні, наприклад, Walmart, що твердження є істинним, таким як наявність достатньої кількості коштів на вашому рахунку, не розкриваючи жодних додаткових деталей, таких як точна сума грошей, яку ви маєте. Нульовий доказ знань просто підтверджує, що твердження є істинним — що у вас достатньо грошей. Кінець історії.
Динаміка Prover-Verifier
Кілька блокчейнів підтримують використання доказів з нульовим знанням для застосувань, що зберігають конфіденційність: Zcash використовує ZKP для захисту даних транзакцій від публічного перегляду, zkSync є рішенням для масштабування другого рівня для Ethereum, яке використовує ZKP для забезпечення конфіденційності та масштабованості. Є також протокол Aztec, який по суті є платформою, що зберігає конфіденційність, яка використовує ZKP для можливості приватних транзакцій та смарт-контрактів. І, звичайно, є ще багато інших.
Ось приклад того, як працює протокол на основі ZK-доказів у реальному житті. Уявіть, що ви хочете надіслати приватне повідомлення другу на платформі блокчейн-повідомлень. У старій парадигмі блокчейн-системи ваше повідомлення було б видимим для всіх у мережі. Це могло б скомпрометувати вашу конфіденційність. Але, скажімо, ви використовуєте Aztec. З цим протоколом ваше повідомлення буде зашифроване та об'єднане з іншими транзакціями в пакет. Потім генерується ZKP, щоб довести, що пакет транзакцій є дійсним, не розкриваючи вміст окремих транзакцій. Цей ZKP подається до базового блокчейну (такого як Ethereum) для перевірки.
Розроблені в 1980-х роках деякими розумними людьми — Шаффі Голдвассер, Сільвіо Мікалі та Чарльзом Раковом — ця технологія була створена для вирішення великої проблеми: як довести, що ви знаєте щось (наприклад, що у вас є гроші для оплати), не розкриваючи, що саме ви знаєте. ZKP були спеціально розроблені для такого роду завдань, тому вони так популярні в блокчейні, сфері, яка повністю зосереджена на конфіденційності. Продовжуючи аналогію з Walmart, можна сказати, що коли ви використовуєте технологію з нульовим знанням для вашої покупки продуктів, ви по суті шифруєте частину чутливої інформації в секретний код, який доводить, що ви можете покрити витрати.
Система Walmart потім розшифровує це і перевіряє без необхідності бачити ваш фактичний баланс або історію транзакцій. Це якби хтось сказав: “Довіртеся мені, я це покрию,” не показуючи при цьому чеки або розкриваючи будь-які чутливі деталі. Тож ви купуєте і йдете, і жодна душа у світі, крім, можливо, Walmart, не знає, що ви купили і скільки ви заплатили.
Шаффі Голдвассер і Сільвіо Мікалі
Якщо доказ є доказом нульового знання, він завжди повністю задовольнятиме ці три основні властивості:
Гаразд, сподіваюся, тепер ви не налякані термінами, такими як "твердження", "перевіряючий" і "доводчик", тому настав час дізнатися про технологію нульового знання. Ці хлопці приходять у різних варіантах, кожен з яких має свій спосіб доведення істини, зберігаючи специфіку в таємниці. Ось швидкий огляд основних типів, інтерактивних і неінтерактивних zk-доказів, але перед тим, як почати, давайте спростимо речі за допомогою кулінарної аналогії. Уявіть, що ви печете пиріг.
Інтерактивний доказ: Щоб довести, що пиріг є автентичним, використовуючи інтерактивний доказ, ви запросите друга подивитися, як ви печете. Вони спробують тісто, начинку та готовий продукт, щоб переконатися, що це справжнє. Це схоже на перевіряючого, який спостерігає за всім процесом створення доказу.
Неінтерактивний доказ: Щоб довести автентичність пирога неінтерактивно, ви спечете пиріг, а потім запропонуєте своєму другу маленький шматочок для дегустації. Вони можуть перевірити смак і інгредієнти, не спостерігаючи за тим, як ви печете. Це схоже на перевіряючого, який перевіряє попередньо згенерований доказ, не потребуючи спостерігати за всім процесом.
У термінах блокчейну:
Проблема з інтерактивними доказами полягає в тому, що обидві сторони повинні бути онлайн одночасно, і кожен доказ є як початок нової розмови — надзвичайно неефективно. Ось тут і з'являються неінтерактивні докази.
У 1988 році Мануель Блюм, Пол Фельдман і Сільвіо Мікалі запропонували перші неінтерактивні докази нульового знання, де доводчик і перевіряючий мають спільний ключ (CRS). Ось як це працює. І ви (доводчик), і ваш друг (перевіряючий) погоджуються на спільний рецепт (CRS). Ви печете пиріг (створюєте доказ), дотримуючись рецепту. Ваш друг пробує пиріг (перевіряє доказ). Якщо він смакує як лимон і молоко, вони знають, що ви дотримувалися рецепту. У термінах блокчейну обидві сторони генерують публічне значення, відоме як доводчику, так і перевіряючому, CRS. Доводчик генерує криптографічний об'єкт (доказ). Перевіряючий перевіряє, чи відповідає доказ CRS.
Приклади протоколів на основі неінтерактивних доказів включають протоколи на основі zk-SNARK і zk-STARK, які ми розглянемо в наступному розділі.
Хоча інтерактивні докази зосереджені на реальному часі, взаємодіях, неінтерактивні докази дозволяють вам виконати роботу лише з одним, добре підготовленим одноразовим доказом. Це робить їх надзвичайно ефективними для ситуацій, коли ви не хочете або не потребуєте вести постійні розмови. zk-SNARKs і zk-STARKs підвищують концепцію неінтерактивного доказу і ще більше підвищують конфіденційність у блокчейні. Як саме?
ZK-SNARKs можуть звучати як щось з науково-фантастичного фільму, але насправді це просто модна абревіатура для нульового знання стиснутого неінтерактивного аргументу знання. Коли ви розбираєте це, це насправді просто більш просунута версія тих неінтерактивних доказів, про які ми тільки що говорили, тому не хвилюйтеся, ви зрозумієте. Якщо ви маєте справу з протоколом ZK-SNARK, він повністю задовольнятиме ці п'ять основних властивостей:
Уявіть, що ви спекли пиріг за секретним рецептом. Ви хочете зберегти його унікальним і запобігти його копіюванню іншими. Якщо хтось зможе відтворити пиріг, він більше не буде особливим. Аналогічно, у блокчейні зловмисні транзакції повинні бути важкими для відтворення. Це забезпечує цілісність і безпеку мережі.
Кілька "кухарів" працюють разом, щоб створити секретний інгредієнт рецепту
Щоб забезпечити, що «рецепт» є унікальним і безпечним, кілька «кухарів» працюють разом, щоб створити секретний інгредієнт рецепту — відомий в термінах блокчейну як CRS. Коли вони закінчують створення CRS, вони «знищують» рецепт, щоб запобігти його зловживанню. Але є підводний камінь: цей процес покладається на довіру, що всі кухарі дійсно знищать свою частину секрету. Але що, якщо один з них цього не зробить? Ось тут і з'являються ZK-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge)
Хоча ZK-SNARKs принесли нульові докази знань масам завдяки своїй компактності та ефективності, вони представили нові виклики, такі як необхідність у довіреній налаштуванні «кухарів» і обмежена масштабованість з більшими наборами даних. ZK-STARKs вирішують ці проблеми. Уявіть їх як еволюцію від звичайного телефону до сучасного смартфона — більше ніяких ризикованих налаштувань і набагато краще в обробці великих даних, що робить їх більш потужними, безпечними та зручними для користувачів. Але ZK-STARKs не вимагають етапу довіреного налаштування, де ви генеруєте та зберігаєте секретні випадкові числа або параметри. Натомість, це усуває необхідність у конфіденційних процедурах налаштування та зменшує ризик підробки або компрометації. Давайте розглянемо, про що йдеться в ZK-STARKs:
Отже, ми все ще намагаємося спекти пиріг і довести, що можемо спекти його ідеально, не розкриваючи секретний інгредієнт. У ZK-STARKs «рецепт» є публічним знанням, що означає, що всі знають, які кроки потрібно виконати. Однак лише «кухар» знає секретний інгредієнт, який називається свідком. Коли кухар правильно дотримується рецепту і пече пиріг, це доводить, що він знає секретний інгредієнт — не розкриваючи, що це таке.
Тільки «кухар» знає секретний інгредієнт
ZK-STARKs є прозорими. Вони не потребують довіреного налаштування, що робить їх більш безпечними в деяких випадках. Основна увага приділяється самому доказу, який можна перевірити публічно, не покладаючись на секретний інгредієнт. Як ZK-SNARKs, так і ZK-STARKs є потужними інструментами для конфіденційності та масштабованості в блокчейні. Вибір між ними залежить від конкретних вимог застосунку.
Майбутнє доказів нульового знання буде диким — уявіть собі це: zk-SNARKs і zk-STARKs вже викликають фурор, але дослідники, як перевантажені кофеїном новатори, роблять їх ще швидшими та плавнішими. Їхня мета? Зменшити обчислювальне навантаження, що означає зробити все швидшим і легшим на вашому комп'ютері. Уявіть собі блокчейн-мережі, які працюють, як гарячий ніж через масло — звучить добре, правда?
ZKPs об'єднуються з найкрутішими технологіями, такими як ШІ та IoT. Ми говоримо про ШІ, який може навчатися та розвиватися, не підглядаючи у ваші приватні дані, і IoT-пристрої, які спілкуються один з одним безпечно, зберігаючи ваші секрети в безпеці. Це як високотехнологічна вечірка, одержима конфіденційністю, де ніхто не розкриває жодних таємниць!
І вгадайте що? ZKPs не просто вриваються на вечірку блокчейну — вони також розширюються в інші сфери. Ми можемо незабаром побачити їх у безпечних системах голосування, супер-секретних медичних записах і таємних бізнес-угодах. Все це про те, щоб довести щось, не розкриваючи деталей. Говорити про зміну гри!
Оскільки ZKPs стають все більш просунутими, ми рухаємося до світу, де все стандартизовано і добре взаємодіє з іншими. Уявіть собі, що всі технологічні іграшки в пісочниці ладнають один з одним, щоб ZKPs можна було використовувати скрізь без проблем.
З усією цією магією конфіденційності все ще існує канат, по якому потрібно йти між безпекою та дотриманням регуляцій, таких як боротьба з відмиванням грошей та фінансуванням тероризму. Знайти цю золоту середину буде головоломкою, але, гей, це частина задоволення!
Коротше кажучи, докази нульового знання стануть супергероями цифрового світу, роблячи все приватним, безпечним і ефективним. Оскільки технології розвиваються, ZKPs зроблять наше онлайн-життя не лише швидшим, але й безпечнішим і набагато більш приватним.
Дивлячись вперед, очевидно, що докази нульового знання (ZKPs) - це не просто концепція, а технологія з великими наслідками. Ці криптографічні дива змінюють спосіб, яким ми обробляємо конфіденційність, безпеку та масштабованість у цифровому просторі. Від приватних транзакцій блокчейну до безпечних систем голосування та конфіденційних бізнес-угод, ZKPs будуть героями за лаштунками. Подорож ZKPs від інтерактивних доказів до zk-SNARKs і zk-STARKs була неймовірною. Кожен крок наближає нас до світу, де наші дані можуть бути приватними і все ще можуть бути перевіреними.
Оскільки технології розвиваються, ми очікуємо, що ще більше застосувань інтегруються з ШІ та IoT, щоб запропонувати рішення для збереження конфіденційності, які колись були науковою фантастикою. Але, як і з усією технологією, інновації повинні відповідати регуляціям. Орієнтування в цьому середовищі вимагатиме ретельного розгляду, щоб забезпечити відповідальне та етичне використання ZKPs.
Коротше кажучи, докази нульового знання переосмислять цифрову конфіденційність і безпеку, створюючи більш приватний, безпечний і ефективний онлайн-світ. Чи ви технічний ентузіаст, розробник або просто цікавитесь, як розвивається цифрова конфіденційність, слідкуйте за ZKPs. Майбутнє яскраве, і його формують ці криптографічні дива.
ZKP - це криптографічні методи, які дозволяють одній стороні довести істинність твердження, не розкриваючи жодних деталей про саме твердження. Вони забезпечують, що перевіряючий знає лише, чи є твердження істинним чи хибним, не отримуючи жодної додаткової інформації.
ZKP бувають інтерактивними та неінтерактивними. Інтерактивні докази передбачають обмін інформацією для підтвердження знань, тоді як неінтерактивні докази використовують спільний ключ для одного статичного доказу. Обидва типи мають на меті перевірити твердження, зберігаючи при цьому основні дані в таємниці.
ZKP підвищують конфіденційність у блокчейні, дозволяючи конфіденційні транзакції, безпечне голосування та ефективні рішення для масштабування, такі як zk-rollups. Вони використовуються в проектах, таких як ZCash та zkSync, щоб зберегти деталі транзакцій приватними та покращити ефективність системи.