En medio del creciente interés por encontrar formas prácticas de escalar y proteger las cadenas de bloques, los enfoques basados en hardware están cobrando protagonismo. El papel de los entornos de ejecución confiables (TEE) en los sistemas de cadena de bloques se ha ampliado gradualmente, pasando de proyectos de preservación de la privacidad a aplicaciones que mejoran la escalabilidad y permiten un cálculo seguro fuera de la cadena. Actualmente, más de 50 equipos están trabajando en proyectos de blockchain basados en TEE. En este artículo, Cointelegraph Research explora los fundamentos técnicos de los TEE en los sistemas blockchain y examina los principales casos de uso de esta tecnología.

Mecánica de los TEE en las cadenas de bloques

La mayor parte de la tecnología blockchain se basa en la criptografía y la computación distribuida para mantener la seguridad. Los TEE añaden un enfoque diferente, concretamente, la confianza a nivel de hardware.

Un entorno de ejecución confiable es un área aislada dentro del procesador de un dispositivo que está diseñada para mantener los datos y el código a prueba de manipulaciones y confidenciales durante la ejecución. El enclave seguro resultante es inaccesible para el resto del sistema operativo y puede demostrar a terceros, mediante una certificación remota, qué instrucciones está ejecutando.

Para ello, la CPU mide la base de computación confiable, que incluye el firmware de arranque, el núcleo del sistema operativo y los binarios de las aplicaciones, y la guarda en registros de hardware seguros. A continuación, firma esta medición utilizando una clave de certificación privada integrada en la CPU. Esto genera un informe de certificación cripto que un verificador remoto puede comprobar para confirmar la autenticidad e integridad del enclave.


Aprovechar esta confianza a nivel de hardware para la ejecución confidencial de contratos inteligentes requiere que los nodos de la blockchain utilicen chips con un TEE. Este requisito se aplica normalmente a los nodos que se encargan de las transacciones, así como de la validación de bloques y el cálculo fuera de la cadena. En una configuración de capa 1, los nodos de consenso continúan replicando una versión cifrada del estado de cada contrato como parte del libro mayor global.

Cada uno de los nodos contiene un TEE que replica el descifrado, la ejecución de texto plano y el recifrado de cada transacción. Esta dependencia del hardware introduce una compensación entre una mayor privacidad y un conjunto de validadores más pequeño. Si se requiere un hardware específico, menos personas pueden ejecutar nodos. Sin embargo, la confianza adicional que esto requiere se compensa en parte con la certificación remota que pueden proporcionar los TEE.

Un diseño alternativo es un esquema de capa 2 en el que los cálculos de los TEE no están protegidos por un consenso distribuido, sino por un mecanismo de resolución de disputas, como se ve en los rollups. Este enfoque utiliza un canal de cifrado similar al de una configuración L1, pero puede ayudar a mejorar la escalabilidad. Sin embargo, la mayoría de los sistemas de capa 2 pierden la interoperabilidad de los contratos, ya que se ejecutan en máquinas separadas, lo que significa que los contratos no pueden llamarse entre sí.

Los TEE utilizan criptografía asimétrica estándar para ocultar las llamadas a funciones y el código de los contratos inteligentes. Las llamadas a funciones se cifran con la clave pública de los TEE antes de enviarse a la cadena de bloques, donde se descifran en el enclave y se ejecutan.

Secret Network, creada con Cosmos SDK e Intel SGX, fue la primera cadena de bloques en contar con contratos inteligentes privados facilitados por TEE. Los contratos secretos permiten a los desarrolladores crear aplicaciones DeFi confidenciales, que ocultan la lógica, las entradas, los resultados y el estado de los contratos, pero no las direcciones. También permiten la creación de tokens secretos, cuyos saldos e historial de transacciones permanecen confidenciales y solo son visibles para sus propietarios o para los contratos inteligentes explícitamente autorizados.

Vulnerabilidades de los entornos de ejecución confiables

La ejecución de contratos inteligentes privados depende de la confiabilidad del fabricante del hardware los TEE. Si bien es dudoso que una empresa como Intel ponga en peligro su reputación con un ataque dirigido a los sistemas blockchain, el Management Engine (IME) de Intel, un sistema autónomo integrado en la mayoría de las CPU de Intel desde 2008, ha contenido múltiples vulnerabilidades graves a lo largo de los años.

Los proveedores de TEE pueden caer bajo la influencia del gobierno para introducir puertas traseras, cumplir con mandatos de vigilancia o proporcionar acceso a datos cifrados en virtud de las leyes de seguridad nacional. Las vulnerabilidades accidentales también podrían socavar la seguridad de un TEE. Por ejemplo, el ataque Plundervolt aprovechó la interfaz de voltaje dinámico de Intel para inducir fallos de cálculo dentro de los enclaves SGX, lo que permitió a los atacantes eludir las comprobaciones de integridad y extraer claves y secretos de la memoria cifrada.

Ejecución privada de contratos inteligentes con TEE

Para permitir las DApps que preservan la privacidad, los contratos inteligentes deben ejecutarse de manera que se mantenga la confidencialidad tanto de la lógica como de los datos. Para leer y ejecutar el código confidencial de los contratos inteligentes, los TEE pueden acceder a las claves necesarias para descifrar los datos del contrato.

