Программируемая конфиденциальность и соблюдение правил на основе гомоморфного шифрования

1/11/2024, 5:35:26 AM
Продвинутый
Блокчейн
Статья объясняет, как создать совместимый токен ERC20 с использованием fhEVM и абстрагирование личности через on-chain DIDs.

Несколько месяцев назад криптокоманда a16z опубликовала Испытание Накамото, список наиболее важных проблем, которые необходимо решить в блокчейне. Особенно привлекло наше внимание четвертое: «Соответствие программной конфиденциальности», так как мы активно думаем об этом уже некоторое время. Сегодня мы предлагаем первое решение с использованием гомоморфного шифрования и нашего протокола конфиденциального смарт-контракта fhEVM (если вы не знакомы с fhEVM, вы можете прочитать наши статьи о конфиденциальности Токен ERC20ислепые аукционы).

fhEVM - это обычный EVM с некоторыми предварительными компиляциями, которые позволяют вычислять зашифрованные состояния с использованием нашей библиотеки гомоморфного шифрования TFHE-rs. С точки зрения разработчика здесь нет криптографии: они просто пишут код Solidity, используя предоставляемые нами типы данных (euint32, ebool и т. д.). Одним из больших преимуществ fhEVM по сравнению с другими решениями конфиденциальности является то, что все данные и вычисления происходят onchain. Это означает, что у вас может быть такой же уровень композиции и доступности данных, как у обычных контрактов с открытым текстом.

Это свойство является ключевым для создания программной конфиденциальности, поскольку вся логика контроля доступа может быть определена непосредственно в самом контракте. Нет ничего, что должно быть жёстко задано в протоколе, и нет необходимости выполнять какие-либо действия вне цепи для соответствия. Приложение может обеспечить соответствие напрямую всего лишь несколькими строками кода на Solidity!

В этой статье мы покажем, как создать соблюдаемый токен ERC20, используя ончейн DIDs. Исходный код для этого учебного пособия можно найти в папка примероврепозитория fhEVM.

Абстракция личности через ончейн, конфиденциальные DID

Децентрализованный идентификатор (DID) — это уникальное цифровое удостоверение, которое выдается таким субъектом, как правительство, регистратор, компания или сам пользователь. Этот DID может быть привязан к криптографическому ключу, который доказывает, что пользователь владеет DID, например, к кошельку EVM. Но он также может хранить целый ряд атрибутов, таких как возраст пользователя, национальность, номер социального страхования и т. д. Эти атрибуты, в свою очередь, могут быть использованы для доказательства того, что вы соответствуете какому-либо условию (называемому «аттестацией»), например, быть старше 18 лет или не быть гражданином Нарнии.

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

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

Проблема: каждый увидел бы личность каждого!

К счастью, у нас есть решение: гомоморфное шифрование, а точнее fhEVM! Благодаря возможности иметь композицию на зашифрованном состоянии, мы можем размещать учетные записи пользователей напрямую на цепочке в зашифрованной форме и иметь признанные приложения, проверяющие атрибуты с помощью простого вызова контракта. Возможность управлять идентификацией через смарт-контракт, который мы называем «Абстракция идентичности», подобна тому, как можно управлять средствами через смарт-контракт с помощью Абстракции учетной записи.

Этот учебник состоит из 3 частей:

  • Абстракция личности осуществляется с помощью контракта реестра, который отвечает за управление личностями и удостоверениями. Здесь мы предполагаем, что DIDs являются официальными идентификаторами государственных органов. Сам реестр управляется центральным органом (например, AFNIC), который может создавать регистраторов (например, компании по KYC, такие как Onfido, Jumio и т. д.), которые в свою очередь могут создавать пользовательские DIDs. Пользователь затем обращается к своему регистратору, чтобы управлять и обновлять свои DIDs.
  • Регулирование определяется в контракте, который кодирует набор правил для передачи токенов между лицами на основе информации, содержащейся в их DID. Это в основном обеспечивает регулирование на уровне контракта, а не на уровне пользователя.
  • Соблюдение конфиденциальных переводов реализовано в соответствующем контракте ERC20, который использует контракт регулирования для обеспечения соблюдения при токенных переводах, без каких-либо изменений в самом API ERC20. В этом примере мы используем конфиденциальный контракт ERC20, где балансы и суммы скрыты, но это бы работало так же хорошо с обычным, открытым токеном ERC20.

Архитектура нашего протокола конфиденциального DID Onchain

Контракт реестра идентификации

Контракт IdentityRegistry - это реестр DID пользователей, выданных регистраторами, включающий набор зашифрованных идентификаторов, таких как их национальность, возраст, номер социального страхования и т. д. Эти идентификаторы хранятся как зашифрованные 32-разрядные значения (euint32).

Контракт также обрабатывает разрешения, такие как:

  • Обеспечение владельцу контракта (например, AFNIC) возможности добавлять, удалять или обновлять регистраторов.
  • Позволяет регистраторам добавлять, удалять или обновлять созданные ими DID пользователей.
  • Позволяя пользователям предоставлять смарт-контрактам доступ к конкретным атрибутам их DIDs. Важно отметить здесь, что пользователь несет ответственность за то, чтобы не предоставлять доступ к вредоносным контрактам, так же как он несет ответственность за то, чтобы вредоносные контракты не тратили их токены.

