Arbitrum Stylus: un nuevo estándar para la componibilidad de contratos inteligentes

IntermedioJan 06, 2024
El artículo profundiza en las motivaciones detrás de Arbitrum Stylus, los detalles de su implementación y su impacto en el espacio Web3.
Arbitrum Stylus: un nuevo estándar para la componibilidad de contratos inteligentes

Introducción

Desde luchar con el código de bytes en Etherscan hasta protegerse contra todo tipo de vulnerabilidades de código en Solidity, la pila tecnológica EVM del desarrollo de blockchain es bastante diferente de la pila tecnológica web2 para muchos desarrolladores, creando así una "brecha" entre la tecnología Solidity-EVM stack y los lenguajes principales como Rust, C++ o Python. A medida que el espacio blockchain continúa madurando, existe una gran necesidad de cerrar esta brecha de desarrolladores y permitir un desarrollo web3 mucho más componible.

En este artículo, presentaremos el último proyecto de Offchain Labs, Arbitrum Stylus, presentado en la conferencia Blockchain Applications Stanford Summit (BASS) durante la Stanford Blockchain Week. Arbitrum Stylus es un proyecto histórico que tiene como objetivo crear un nuevo estándar para la componibilidad de contratos inteligentes mediante la unificación del entorno de ejecución de EVM con el de WASM. Primero, discutiremos algunas de las motivaciones detrás de este proyecto, antes de profundizar en algunos de los detalles de implementación del proyecto y, finalmente, discutiremos el impacto del proyecto en el espacio web3.

Motivación para Arbitrum Stylus

Arbitrum Stylus se desarrolló para abordar dos problemas clave en el desarrollo de blockchain: (1) la accesibilidad del desarrollo de blockchain y (2) la eficiencia de ejecución de los contratos inteligentes.

Hacer que el desarrollo de Blockchain sea más accesible

Informe del desarrollador de Electric Capital. Imagen de la fuente [1]. Consultado el 20 de octubre de 2023.

Según el Informe de desarrolladores de Electric Capital, actualmente hay alrededor de 20.000 desarrolladores de blockchain activos mensualmente [1]. Aunque este número ha aumentado considerablemente en los últimos años, todavía está muy por detrás de los millones (o decenas de millones) de desarrolladores que utilizan lenguajes de propósito general como Rust o C++. A medida que el espacio blockchain continúa creciendo, existe una necesidad cada vez mayor de agilizar el proceso de incorporación de millones de nuevos desarrolladores de contratos inteligentes.

Una de las mejores formas de hacerlo es integrando el proceso de desarrollo de contratos inteligentes con los lenguajes convencionales existentes, como Rust o C++. Este es el enfoque que han adoptado muchos ecosistemas que no son EVM, como Solana y Cosmos, y Rust emergió como el lenguaje de contrato inteligente de facto en esos ecosistemas. Sin embargo, hasta ahora el ecosistema EVM se basa principalmente en su propio lenguaje de programación, Solidity, para escribir contratos inteligentes. Arbitrum Stylus, sin embargo, busca cambiar esto permitiendo a los desarrolladores de blockchain escribir contratos inteligentes en lenguajes convencionales como Rust y luego implementarlos en cadenas compatibles con EVM.

Hacer que la ejecución de contratos inteligentes sea más eficiente

En los últimos años, a medida que las aplicaciones descentralizadas han ganado popularidad, ha habido un aumento espectacular de la demanda de computación en cadena, especialmente en la red Ethereum. Este aumento en la demanda de la red ha provocado precios exorbitantes del gas. Esto, a su vez, ha estimulado una oleada de innovación para aumentar el rendimiento transaccional de las cadenas de bloques públicas, y Arbitrum es uno de los proyectos y ecosistemas más destacados en este espacio. Esto incluye la cadena insignia Arbitrum One L2, así como la pila tecnológica Arbitrum Nitro .

