Sitemap

TEE Prover with Scroll

6 min readJan 27, 2024

--

Press enter or click to view image in full size

Automata представляет TEE Prover в системе с несколькими пруверами

Прокрутка

Первая реализация Intel SGX в качестве независимого доказательства наряду с проверкой SNARK улучшает разнообразие проверяющих и общую устойчивость будущего Ethereum, ориентированного на объединение. Подробности читайте в анонсе Scroll здесь .

Сегодня накопительные пакеты широко используются, поскольку они масштабируют прикладной уровень Ethereum по горизонтали. Свертывания с нулевым разглашением (ZK-свертывания), такие как Scroll, обычно представляются как арифметические схемы, в которых доказывающее устройство генерирует доказательство, показывающее, что вычисление было выполнено правильно. Эти доказательства не несут никакой информации, кроме их собственной достоверности.

Стоит заглянуть под капот и понять, как генерируются и проверяются доказательства с нулевым разглашением. Сочетание достижений в области аппаратного обеспечения и криптографических алгоритмов начинает предоставлять альтернативы генерации доказательств в системах объединения и других децентрализованных контекстах. Мы впервые представляем реализацию TEE Prover со Scroll, которая значительно более отказоустойчива, безопасна и прозрачна, чем системы с одним проверяющим устройством.

Разнообразие пруверов с TEE

Наша работа над TEE Prover началась с наших предыдущих усилий по созданию блоков внутри TEE, которые показали практичность и потенциал использования Intel SGX для обеспечения конфиденциальности транзакций в мемпулах. Эта статья расширяет несколько замечательных замечаний, высказанных в сообщении Джастина из Ethereum Foundation о полезности Intel SGX в модели с несколькими проверяющими устройствами:

  • Подтверждаемое доверие. Генерация доказательств происходит в изолированной среде выполнения, защищенной от несанкционированного доступа. Аттестация проверяет целостность безопасного анклава и, как следствие, поддерживает доверие к системе подтверждения.
  • Корректность. Наложение доказательств на основе SGX не только вводит избыточность, но и смягчает системные уязвимости , с которыми сталкиваются доказательства с нулевым разглашением. В прошлом году ChainLight сообщила об уязвимости в сети zkSync Era, эксплуатация которой могла бы подвергнуть риску 1,9 миллиарда долларов. Технические гарантии безопасного анклава значительно снижают риски одновременной ошибки, затрагивающей всю сеть.
  • Легкий. Intel SGX получает и обрабатывает входные данные внутри анклавов только по мере необходимости и может выполнять проверку ожидаемых результатов выполнения блока без необходимости ссылаться на постоянное состояние или полагаться на него.
  • Эффективный. Хотя создание доказательств с нулевым разглашением может оказаться трудоемким и ресурсоемким занятием, требования к доказательствам SGX менее строгие. Фактически этот процесс может быть таким же простым и легким, как и проверка подписи ECDSA.

Внедрение Intel SGX в качестве отдельного независимого доказательства является не только неоспоримым улучшением существующих систем проверки, но также желательно по причинам, указанным выше: Технические свойства, которые выходят далеко за рамки того, что в настоящее время доступно в других системах.

TEE Prover with Scroll

Press enter or click to view image in full size

Наша конструкция TEE Prover со спиралью состоит из двух основных компонентов.

  1. SGX-прувер. Компонент вне цепочки, который проверяет, соответствует ли корень пост-состояния существующему корню состояния после выполнения блока в безопасном анклаве, и отправляет подтверждение выполнения (PoE) верификатору SGX.
  2. Верификатор SGX. Контракт L1, подтверждающий правильность перехода состояний, предложенного SGX Prover. Он также проверяет отчет об аттестации, представленный анклавом Intel SGX, чтобы обеспечить целостность средства проверки.

SGX Prover отслеживает пакетные транзакции, совершенные секвенсором в цепочке L1, и создает подтверждение блока (PoB), которое включает информацию, необходимую для повторного выполнения блоков и транзакций L2. SGX Prover выполняет переход состояний в соответствии со спецификацией объединения без использования какой-либо схемы ZK. Например, Scroll имеет небольшое отличие от Ethereum при реализации zkEVM, и SGX Prover должен следовать ему, чтобы сгенерировать тот же переход между состояниями. После выполнения средство проверки SGX отправляет подтверждение выполнения (PoE) на L1, чтобы показать результат перехода состояния на основе тех же входных данных, которые использует средство проверки ZK.

После отправки PoE в цепочку верификатор SGX проверит, подписано ли PoE действительным проверяющим SGX. Для этого требуется очень простой вызов «ecrecover», чтобы проверить, что подписывающее лицо PoE входит в список проверяющих устройств SGX, прошедших аттестацию. Аттестация устанавливает состояние доверия, при котором можно проверить весь стек, на котором работает SGX Prover. Многие решения TEE будут иметь аналогичный процесс, известный как удаленная аттестация.

