Статьи

Aleo — блокчейн для конфиденциальных приложений

Доказательства с нулевым разглашением (zk) набирают популярность в пространстве блокчейнов как решение множества различных проблем. Это понятие используется в криптографии уже давно, начиная с 1985 года, когда оно было введено в статье «Сложность знаний интерактивных систем доказательства». Однако практические возможности его использования до недавнего времени были ограничены из-за вычислительной сложности.

Zcash (ZEC) создал цифровую валюту и протокол транзакций, используя доказательства zk как средство сохранения конфиденциальности деталей транзакции, когда в сделке участвуют две стороны. Это решает одну из проблем использования блокчейна для транзакций, когда вы, возможно, не хотите, чтобы все на планете что-то знали о том, кто и сколько вы заплатили. Это, кстати, нормально: точно так же у большинства людей нет желания делиться такой информацией из своего банка в публичном аккаунте.

Блокчейны 2-го уровня, совместимые с виртуальными машинами Ethereum, такими как Polygon (MATIC), реализуют zk-Rollups, которые, по сути, представляют собой большой пакет транзакций, агрегированных блокчейном 2-го уровня и представленных в цепочке блоков Ethereum с нулевым доказательством раскрытия, подтверждающим их подлинность. Это уменьшает количество транзакций Ethereum, что, в свою очередь, приводит к повышению пропускной способности и снижению платы за газ за взаимодействие с блокчейном Ethereum.

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

Почему децентрализованным приложениям нужна конфиденциальность

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

В интервью The New Stack Ховард Вусоучредитель и генеральный директор Aleo, сказал:



«Существует широкий спектр вертикалей, где Web3 не обеспечивает конфиденциальность. Это не потому, что нам нужно все испортить, а потому, что многим приложениям требуется какая-то информационная асимметрия или сокрытие знаний, чтобы даже функционировать должным образом».

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

«Крупье может раздать карты семи или восьми другим игрокам и попросить каждого игрока сделать чек или сделать ставку», — сказал он. – Каждый игрок может создать доказательство с нулевым разглашением, которое будет следовать за каждым предыдущим игроком и вплетать его в единую транзакцию, которая затем будет транслироваться по цепочке, сыграв один раунд игры, а затем перейдя к следующему раунду. Все это происходит так, что отдельные игроки не знают, у кого какие карты».

Другие приложения реального мира полагаются на комбинацию общедоступных и частных состояний. То, что предлагает Aleo, — это способ для разработчиков принимать решения о реализации информации, которая становится общедоступной, а не информации, которая остается частной. Голосование — еще один практический вариант использования, требующий такой гибкости.

«На выборах люди хотят голосовать, но они не хотят показывать другим людям, как они голосовали», — пояснил Ву. — Подсчет голосов должен быть публичным, чтобы был понятен результат. Наличие частных голосов и публичных подсчетов со временем становится полезной функцией в приложениях».

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

Написание приложений Aleo DApps с Лео

Одним из уникальных аспектов подхода Aleo к разработке dApp является сопутствующий язык программирования Leo. Вы можете подумать, что добавление еще одного языка программирования в пространство блокчейна может повредить распространению. У Ву есть ответ на этот вопрос:

«Когда мы начинали, мы хотели связать его с Rust или Typescript, чтобы нам не пришлось изобретать велосипед. Сделать это оказалось действительно сложно, потому что вещи, которые вы могли бы считать дешевыми в одной модели программирования, в этой модели очень дороги. В итоге мы создали новый язык, потому что то, что компилятор делает под капотом, сильно отличается от традиционной архитектуры».

Что именно отличает Leo от Rust или Typescript?

«У нас есть язык высокого уровня, который компилируется в полиномы, которые работают внутри системы проверки», — сказал Ву. – Система проверки работает с полиномами для получения конечного результата. Окончательный вывод выглядит точно так же, как обычный вывод ЦП, но он поставляется с доказательством с нулевым разглашением, что может указывать на то, что расчет был выполнен из определенной программы на каком-то скрытом вводе, который также может быть общедоступным по усмотрению пользователя. Это принципиальное отличие в архитектуре».

«Если вы используете LLVM для Rust или C++, — продолжил он, — вам в основном придется отказаться от архитектуры LLVM и изобрести новую архитектуру. Проблема в том, что синтаксис, который вы обычно считаете дешевым в языке высокого уровня, здесь оказывается очень дорогим».

Вы можете увидеть пример синтаксиса для определения того, какие значения являются публичными или приватными в Leo ниже.

Aleo — блокчейн для конфиденциальных приложений

Пример кода языка программирования Aleo Leo.

Один из способов, которым Aleo пытается преодолеть трудности, связанные с переходом на новый язык программирования, — это сделать управление пакетами основной частью дизайна своей экосистемы. Когда разработчики строят для Ethereum, каждый раз, когда развертывается токен ERC-20, также развертывается контракт SafeMath. Aleo позволяет вам ссылаться на пакеты вместо того, чтобы каждый раз повторно использовать их в своем коде. Ву говорит:

«Цель состоит в том, чтобы создать экосистему пакетов, в которой вы можете начать писать связующий код, а не заново изобретать функции, которые были написаны ранее».

Aleo также позволяет продолжить работу с существующими инструментами. Ву сказал:

«Большинство пользователей, взаимодействующих с блокчейнами, приходят из существующих SDK из соответствующих dApp. С нашей точки зрения, мы выступаем за добавление поддержки совместимости Leo и Aleo в JavaScript, Wasm и Rust с самого первого дня, чтобы максимально упростить вызов приложений, которые уже были развернуты с использованием традиционных программных стеков, к которым вы привыкли. ».

В настоящее время Aleo завершает последнюю фазу тестовой сети для разработчиков. Список дополнительных ресурсов Aleo опубликован на GitHub. 2 февраля команда проекта представит свою дорожную карту на 2023 год в аудиокомнате Twitter.

Хотя доказательства zk произвели революцию в технологии блокчейна, они также находят применение в приложениях, не связанных с блокчейном. Еще в мае 2021 года Cloudflare реализовала zk-доказательства в своем пропуске конфиденциальности, чтобы сократить количество раз, когда человеку может потребоваться разгадывать капчу.


Подборка статей по криптовалютам и технологии блокчейн. Подпишитесь на нас в социальных сетях.

Информация для Вас была полезна?
0
0
0
0
0
0
0

Похожие статьи

Кнопка «Наверх»