Presentación del acero

Intermedio5/27/2024, 5:05:26 AM
RISC Zero es uno de los principales desarrolladores de zkVM y recientemente ha lanzado Steel, una biblioteca de prueba de llamadas de vista basada en Alloy. Esto trae una transformación significativa en la forma en que los desarrolladores interactúan con Ethereum L1 u otras cadenas EVM. Utilizando pruebas de conocimiento cero y RISC Zero zkVM, Steel permite a los desarrolladores realizar llamadas de visualización y leer y calcular de forma demostrable el estado de Ethereum de forma escalable, segura y rentable.

Presentamos el acero: una aleación endurecida, que conecta RISC Zero con Ethereum

El éxito de Ethereum ha dado lugar a un próspero ecosistema de aplicaciones descentralizadas, pero los desafíos de escalabilidad se han vuelto cada vez más evidentes. Los desarrolladores se encuentran con una difícil elección: limitar la funcionalidad y la riqueza de datos de sus aplicaciones o soportar la carga de tarifas de gas o límites de gas excesivos. ¿Qué pasaría si hubiera una forma de que los desarrolladores eludieran estas limitaciones?

Steel, la biblioteca de prueba de llamadas de vista basada en Alloy de RISC Zero, representa un gran cambio en la forma en que los desarrolladores interactúan con Ethereum L1 o cadenas basadas en EVM. Al aprovechar el poder de las pruebas de conocimiento cero y la zkVM RISC Zero, Steel permite a los desarrolladores ejecutar llamadas de vista y leer y calcular de manera demostrable el estado de Ethereum de una manera escalable, segura y económicamente eficiente.

La comodidad de Solidity, con el poder de ZK.

Steel cierra la brecha entre el desarrollo de aplicaciones de Ethereum y la tecnología de conocimiento cero, lo que hace que sea más fácil que nunca para los desarrolladores aprovechar el poder de ZK en sus contratos inteligentes. En combinación con las capacidades de RISC Zero zkVM, Steel permite a los desarrolladores crear aplicaciones más seguras, escalables y eficientes en Ethereum L1 o en cualquier cadena equivalente a EVM.

Con Steel, los desarrolladores obtienen la capacidad de:

  • Ejecute contratos inteligentes de Solidity directamente dentro de zkVM para una lógica on-chain más sofisticada
  • Acceda al estado histórico de Ethereum dentro de la zkVM
  • Cómputo sin limitaciones de tamaño de bloques y transacciones mediante continuaciones
  • Garantice cálculos seguros y confiables fuera de la cadena, como si se ejecutaran en la cadena
  • Utilice la primera zkVM lista para producción, rigurosamente probada y utilizada por varios socios
  • Cómputo privado sobre el estado de Ethereum
  • Mantenga la flexibilidad con una base de código abierto, sin dependencia de un proveedor

Integración perfecta y ahorro de costes

Con Steel, ejecutar una llamada de vista es tan simple como especificar los métodos de Solidity deseados. Ya sea recuperando un saldo de tokens ERC-20 (ejemplo) o accediendo a cualquier aspecto del estado de Ethereum, Steel simplifica el proceso al tiempo que garantiza la seguridad y la eficiencia a través de una integración perfecta con la zkVM RISC Zero. Nuestras pruebas han demostrado la capacidad de Steel para manejar más de 100 mil operaciones de SLOAD en una sola llamada, lo que podría ahorrar miles de dólares en tarifas de gas en la red principal. Podemos comprobarlo en unos 15 minutos usando Bonsái. Esto requeriría al menos 210 millones de gas, superando el límite de bloque en 7 veces.

Ejemplo: ERC20 balanceOf

En los fragmentos de código a continuación, demostramos el proceso de prueba del saldo de una dirección específica para un contrato ERC-20 implementado en Ethereum usando Steel. Este ejemplo muestra cómo los desarrolladores pueden utilizar Steel para interactuar con los datos de Ethereum en cadena dentro de los límites de una zkVM. Puedes encontrar el código completo aquí.

Definición de la firma de la función de vista