В качестве первого шага давайте реализуем логику создания и управления DID:

Теперь следующим шагом будет реализация логики идентификаторов и контроля доступа.

Идентификатор - это просто строка (например, «дата рождения») и зашифрованное 32-битное значение. Его можно создать или обновить только регистратору. Пользователь не может создавать свои собственные идентификаторы, так как мы хотим, чтобы они были подтверждены регистратором.

Поскольку идентификаторы зашифрованы, пользователь должен дать разрешение контракту на доступ к конкретным значениям, что мы будем обрабатывать через простой механизм контроля доступа, аналогичный тому, как вы можете разрешить контракту тратить ваши токены ERC20.

контракт IdentityRegistry - это EIP712WithModifier, Ownable

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

контракт IdentityRegistry является EIP712WithModifier, Ownable

Договор о регулировании

Следующим шагом будет создание нашего контракта о регулировании.

При реализации набора правил для трансферов между двумя физическими лицами важно понимать, что эти правила могут развиваться со временем. Наличие одного умного контракта, определяющего всю регламентацию для определенного контекста, такого как перевод денег, означает, что контрактов ERC20 не нужно отслеживать регулирование самостоятельно. Правительства могут просто обновить этот контракт, и он автоматически распространится на все токены, которые его реализовали.

По сути, регулирующий контракт представляет собой просто набор условий, которые сопоставляются с зашифрованными атрибутами личности. Чтобы избежать злоупотреблений, пользователи не предоставляют прямой доступ к регулирующему контракту, а предоставляют доступ к контракту токена ERC20, который затем выполняет делегированный вызов к регулирующему контракту. Такой подход гарантирует, что только контракт ERC20, которому пользователь доверяет, может получить доступ к его информации. Имейте в виду, что как отправитель, так и получатель должны предоставить разрешение контракту ERC20 перед тем, как между ними может произойти передача.

В этом примере мы реализуем некоторые основные правила:

  • Переводы внутри страны неограничены, но переводы за границу ограничены 10 000 токенами.
  • Пользователь, внесенный в черный список, не может переводить или получать токены.
  • Пользователь не может передавать токены в страну, находящуюся в черном списке.