Si estas claves se ven comprometidas, un atacante podría descifrar los datos del contrato almacenados previamente. Para evitarlo, los entornos de ejecución confiables utilizan una gestión de claves distribuida que divide el control de las claves entre varios nodos confiables y rota con frecuencia las claves a corto plazo para limitar el impacto de una violación.

Ekiden fue el primero en diseñar un sistema de este tipo, que sirvió de base para modelos similares en otras cadenas de bloques. Las claves más sensibles son gestionadas por el KMC (comité de gestión de claves, que es un grupo de los nodos más confiables) con criptografía de umbral. Las participaciones del comité se redistribuyen de forma proactiva para rotar quién posee cada participación. Mientras tanto, los nodos de trabajo individuales poseen claves de acceso limitado y de corta duración vinculadas a tareas específicas.

Estas claves son emitidas por el KMC para cada contrato y caducan al final de cada época. Para obtener una clave, un nodo de trabajo debe demostrar primero su legitimidad al KMC a través de canales seguros. A continuación, cada miembro del KMC genera una parte de la clave utilizando una función pseudoaleatoria y la transmite al nodo, que reconstruye la clave completa una vez que ha recopilado un número suficiente de partes.

Si un nodo del KMC se ve comprometido, su acceso puede revocarse a través de la gobernanza y se le excluirá de futuras épocas. Esto reduce el impacto potencial de una violación, aunque no lo elimina por completo. Cuando se implementa un contrato confidencial, su enclave genera una nueva clave pública y la publica en la cadena de bloques junto con el código del contrato y el estado inicial cifrado.

Los usuarios que posteriormente invocan el contrato recuperan esta clave para cifrar sus entradas antes de enviarlas al nodo de cómputo. Para garantizar la autenticidad, el nodo también proporciona una clave de firma vinculada al enclave mediante una certificación cuando se inicia.

Otros casos de uso de TEE en cadenas de bloques

Más allá de la ejecución de contratos inteligentes privados, los TEE pueden mejorar significativamente la escalabilidad y la eficiencia de la cadena de bloques. Los nodos habilitados para TEE pueden ejecutar de forma segura tareas computacionalmente intensivas fuera de la cadena y enviar los resultados a la cadena. De este modo, las aplicaciones pueden descargar la sobrecarga computacional de la capa de la cadena de bloques al entorno confiable fuera de la cadena. Esto puede ayudar a reducir los costos de gas y aumentar el rendimiento general de la cadena.

IExec es una de las mayores plataformas de computación en la nube descentralizadas que utiliza entornos de ejecución confiables para los cálculos fuera de la cadena. Utiliza enclaves basados en Intel SGX para descargar y aislar los cálculos de la cadena de bloques.

Un solicitante, normalmente un contrato inteligente o un usuario, puede adquirir un cálculo confidencial como una tarea onchain. A continuación, la cadena de bloques notifica a los nodos de trabajo que ejecuten la tarea dentro de un enclave seguro. Antes de proceder a la ejecución, el enclave genera un informe de certificación que contiene pruebas criptográficas del código y la configuración del enclave.

Este informe se envía a un servicio de gestión de secretos, que verifica la integridad y autenticidad del enclave. Solo si el enclave pasa esta verificación comienza el cálculo real.

Los entornos de ejecución confiables también se pueden utilizar para proporcionar una infraestructura de cadena de bloques a prueba de MEV. Unichain, un rollup optimista en Ethereum desarrollado por el equipo de Uniswap y lanzado en octubre de 2024, aprovecha los TEE en su proceso de generación de bloques. Su generador de bloques, desarrollado en colaboración con Flashbots, utiliza TEE para construir bloques dentro de un enclave protegido.

Cuando se envían al generador TEE, las transacciones se filtran, se ordenan por prioridad y se agrupan en Flashblocks. Esto permite a Unichain alcanzar tiempos de bloque de 1 segundo, con planes de introducir subbloques de 250 milisegundos y mejorar el orden de las transacciones. La creación de bloques dentro de los TEE ayuda a reducir la extracción de MEV, ya que las transacciones del mempool permanecen cifradas. Con estas características, Unichain pretende crear una cadena de bloques designada para DeFi.

Conclusión

Los entornos de ejecución confiables en blockchains están ganando impulso a medida que los desarrolladores buscan soluciones de privacidad más eficientes. Los TEE tienen el potencial de dar forma al futuro de las aplicaciones descentralizadas con computación segura de bajo costo y alta latencia. A pesar de su potencial, los TEE aún no son compatibles de forma nativa con la mayoría de las blockchains debido a los requisitos de hardware y las suposiciones de confianza.

En el futuro, esperamos que los casos de uso de los TEE se expandan desde las aplicaciones de preservación de la privacidad y se centren en soluciones de escalabilidad para cadenas de bloques y computación fuera de cadena para aplicaciones descentralizadas. Este cambio está impulsado por la aparición de DApps más exigentes desde el punto de vista computacional, como las aplicaciones de IA descentralizadas. Los TEE pueden facilitar estos casos de uso con una computación fuera de cadena de bajo costo y alto rendimiento.

Este artículo no contiene consejos ni recomendaciones de inversión. Toda inversión y operación conlleva riesgos, por lo que los lectores deben realizar sus propias investigaciones antes de tomar una decisión.