Нулеви доказателства за знания и zkSNARKs: Ръководство за начинаещи

Доказателствата за нулево знание са криптографска алхимия, чиято стойност се крие в привидно парадоксалното им свойство да доказват изявление, без да разкриват нищо за него. По някакъв начин да се каже, проверяващият, получил доказателство за нулево знание, трябва да бъде казан от Бог, че това е така.

Въпреки това, функцията на Бог в разглеждания контекст е един от основните протоколи или настройки, в които се развива сценарият. И най-важното за целите на блокчейн агенциите като институционални органи, той позволява принуждаването на злонамерени участници в протокол, чрез който те изпълняват в съответствие с предварително определени стъпки, за да осигурят глобална сигурност в иначе прикрита поверителност.

Ако имах само времето, а вие – мозъка.

– Луис Карол, Ловът на Снарк

Зоологическата градина на сложността P и NP

Няколко основни понятия са важни за разбиране при придобиването на добра интуиция за доказателства с нулеви знания, тъй като те се отнасят до блокчейн технологията. В компютърните науки проблемите от клас P се отнасят до проблеми, които могат да бъдат решени чрез разумно бърза програма на някакъв компютър (машина на Тюринг или друг модел), или с други думи, за които има изпълнимо решение, което може да бъде усъвършенствано в това, което се нарича полиномиално време (всъщност синоним на бързо време).

Най-важното е, че полиномиалните изрази (от гръцки, „много имена“) не са експоненциални функции (т.е. в степента на), а отразяват задачи на аритметична верига от линейни, квадратни, кубични и подобни типове, където броят на необходимите стъпки е приемливо в сравнение с размера на проблема. Тоест, проблеми, включващи неща като лабиринти, умножение и т.н. или които могат да бъдат сведени до такива проблеми.

Полиграф машина

Полиграфът, машина с двойно влизане

В тъканта на блокчейна, където изпълнението на транзакции се репликира масово в единичната книга сред много разпределени възли, възпроизвеждащи едни и същи изходи (подобно на полиграфските детектори на лъжата, в основен принцип), е важно броят на изчислителните стъпки в набор от инструкциите се свеждат до минимум.

Ето защо доказателствата с нулеви знания в такава среда трябва да бъдат „кратки“ и да не изискват възпроизвеждане на изпълнението, за да се докаже валидността на това изпълнение.

Класът на сложност NP (за недетерминирано полиномиално време), от друга страна, описва проблеми, при които стабилността на техните решения има доказателства, които могат да бъдат ефективно проверени чрез детерминирани изчисления в споменатия полином или да кажем линейно-последователно блокчейн време.

Тоест умствената работа, необходима за решаването на определен проблем, може да бъде намалена или превърната в по-прост проблем, който е способен да механизира процеса на мислене, който разгръща конкретно бинарно дърво на решения.

И тъй като блокчейнът като такъв изисква строг детерминизъм за поддържане на целостта на глобалния консенсус (един и същ вход винаги трябва да произвежда един и същ изход с малко или никакво отклонение), те се мащабират много по-добре, ако са ангажирани само за проверка / четене, вместо за изпълнение / запис.

zk-SNARKs в този сценарий оптимизират начин за използване на блокчейна като верификатор на общата изчислителна цялост извън веригата, с времена за проверка на величини на веригата по-бързи от времената за изпълнение, в логаритъма (т.е. обратното на степенуване) на включени стъпки или цикли (измерени в разход на газ в блокчейна Ethereum).


Това има много потенциални приложения, от използването на блокчейн агенцията като посредник на институционални транзакции до прикриване на салда с големи суми и транзакции далеч от вниманието на злонамерени любопитни очи, предотвратяване на ефекта на “китове”, активиран от ботове, до допълнителни решения за мащабиране и евентуално ангажиране блокчейнът като вид детектор на злонамерен софтуер.

И евентуално дори по-широко за това как най-ценният обществен ресурс на доверие като такъв е преартикулиран и поведенчески преведен обратно за улесняване на човешкото сътрудничество в теоретични сценарии на игри, които преди не са били в равновесие.

