Cardano Foundation показывает, как проверять доказательство с нулевым разглашением в блокчейне Cardano

Первый выпуск серии для разработчиков из пяти частей показывает, как построить доказательство Groth16 размером 192 байта и проверить его в Aiken с использованием криптографических операций, уже доступных в Plutus V3.

By SongMarketCap

Updated:

Cardano News - Cardano Foundation показывает, как проверять доказательство с нулевым разглашением в блокчейне Cardano

Смартконтракт Cardano может проверить факт знания восьми чисел, удовлетворяющих уравнению, без получения самих чисел. Cardano Foundation использует этот пример, чтобы представить новую серию о доказательствах с нулевым разглашением. Первое руководство описывает процесс от записи уравнения в виде набора ограничений до генерации доказательства вне цепочки и его проверки в тесте Aiken.

Восемь приватных чисел, один публичный результат

В примере восемь чисел объединяются в четыре пары. Доказывающий перемножает два числа в каждой паре и складывает четыре произведения. Сумма должна равняться 100. Этот результат является публичным, а восемь чисел остаются приватными.

Руководство выражает вычисление в виде пяти математических ограничений. Четыре проверяют отдельные произведения, а пятое проверяет, что их сумма равна публичному результату. Корректное доказательство утверждает, что доказывающий знает набор чисел, удовлетворяющий этим ограничениям, не раскрывая, какой именно набор использовался.

Как Aiken проверяет доказательство Groth16 размером 192 байта

Руководство генерирует доказательство вне цепочки. Доказательство Groth16 состоит из трех точек эллиптической кривой, которые занимают 192 байта в сжатом формате BLS12-381, используемом в примере. Проверяющий сверяет доказательство с публичными входами и ключом проверки, связанным со схемой.

Пошаговое руководство завершается тестом Aiken, который использует те же операции BLS12-381, доступные скриптам Plutus V3 в основной сети Cardano. Чтобы сделать пример воспроизводимым, в руководстве применяются фиксированные общедоступные значения для обычно секретной части настройки. В производственной настройке Groth16 любой, кто сохранит эти секретные значения настройки, сможет подделать доказательства.

Почему проверка на цепочке важна для Cardano

Разработчики Cardano могут встроить проверяющий модуль Groth16 в смартконтракт Aiken, используя существующие операции Plutus V3. Приложение может сгенерировать доказательство вне цепочки, затем передать его контракту, чтобы валидатор мог решить, удовлетворяет ли транзакция условию. Доказательство и любые требуемые публичные входы доступны валидатору, а исходные приватные данные могут оставаться вне цепочки.

Для приложения с учетными данными такое разделение определяет, что пользователю нужно раскрывать. Контракт может проверять, соответствует ли владелец учетных данных возрастному требованию, не получая его дату рождения, при условии что схема и дизайн учетных данных обеспечивают корректность заявляемого утверждения.

[NEWSBREAK]

Что будет в следующих четырех выпусках

Второй выпуск покажет, как ускорить генерацию доказательств и как устроены производственные церемонии настройки. Он также сравнит Groth16 с другими системами доказательств и рассмотрит, как виртуальные машины с нулевым разглашением могут доказывать корректное выполнение программы без необходимости ручного проектирования схемы.

Третий выпуск покажет, как доказательства владения ключом можно связать с адресами Cardano. Четвертый будет посвящен выборочному раскрытию. В одном из запланированных примеров владелец учетных данных доказывает, что ему не менее 21 года, не раскрывая дату рождения или адрес в блокчейне.

Финальный выпуск рассмотрит устойчивые к квантовым атакам системы доказательств с акцентом на решеточные подходы, которые могут заменить допущения об эллиптических кривых, используемые в Groth16.