Arbitrum Stylus es una extensión natural de todo esto y la última solución en el conjunto de herramientas de Arbitrum. En comparación con las soluciones anteriores, que se centran en optimizar la eficiencia intertransaccional de las transacciones (como agrupar transacciones por lotes a través de acumulaciones), Stylus se centra en optimizar el nivel intratransaccional, específicamente, cómo se ejecuta cada transacción. Al permitir que los contratos se ejecuten en WebAssembly (WASM), los contratos Stylus son un orden de magnitud más rápidos, prometen tarifas de gas más bajas, además de tener acceso a una memoria que puede ser hasta 100-500 veces más barata que usar EVM [2].

Stylus: proporcionando capacidad de composición WASM + EVM

WebAssembly y Arbitrum Nitro

Para comprender por qué Stylus es mucho más eficiente y componible que un motor EVM tradicional, primero debemos comprender la función de WebAssembly o WASM. WASM es una forma de lenguaje ensamblador, lo que significa que es esencialmente código binario legible por máquina, en lugar de lenguajes legibles por humanos como Rust o C++. En cambio, estos lenguajes legibles por humanos necesitan un "compilador" que los transforme en "lenguajes ensambladores" legibles por máquinas antes de ejecutarlos.

WASM en particular, como su nombre indica, es un lenguaje ensamblador optimizado para navegadores web, para aumentar la velocidad de ejecución de aplicaciones web basadas principalmente en Javascript. Al ser un lenguaje ensamblador portátil, modular y fácilmente ejecutable, WASM permite a los desarrolladores escribir directamente fragmentos de código en una variedad de lenguajes convencionales, como Rust o C++ [3].

Con la actualización Nitro de Arbitrum , debido a que todas las disputas en cadena se resuelven en WASM, esto significa que Nitro tiene un sistema de fraude funcional para cualquier WASM arbitrario [2]. Y debido a que Arbitrum Nitro puede proporcionar pruebas de fraude para cualquier código WASM, esto significa que puede proporcionar pruebas de fraude para cualquier programa que se compile en WASM.

Arbitrum Stylus agrega principalmente un motor de ejecución WASM además de este probador de fraude WASM existente heredado de Arbitrum Nitro, basado en uno de los motores WASM líderes llamado Wasmer, que ejecuta código mucho más rápido que Geth ejecuta el código de bytes EVM [2]. Con un motor de ejecución y un motor de prueba, esto permite que los contratos inteligentes se escriban, ejecuten y prueben completamente en WASM. Dado que muchos lenguajes convencionales, como Rust y C++, pueden compilarse directamente en WASM, así es como Arbitrum Stylus permite a los desarrolladores de blockchain escribir, implementar y ejecutar contratos inteligentes en una amplia variedad de lenguajes convencionales de propósito general.

Comparando el EVM con el Stylus EVM+. Imagen de la fuente [2].

Coherencia en el motor EVM+

Arbitrum Stylus ofrece a los desarrolladores la opción adicional de escribir contratos en Rust y otros lenguajes compatibles con WASM, sin tener que sacrificar la capacidad de escribir y ejecutar contratos inteligentes en Solidity. Al tener dos motores de ejecución iguales de EVM y WASM, Stylus también brinda a los desarrolladores la opción de escribir parte de su aplicación en Solidity y otra parte en Rust.

Esto, sin embargo, plantea una pregunta: ¿cómo gestiona el Stylus VM la coherencia entre los dos motores diferentes? ¿Cómo sabe cuándo cambiar entre EVM y WASM VM?

En primer lugar, Solidity y otros contratos basados en EVM se compilan en el mismo código de bytes y luego se ejecutan como lo harían normalmente en un motor EVM puro. Los contratos inteligentes basados en WASM, como los escritos en Rust, por ejemplo, estarán anotados con un "encabezado" adicional al comienzo del contrato. Por lo tanto, cuando se llaman estos contratos, Stylus VM puede indicar qué contratos requieren el motor EVM y qué contratos requieren el motor WASM. Este diseño también representa un alto grado de interoperabilidad, donde los contratos escritos en WASM pueden realizar llamadas a contratos escritos en Solidity, y viceversa. Esta es también la principal diferencia entre Stylus y otras cadenas de bloques que han adoptado motores de ejecución WASM: Stylus garantiza que los contratos WASM sean completamente componibles e interoperables con los EVM, lo que permite la compatibilidad con versiones anteriores y que los contratos WASM aprovechen la liquidez de EVM.