Нулеви доказателства за знания

Доказателствата за нулево знание са по същество криптографски конструкции, които изследват докъде може да се стигне формалната логика при решаването на сложни проблеми. В ZKP доказател, Пеги и проверяващ Виктор (на мястото на пословицата Алиса и Боб) взаимодействат в поредица от стъпки по такъв начин, че Пеги е в състояние да докаже на Виктор валидността на някакво твърдение, без да разкрива нищо за това твърдение , като се има предвид, че и двете спазват ограниченията на един и същ протокол.

Основната идея е илюстрирана в общия криптографски фолклор с добре познатия пример за пещерата на Али Баба. Представете си пръстеновидна пещера с вход и магическа врата на другия край, блокираща страните.

Пеги иска да докаже на Виктор знанието си за тайната фраза, която отваря вратата, без да разкрива тази фраза. И така, Виктор чака малко навън, след което влиза и крещи от коя страна иска да се появи Пеги. Това се повтаря, докато вероятността Пеги просто да се окаже късметлия се приближи до нула.

Пример за нулеви доказателства за знания

Пещерата Али Баба. С любезното съдействие на Скот Тумбли

Понятието за интерактивни системи с доказателство за нулево знание беше представен за първи път от Шафи Голдвасер и Силвио Микали в края на 80-те години, и общото предположение за това как доказателството за дадено твърдение като такова съдържа повече знания, отколкото единствената истинска / невярна валидност на това твърдение (използване на спомагателни входове, „капани“ и т.н. .) лежи в основата на съвременната криптография оттогава.

Доказателство за нулево знание по дефиниция трябва да отговаря на следните три свойства:

  • Пълнота: Ако дадено твърдение е вярно и двете страни следват правилно един и същ протокол, тогава проверяващият естествено се убеждава.
  • Здравина: Ако твърдението е невярно, проверяващият почти сигурно няма да бъде убеден (вероятностно проверяваните конструкции за доказателство разчитат на повторение, докато вероятността за фалш или обикновен късмет на монета се приближи до нула).
  • Нулево знание: Проверяващият не научава допълнителна информация.

Поемайки това, Микали и Мануел Блум скоро последваха допълнително разследване възможностите за спестяване на ценен ресурс чрез елиминиране на комуникационните кръгове на взаимодействие (които са склонни да бъдат най-изчислително скъпи) и вместо това да се разчита на общ референтен низ, получен от споделен или публичен произволен фар (например, същия брояч на Geiger).

През последните 20 години изследванията върху системите за доказателство с нулево знание постепенно се подобряват с фокус върху оптимизиране на тяхната ефективност за специфични приложения и подобрения в различни сценарии на параметри, което води до драстично намаляване както на дължината на общия референтен низ, така и на размера на доказателство.

zk-SNARKS: Нулево знание кратък неинтерактивен аргумент на знанието

Конструкцията на zk-SNARK включва три взаимодействащи алгоритма:

  • Генератор на ключове: Настройка на параметрите за генериране на двойка ключове. Например, доверен набор от хора генерира двойка частен / публичен ключ, унищожава частната част и след това от публичната част се генерира друга двойка ключове, произвеждайки ключ за проверка и проверка за дадена програма.
  • Доказател: Доказателят взема предоставения ключ за доказване, даден публичен вход и частен свидетел, така че да отговаря на предвидения контекст на програмата, и генерира доказателство.
  • Проверяващ: Проверката се изчислява от ключа за проверка, публичния вход и предоставеното доказателство и се изчислява на вярно или невярно в зависимост от това дали доказателството е правилно или не (в контекста на това, което се проверява, за да се удовлетвори какво).

За да се изобрази това по-живо, се произвеждат два полиномиални струни, които се очаква да не се отклоняват много от съгласуването през повечето време, дадено легитимност, а след това се извършват редица бързи случайни проверки на произволни места, за да се гарантира, че наистина се съгласяват.

Прилагане на ZCash

Zcash Coin

Изображение чрез Fotolia

