На фоне растущего интереса к практическим способам масштабирования и защиты блокчейнов, аппаратные подходы привлекают все больше внимания. Роль надежных сред исполнения (TEE) в блокчейн-системах постепенно расширяется: от проектов, ориентированных на конфиденциальность, до приложений, которые улучшают масштабируемость и обеспечивают безопасные внецепочечные вычисления. В настоящее время более 50 команд работают над блокчейн-проектами на базе TEE. В этой статье Cointelegraph Research изучает технические основы TEE в блокчейн-системах и рассматривает ключевые варианты использования этой технологии.
Механика TEE в блокчейнах
Большинство блокчейн-технологий полагаются на криптографию и распределенные вычисления для обеспечения безопасности. TEE добавляет другой подход, а именно доверие на аппаратном уровне.
Надежная среда исполнения — это изолированная область внутри процессора устройства, предназначенная для обеспечения конфиденциальности и защиты от несанкционированного доступа к данным и коду во время выполнения. Полученный безопасный анклав недоступен для остальной операционной системы и может предоставить третьим сторонам через удаленную аттестацию информацию о том, какие инструкции он выполняет.
Для этого ЦП измеряет базовую платформу доверия (Trusted Computing Base), которая включает загрузочную прошивку, ядро операционной системы и двоичные файлы приложений, и сохраняет ее в безопасных аппаратных регистрах. Затем он подписывает эту метрику с помощью приватного ключа аттестации, встроенного в ЦП. Это создает криптографический отчет об аттестации, который удаленный верификатор может проверить, чтобы подтвердить подлинность и целостность анклава.
Использование этого доверия на аппаратном уровне для конфиденциального выполнения смарт-контрактов требует, чтобы блокчейн-ноды использовали чипы с TEE. Обычно это требование относится к нодам, ответственным за валидацию транзакций и блоков, а также за внецепочечные вычисления. В настройке уровня 1 (Layer-1) консенсус-ноды продолжают реплицировать зашифрованную версию состояния каждого контракта как часть глобального реестра.
Каждая из нод содержит TEE, который реплицирует расшифровку, выполнение в открытом тексте и повторное шифрование каждой транзакции. Эта аппаратная зависимость вносит компромисс между повышенной конфиденциальностью и уменьшенным набором валидаторов. Меньшее количество людей может запускать ноды, если требуется конкретное оборудование. Однако дополнительное доверие, которое это требует, частично компенсируется удаленной аттестацией, которую могут предоставить TEE.
Альтернативный вариант – схема уровня 2 (Layer-2), в которой вычисления TEE не защищены распределенным консенсусом, а механизмом разрешения споров, как, например, в роллапах. Этот подход использует аналогичный конвейер шифрования, как и в настройке уровня 1, но может помочь улучшить масштабируемость. Однако большинство систем уровня 2 теряют интероперабельность контрактов, поскольку они выполняются на отдельных машинах, что означает, что контракты не могут вызывать друг друга.
TEE используют стандартную асимметричную криптографию для обфускации вызовов функций и кода смарт-контрактов. Вызовы функций шифруются с использованием публичного ключа TEE перед отправкой в блокчейн, расшифровываются в анклаве и выполняются.
Secret Network, построенная на Cosmos SDK и Intel SGX, стала первым блокчейном, имеющим приватные смарт-контракты, обеспечиваемые TEE. Secret Contracts позволяют разработчикам создавать конфиденциальные DeFi-приложения, которые скрывают логику контракта, входные данные, результаты и состояние, но не адреса. Он также позволяет создавать Secret Tokens, баланс и историю транзакций которых остаются конфиденциальными и видимы только их владельцам или явно авторизованным смарт-контрактам.
Уязвимости надежных сред исполнения
Приватное выполнение смарт-контрактов зависит от надежности аппаратного производителя TEE. Хотя маловероятно, что корпорация, такая как Intel, поставит под угрозу свою репутацию, целенаправленной атакой на блокчейн-системы, Management Engine (IME) от Intel, автономная система, встроенная в большинство процессоров Intel с 2008 года, содержала многочисленные серьезные уязвимости на протяжении многих лет.
Поставщики TEE могут поддаваться влиянию правительства для внедрения бэкдоров, соблюдения мандатов наблюдения или предоставления доступа к зашифрованным данным в соответствии с законами о национальной безопасности. Случайные уязвимости также могут подорвать безопасность TEE. Например, атака Plundervolt использовала динамический интерфейс напряжения Intel для вызова ошибок вычислений внутри анклавов SGX, что позволило злоумышленникам обойти проверки целостности и извлечь ключи и секреты из зашифрованной памяти.
Приватное выполнение смарт-контрактов с помощью TEE
Для обеспечения конфиденциальности dApps смарт-контракты должны выполняться таким образом, чтобы логика и данные оставались конфиденциальными. Для чтения и запуска конфиденциального кода смарт-контракта TEE могут получить доступ к ключам, необходимым для расшифровки данных контракта.
Если эти ключи будут скомпрометированы, злоумышленник сможет расшифровать ранее сохраненные данные контракта. Чтобы избежать этого, надежные среды исполнения используют распределенное управление ключами, которое разделяет контроль над ключами между несколькими доверенными узлами и часто ротирует краткосрочные ключи, чтобы ограничить влияние взлома.
Ekiden был первым, кто спроектировал такую систему, и она послужила основой для аналогичных моделей на других блокчейнах. Самые конфиденциальные ключи управляются KMC (комитетом управления ключами, который является группой наиболее доверенных узлов) с использованием пороговой криптографии. Доли комитета активно перераспределяются для ротации того, кто владеет какой долей. Между тем, отдельные рабочие узлы имеют ограниченные краткосрочные ключи, привязанные к конкретным задачам.
Эти ключи выдаются KMC для каждого контракта и истекают в конце каждой эпохи. Чтобы получить ключ, рабочий узел должен сначала доказать свою легитимность KMC по безопасным каналам. Затем каждый член KMC генерирует долю ключа, используя псевдослучайную функцию, и передает ее узлу, который реконструирует полный ключ, когда собирает достаточное количество долей.
Если узел KMC скомпрометирован, его доступ может быть отозван посредством управления, и он будет исключен из будущих эпох. Это снижает потенциальное влияние взлома, хотя и не устраняет его полностью. Когда конфиденциальный контракт развертывается, его анклав генерирует новый публичный ключ и публикует его в блокчейне вместе с кодом контракта и зашифрованным начальным состоянием.
Пользователи, которые впоследствии вызывают контракт, извлекают этот ключ для шифрования своих входных данных перед отправкой их в вычислительный узел. Чтобы гарантировать подлинность, узел также предоставляет ключ подписи, привязанный к анклаву через аттестацию, при запуске.
Другие варианты использования TEE в блокчейнах
Помимо приватного выполнения смарт-контрактов, TEE могут значительно повысить масштабируемость и эффективность блокчейна. Ноды с поддержкой TEE могут безопасно выполнять ресурсоемкие задачи вне цепи и отправлять результаты в цепочку. Таким образом, приложения могут перенести вычислительную нагрузку со слоя блокчейна в доверенную внецепочечную среду. Это может помочь снизить стоимость газа и повысить общую пропускную способность сети.
IExec — одна из крупнейших децентрализованных облачных вычислительных платформ, использующая надежные среды исполнения для внецепочечных вычислений. Он использует анклавы на базе Intel SGX для переноса и изоляции вычислений от блокчейна.
Заказчик, обычно смарт-контракт или пользователь, может приобрести конфиденциальное вычисление в виде задачи в цепочке. Затем блокчейн уведомляет рабочие узлы о выполнении задачи внутри безопасного анклава. Прежде чем продолжить выполнение, анклав генерирует отчет об аттестации, содержащий криптографическое доказательство кода и конфигурации анклава.
Этот отчет отправляется в службу управления секретами, которая проверяет целостность и подлинность анклава. Только если анклав проходит эту проверку, начинается фактическое вычисление.
Надежные среды исполнения также могут использоваться для создания блокчейн-инфраструктуры, устойчивой к MEV. Unichain, оптимистичный роллап на Ethereum, разработанный командой Uniswap и запущенный в октябре 2024 года, использует TEE в процессе генерации блоков. Его строитель блоков, разработанный в сотрудничестве с Flashbots, использует TEE для создания блоков внутри защищенного анклава.
При маршрутизации к строителю TEE транзакции фильтруются, расставляются по приоритетам и объединяются в Flashblocks. Это позволяет Unichain достигать 1-секундных временных интервалов блоков с планами по внедрению 250-миллисекундных подблоков и улучшению порядка транзакций. Создание блоков в TEE помогает снизить извлечение MEV, поскольку транзакции в пуле памяти остаются зашифрованными. С этими функциями Unichain стремится создать блокчейн, предназначенный для DeFi.
Заключение
Надежные среды исполнения в блокчейнах набирают обороты, поскольку разработчики ищут более эффективные решения для обеспечения конфиденциальности. TEE имеют потенциал изменить будущее децентрализованных приложений с помощью безопасных вычислений с низкой стоимостью и высокой задержкой. Несмотря на свой потенциал, TEE пока не поддерживаются изначально большинством блокчейнов из-за аппаратных требований и предположений о доверии.
В будущем мы ожидаем, что варианты использования TEE расширятся от приложений, обеспечивающих конфиденциальность, к решениям для масштабируемости блокчейнов и внецепочечных вычислений для децентрализованных приложений. Этот сдвиг обусловлен появлением более ресурсоемких dApps, таких как децентрализованные приложения ИИ. TEE могут облегчить эти варианты использования с помощью недорогих, высокопроизводительных внецепочечных вычислений.
Эта статья не содержит инвестиционных советов или рекомендаций. Любое инвестиционное и торговое решение сопряжено с риском, и читатели должны проводить собственные исследования при принятии решения.
Эта статья предназначена только для общего ознакомления и не должна рассматриваться как юридическая или инвестиционная консультация. Мнения, мысли и взгляды, выраженные здесь, принадлежат исключительно автору и не обязательно отражают взгляды и мнения Cointelegraph.
Cointelegraph не одобряет содержание этой статьи и какие-либо упомянутые в ней продукты. Читатели должны проводить собственные исследования, прежде чем предпринимать какие-либо действия в отношении любого продукта или компании, упомянутых здесь, и нести полную ответственность за свои решения.