Comience definiendo la signatura de la función balanceOf de ERC-20 usando el comando sol! macro. Esto analizará la sintaxis de Solidity para generar una estructura de Rust correspondiente, que implementa el rasgo SolCall. Esta estructura se puede usar para llamar al método balanceOf, que toma una dirección de cuenta y devuelve el saldo de token ERC-20 asociado.

Preparación de la convocatoria

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

Ejecución de la llamada en Main

La función principal se ejecuta en zkVM, produciendo una prueba de conocimiento cero. Comienza leyendo el entorno de entrada y, a continuación, construye un objeto ViewCallEnv, asegurándose de que el estado actual coincida con la raíz de estado esperada. Después de confirmar el hash y el número de bloque relevantes, se ejecuta la llamada de vista y se imprime el saldo.

Cómo funciona

Steel simplifica el proceso de probar la ejecución del código de Solidity en la zkVM RISC Zero en tres sencillos pasos:

  1. Fase previa al vuelo: Inicie una verificación previa realizando una llamada de vista al nodo RPC de Ethereum. De este modo, se almacenan en caché las ranuras de almacenamiento necesarias y se rellena la base de datos de EVM solo con los datos necesarios para la consulta. Todas las ranuras de almacenamiento se detectan y recuperan automáticamente en función de la ejecución de la llamada de vista.
  2. Verificación de almacenamiento: Realice una comprobación de la integridad del almacenamiento, asegurándose de que los datos de la base de datos de EVM se alinean con la raíz de estado de la cadena de bloques, confirmando así su legitimidad.
  3. Ejecución de Solidity: Ejecute la función Solidity dada en la EVM, dentro de la zkVM RISC Zero.

¿En qué se diferencia de las pruebas de almacenamiento?

Con las pruebas de almacenamiento tradicionales, los desarrolladores deben seleccionar manualmente qué ranuras de almacenamiento utiliza su contrato inteligente y volver a implementar la lógica del contrato inteligente. Con steel, todas las ranuras de almacenamiento se detectan y recuperan automáticamente en función de la ejecución de la llamada de vista. Esto ahorra a los desarrolladores una cantidad significativa de tiempo y disminuye el margen de errores de implementación, lo que reduce la posibilidad de vulnerabilidades de seguridad.

Obtener el hash de bloque verificado

Cuando se utiliza el código de operación blockhash para la validación en los contratos inteligentes de Ethereum, el compromiso de validación debe hacer referencia a un blockhash de no más de 256 bloques de antigüedad. Dado un tiempo de bloque promedio de 12 segundos, esto establece un marco de tiempo estrecho de aproximadamente 50 minutos para completar la generación de pruebas y confirmar la inclusión de la transacción de validación dentro de un bloque.

Cuando se necesita un hash de bloque verificado de más de 256 bloques en la cadena, se pueden utilizar varias estrategias:

  • Cuando el hash de bloque que se necesitará se conoce de antemano (por ejemplo, al iniciar una propuesta de gobernanza), ese hash de bloque se puede guardar en el estado de contrato.
  • Otro enfoque es usar RISC Zero para probar la cadena hash desde el bloque que se consultó hasta un bloque en el 256 más reciente.

El futuro de las aplicaciones on-chain

Imaginamos un futuro en el que haya una integración perfecta de la computación fuera de la cadena con la validación dentro de la cadena. Steel es nuestra contribución para hacer realidad esta visión, al permitir a los desarrolladores acceder y calcular de forma demostrable toda la historia de Ethereum dentro de zkVM para crear la próxima ola de aplicaciones en cadena ricas en datos y más funcionales.

Primeros pasos con el acero

El acero es un componente clave del compromiso de RISC Zero con el lanzamiento de zkVM 1.0, un hito hacia la verificación barata y segura de pruebas on-chain y las pruebas universales de conocimiento cero. Comience a usar Steel hoy mismo visitando nuestro repositorio de GitHub para obtener documentación, ejemplos de código y recursos que lo ayudarán a integrar Steel en su proyecto.

Renuncia:

  1. Este artículo es una reimpresión de [riscze]. Todos los derechos de autor pertenecen al autor original [Santiago Campos]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Compartir