Otra perspectiva para observar el motor dual de EVM y WASM de Stylus es ver la cadena de bloques como una "máquina de estado mundial" que realiza ciertas transacciones de estado como se define en el EVM. En Ethereum, el estado en cadena se representa a través de una estructura Trie, o una estructura de datos en forma de árbol que se utiliza para almacenar y recuperar datos de manera eficiente [4]. Tanto el motor EVM como el WASM de Stylus utilizan la misma estructura Trie para leer y escribir datos hacia y desde la "máquina de estado mundial". Ambos motores producen algún cambio de estado determinado para actualizar el estado mundial; la única diferencia es cómo calculan este cambio de estado.

Ahorro de costos del motor EVM+

Anteriormente, ya hemos insinuado que el uso del motor WASM puede permitir ahorros sustanciales de costos debido a la mayor eficiencia de ejecución. Ahora podemos examinar cómo se logra esto. Para hacerlo, consideremos una sola instrucción ADD, digamos para 2 + 3.

En el EVM, necesitaríamos realizar los siguientes pasos [5]:

  1. Pagar por la gasolina, lo que requiere múltiples búsquedas de una tabla en memoria
  2. Considere el rastreo, incluso si está deshabilitado
  3. Explota dos elementos de la pila simulada.
  4. Agrégalos juntos
  5. Empujar el resultado

Podemos ver que solo el Paso 4 realmente implica la suma de estos dos números enteros, mientras que todos los demás pasos son "instrucciones repetitivas" dentro del sistema EVM que cuestan cantidades exorbitantes de gas en relación con el cálculo en sí.

Por otro lado, supongamos que utilizamos WASM para esta sencilla operación AGREGAR. Sólo necesitamos un paso:

  1. Ejecute una única instrucción x86 o ARM ADD

Comparación de EVM ADD y WASM ADD. Imagen de la fuente [7].

Podemos ver aquí que esto es 150 veces más barato que el complemento EVM. Teniendo en cuenta todos estos ahorros de gas, Stylus VM incluso ha introducido una nueva subunidad de “gas”, llamada “tinta”, actualmente definida por defecto como 1/10000 de 1 gas, e incluso configurable por el propietario de la cadena [5].

Sin embargo, hay una advertencia sobre todos estos ahorros de gas: en primer lugar, requiere gas para activar el Stylus VM, actualmente fijado en una tarifa fija de 114 millones de gas. Además, llamar a un programa Stylus actualmente consume entre 128 y 2048 gases [5]. Por lo tanto, activar el entorno WASM solo para optimizar una única operación ADD para dos números enteros puede no tener necesariamente sentido económico. Sin embargo, para los contratos inteligentes que requieren mucha memoria, todos estos ahorros se acumularán, compensando este "costo de activación". Por ejemplo, una llamada que asigna 3,8 MB de RAM en el EVM costaría ~32 millones de gas, mientras que en el Stylus WASM VM esto solo costaría ~64 mil gas, lo que proporciona un ahorro de 500 veces [6]. Un corolario de esto es que las aplicaciones con uso intensivo de memoria simplemente no son posibles en el EVM básico, ya que rápidamente uno se topa con todo tipo de límites de gas. Sin embargo, esto se vuelve completamente posible en Stylus VM, dado que la RAM es mucho más barata al utilizar un tiempo de ejecución WASM.

Desbloqueo de nuevos casos de uso con Stylus

1. Aplicaciones que consumen mucha memoria

Como se mencionó anteriormente, una de las partes más interesantes de Arbitrum Stylus es que permite aplicaciones en cadena con uso intensivo de memoria. Esto desbloquea una clase completamente nueva de aplicaciones, como NFT de IA generativa, comercio de alta frecuencia y juegos en cadena [7]. De hecho, Stylus VM puede ser una tecnología histórica que permite que la IA, conocida por sus altas demandas de memoria, sea computacionalmente viable en cadena y sea totalmente interoperable con los contratos EVM.

