Título original: "Presentando el acero"

Compilado por: Chris, Techub News

Acero, conectando RISC Zero y Ethereum

El éxito de la red Ethereum ha promovido el vigoroso desarrollo del ecosistema DApp, pero conlleva desafíos de escalabilidad cada vez más graves. Los desarrolladores se enfrentan a un dilema: limitar la funcionalidad y la riqueza de datos de sus aplicaciones o soportar altas tarifas de gas y restricciones de uso. Entonces, ¿qué pasaría si los desarrolladores pudieran encontrar una manera de sortear estas restricciones?

RISC Zero es uno de los desarrolladores de zkVM. Es posible que haya oído hablar de zkEVM con frecuencia, pero es posible que no esté familiarizado con su concepto derivado, zkVM. RISC Zero lanzó recientemente una nueva tecnología llamada Steel, una biblioteca de prueba de llamadas basada en Alloy que revolucionará la forma en que los desarrolladores interactúan con Ethereum L1 u otras cadenas compatibles con EVM. Al aprovechar las pruebas de conocimiento cero y la tecnología zkVM de RISC Zero, Steel proporciona a los desarrolladores una forma escalable, segura y rentable de realizar llamadas de visualización y leer y calcular de forma verificable el estado de Ethereum.

La conveniencia de Solidity, con el poder de ZK

Steel tiende un puente entre el desarrollo de aplicaciones de Ethereum y la tecnología de prueba de conocimiento cero, lo que facilita enormemente el proceso de los desarrolladores que aplican la tecnología de prueba de conocimiento cero (ZK) en contratos inteligentes. Al integrar las capacidades zkVM de RISC Zero, Steel proporciona a los desarrolladores las herramientas para crear aplicaciones más seguras, escalables y eficientes en Ethereum L1 o cualquier cadena compatible con EVM.

Con Steel, los desarrolladores pueden lograr mejoras significativas en:

  1. Ejecute directamente lógica en cadena compleja: ejecute contratos inteligentes de Solidity directamente en zkVM para admitir una lógica en cadena más compleja.

  1. Acceda al estado histórico: acceda al estado histórico de Ethereum en zkVM, lo que proporciona un recurso más amplio para el análisis y la verificación de datos.

  1. Supere los límites computacionales: utilice continuaciones para realizar cálculos sin estar limitado por el tamaño del bloque o el tamaño de los datos de la transacción.

  1. Garantice la seguridad de los cálculos fuera de la cadena: asegúrese de que la seguridad de los cálculos fuera de la cadena sea tan confiable como la ejecución dentro de la cadena.

  1. ZkVM probado: aproveche el primer zkVM rigurosamente probado por múltiples socios y utilizado en entornos de producción.

  1. Cálculo privado: realice un cálculo privado del estado de Ethereum para mejorar la protección de datos.

  1. Flexibilidad de código abierto: habilitada a través de una base de código fuente abierto, lo que garantiza flexibilidad y libertad frente a las limitaciones de los proveedores.

La introducción de Steel proporciona a los desarrolladores una poderosa herramienta para integrar tecnología avanzada a prueba de conocimiento cero en la tecnología blockchain existente, promoviendo una mayor innovación en el desarrollo de aplicaciones blockchain.

Integración perfecta y ahorro de costes

Con Steel, realizar una llamada de vista es tan simple como especificar el método Solidity requerido. Ya sea recuperando saldos de tokens ERC-20 (ejemplo) o accediendo a todo desde el estado de Ethereum, Steel simplifica el proceso al integrarse perfectamente con RISC Zero zkVM al tiempo que garantiza la seguridad y la eficiencia. Las pruebas han demostrado que Steel es capaz de manejar más de 100.000 operaciones SLOAD en una sola llamada, ahorrando miles de dólares en costos de gas en la red principal. Podemos probarlo en unos 15 minutos usando Bonsai, que requiere al menos 210 millones de gas, lo que supera 7 veces el límite de bloques.

Ejemplo: saldo ERC20 de

El siguiente fragmento de código demuestra el proceso de uso de Steel para demostrar el saldo de una dirección específica para un contrato ERC-20 implementado en Ethereum. Este ejemplo muestra cómo los desarrolladores pueden aprovechar Steel para interactuar con los datos en cadena de Ethereum dentro de zkVM. El código completo se puede ver aquí.

Definir la firma de la función de vista

