Cuando Vitalik Buterin creó Ethereum, él quería ampliar los límites de la tecnología blockchain. Bitcoin lo inspiró, pero sintió que la tecnología debería hacer más que procesar las transacciones. Como resultado, construyó la red blockchain Ethereum. Ethereum tiene todas las características de Bitcoin. Puede procesar las transacciones P2P y almacenarlas de forma inmutable y descentralizada. También puede hacer ciertas cosas que Bitcoin no puede. Por ejemplo, puede ejecutar contratos inteligentes.
¿Cómo funciona una blockchain con un contrato inteligente? En el caso de Ethereum, la respuesta es la Ethereum Virtual Machine (EVM). La EVM es la columna vertebral del modo de operar de la red Ethereum. En este artículo, analizamos qué es EVM, cómo funciona, sus beneficios y casos de uso. Pero antes de que nos metamos en profundidad, tenemos un resumen rápido de los contratos inteligentes.
TL;DR
Vitalik Buterin creó Ethereum para ser pionero en la introducción de contratos inteligentes. Estos contratos se autoejecutan en la Ethereum Virtual Machine (EVM).
EVM es un software que permite ejecutar e implementar contratos inteligentes en la red Ethereum.
La EVM procesa las transacciones en dos estados: estado mundial (saldos de la cuenta y contratos inteligentes) y estado de máquina (ejecución de los pasos de la transacción).
Los contratos inteligentes se escriben en Solidity y se compilan en bytecode. La EVM los ejecuta. Las comisiones de gas ayudan a proporcionar seguridad y limitar el abuso de recursos.
El impacto de la EVM se ve en casos como tokens ERC-20, exchanges descentralizados, NFT, préstamos DeFi y DAO.
¿Qué son los contratos inteligentes?
Los contratos inteligentes son programas informáticos que se ejecutan de forma autónoma en una red blockchain. Consisten en códigos de datos que los desarrolladores implementan para llevar a cabo instrucciones específicas. Los usuarios no controlan los contratos inteligentes porque se ejecutan como están programados.
La red Ethereum es la primera blockchain en implementar contratos inteligentes. Como resultado, millones de contratos inteligentes se codifican e implementan en la blockchain de Ethereum hoy en día. La EVM desempeñó un papel vital en lograr ese logro.
¿Qué es la Ethereum Virtual Machine (EVM)?
La EVM está integrada en el corazón de su protocolo. Tal como lo sugiere su nombre, la EVM es una máquina virtual o software digital que impulsa la red Ethereum. El software de máquina virtual puede ejecutar programas, almacenar datos, conectarse a redes y realizar otras tareas computacionales. También es responsable de la ejecución del código y la implementación de contratos inteligentes.
Cómo funciona
Como Ethereum procesa más que solo transacciones de valor P2P, requiere un sistema de cálculo intrincado. Por lo tanto, en vez de llamar a la red un libro mayor distribuido, los desarrolladores de Ethereum la describen como una "máquina de estado sin límites". Y esa es una descripción básica de cómo funciona EVM. Por lo tanto, la red Ethereum se compone de dos estados: un estado mundial y un estado de máquina.
Estado mundial
El estado mundial es donde Ethereum almacena sus saldos de cuenta y contratos inteligentes. Al igual que el libro mayor de Bitcoin, es descentralizado, inmutable y accesible para todos en línea. La EVM actualiza esta capa cada vez que completa una transacción. Esto significa que cualquier persona con un explorador de bloques puede ver la blockchain de Ethereum y ver los mismos datos en tiempo real.
Estado de máquina
El estado de máquina es donde la EVM realiza el procesamiento paso a paso de las transacciones. También se conoce popularmente como la caja de arena de Ethereum para desarrolladores. La red Ethereum procesa dos tipos de transacciones. El primer tipo es la llamada “call de mensaje”, que es cuando una cuenta transfiere tokens ETH a otra. En este escenario, la EVM mueve los tokens ETH de una dirección de billetera a otra, que luego actualiza la transacción en el estado mundial. El emisor cobra comisiones de gas por los cálculos completados al enviar la transacción.
El segundo tipo de transacción se llama “creación de contrato”. Se refiere a cuando un desarrollador quiere ejecutar un contrato inteligente en Ethereum. En este escenario, el remitente suministra las comisiones de gas e ingresa un “código de bytes de contrato inteligente”.
Lenguaje de programación Solidity
El lenguaje informático más utilizado para crear contratos inteligentes de Ethereum es Solidity. Al igual que Javascript, es un lenguaje de alto nivel adecuado para los humanos, pero las máquinas no lo comprenden. Por lo tanto, una vez que los desarrolladores escriben un contrato inteligente en Solidity, deben traducirlo al lenguaje de máquina o a bytecodes utilizando un compilador de la Ethereum Virtual Machine, como solc.
Ejecución del contrato inteligente
Cuando la EVM ejecuta el código, la oferta de gas disminuye de acuerdo con el costo de gas de los cálculos ejecutados. Si en algún momento la oferta de gas se reduce a cero antes de que se complete la transacción, la EVM se detiene inmediatamente. Abandona la transacción y no cambia el estado mundial. La red no se ve afectada, pero el saldo en ETH del remitente baja a fin de pagar los cálculos utilizados para ejecutar el código hasta el punto de detención. Sin embargo, si la ejecución se completa correctamente, la EVM actualiza el estado mundial para que coincida con la versión del estado de la máquina.
Comisiones de gas de Ethereum
Como podemos ver en lo anterior, las comisiones de gas desempeñan un papel crucial en el procesamiento de transacciones en la blockchain de Ethereum. Cuando Ethereum usa el mecanismo de consenso proof of work (PoW), se aplica al procesamiento de una transacción en la que se requiere hardware y electricidad, y los mineros reciben incentivos para realizar sus tareas. En el caso de procesar las transferencias de tokens ETH, las comisiones de gas varían dependiendo de la congestión del pool.
Al ejecutar contratos inteligentes, las comisiones de gas tienen un papel diferente. En el momento de la ejecución, los bytecodes de los contratos inteligentes se dividen en piezas más pequeñas llamadas “opcodes”. Opcodes es la abreviatura de códigos operativos y son las instrucciones que utiliza EVM para realizar cálculos. A cada opcode se le asigna una comisión de gas: cuanto más complejo sea el opcode, más alto será el costo. Este paso es esencial para mantener la blockchain de Ethereum protegida de los ataques maliciosos. Por ejemplo, si un usuario implementa un ataque DDos, la EVM continuará ejecutando el contrato inteligente en el estado de máquina. Cobrará comisiones de gas por cada cálculo y, cuando el remitente se agote de gas, abandonará la transacción.
¿Cuáles son los beneficios de la EVM?
Tal como se describe anteriormente, la EVM impide que las actividades maliciosas ataquen la red. Por lo tanto, permite la ejecución de contratos inteligentes y otros servicios automatizados en una plataforma segura y confiable.
La red Ethereum es el ecosistema cripto más grande al momento de confección de este artículo. Además, se considera el estándar de oro para la creación de aplicaciones descentralizadas (dapps) y la implementación de contratos inteligentes. Muchas otras blockchains han creado sidechains que permiten a los desarrolladores de Ethereum transferir sus aplicaciones sin cambiar el código.
EVM también está descentralizado, lo que significa que cualquiera puede crear un contrato inteligente en Ethereum sin permiso. Además, permite a los desarrolladores crear e implementar aplicaciones y servicios descentralizados, y recientemente ha ganado gran popularidad.
Casos de uso de EVM
Con la Ethereum Virtual Machine ejecutando contratos inteligentes, muchos inventos nuevos han llegado al espacio de la blockchain. Estos son los cinco casos de uso principales de EVM:
Tokens ERC-20
Los tokens ERC-20 se generan mediante contratos inteligentes utilizando estructuras de datos predefinidas. La estructura de datos es responsable de dar un nombre al token, distribuirlo y hacer un seguimiento de este. En 2017, cuando las ofertas iniciales de monedas (ICO) eran populares, se lanzaron muchas nuevas criptomonedas utilizando los tokens ERC-20. Hoy en día, el mejor uso de los tokens ERC-20 es para las stablecoins, como USDT.
Exchanges descentralizados (DEX)
Los exchanges descentralizados (DEX) permiten a los usuarios comprar, vender o hacer trading de criptos mediante el despliegue de contratos inteligentes. Los exchanges como Uniswap y ShushiSwap también utilizan aplicaciones de makers de mercado automatizados (AMM), lo que permite a los usuarios acceder a los pools de liquidez de tokens sin la interferencia de terceros.
NFT
Los tokens no fungibles (NFT) son artefactos digitales almacenados en la blockchain. Autentican la propiedad y no pueden copiarse. Los entusiastas de blockchain utilizan contratos inteligentes para crear y mintear colecciones de NFT. Algunas de las colecciones de NFT más caras incluyen Bored Ape Yacht Club (BAYC) y Cryptopunks. Los propietarios pueden transferir o tradear sus NFT en mercados como OpenSea.
Préstamos DeFi
Los préstamos de finanzas descentralizadas (DeFi) se refieren a las plataformas que permiten a los usuarios prestar o pedir prestadas criptomonedas sin el uso de un tercero. Los contratos inteligentes rigen los protocolos de préstamos. Los préstamos se otorgan inmediatamente a los prestatarios, y los prestamistas a veces reciben intereses a diario.
Organizaciones autónomas descentralizadas
Una organización autónoma descentralizada (DAO) es una entidad comunitaria que carece de una autoridad central. En las DAO, los miembros individuales toman decisiones de gobernanza colectivas con respecto al proyecto. Las reglas de una DAO son establecidas por los miembros principales de la comunidad e implementadas a través de contratos inteligentes.
Limitaciones de EVM
La EVM tiene dos limitaciones importantes. En primer lugar, requiere que los usuarios tengan un conocimiento previo de Solidity y habilidades de codificación. Muchas personas necesitan ayuda en la codificación, lo que dificulta a los nuevos usuarios crear e interactuar con contratos inteligentes.
Su segunda limitación es que las comisiones de gas pueden volverse muy costosas al crear un contrato inteligente o implementar una aplicación de red Ethereum.
¿Qué criptomonedas son compatibles con EVM?
Las blockchains compatibles con EVM son una solución sencilla para resolver el problema de la tasa de gas cara. Los desarrolladores han pedido prestadas ciertas partes de la red Ethereum y han creado dapps que permiten a los usuarios mover activos de forma rápida y sencilla entre cualquier red EVM. Muchas de las blockchains más populares que se utilizan hoy en día adoptan este enfoque compatible con EVM, principalmente:
Binance Smart Chain
Avalanche
Fantom
Cardano
Polygon
Tron
El futuro de EVM
Basándose en los fundamentos de Bitcoin, la visión de Vitalik Buterin es crear una supercomputadora descentralizada que sea accesible virtualmente para todos. La Ethereum Virtual Machine ha desempeñado un papel importante en hacer realidad esa visión. Desde su concepción, la EVM ha tenido varias actualizaciones y sigue evolucionando y mejorando.
La actualización de Dencun introdujo la función EIP-4844, que introdujo el proto-danksharding a Ethereum. Esto reduce significativamente las comisiones de gas al permitir que la red procese los datos de las transacciones de la capa 2 de forma más eficiente. El proto-danksharding está respaldado por un nuevo tipo de datos llamados blobs, que se eliminan de la blockchain en vez de almacenarse de forma permanente. Mientras tanto, EIP-4788, también parte de la actualización de Dencun, ayudó a mejorar la interoperabilidad al permitir que EVM accediera directamente al estado de la Beacon Chain. Esto es esencial para protocolos como el staking líquido e interacciones cross-chain. La actualización de Dencun se completó en marzo de 2024.
En el futuro, la hoja de ruta de Ethereum pone énfasis en la escalabilidad a través de rollups, con las EVM de conocimiento cero (zkEVM) desempeñando un papel crucial. Las zkEVM permiten un procesamiento de transacciones off-chain eficiente mientras se mantiene la compatibilidad con Ethereum y mejora la escalabilidad.
Última reflexión
La Ethereum Virtual Machine es parte de la infraestructura fundamental de la red Ethereum. Es esencial permitir que los contratos inteligentes se ejecuten en la blockchain, ya que el software es responsable de realizar múltiples tareas computacionales. Más allá de su importancia operativa, la EVM protege la red al ayudar a prevenir los ataques, respaldando una plataforma segura, resistente y descentralizada para que los desarrolladores construyan sobre ella.
¿Quieres saber más sobre la red Ethereum en evolución? Consulta nuestra guía para la capa 2 de Blast que ofrece rendimientos nativos y lee más sobre Curve Finance, el exchange descentralizado de stablecoin desarrollado en Ethereum.
© 2024 OKX. Este artículo se puede reproducir o distribuir tanto en su totalidad como parcialmente en fragmentos de 100 palabras o menos, siempre que no sea con fines comerciales. Cualquier reproducción o distribución del artículo en su totalidad debe indicar de forma prominente: “Este artículo es © 2024 OKX y se utiliza con permiso”. Los fragmentos permitidos deben citar el nombre del artículo e incluir la autoría. Por ejemplo: “Nombre del artículo, [nombre del autor si corresponde], © 2024 OKX”. No se permiten trabajos derivados u otros usos de este artículo.