Aleo решит вопрос конфиденциальности
Для Web3 конфиденциальность — это одновременно и самое большое преимущество криптографии, идущее рука об руку с принципами децентрализации, анонимности и недоверия, и его самая большая проблема с мучительными процедурами KYC, легко отслеживаемой PII и постоянно подозрительным взглядом со стороны внешнего мира.
К сожалению, это также тема, которая в значительной степени неправильно понимается и воспринимается неправильно, поскольку многие люди рассматривают криптовалютную «конфиденциальность» как просто предлог для финансирования террористов и отмывания денег. Тот факт, что крипто-Твиттер гордится своей «анонимной культурой» и что основные средства массовой информации часто (преднамеренно или непреднамеренно) усиливают эти предубеждения, не помогает развеять эти стереотипы.
Первая и самая старая концепция конфиденциальности — на сетевом уровне. Конфиденциальность на сетевом уровне — это когда каждая транзакция криптовалюты в данной сети блокчейна гарантирует конфиденциальность благодаря базовым механизмам консенсуса на уровне блокчейна и выбора дизайна на сетевом уровне. Таким образом, их также называют «монетами конфиденциальности».
Эта концепция конфиденциальности восходит к протоколу Биткойн и его идее анонимизации «адресов кошельков» в виде 160-битных криптографических хэшей. В то время как сам Биткойн имеет полностью прозрачные транзакции, где любой пользователь может проверить любую транзакцию в своей сети, принципы децентрализации и анонимности дизайна Биткойн, несомненно, вдохновили движущую силу на разработку «конфиденциальности на уровне сети» и блокчейнов, ориентированных на конфиденциальность.
Одним из ведущих проектов по обеспечению конфиденциальности на сетевом уровне является Monero, блокчейн, ориентированный на конфиденциальность, созданный в 2014 году. В отличие от биткойнов, Monero скрывает как пользовательские кошельки, так и транзакции за «кольцевыми подписями», в которых пользователи в рамках данного «кольца» имеют доступ к определенную групповую подпись и использовать эту групповую подпись для подписания транзакций. Таким образом, для любой данной транзакции в сети Monero вы можете только сказать, что она исходит от определенной группы, но вы не знаете, какой пользователь в этой группе на самом деле подписал транзакцию.
Еще один проект, который затрагивает ту же область — ZCash, пионер формы доказательств с нулевым разглашением, называемой zk-SNARK, которая недавно стала популярной. Фундаментальная концепция доказательства с нулевым разглашением заключается в том, что это способ доказать что-либо, не раскрывая никакой дополнительной информации (которая может поставить под угрозу безопасность и конфиденциальность).
В случае ZCash, хотя транзакции по умолчанию прозрачны, пользователи могут использовать эти «доказательства с нулевым разглашением» для создания частных транзакций. Когда пользователь хочет отправить транзакцию, он создает сообщение о транзакции, которое включает публичный адрес отправителя, публичный адрес получателя и сумму транзакции, а затем преобразует его в доказательство zk-SNARK, которое является единственным отправленным к сети. Это доказательство zk-SNARK содержит всю необходимую информацию для подтверждения действительности транзакции, но не раскрывает никаких деталей самой транзакции. Это означает, что сеть может подтвердить транзакцию, не зная, кто ее отправил, кто ее получил или какая сумма была задействована.
Одним из наиболее примечательных примеров «конфиденциальности на уровне протокола» является Tornado Cash, децентрализованное приложение (dApp) на Ethereum, которое «смешивает» транзакции вместе в пул, чтобы гарантировать конфиденциальность транзакций — концептуально чем-то похожее на Monero.
Альтернативный подход к «конфиденциальности на уровне протокола», впервые предложенный Aztec Network, фокусируется на «объединениях» для защиты средств пользователей и поддержки частных транзакций. Основным продуктом Aztec является zk.money , который использует двухуровневое глубокое рекурсивное доказательство с нулевым разглашением как для масштабирования, так и для конфиденциальности. Первый ZKP доказывает правильность экранированной транзакции, гарантируя, что транзакция на самом деле была приватной и утечки информации не было. Второй ZKP используется для самого объединения, чтобы объединить вычисления пакетов транзакций вместе и гарантировать, что все они были выполнены правильно.
Третий (и самый последний) подход к концептуализации конфиденциальности в Web3 заключается в изучении «конфиденциальности на уровне пользователя», когда гарантии конфиденциальности даются для данных отдельного пользователя, а не для данных транзакции пользователя. Как на уровне «сети», так и на уровне «протокола» мы наблюдаем повторяющуюся проблему меньшинства злоумышленников (таких как транзакции в даркнете и схемы отмывания денег), влияющих на использование сети и протокола для невиновного большинства, которое просто обеспокоено за конфиденциальность своих личных данных.
Важнейшим моментом «конфиденциальности на уровне пользователя» является то, что, сосредоточив внимание на отдельных пользователях самой сети, мы проводим «целевую» форму фильтрации, при которой добросовестные пользователи и адреса могут свободно взаимодействовать с сетью блокчейна в частном порядке, в то время как плохие пользователи могут быть быстро отфильтровывается.
Основная идея «конфиденциальности на уровне пользователя» заключается в том, чтобы отделить и переосмыслить отношения между самим пользователем и адресом его кошелька в цепочке, поскольку адреса кошелька являются атомарными идентификаторами в сети блокчейна. Важно отметить, что существует сопоставление «один ко многим» между пользователями и цепочками: пользователи часто контролируют более одного адреса кошелька в каждой сети блокчейна, с которой они взаимодействуют. Это идея «фрагментации идентичности в цепочке». Таким образом, суть «конфиденциальности на уровне пользователя» заключается в поиске безопасного способа сопоставления личной информации пользователей (PII) со всеми этими фрагментированными идентификаторами в сети.
Как мы видим, конфиденциальность в Web3 сложна. Различные подходы к проблеме — на уровне сети, на уровне протокола и на уровне пользователя — предлагают разные решения и исследуют различные компромиссы между прозрачностью и конфиденциальностью. Тем не менее, любое обсуждение конфиденциальности будет неполным без учета оборотной стороны медали: прозрачности и подотчетности.
Хорошо это или плохо, регуляторы правы, говоря, что необходима большая ответственность в криптовалютных транзакциях. Злоумышленники, занимающиеся отмыванием денег, террористической деятельностью и финансовым мошенничеством, должны нести ответственность, независимо от того, используют ли они фиат или криптовалюту для совершения своих транзакций. Но, надеюсь, в Web3 эта подотчетность может быть достигнута без того, чтобы правительства прибегали к полному отключению сетей конфиденциальности и принуждению людей использовать эти блокчейны «криптографически обнаженными». Конфиденциальность следует рассматривать как основное право и меру цифрового достоинства.
Слишком часто доказательства с нулевым разглашением преподносятся как решение любой проблемы конфиденциальности. Но, несмотря на всю свою математическую магию, ZKP далеко не панацея от всех проблем конфиденциальности Web3 и имеют несколько критических недостатков. Во-первых, ZKP часто представляют собой узкоспециализированные схемы, используемые для доказательства определенной части информации, структурированной определенным образом. Как правило, они страдают от отсутствия масштабируемости и совместимости. Во-вторых, их очень дорого создавать, запускать и поддерживать, требуя на порядки больше вычислительной мощности, чем эквивалентная программа, не относящаяся к ZKP.
Aleo использует криптографию с нулевым разглашением для обеспечения как конфиденциальности, так и программируемости. Криптография с нулевым разглашением и доказательства с нулевым разглашением позволяют третьим сторонам проверять достоверность части информации без необходимости раскрывать ее напрямую. Aleo использует это как основу системы под названием ZEXE (Zero Knowledge EXEcution). В ZEXE пользователи выполняют переходы между состояниями в автономном режиме. Этот процесс создает доказательство, которое объединяется в транзакцию в сети. Эта транзакция обновляет состояние системы, используя/создавая записи в цепочке. Как и Zcash, эта система дает нам надежные гарантии конфиденциальности, поскольку транзакции содержат только доказательство, а не входные данные, которые его сгенерировали. И, как и Ethereum, ZEXE может поддерживать смарт-контракты, которые позволяют пользователям взаимодействовать или передавать значения заранее определенным образом.
Кроме того,Aleo создали Leo — это основанный на Rust язык программирования со статической типизацией, созданный для написания частных приложений. Он предназначен для разработчиков, которые могут интуитивно строить блокчейн Aleo, обеспечивая основу для частной децентрализованной экосистемы. Это первый известный язык программирования, который представляет среду тестирования, реестр пакетов, преобразователь импорта, удаленный компилятор и генератор теорем для приложений общего назначения с нулевым разглашением.
Leo разработан, чтобы устранить как можно больше требований к криптографическим знаниям. Более того, он разработан так, чтобы напоминать Javascript и Typescript, так что армия разработчиков JS/TS.
Aleo Studio — чтобы ускорить цикл разработки, создали Aleo Studio, первую IDE для написания приложений с нулевым разглашением. Aleo Studio — это интерактивная среда разработки для написания приложений с нулевым разглашением на Leo. Aleo Studio предназначена для разработчиков, чтобы упростить цикл разработки и упростить публикацию вашего проекта Leo в виде пакета в экосистеме.
Aleo Package Manager. Чтобы упростить объединение и совместное использование вашей работы, создали менеджер пакетов для Leo. Aleo Package Manager — первый менеджер пакетов для цепей с нулевым разглашением. Он включает в себя функции совместной работы, такие как команды и организации, которые упрощают работу с друзьями и коллегами над частными приложениями. Кроме того, Aleo Package Manager интегрирован с Aleo Studio, что позволяет легко импортировать и публиковать новые пакеты, не выходя из редактора.
snarkOS — Aleo работает на децентрализованной операционной системе для частных приложений под названием snarkOS. Он формирует логическую основу для переходов между состояниями и позволяет приложениям проверять и сохранять состояние в блокчейне Aleo публично проверяемым способом. snarkOS обеспечивает гарантии доступности данных на Aleo для всех программ и транзакций. Более того, наш механизм консенсуса гарантирует, что верификаторы вычисляют доказательства с нулевым разглашением для состояния контрольной точки в цепочке.