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

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

---

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

Zcash розробив цифрову валюту та протокол транзакцій, використовуючи zk-proof як засіб збереження конфіденційності деталей транзакцій, коли дві сторони ведуть бізнес. Це вирішує одну з проблем використання блокчейну для транзакцій, коли ви, можливо, не хочете, щоб усі на планеті знали, кому ви заплатили та скільки ви їм заплатили - так само, як більшість людей не стали б публічно ділитися такою інформацією з вашим банківським рахунком.

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

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

![](https://storage.googleapis.com/papyrus_images/cc8866e6009087dc8a6c334ed4d0b8719ad77bd660c71edd7a58a662f20ac0ea.jpg)

**Чому dApps потрібна конфіденційність**

Одним із часто рекламованих аспектів технології блокчейн є публічний характер усіх транзакцій. Є приклади використання, наприклад, zcash для підтримки певного рівня банківської конфіденційності, коли повністю відкриті дані транзакцій не є ідеальними. В інтерв’ю The New Stack Говард Ву, співзасновник і генеральний директор Aleo, сказав: «Існує широкий спектр вертикалей, де Web3 бракує конфіденційності. Це не тому, що нам потрібно це визначити, а тому, що багато програм вимагають певної асиметрії інформації або приховування знань, щоб навіть функціонувати правильно”.

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

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

З точки зору впровадження розробника, усі елементи, які позначено як приватні, зашифровані. Підтвердження з нульовим знанням — це те, що використовується для підтвердження того, що користувач шифрує дані за допомогою своєї загальнодоступної адреси. Це означає, що можна підтвердити, що особа, яка виконує дію, є тим, за кого себе видає, але публічна адреса зашифрована, тому це не можна розглядати в ланцюжку. Доказ з нульовим знанням — це в кінцевому підсумку те, що доводить, що алгоритм шифрування, алгоритм дешифрування та логіка виконуються «під капотом»."".

**Написання Aleo dApps за допомогою Leo**

Одним з унікальних аспектів підходу Aleo до розробки DApp є супровідна мова програмування Leo. У своєму інтерв’ю з Ву я припустив, що додавання іншої мови програмування до простору блокчейну може негативно вплинути на його впровадження. «Коли ми починали, — відповів він, — ми хотіли закріпити це в Rust або Typescript, щоб нам не довелося винаходити колесо. Виявляється, це дуже важко зробити, тому що те, що ви можете вважати дешевим в одній моделі програмування, виявляється дуже дорогим у цій моделі. У підсумку ми створили нову мову, оскільки те, що робить компілятор, сильно відрізняється від традиційної архітектури”.

Чим саме Leo відрізняється від Rust чи Typescript? «У нас є мова високого рівня, яка компілюється в поліноми, які виконуються всередині системи перевірки», — сказав він. «Система перевірки працює з поліномами для отримання кінцевого результату. Кінцевий результат виглядає так само, як вихідні дані звичайного процесора, але він супроводжується доказом нульового знання, яке може вказувати на те, що обчислення було виконано з певної програми на деяких прихованих вхідних даних, які також можуть бути загальнодоступними. на розсуд користувача. Це головна відмінність в архітектурі.”

“Якщо ви використовуєте LLVM для Rust або C++, — продовжив він, — вам, по суті, потрібно відмовитися від архітектури LLVM і винайти нову архітектуру. Проблема полягає в тому, що синтаксис, який ви зазвичай вважаєте дешевим у мові високого рівня, виявляється дуже дорогим”.

Один із способів, яким Aleo намагається подолати труднощі, пов’язані з впровадженням нової мови програмування, — це зробити керування пакетами основною частиною проекту екосистеми Aleo. Під час розробки для Ethereum кожен раз, коли розгортається токен ERC-20, також розгортається контракт SafeMath. Aleo дозволяє посилатися на пакети замість того, щоб повторно використовувати їх щоразу у своєму коді. Як каже Ву, «мета полягає в тому, щоб створити екосистему пакетів, де ви можете почати писати єдиний код, а не заново винаходити функції, які були написані раніше.””.

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

Офіційні джерела 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-15)*
