Sitemap
Automata en Español

Automata en Español

Equidad y privacidad para la Web 3.0. Noticias y recursos de Automata Network en español.

TEE Prover con Scroll

7 min readFeb 12, 2024

--

Press enter or click to view image in full size

TL;DR: Automata presenta TEE Prover en un sistema multi-prover con Scroll. La primera implementación de Intel SGX como prueba independiente junto con la verificación SNARK mejora la diversidad de los provers y la resiliencia general del futuro de Ethereum centrado en rollups. Lea más en el anuncio de Scroll aquí.

Los Rollups se utilizan ampliamente hoy en día para escalar horizontalmente la capa de aplicación de Ethereum. Los Rollups de conocimiento cero (ZK-rollups), como Scroll, suelen representarse como circuitos aritméticos donde un prover genera una prueba para demostrar que el cálculo se ha realizado correctamente. Estas pruebas no revelan ninguna información aparte de su propia validez.

Vale la pena echar un vistazo bajo el capó para ver cómo se generan y verifican las pruebas de conocimiento cero. Una combinación de avances en hardware y algoritmos criptográficos está comenzando a proporcionar alternativas para generar computo de pruebas en sistemas de rollup y otros contextos descentralizados. Presentamos, por primera vez, una implementación de Prover en un Entorno de Ejecución Seguro (TEE) con Scroll, que es enfáticamente más resistente, seguro y transparente que los sistemas de un solo prover.

Diversidad de provers con TEEs.

Nuestro trabajo en TEE Prover se remonta a nuestros esfuerzos anteriores en un constructor de bloques dentro de TEEs, que demostró la practicidad y el potencial de utilizar Intel SGX para brindar confidencialidad de transacción a las mempools. Este artículo amplía varios puntos excelentes mencionados en una publicación de Justin de la Ethereum Foundation sobre la utilidad de Intel SGX dentro de un modelo multi-prover:

  • Confianza verificable. La generación de pruebas ocurre dentro de un entorno de ejecución aislado que está protegido contra el acceso no autorizado. La Attestation verifica la integridad del enclave seguro y, por extensión, mantiene la confianza en el sistema de pruebas.
  • Corrección. La superposición de pruebas basadas en SGX no solo introduce redundancia, sino que también mitiga las vulnerabilidades sistémicas enfrentadas por las pruebas de conocimiento cero. El año pasado, ChainLight reportó una vulnerabilidad en la red principal zkSync Era, que, de haber sido explotada, habría expuesto $1.9 mil millones al riesgo. Las garantías técnicas del enclave seguro reducen significativamente los riesgos de un error simultáneo que afecte a toda la red.
  • Ligero. Intel SGX recibe y procesa los datos de entrada dentro de los enclaves solo cuando es necesario, y puede realizar la verificación sobre la salida esperada de la ejecución del bloque sin necesidad de hacer referencia o depender de un estado persistente.
  • Eficiente. Mientras que la generación de pruebas de conocimiento cero puede ser un esfuerzo intensivo en tiempo y recursos, las demandas en las pruebas de SGX son menos severas. De hecho, el proceso puede ser tan simple y fácil como verificar una firma ECDSA.

La implementación de Intel SGX como una prueba separada e independiente no solo representa una mejora innegable para los sistemas de prueba actuales, sino que también es deseable por las razones mencionadas anteriormente: Propiedades técnicas que van mucho más allá de lo que está disponible actualmente en otras configuraciones.

TEE Prover con Scroll

Press enter or click to view image in full size

Nuestro diseño del Proveedor de TEE con Scroll tiene dos componentes principales:

  1. Prover SGX: un componente fuera de la cadena que verifica que la raíz del estado posterior coincida con la raíz del estado existente después de la ejecución del bloque dentro del enclave seguro, y envía la Prueba de Ejecución (PoE) al Verificador SGX.
  2. Verificador SGX: un contrato L1 que confirma la corrección de la transición de estado propuesta por el Proveedor SGX. También verifica el informe de atestación presentado por el enclave Intel SGX para garantizar la integridad del proveedor.

El Prover SGX monitorea las transacciones en lote comprometidas por el secuenciador en la cadena L1 y crea una Prueba de Bloque (PoB) que incluye la información necesaria para la reejecución de bloques y transacciones L2. El Proveedor SGX ejecuta la transición de estado siguiendo las especificaciones del rollup sin utilizar ningún circuito ZK. Por ejemplo, Scroll tiene una ligera diferencia de Ethereum al implementar zkEVM y el Proveedor SGX debe seguirlo para generar la misma transición de estado. Después de la ejecución, el Proveedor SGX envía una Prueba de Ejecución (PoE) a L1 para mostrar el resultado de la transición de estado basado en el mismo input que utiliza el prover ZK.

Una vez que la PoE se envía en la cadena, el Verificador SGX verificará si la PoE está firmada por un Prover SGX válido. Esto requiere una llamada ‘ecrecover’ muy ligera para verificar que el Firmante de la PoE está en una lista de Proveedores SGX que han superado la atestación. La atestación establece un estado de confianza donde se puede verificar toda la pila en la que se está ejecutando el Proveedor SGX. Muchas soluciones TEE tendrán un proceso similar, conocido como atestación remota.

