TECNOLOGÍAS

EVM

Ethereum Virtual Machine

El runtime que ejecuta smart contracts en Ethereum y en las decenas de chains que copiaron su formato de bytecode.

Última revisión: porKevin Riedl wiki ↗

La EVM es la capa de ejecución que Ethereum inventó y se convirtió en estándar de facto para chains de smart contracts. Un contract compilado a bytecode EVM corre en Ethereum mainnet, Polygon, Arbitrum, Optimism, Base, BNB Chain, Avalanche C-chain y una larga cola de L2s y sidechains.

Implicación práctica: escribe los contracts en Solidity (o Vyper), pruébalos en testnets de Ethereum y despliega en la chain EVM que encaje con tu objetivo de coste y latencia. La portabilidad es real. Los trade-offs entre chains son velocidad, finalidad, descentralización y framework de L2.

Ejemplo de elegir una chain: un protocolo DeFi que necesita componer con contracts de lending y DEX existentes pertenece a Ethereum mainnet o a una L2 grande, donde vive ese ecosistema, aunque el gas sea mayor. Una app de consumo de alto volumen donde los usuarios no tolerarán comisiones de escala de dólar pertenece a una L2 como Arbitrum, Optimism o Base (mismo modelo de seguridad, una décima a una centésima del coste) o fuera de la EVM hacia Solana. La decisión es el trade-off seguridad-coste, no la chain con el marketing más ruidoso de este trimestre.

El trade-off honesto y el error que pilla a los equipos una y otra vez: compatible con EVM no es lo mismo que equivalente a Ethereum. Diferencias sutiles en precio de gas, precompiles, soporte de opcodes y comportamiento de consenso hacen que un contract que pasa en mainnet se rompa en una sidechain. La portabilidad es un punto de partida, no una garantía; vuelve a probar siempre por chain antes de desplegar. Las features de UX a nivel de cuenta como account abstraction también varían en madurez entre chains, así que confirma el soporte antes de prometerlo.

El trade-off más profundo es lo que cedes por comisiones baratas. Mover fuera de mainnet a una chain EVM más barata casi siempre significa heredar un modelo de confianza distinto: una sidechain como Polygon PoS corre su propio conjunto de validadores en vez de tomar prestada la seguridad de Ethereum, y un rollup añade un secuenciador del que ahora dependes y un retraso de retiro de vuelta a L1. Nada de eso aparece en la comparación de comisiones que un vendor pone en el deck. Decide qué necesita garantizar de verdad tu aplicación antes de optimizar por el coste por transacción. Para builds web3 usamos Solidity por defecto frente a Vyper por el tooling más amplio y la familiaridad de los auditores, salvo que haya una razón fuerte para nadar contra corriente.

// FAQ

Preguntas frecuentes

Casi. Diferencias en precompiles, coste de gas y tiempos de finalidad rompen suposiciones que parecían portables. Antes de mainnet en una chain nueva, re-corre la suite de tests en su testnet correspondiente. Los bugs por «compatibilidad EVM» son lentos y caros de diagnosticar.
No hay uno. Base para UX de consumo, Arbitrum para liquidez DeFi establecida, Optimism por el OP Stack ecosystem, ZkSync si necesitas pruebas ZK. Elige por el ecosistema de usuarios y partners, no por el TPS publicitado.
Solidity por defecto: más auditores, más tooling, más patrones revisados por la comunidad. Vyper tiene una superficie de lenguaje más pequeña (menos formas de equivocarse), pero menos talento. Para sistemas que custodian valor real, ir contra el ecosistema te complica la auditoría sin ganancia clara.