Проверка цепочки Intel SGX

Press enter or click to view image in full size

Удаленная аттестация позволяет удаленной стороне программно проверять целостность и неизменяемые свойства анклава Intel SGX и, следовательно, доверять выполнению. Использование смарт-контракта в качестве удаленной стороны создает публичный и прозрачный якорь в цепочке, который обеспечивает возможность компоновки доверия — другие смарт-контракты также могут доверять вычислениям из анклава. Кроме того, новейший протокол аттестации Intel SGX (DCAP v3) устраняет зависимость от централизованной службы аттестации, как это было в предыдущей аттестации EPID. Наши недавние усилия по разработке версии аттестации DCAP для Solidity позволили провести полную проверку отчетов об аттестации из анклавов в сети.

Get ChainOps’s stories in your inbox

Join Medium for free to get updates from this writer.

Отчет об аттестации содержит криптографические измерения среды выполнения, включая оборудование, программное обеспечение и пользовательские данные. Он обеспечивает два важных свойства, которые являются ключевыми для конструкции SGX Prover:

(1) Целостность : SGX Prover использует ожидаемую версию программного обеспечения и работает в подлинном TEE, который никто другой, включая оператора инфраструктуры, не может подделать или изменить;

(2) Подлинность : средство проверки SGX хранит пару ключей, которая никогда не покидает TEE. Открытый ключ включен в отчет об аттестации, поэтому любой может проверить происхождение сообщения, проверив отчет об аттестации.

Обратите внимание, что у ключа SGX Prover есть период действия, и он обновляется в конце каждого периода действия с учетом случайности аппаратного обеспечения. производятся с высоким уровнем энтропии и одновременно беспристрастны и непредсказуемы, а целостность процесса подкреплена аттестацией защищенного от несанкционированного доступа анклава.

Здание в общественном месте

Мы открыли исходный код SGX Prover и SGX Verifier в одном монорепозитории под лицензией Apache 2.0: https://github.com/automata-network/sgx-prover.

SGX-прувер

  • Реализация Rust, использующая SputnikVM в качестве механизма EVM в защищенном анклаве.
  • Его можно скомпилировать и запустить в аппаратном режиме SGX на совместимых компьютерах (например, Azure Standard DC4s v3).
  • Один и тот же код поддерживает сборки как SGX, так и не-SGX для упрощения отладки. Первоначальный тест показал, что SGX снижает производительность примерно на 10% при проверке блоков.

Верификатор SGX

Благодаря им нам удалось добиться:

  1. 100% проверка всей истории блоков тестовой сети Scroll. Это показывает, что наша реализация соответствует спецификации Scroll zkEVM, а будущие изменения протокола будут отслеживаться и адаптироваться в SGX Prover.
  2. Вся цепочка поставок SGX Prover может быть проверена на каждом ключевом этапе, включая разработку с открытым исходным кодом, воспроизводимую сборку и артефакты, аттестацию во время выполнения и проверку.

Мультипруверные системы: что дальше?

TEE Prover — совершенно новый продукт, и мы надеемся увидеть больше реализаций и идей относительно того, что доверенные среды выполнения, выходящие за рамки Intel SGX и нашей работы со Scroll, могут привнести в пространство накопительных пакетов. Стремление к разнообразию пруверов способствует большей децентрализации и устойчивости; Различные конструкции доказательства позволяют, например, сверять потенциально противоречивые результаты друг с другом.

Некоторые функции, которые мы планируем добавить в ближайшем будущем:

  • Улучшение разнообразия технологий TEE для испытателя TEE. Это помогает создавать универсальные мультипруверные системы, которые можно адаптировать к различным требованиям.
  • Использование средства проверки TEE в более надежных системах. Одним из интересных направлений является также рассмотрение того, как TEE, такие как Intel SGX, могут поддерживать доказательства мошенничества, как в случае оптимистичных объединений.
  • Улучшенные структуры для проверки TEE в сценариях принятия решений, включающие механизмы консенсуса и управления протоколом.

Для более подробной информации прочитайте публикацию Scroll, чтобы узнать больше о TEE Prover и о том, как он масштабирует безопасность на L2, здесь . Мы также очень ценим обратную связь, поэтому обращайтесь .

О Automata Network

Automata Network — это модульный уровень аттестации, который расширяет доверие к Ethereum на уровне машины за счет использования оптимистичных объединений и доказательств с нулевым разглашением в подходе Proof of Machinehood. Объединение для конкретного приложения позволяет выполнять проверку в цепочке для внепротокольных вычислений, что создает непрерывную цепочку доверия, которая простирается вверх по всему стеку Web3.

Website | Telegram | Discord | X | Github | Newsletter

--

--