2. Componibilidad Alt-VM con liquidez EVM

Además, la compatibilidad con EVM de Stylus y su capacidad para permitir que los contratos basados en WASM sean interoperables con los contratos nativos de Solidity significa que estos contratos WASM pueden aprovechar plenamente la liquidez masiva y la base de usuarios de EVM. Recuerde que hemos mencionado antes que muchas máquinas virtuales alternativas, como Solana y Cosmos, utilizan lenguajes compatibles con WASM, como Rust, para ejecutar sus contratos inteligentes. El motor WASM de Stylus significa que los desarrolladores de estas máquinas virtuales alternativas pueden transferir fácilmente sus contratos al ecosistema EVM y aprovechar inmediatamente la liquidez de EVM.

3. Bibliotecas de uso general, precompilaciones e infraestructura de depuración

Otra ventaja de que Stylus permita a los desarrolladores utilizar lenguajes convencionales como Rust y C++ para escribir sus contratos inteligentes es que los desarrolladores pueden hacer uso de cantidades masivas de bibliotecas de propósito general que soportan estos lenguajes convencionales que contienen de todo, desde computación en cadena hasta criptografía. primitivas para archivar E/S.

Más importante aún, los desarrolladores pueden beneficiarse de una infraestructura de herramientas sofisticada creada para estos lenguajes convencionales. Esto no solo incluye administradores de paquetes avanzados, sino también infraestructura de depuración familiar, como el kit de herramientas GDB en C/C++. Es probable que todo esto aumente en gran medida la familiaridad con el desarrollo de web3 y permita un proceso de incorporación mucho más simple al desarrollo de blockchain y la pila EVM.

4. Llevar la computación en cadena al IoT para DePIN

Con la mayor eficiencia de ejecución de WASM, Stylus VM puede abrir la puerta para integrar la computación en cadena con dispositivos portátiles en Internet de las cosas (IoT), incluido todo, desde semáforos hasta refrigeradores inteligentes y relojes inteligentes. Aunque WASM fue diseñado originalmente para entornos de navegador, su arquitectura modular y portátil y su ejecución eficiente lo han convertido en una opción perfecta para dispositivos IoT, que requieren tiempos de ejecución pequeños y eficientes [8].

Por lo tanto, WASM VM de Arbitrum Stylus encaja perfectamente con la creciente tendencia de las redes de infraestructura física descentralizadas (DePIN), que buscan utilizar redes blockchain e incentivos simbólicos novedosos para mantener la infraestructura física, desde sistemas WiFi hasta baterías alimentadas por energía solar [9]. . Como gran parte de DePIN depende de la integración de la pila blockchain con dispositivos IoT, Arbitrum Stylus podría servir como una puerta de entrada importante para permitir que estos dispositivos ejecuten de manera eficiente la computación basada en WASM y aprovechen la liquidez de EVM a través del ecosistema Arbitrum [10].

Conclusión

A lo largo de este artículo, hemos explorado en profundidad la motivación, la implementación y el impacto de Arbitrum. Aguja. Al permitir a los desarrolladores escribir e implementar contratos inteligentes en una amplia variedad de lenguajes convencionales, Stylus hace que el desarrollo de blockchain sea más accesible y eficiente, combinando la componibilidad convencional con la liquidez de EVM para desbloquear una amplia gama de aplicaciones novedosas, especialmente aquellas que requieren un uso intensivo de memoria. Por lo tanto, se puede decir que Stylus es un proyecto histórico en la definición de la próxima generación de contratos inteligentes componibles, convirtiéndose en una plataforma que puede difuminar los límites entre el desarrollo web2 y web3 para crear una pila de desarrollo blockchain más eficiente, integrada y con mayor rendimiento.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de [STANFORD BLOCKCHAIN CLUB]. Todos los derechos de autor pertenecen al autor original [Rachel Bousfield;Jay Yu]. 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 están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!
Üyelik oluştur