Presentación del acero

Intermedio5/27/2024, 5:05:26 AM
RISC Zero es uno de los principales desarrolladores de zkVM y recientemente ha lanzado Steel, una biblioteca de prueba de llamadas de vista basada en Alloy. Esto trae una transformación significativa en la forma en que los desarrolladores interactúan con Ethereum L1 u otras cadenas EVM. Utilizando pruebas de conocimiento cero y RISC Zero zkVM, Steel permite a los desarrolladores realizar llamadas de visualización y leer y calcular de forma demostrable el estado de Ethereum de forma escalable, segura y rentable.

Presentamos el acero: una aleación endurecida, que conecta RISC Zero con Ethereum

El éxito de Ethereum ha dado lugar a un próspero ecosistema de aplicaciones descentralizadas, pero los desafíos de escalabilidad se han vuelto cada vez más evidentes. Los desarrolladores se encuentran con una difícil elección: limitar la funcionalidad y la riqueza de datos de sus aplicaciones o soportar la carga de tarifas de gas o límites de gas excesivos. ¿Qué pasaría si hubiera una forma de que los desarrolladores eludieran estas limitaciones?

Steel, la biblioteca de prueba de llamadas de vista basada en Alloy de RISC Zero, representa un gran cambio en la forma en que los desarrolladores interactúan con Ethereum L1 o cadenas basadas en EVM. Al aprovechar el poder de las pruebas de conocimiento cero y la zkVM RISC Zero, Steel permite a los desarrolladores ejecutar llamadas de vista y leer y calcular de manera demostrable el estado de Ethereum de una manera escalable, segura y económicamente eficiente.

La comodidad de Solidity, con el poder de ZK.

Steel cierra la brecha entre el desarrollo de aplicaciones de Ethereum y la tecnología de conocimiento cero, lo que hace que sea más fácil que nunca para los desarrolladores aprovechar el poder de ZK en sus contratos inteligentes. En combinación con las capacidades de RISC Zero zkVM, Steel permite a los desarrolladores crear aplicaciones más seguras, escalables y eficientes en Ethereum L1 o en cualquier cadena equivalente a EVM.

Con Steel, los desarrolladores obtienen la capacidad de:

  • Ejecute contratos inteligentes de Solidity directamente dentro de zkVM para una lógica on-chain más sofisticada
  • Acceda al estado histórico de Ethereum dentro de la zkVM
  • Cómputo sin limitaciones de tamaño de bloques y transacciones mediante continuaciones
  • Garantice cálculos seguros y confiables fuera de la cadena, como si se ejecutaran en la cadena
  • Utilice la primera zkVM lista para producción, rigurosamente probada y utilizada por varios socios
  • Cómputo privado sobre el estado de Ethereum
  • Mantenga la flexibilidad con una base de código abierto, sin dependencia de un proveedor

Integración perfecta y ahorro de costes

Con Steel, ejecutar una llamada de vista es tan simple como especificar los métodos de Solidity deseados. Ya sea recuperando un saldo de tokens ERC-20 (ejemplo) o accediendo a cualquier aspecto del estado de Ethereum, Steel simplifica el proceso al tiempo que garantiza la seguridad y la eficiencia a través de una integración perfecta con la zkVM RISC Zero. Nuestras pruebas han demostrado la capacidad de Steel para manejar más de 100 mil operaciones de SLOAD en una sola llamada, lo que podría ahorrar miles de dólares en tarifas de gas en la red principal. Podemos comprobarlo en unos 15 minutos usando Bonsái. Esto requeriría al menos 210 millones de gas, superando el límite de bloque en 7 veces.

Ejemplo: ERC20 balanceOf

En los fragmentos de código a continuación, demostramos el proceso de prueba del saldo de una dirección específica para un contrato ERC-20 implementado en Ethereum usando Steel. Este ejemplo muestra cómo los desarrolladores pueden utilizar Steel para interactuar con los datos de Ethereum en cadena dentro de los límites de una zkVM. Puedes encontrar el código completo aquí.

Definición de la firma de la función de vista

