BTC 98298.1$
ETH 3663.05$
Tether (USDT) 1$
Toncoin (TON) 5.72$
telegram vk
telegram vk Х
Russian English
"

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

Дата публикации:31.01.2023, 21:47
3277
3277
Поделись с друзьями!

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

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

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

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

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

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

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

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

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

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

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

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

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

Написание децентрализованных приложений Aleo с Leo

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

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

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

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

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

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


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

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

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

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

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

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

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

Подписывайся на наш Telegram канал. Не трать время на мониторинг новостей. Только срочные и важные новости

https://t.me/block_chain24