Verificación on-chain de Intel SGX

Press enter or click to view image in full size

La atestación remota permite a una parte remota verificar programáticamente la integridad y las propiedades inmutables del enclave de Intel SGX y, por lo tanto, confiar en la ejecución. El uso de un contrato inteligente como parte remota crea un ancla pública y transparente en la cadena que permite la composabilidad de la confianza: otros contratos inteligentes también pueden confiar en la computación del enclave. Además, el último protocolo de atestación de Intel SGX (DCAP v3) elimina la dependencia de un servicio de atestación centralizado, como se veía en la atestación EPID anterior. Nuestros esfuerzos recientes en el desarrollo de una versión de Solidity de la atestación DCAP permitieron que la verificación completa de los informes de atestación de los enclaves se llevara a cabo en la cadena.

El reporte de atestación contiene la medición criptográfica del entorno de ejecución, incluido hardware, software y datos personalizados. Proporciona dos propiedades importantes que son clave para el diseño del SGX Prover:

Get Automata en Español’s stories in your inbox

Join Medium for free to get updates from this writer.

(1) Integridad: SGX Prover ejecuta una versión esperada del software y se ejecuta en un TEE genuino que nadie más puede falsificar o modificar, incluido el operador de infraestructura;

(2) Autenticidad, el probador SGX posee un par de claves que nunca abandona el TEE. La clave pública se incluye en el informe de atestación para que cualquiera pueda verificar el origen del mensaje verificando el informe de atestación.

Ten en cuenta que la clave SGX Prover tiene un período de validez y se actualiza al final de cada período de validez utilizando la aleatoriedad del hardware. se producen con un alto nivel de entropía y son a la vez imparciales e impredecibles, con la integridad del proceso reforzada por la certificación del enclave a prueba de manipulaciones.

Construyendo en público

Hemos hecho de código abierto tanto el SGX Prover como el SGX Verifier en un único mono-repo bajo la licencia Apache 2.0: https://github.com/automata-network/sgx-prover

SGX Prover

  • Una implementación en Rust que utiliza SputnikVM como motor EVM dentro del enclave seguro.
  • Puede ser compilado y ejecutado en modo de hardware SGX en máquinas capaces (por ejemplo, Azure Standard DC4s v3).
  • El mismo código es compatible tanto con compilaciones SGX como no SGX para facilitar la depuración. Las pruebas iniciales mostraron que SGX incurre en un sobrecoste de rendimiento del ~10% en la verificación de bloques.

SGX Verifier

Utiliza nuestra biblioteca de certificación DCAP v3 previamente de código abierto para la atestación totalmente en cadena. https://github.com/automata-network/automata-dcap-v3-attestation. Se portó basándose en la implementación oficial de código abierto y las especificaciones de Intel.

Con estos, hemos logrado:

  1. Verificación del 100% de todo el historial de bloques de la red de prueba de Scroll. Esto muestra que nuestra implementación es compatible con la especificación zkEVM de Scroll y los cambios de protocolo futuros se seguirán y adaptarán en SGX Prover.
  2. Toda la cadena de suministro para SGX Prover se puede verificar en cada paso clave, incluido el desarrollo de código abierto, la compilación y el artefacto reproducibles, la certificación en tiempo de ejecución y la verificación.

Sistemas multi-prover: ¿Qué sigue?

El TEE Prover es muy nuevo, y esperamos ver más implementaciones e ideas sobre lo que los entornos de ejecución confiables, más allá del alcance de Intel SGX y nuestro trabajo con Scroll, pueden aportar al espacio de los rollups. El impulso hacia la diversidad de probadores fomenta una mayor descentralización y resiliencia; Las diferentes construcciones de pruebas permiten verificar resultados potencialmente adversos entre sí, por ejemplo.

Algunas de las características que planeamos agregar en el futuro cercano:

  • Mejorar la diversidad de tecnologías TEE para el TEE Prover. Esto ayuda en la creación de sistemas multi-prover versátiles que pueden adaptarse a diferentes requisitos.
  • Llevar el TEE Prover a más sistemas de pruebas de validez. Un eje interesante es también considerar cómo los TEE, como Intel SGX, pueden respaldar pruebas de fraude, como en el caso de los rollups optimistas.
  • Mejores frameworks para el TEE prover en escenarios de toma de decisiones que involucran mecanismos de consenso y gobernanza del protocolo.

Para obtener perspectivas, sigue la publicación de Scroll para obtener más información sobre el Proveedor TEE y cómo escala la seguridad en el L2 aquí. También apreciamos mucho los comentarios, así que ponte en contacto.

Acerca de Automata Network

Automata Network es una capa de certificación modular que extiende la confianza a nivel de máquina a Ethereum mediante el aprovechamiento de optimistic rollups y pruebas de conocimiento cero en su enfoque Proof of Machinehood. El rollup específico de la aplicación permite la verificación en cadena para cálculos fuera de protocolo, lo que crea una cadena de confianza ininterrumpida que se extiende hacia arriba a través de toda la pila Web3.

SitioWeb| Telegram | Discord | X | Github | Noticias

--

--

Automata en Español
Automata en Español