# Aleo представляет разработку частных приложений для блокчейна

By [Nataliiiiii](https://paragraph.com/@iamcryptogirl) · 2024-05-01

---

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

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

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

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

![](https://storage.googleapis.com/papyrus_images/e104776d84ddec797a840a21cb28ccf855357da7e1294c428a0dc804ebe99682.png)

**Почему dApps нуждаются в конфиденциальности**

Одним из часто рекламируемых аспектов технологии блокчейн является публичный характер всех транзакций. Есть примеры использования, например, zcash, для поддержания определенного уровня банковской конфиденциальности, когда полностью открытые данные о транзакциях не являются идеальными. В интервью The New Stack Говард Ву, соучредитель и генеральный директор Aleo, сказал: “Существует широкий набор вертикалей, в которых Web3 не хватает конфиденциальности. Это не потому, что нам нужно его закрепить, а потому, что многие приложения требуют некоторой информационной асимметрии или сокрытия знаний, чтобы хотя бы корректно функционировать”.

Ву привел один из примеров использования блокчейна для игры в покер. “Дилер может раздавать карты семи или восьми другим игрокам и просить каждого сделать чек или ставку”, - сказал он. “Каждый игрок может создать доказательство с нулевым разглашением, которое следует за каждым предыдущим игроком, и объединить его в единую транзакцию, которая затем передается по цепочке, играя один раунд игры, а затем переходя к следующему раунду”. Все это происходит без того, чтобы отдельные игроки знали, у кого какие карты на руках.

Другие приложения, работающие в реальном мире, используют комбинацию открытого и закрытого состояний. Aleo предоставляет разработчикам возможность принимать решения о внедрении в отношении информации, которая становится общедоступной, а не закрытой. Голосование - еще один практический вариант использования, требующий такой гибкости. Ву сказал: “На выборах люди хотят голосовать, но они не хотят показывать другим людям, как они голосовали. Подсчет голосов должен быть публичным, чтобы понять результат. Наличие личных голосов и публичного подсчета голосов в конечном итоге становится функциональной возможностью в приложениях, которые здесь используются”.

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

**Написание Aleo dApps с помощью Leo**

Одним из уникальных аспектов подхода Aleo к разработке DApp является сопутствующий язык программирования Leo. В своем интервью с Wu я предположил, что добавление еще одного языка программирования в блокчейн-пространство может негативно сказаться на его внедрении. “Когда мы начинали, - ответил он, - мы хотели закрепить это на Rust или Typescript, чтобы нам не пришлось изобретать велосипед заново. Оказывается, это действительно трудно сделать, потому что то, что вам может показаться дешевым в одной модели программирования, в этой модели оказывается очень дорогим. В итоге мы создали новый язык, потому что то, что делает компилятор, сильно отличается от традиционной архитектуры”.

Чем именно Leo отличается от Rust или Typescript? “У нас есть язык высокого уровня, который компилируется в полиномы, которые выполняются внутри системы проверки”, - сказал он. “Система проверки работает с полиномами, чтобы получить конечный результат. Конечный результат выглядит так же, как и результат работы обычного процессора, но он сопровождается доказательством с нулевым разглашением, которое может свидетельствовать о том, что вычисления выполнялись из определенной программы на некоторых скрытых входных данных, которые также могут быть общедоступными по усмотрению пользователя. В этом заключается основное различие в архитектуре.”

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

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

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

Официальные источники Алео

*   Website ~ [https://www.aleo.org/](https://www.aleo.org/)
    
*   Twitter ~ [https://twitter.com/AleoHQ](https://twitter.com/AleoHQ)
    
*   Community Twitter ~ [https://twitter.com/aleocommunity](https://twitter.com/aleocommunity)
    
*   GitHub ~ [https://github.com/AleoHQ](https://github.com/AleoHQ)
    
*   Community Forum — [https://community.aleo.org/](https://community.aleo.org/)
    
*   Community Calendar ~ [https://www.aleo.org/community/calendar](https://www.aleo.org/community/calendar)
    
*   YouTube — [https://www.youtube.com/channel/UCS\_HKT2heOC\_q88YQLiJt0g](https://www.youtube.com/channel/UCS_HKT2heOC_q88YQLiJt0g)
    
*   Developer Documentation ~ [https://developer.aleo.org/](https://developer.aleo.org/)
    
*   Leo Playground ~ [https://play.leo-lang.org/](https://play.leo-lang.org/)
    
*   Aleo Block Explorer ~ [https://www.aleo.network/](https://www.aleo.network/)
    
*   Community Blog ~ [https://medium.com/@AleoHQ](https://medium.com/@AleoHQ)
    
*   Announcements Blog ~ [https://www.aleo.org/blog](https://www.aleo.org/blog)

---

*Originally published on [Nataliiiiii](https://paragraph.com/@iamcryptogirl/aleo-14)*
