Доказ із нульовим розголошенням. ZK-SNARKs. Ці терміни часто використовуються в криптоколах, часто в контексті забезпечення конфіденційності транзакцій. У контексті протоколу Coda вони є невід’ємною частиною нашої основної інновації: невеликого блокчейна постійного розміру. Їхнє походження бере свої витоки з 1985 року, коли докази з нульовим розголошенням уперше було описано в статті "Складність знань інтерактивних систем доказів". Але залишається питання: чим вони є насправді?
Основне бачення криптовалюти полягає в тому, щоб дозволити окремим особам зменшити свою залежність від централізованих сил і сторонніх посередників. zk-SNARKs — це інновація, яка може зробити це бачення реальністю. Проте, оскільки zk-SNARKs настільки складні, дуже непросто знайти зрозумілі та доступні інформаційні ресурси. Наша команда криптографів та інженерів зібрала, підсумувала і перевірила доступні ресурси, щоб допомогти вам почати роботу, незалежно від того новачок ви чи експерт. Якщо ви знаєте ресурс, який ми повинні додати, дайте нам знати про це в коментарях.
По-перше, Izaak і Vanishree, два члени нашої команди криптографів, які присвятили своє життя вивченню zk-SNARKS, ознайомлять вас зі вступом.
Vanishree Rao, криптограф, який працює над протоколом Coda, пропонує це пояснення, використовуючи класичну задачу розфарбовування трьома кольорами, щоб увести ключові поняття, включно з надійністю, нульовою обізнаністю та верифікаторами. Це коротке (
У цій презентації Izaak Meckler, співзасновник і технічний директор O (1) Labs і головний криптограф, який працює над протоколом Coda, надає огляд і вступ не тільки до концепції zk-SNARKs, а й до низки практичних прикладів того, чому вони мають значення.
Подальше вивчення
Це найкращі ресурси в стилі 101, які роблять Zero Knowledge Proofs і zkSNARKs більш доступними. Візуальні метафори та спрощені пояснення використовуються для уточнення та розширення представлених вище концепцій.
Це хороший стартовий матеріал. По-перше, у ньому є трохи історичного фону, що пояснює оригінальний контекст статті 1985 року "Складність знань про інтерактивні системи доказів", яка і привела в дію все це. По-друге, вона має дещо спрощений і більш наочний переказ історії про печеру Алі-Баби. По-третє, вона дає гарний стислий опис трьох властивостей, яким має задовольняти доказ з нульовим розголошенням: повнота, розумність і нульове знання.
Цей приклад розглядає добре відому "проблему мільйонера Яо" — коли двоє мільйонерів хочуть з’ясувати, чи мають вони однакову суму грошей, при цьому жоден із них не хоче озвучити суму своїх активів, — і поміщає її в контекст двох дітей (вочевидь, названих Аліса і Боб), які хочуть з’ясувати, чи отримали вони однакову кількість цукерок.
Якщо ми дійсно хочемо поліпшити візуальні ефекти, давайте перейдемо прямо до YouTube. Цей короткий (10 хвилин) анімаційний ролик демонструє користувачам ще одну просту версію можливості довести, що щось відбувається, не розкриваючи конкретних обставин, які приводять це в дію. У цьому випадку як приклад використовується людина, яка намагається переконати свого друга-дальтоніка в тому, що між зеленою і червоною кулькою є різниця. Це відео також показує різницю між інтерактивними та неінтерактивними ZKPs, створюючи основу для обговорення SNARKS.
Якщо наведене вище відео являє собою стартер зі 101 рівнем для ZKPs, подумайте про це відео як про відео 102 рівня. Воно показує більше контексту і кілька різних наочних прикладів — включно з колодою карт, яка доводить, що карта певного кольору, не розкриваючи нічого, крім безпосередньо кольору. Це відео також повторює основні властивості, необхідні для доказів з нульовим розголошенням.
Добре, тепер ми переходимо до справді хороших речей! Цю серію з двох частин написав Matthew Green, який займається Zcash від самого початку проєкту і проводить більшу частину свого часу як криптограф і професор в Університеті Джона Гопкінса. Перша частина розповідає про кілька речей. По-перше, мова піде про походження та історію ZKPs, зокрема про те, чому ми зацікавилися ними насамперед. По-друге, використовується набір прикладів із реального життя, включно з телекомунікаційною версією завдання про триколірний графік, щоб пояснити, що робить ці типи взаємодії "нульовим розголошенням". По-третє, вводяться додаткові важливі поняття, такі як схеми зобов’язань. У той час як частина 1 явно не технічна, частина 2 дещо переходить у технічну територію, за якою все ще відносно легко слідувати.
Тепер, коли у вас була можливість по-справжньому осмислити основну ідею доказів з нульовим розголошенням, і ви побачили безліч різних візуальних метафор, давайте введемо кілька додаткових понять. Обидві ці частини дуже схожі і працюють у парі. Хоча вони все ще дуже схожі на 101, вони розширять вашу перспективу, включивши: 1) різницю між інтерактивними та не інтерактивними доказами з нульовим розголошенням і 2) zk-SNARKS. Зокрема, друга частина робить хорошу роботу з розбивки кожної частини абревіатури, допомагаючи зрозуміти залучені концепції.
Ця частина більш-менш повторює безліч концепцій, що обговорювалися в попередніх частинах. Одним цінним доповненням є додаткове спрощене визначення zk-SNARKs і порівняння з zk-STARKs.
Тепер, коли ми перейшли від доказів з нульовим розголошенням до SNARKs, давайте додамо ще одне коротке вступне відео для візуалів. Цей 4- хвилинний огляд дасть вам основи, які допоможуть повернутися до більш змістовного контенту.
Ця стаття взята з Binance Academy і ще більше пояснює різницю між zkSNARKS і zk-STARKS. Це одне з найкоротших і найяскравіших існуючих нетехнічних пояснень.
Хоча це в основному не технічна інформація, у ній використовується трохи математики, щоб заглибитися в пояснення zk-SNARKs. Тим не менш, її подають тільки після багатьох корисних наочних посібників і спрощених початкових пояснень, і роблять це так, що, після прочитання, ви все зрозумієте.
Досі ми бачили багато наочних пояснень того, що таке докази з нульовим розголошенням, а також спрощених визначень, які допомагали нам зрозуміти концепцію zk-SNARKs. Те, що ми ще не бачили, — це просте і ясне пояснення того, чому все це має значення. У цій частині для Forbes Samantha Radocchia робить саме це. Вона проводить межу між великою кількістю даних, які збирають сервіси, що оточують нас, повсюдним зловживанням і ненадійністю цих даних і потребою в технології конфіденційності, такій як SNARKs.
Ця чудова доповідь бере багато з понять, знайдених у вищезазначених статтях, і поміщає їх у коротку, ясну послідовність. Якщо вам потрібне всього лише одне відео, яке допоможе підбити підсумок усім іншим відео в цьому розділі та підготуватися до наступного, більш технічного розділу, це саме те, що вам потрібно.
Технічний контент
Якщо ви дійшли до цього місця, ви готові перейти до технічної частини. Нижче більш детально пояснюється застосування zk-SNARKs і чому на них покладаються такі великі надії щодо виконання основного завдання криптовалюти.
Ця стаття, опублікована в блозі ConsenSys, охоплює всі ключові концепції, які ви вивчили вище, як-от верифікатори, докази та свідки , і може забезпечити основу для глибокого технічного розуміння. Навіть для не технічної аудиторії це, як і раніше, цікаве читання, за яким ви, ймовірно, зможете стежити.
Ця 20-хвилинна доповідь, знята на DevCon 3, являє собою вступ до SNARKs від доктора Christian Reitweissner. Одним із цінних аспектів цієї розмови є встановлення фреймів. Ще до того, як заглибитися в тему, він пояснює, чому SNARKs так важливі для блокчейнів, обговорюючи як масштабування, так і конфіденційність.
Іноді вам потрібно йти безпосередньо до джерела. Eli Ben-Sasson був співзасновником Zcash, співвинахідником SNARKs і володіє (як ви могли очікувати) багатим знанням, яким може поділитися. Це не просто стандартне відео-інтерв’ю, але фактично вступний семінар з цієї теми. Буде ще краще, якщо ви опануєте введення в деякі з перерахованих вище ресурсів. Але в будь-якому разі це відео необхідно подивитися.
Говорячи про вищезгаданий допис у блозі, ця частина написана програмістом, який, крім іншого, використовував її, щоб навчитися працювати з zk-SNARKs. Це чудове поєднання журналу особистого навчання та деяких ідей, які зможуть допомогти і вам.
Zaki Manian, з команди Tendermint, зібрав цей посібник, щоб людям було легше зануритися і дізнатися більше про ZKPs і SNARKs. Він організовує вміст у кілька різних категорій: опитування, квадратичні арифметичні програми, парна криптографія, основні статті про SNARKs і нещодавні дослідження. Якщо наш посібник — ваш 101 гід, то це чудова відправна точка для більш глибокого вивчення.
Коли справа доходить до SNARKs, це супер контент. З кінця 2016 до початку 2017 року творець Ethereum Vitalik Buterin написав серію з трьох частин. Перша частина була "Квадратичні арифметичні програми: від нуля до героя", копаючись (як висловився Віталік) у "механізмі, що лежить в основі технології". Частина 2 була "Вивчення пар еліптичних кривих", а частина 3 — "zk-SNARKS: Під капотом". Це набагато більш технічне дослідження, побудоване на основі двох інших. Усе це не для людей зі слабкими нервами, але, тим не менш, дивовижний контент.