Вместо того чтобы сбой транзакции, который может раскрыть чувствительную информацию, мы просто установим сумму перевода равной 0, если одно из условий не выполняется. Для этого используется гомоморфный тернарный оператор, называемый cmux: value = TFHE.cmux(encryptedCondition, valueIfTrue, valueIfFalse

Соответствующий конфиденциальный контракт ERC20

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

  • Баланс пользователя и сумма перевода зашифрованы.
  • Соответствие осуществляется при передаче вызовом контракта регулирования.
  • Видимость определенных балансов может быть предоставлена адресам в белом списке (например, регуляторам)

Контракт регулирования вызывается с помощью простого вызова. Это подразумевает, что пользователи должны предоставить доступ к контракту ERC20 перед инициированием любого перевода; в противном случае перевод будет отменен.

Наконец, теперь мы можем создать наш контракт ERC20:

Аналогично тому, как пользователи предоставляют разрешения протоколам DeFi на использование своих токенов, им потребуется предоставить разрешение контракту на доступ к идентификаторам, необходимым для контракта о регулировании. Это делается с помощью вызова Identity.grantAccess(contractAddress, identifiers), которое может быть получено путем вызова метода просмотра ERC20.identifiers(). Этот список поступает непосредственно из контракта ERC20Rules для обновления свойств.

Соответствие и конфиденциальность могут сосуществовать!

Надеемся, что этот учебник показал вам, что обеспечить соответствие требованиям несложно, если доступны инструменты управления правами. Хотя изначально мы создали fhEVM для обеспечения конфиденциальности в блокчейне, мы быстро поняли, что эту технологию можно использовать для управления идентификацией и, таким образом, программируемого соответствия.

Предлагаемый дизайн здесь далеко не идеально, но мы считаем, что его легко можно улучшить и запустить как реальный пример использования в реальном мире, чтобы соответствие больше не было синонимом слежки!

Дополнительные ссылки

Отказ от ответственности:

  1. Эта статья перепечатана с [zama]。 Все авторские права принадлежат оригинальному автору [fhEVM]. Если есть возражения по поводу этого перепечатывания, пожалуйста, свяжитесь с Gate Learnкоманды, и они оперативно справятся с этим.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, являются исключительно мнением автора и не являются инвестиционным советом.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Пригласить больше голосов

Крипто-календарь

Обновления проекта
Etherex запустит токен REX 6 августа.
REX
22.27%
2025-08-06
Редкий день разработки и управления в Лас-Вегасе
Cardano проведет Rare Dev & Governance Day в Лас-Вегасе с 6 по 7 августа, включая семинары, хакатоны и панельные дискуссии, сосредоточенные на техническом развитии и вопросах управления.
ADA
-3.44%
2025-08-06
Блокчейн.Rio в Рио-де-Жанейро
Stellar примет участие в конференции Blockchain.Rio, которая состоится в Рио-де-Жанейро с 5 по 7 августа. Программа будет включать в себя ключевые выступления и панельные дискуссии с участием представителей экосистемы Stellar в сотрудничестве с партнерами Cheesecake Labs и NearX.
XLM
-3.18%
2025-08-06
Вебинар
Circle объявила о проведении вебинара Executive Insights на тему "Эра Закона GENIUS начинается", который запланирован на 7 августа 2025 года в 14:00 UTC. В ходе сессии будут рассмотрены последствия недавно принятого Закона GENIUS — первой федеральной регулирующей рамки для платежных стейблкоинов в Соединенных Штатах. Данта Диспарте и Кори Тен из Circle возглавят обсуждение того, как законодательство влияет на инновации в области цифровых активов, ясность регулирования и лидерство США в глобальной финансовой инфраструктуре.
USDC
-0.03%
2025-08-06
AMA на X
Ankr проведет AMA в X 7 августа в 16:00 UTC, сосредоточив внимание на работе DogeOS по созданию прикладного слоя для DOGE.
ANKR
-3.23%
2025-08-06

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

Что такое Tronscan и как вы можете использовать его в 2025 году?
Новичок

Что такое Tronscan и как вы можете использовать его в 2025 году?

Tronscan — это обозреватель блокчейна, который выходит за рамки основ, предлагая управление кошельком, отслеживание токенов, аналитику смарт-контрактов и участие в управлении. К 2025 году она будет развиваться за счет улучшенных функций безопасности, расширенной аналитики, кроссчейн-интеграции и улучшенного мобильного опыта. Теперь платформа включает в себя расширенную биометрическую аутентификацию, мониторинг транзакций в режиме реального времени и комплексную панель управления DeFi. Разработчики получают выгоду от анализа смарт-контрактов на основе искусственного интеллекта и улучшенных сред тестирования, в то время как пользователи наслаждаются унифицированным многоцепочечным представлением портфеля и навигацией на основе жестов на мобильных устройствах.
11/22/2023, 6:27:42 PM
Что такое Нейро? Все, что вам нужно знать о NEIROETH в 2025 году
Средний

Что такое Нейро? Все, что вам нужно знать о NEIROETH в 2025 году

Neiro - это собака породы шиба-ину, которая вдохновила запуск токенов Neiro на различных блокчейнах. К 2025 году Neiro Ethereum (NEIROETH) превратился в ведущий мем-коин с рыночной капитализацией 215 миллионов долларов, 87 000+ держателей и листингом на 12 крупнейших биржах. Экосистема теперь включает DAO для управления сообществом, официальный магазин мерчандайза и мобильное приложение. NEIROETH внедрил решения второго уровня для увеличения масштабируемости и закрепил свою позицию в топ-10 мем-коинов по капитализации, поддерживаемый активным сообществом и ведущими крипто-инфлюенсерами.
9/5/2024, 3:37:05 PM
Что такое индикатор кумулятивного объема дельты (CVD)? (2025)
Средний

Что такое индикатор кумулятивного объема дельты (CVD)? (2025)

Изучите эволюцию кумулятивного объема дельты (CVD) в криптоторговле в 2025 году, от интеграции машинного обучения и анализа межбиржевых данных до продвинутых инструментов визуализации, позволяющих более точно принимать рыночные решения за счет агрегации данных с нескольких платформ и автоматического обнаружения дивергенций.
12/10/2023, 8:02:26 PM
Что такое Solscan и как его использовать? (Обновление 2025 года)
Средний

Что такое Solscan и как его использовать? (Обновление 2025 года)

Solscan — это усовершенствованный обозреватель блокчейна Solana, который предлагает пользователям веб-платформу для исследования и анализа транзакций, адресов кошельков, контрактов, NFT и DeFi проектов на блокчейне Solana. После его приобретения Etherscan в 2025 году платформа теперь имеет переработанную аналитическую панель, расширенные инструменты для разработчиков, продвинутые функции безопасности, комплексный мониторинг DeFi протоколов по 78 протоколам и сложные интеграции NFT-рынков с инструментами анализа редкости.
3/8/2024, 2:36:44 PM
15 криптовалютных проектов уровня 1 (L1), на которые стоит обратить внимание в 2024 году
Новичок

15 криптовалютных проектов уровня 1 (L1), на которые стоит обратить внимание в 2024 году

В этой статье рассматриваются 15 проектов криптовалюты Layer-1, на которые стоит обратить внимание в 2024 году, подчеркивая их важность в обеспечении безопасности, консенсуса и децентрализации экосистемы блокчейна. В то время как решения Layer-2 улучшают производительность, они все равно полагаются на безопасность и децентрализацию, обеспечиваемые сетями Layer-1.
7/19/2024, 7:05:12 AM
Что такое проблема византийских генералов
Новичок

Что такое проблема византийских генералов

Византийская проблема генералов - это ситуационное описание проблемы распределенного консенсуса.
11/21/2022, 9:22:55 AM
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!