Primero, use la macro sol! para definir la firma de la función balanceOf de ERC-20. Esto analizará la sintaxis de Solidity para generar una estructura Rust correspondiente que implemente el rasgo SolCall y pueda usarse para llamar al método balanceOf, que acepta una dirección de cuenta y devuelve el saldo del token ERC-20 asociado.

listo para llamar

A continuación, configure la llamada creando una instancia de la estructura balanceOfCall con la dirección de la cuenta de destino. Al mismo tiempo, defina constantes para la dirección del contrato que desea consultar y la dirección de la persona que llama.

Ejecutar la llamada en Main

La función principal se ejecuta en zkVM y genera pruebas de conocimiento cero. Primero lee el entorno de entrada y luego construye un objeto ViewCallEnv, asegurando que el estado actual coincida con el estado raíz esperado. Después de enviar el número y el hash del bloque correspondiente, realice una llamada de visualización e imprima el saldo.

principio

Steel simplifica el proceso de ejecución de código Solidity en RISC Zero zkVM, permitiendo la revisión del código en tres pasos claros:

  1. Fase previa al vuelo: esta fase se inicia emitiendo una llamada de vista al nodo RPC de Ethereum. Este proceso almacena en caché las ranuras de almacenamiento requeridas y completa la base de datos EVM según los requisitos de la consulta. Todas las ranuras de almacenamiento se descubren y obtienen automáticamente mediante la ejecución de llamadas de vista.

  1. Verificación del almacenamiento: este paso implica verificar la integridad del almacenamiento para garantizar que los datos en la base de datos EVM sean consistentes con el estado raíz de la cadena de bloques, verificando así la legitimidad de los datos.

  1. Ejecución de Solidity: ejecute funciones de Solidity especificadas en el EVM dentro de RISC Zero zkVM para garantizar que el código se ejecute como se esperaba.

Con estos tres pasos, Steel proporciona una manera eficiente y confiable de probar y ejecutar código Solidity en RISC Zero zkVM, simplificando enormemente todo el proceso.

¿En qué se diferencia esto de la prueba de almacenamiento?

Con la prueba de almacenamiento tradicional, los desarrolladores deben seleccionar manualmente las ranuras de almacenamiento utilizadas por sus contratos inteligentes y volver a implementar la lógica del contrato inteligente. Con Steel, todas las ranuras de almacenamiento se descubren y recuperan automáticamente en función de las llamadas de visualización. Esto ahorra mucho tiempo a los desarrolladores y reduce la probabilidad de errores de implementación, reduciendo así la posibilidad de vulnerabilidades de seguridad.

Obtener hash de bloque verificado

Al validar utilizando el código de operación blockhash en un contrato inteligente de Ethereum, el compromiso de validación debe hacer referencia a un hash de bloque que no tenga más de 256 bloques de antigüedad. Teniendo en cuenta que el tiempo promedio de bloque es de 12 segundos, esto establece un marco de tiempo estrecho de aproximadamente 50 minutos para la generación completa de pruebas y la confirmación de que la transacción validada se ha incluido en un bloque.

Cuando necesite obtener un hash de bloque verificado en cadena que tenga más de 256 bloques, puede utilizar una de varias estrategias:

  • Cuando se conoce de antemano el hash de bloque que se necesitará (por ejemplo, al lanzar una propuesta de gobernanza), este hash de bloque se puede guardar en el estado de contrato.

  • Otro enfoque es utilizar RISC Zero para probar la cadena de hashes desde el bloque consultado hasta uno de los 256 bloques más recientes.

El futuro de las aplicaciones en cadena

Imagine un futuro en el que la computación fuera de la cadena se integre perfectamente con la verificación dentro de la cadena. Steel contribuye a esta visión al permitir a los desarrolladores acceder y calcular de manera confiable el historial completo de Ethereum dentro de zkVM, lo que les permite crear la próxima generación de aplicaciones en cadena más potentes y ricas en datos.

Autor: TechubNews; de "DeDehao", una plataforma de contenido abierto de ChainDD. Este artículo solo representa la opinión del autor y no representa la posición oficial de ChainDD. Para los artículos de "DeHao", la originalidad y autenticidad del contenido están garantizadas. colaborador. Si el manuscrito es plagiado, falsificado, etc., las consecuencias legales serán responsabilidad del propio colaborador. Si hay alguna infracción, violación de las regulaciones u otro contenido del discurso inapropiado, se solicita a los lectores que lo supervisen una vez confirmado. , la plataforma se desconectará inmediatamente. Si tiene algún problema con el contenido del artículo, comuníquese con WeChat: chaindd123