Comience definiendo la signatura de la función balanceOf de ERC-20 usando el comando sol! macro. Esto analizará la sintaxis de Solidity para generar una estructura de Rust correspondiente, que implementa el rasgo SolCall. Esta estructura se puede usar para llamar al método balanceOf, que toma una dirección de cuenta y devuelve el saldo de token ERC-20 asociado.

Preparación de la convocatoria

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

Ejecución de la llamada en Main

La función principal se ejecuta en zkVM, produciendo una prueba de conocimiento cero. Comienza leyendo el entorno de entrada y, a continuación, construye un objeto ViewCallEnv, asegurándose de que el estado actual coincida con la raíz de estado esperada. Después de confirmar el hash y el número de bloque relevantes, se ejecuta la llamada de vista y se imprime el saldo.

Cómo funciona

Steel simplifica el proceso de probar la ejecución del código de Solidity en la zkVM RISC Zero en tres sencillos pasos:

  1. Fase previa al vuelo: Inicie una verificación previa realizando una llamada de vista al nodo RPC de Ethereum. De este modo, se almacenan en caché las ranuras de almacenamiento necesarias y se rellena la base de datos de EVM solo con los datos necesarios para la consulta. Todas las ranuras de almacenamiento se detectan y recuperan automáticamente en función de la ejecución de la llamada de vista.
  2. Verificación de almacenamiento: Realice una comprobación de la integridad del almacenamiento, asegurándose de que los datos de la base de datos de EVM se alinean con la raíz de estado de la cadena de bloques, confirmando así su legitimidad.
  3. Ejecución de Solidity: Ejecute la función Solidity dada en la EVM, dentro de la zkVM RISC Zero.

¿En qué se diferencia de las pruebas de almacenamiento?

Con las pruebas de almacenamiento tradicionales, los desarrolladores deben seleccionar manualmente qué ranuras de almacenamiento utiliza su contrato inteligente y volver a implementar la lógica del contrato inteligente. Con steel, todas las ranuras de almacenamiento se detectan y recuperan automáticamente en función de la ejecución de la llamada de vista. Esto ahorra a los desarrolladores una cantidad significativa de tiempo y disminuye el margen de errores de implementación, lo que reduce la posibilidad de vulnerabilidades de seguridad.

Obtener el hash de bloque verificado

Cuando se utiliza el código de operación blockhash para la validación en los contratos inteligentes de Ethereum, el compromiso de validación debe hacer referencia a un blockhash de no más de 256 bloques de antigüedad. Dado un tiempo de bloque promedio de 12 segundos, esto establece un marco de tiempo estrecho de aproximadamente 50 minutos para completar la generación de pruebas y confirmar la inclusión de la transacción de validación dentro de un bloque.

Cuando se necesita un hash de bloque verificado de más de 256 bloques en la cadena, se pueden utilizar varias estrategias:

  • Cuando el hash de bloque que se necesitará se conoce de antemano (por ejemplo, al iniciar una propuesta de gobernanza), ese hash de bloque se puede guardar en el estado de contrato.
  • Otro enfoque es usar RISC Zero para probar la cadena hash desde el bloque que se consultó hasta un bloque en el 256 más reciente.

El futuro de las aplicaciones on-chain

Imaginamos un futuro en el que haya una integración perfecta de la computación fuera de la cadena con la validación dentro de la cadena. Steel es nuestra contribución para hacer realidad esta visión, al permitir a los desarrolladores acceder y calcular de forma demostrable toda la historia de Ethereum dentro de zkVM para crear la próxima ola de aplicaciones en cadena ricas en datos y más funcionales.

Primeros pasos con el acero

El acero es un componente clave del compromiso de RISC Zero con el lanzamiento de zkVM 1.0, un hito hacia la verificación barata y segura de pruebas on-chain y las pruebas universales de conocimiento cero. Comience a usar Steel hoy mismo visitando nuestro repositorio de GitHub para obtener documentación, ejemplos de código y recursos que lo ayudarán a integrar Steel en su proyecto.

Renuncia:

  1. Este artículo es una reimpresión de [riscze]. Todos los derechos de autor pertenecen al autor original [Santiago Campos]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!