Тъй като транзакциите с биткойн могат да бъдат деанонимизирани чрез проследяване и анализ модели на парични потоци (дори независимо от миксерите за пране), ZCash изгражда децентрализирана анонимна схема за плащане върху основата на кода на Биткойн чрез прилагане на горните общи механизми (в конкретни изпълнения, като например Протокол Пинокио, първоначално разработен като практически метод за проверка на изчисления, възложени на външни изпълнители).

Той осигурява два режима на транслирани транзакции с блокчейн: прозрачен и защитен. Първите са подобни на редовните биткойн транзакции, но на потребителите е предоставена незадължителната функция за поверителност за прикриване на изпращач, получател и транзактирани суми и по този начин транзакциите им отиват в последния защитен пул. Дискреционното „селективно разкриване“ дава възможност за доказване на легитимност на одиторите, като същевременно се избягва това, което други радари могат да предизвикат.

Фазата на надеждно настройване в ZCash включва сложна церемония след a Многопартиен изчислителен протокол в който набор от участници, разпространени в различни геолокации, съвместно сглобяват публичния ключ и унищожават съответните им частни парчета. В дадения протокол е достатъчно само един участник да изтрие успешно своя частен ключ, за да направи невъзможно реконструирането на целия частен ключ, от който впоследствие е получен публичният ключ.

Квантово устойчива алтернатива на заобикалянето на този вид надеждна настройка идва с активното изследване на zk-STARK конструкциите (Scalable Transparent Argument for Knowledge) от Проф. Ели Бен Сасон и други в Technion, Израелския технологичен институт.

ZoKrates: Внедряване на Proof-of-Concept Toolbox в Ethereum

ZoKrates е набор от инструменти за прототипиране (от все още не твърде мощен) за създаване и проверка на доказателства с нулеви знания в интелигентните договори Solidity Ethereum. Той осигурява език на високо ниво (макар и все още в ранен експериментален етап) за писане на програми и проверка на тяхното изпълнение по верига с поддръжка за фаза на настройка, изчисляване на свидетели и генериране на доказателства.

Подобният на питон синтаксис се състои от примитивни типове uint (положителни числа), императивни алгебрични изрази, за цикли, условни оператори if и дефиниции на функции. Компилаторът трансформира условията в ограничителна система на аритметична верига (помислете судоку), от която се генерира zk-SNARK. След това ключът за проверка може да бъде експортиран към интелигентен договор, позволяващ проверка на доказателствата в блокчейна.

Градивните блокове за верижния алгоритъм за проверка се намират в блокчейна като предварително изпълнени договори и резултатът от алгоритъма за проверка на предоставено доказателство може да се използва за допълнително задействане на друга активност във веригата (т.е. ако е вярно тогава).

Това позволява, например, за създаване на токен договор с поверителни салда, като същевременно допълнително позволява (чрез разширението ERC-621) за увеличаване и намаляване на предлагането на мета-валута или токен.

Потребителите обаче трябва да следят баланса си от страна на клиента (тъй като те не се показват на Etherscan) и преди всичко, винаги трябва да се помни, че платформата Ethereum предоставя крайната тестова площадка за икономически теории и идеи в рамките на ресурсните ограничения на реалност, обвързваща разходите за газ, чийто компонент е това, което е склонно да принуди икономическото мислене за проблемите.

Интеграция на Quorum Blockchain

На 22 май 2017 г. ZCash обяви Proof-of-Concept на тяхната технология за защита на поверителността в корпоративния Ethereum на JP Morgan Кворум блокчейн, последван от скок на цените в ZCash (тъй като те също скоро след това се присъединиха към Ethereum Enterprise Alliance).

Quorum е минимална вилка на Ethereum със собствен език за интелигентни договори (Constellation), създаден специално за институционалните финансови пазари и тъй като доказателствата за нулеви знания преминават тънката граница между личната неприкосновеност и институционалната цялост, това ги прави идеални за осигуряване на частни сетълменти на цифрови активи в счетоводната книга на кворума.

Заслужава да се отбележи, че в разработването на собствена рамка за блокчейн на предприятията, JP Morgan в миналото са допринесли значително за развитието и втвърдяването на обществената верига в процеса.

Представено изображение чрез Fotolia

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me