« Back to Glossary Index

Precompile

⚡ Definición Rápida

Un Precompile (o contrato precompilado) es una función especial integrada directamente en el núcleo de la Máquina Virtual de Ethereum (EVM), designada por una dirección específica (como 0x01 a 0x09), que realiza operaciones computacionales complejas, especialmente criptográficas, con un costo en gas fijo y extremadamente eficiente. A diferencia de un contrato inteligente estándar, que la EVM debe interpretar paso a paso, un precompile está implementado en el propio código del cliente de Ethereum, ejecutándose a velocidad nativa del hardware, lo que lo hace órdenes de magnitud más rápido y barato.

Términos relacionados: EVMGasSmart ContractBytecodeSolidity


❓ ¿Qué es un Precompile y por qué es crucial para la eficiencia de Ethereum?

Un Precompile es un mecanismo de optimización de bajo nivel en la EVM. La EVM es una máquina determinista pero relativamente lenta, diseñada para seguridad y simplicidad, no para velocidad de cómputo pura. Operaciones esenciales para la privacidad y escalabilidad, como las firmas de curva elíptica (vitales para verificar transacciones), el emparejamiento (pairing) para zk-SNARKs, o el hashing complejo, serían prohibitivamente caras si se ejecutaran como bytecode de Solidity estándar.

Un precompile actúa como un «circuito integrado» o una «biblioteca de optimización» nativa. Cuando la EVM encuentra una llamada a una de sus direcciones reservadas, en lugar de ejecutar opcodes, delega el cálculo a una rutina optimizada en C++ o Go, devolviendo el resultado casi al instante y cobrando una tarifa de gas predecible y baja.

Sin precompiles, tecnologías fundamentales como las firmas agregadas (BLS), las pruebas de conocimiento cero (zk) y los rollups optimistas o zkRollups serían inviables económica y técnicamente en la mainnet de Ethereum. Son la infraestructura invisible que permite que la capa de consenso (L1) sea verificable de manera eficiente y que las capas 2 más avanzadas existan.

📖 Definición Técnica

Un precompile es un contrato especial implementado directamente en el código del cliente de Ethereum (por ejemplo, en Go-Ethereum, Nethermind o Besu). Se identifica por una dirección reservada en el rango 0x01 a 0x09 (y potencialmente más allá para nuevos EIPs). Cuando la EVM ejecuta una instrucción CALL o STATICCALL dirigida a una de estas direcciones, reconoce que no es un contrato normal y, en lugar de ejecutar bytecode, invoca una función nativa altamente optimizada.

El costo en gas de un precompile se define mediante una fórmula fija en el EIP correspondiente, no basada en la ejecución de opcodes. Esto proporciona previsibilidad y eficiencia. Por ejemplo, el precompile ecrecover (0x01) cuesta aproximadamente 3,000 gas para recuperar una dirección a partir de una firma ECDSA, mientras que implementar la misma lógica en Solidity costaría decenas de miles de gas.


⚙️ Comparativa: Precompile vs. Contrato Inteligente vs. Opcode

Para entender la posición única de los precompiles, es útil compararlos con otros mecanismos de ejecución en la EVM.

AspectoPrecompileContrato InteligenteOpcode
ImplementaciónCódigo nativo del cliente (Go, Rust, C++)Bytecode de la EVM (ej. compilado desde Solidity)Operación básica de la EVM (ej. ADD, MUL, SSTORE)
Velocidad de ejecuciónExtremadamente rápida (nativa del hardware)Lenta (interpretada por la EVM paso a paso)Rápida (ejecutada directamente por la EVM)
Costo en gasFijo y predecible (definido por EIP)Variable y alto (basado en opcodes ejecutados)Fijo (definido en el protocolo)
FlexibilidadBaja (requiere hard fork para cambiar o añadir)Alta (cualquiera puede desplegar y modificar)Muy baja (cambiar requiere hard fork)
Casos de uso típicosCriptografía compleja (firmas, hashing, zk)Lógica de negocio, DeFi, NFTs, gobernanzaOperaciones aritméticas, de memoria y almacenamiento
SeguridadAuditado por equipos centrales del clienteDepende del desarrollador del contratoInherente al protocolo, altamente auditado

🏗️ Los Precompiles Esenciales de Ethereum

La EVM incluye un conjunto de precompiles originales que han sido fundamentales para el desarrollo del ecosistema. Aquí están los más importantes:

DirecciónNombre / Función¿Qué hace?Costo en Gas (Aprox.)
0x01ecrecoverRecupera la dirección de la clave pública a partir de una firma ECDSA y un hash de mensaje.~3,000 gas
0x02SHA256Calcula el hash SHA-256 de los datos de entrada.60 gas + 12 gas/palabra
0x03RIPEMD160Calcula el hash RIPEMD-160 de los datos de entrada.600 gas + 120 gas/palabra
0x04identity (datacopy)Copia los datos de entrada a la salida.15 gas + 3 gas/palabra
0x05mod_expRealiza exponenciación modular (b^e % m).Complejo, basado en tamaño
0x06, 0x07, 0x08bn256_add, bn256_mul, bn256_pairingOperaciones aritméticas sobre la curva elíptica bn256.Costos variables y optimizados
0x09blake2fEjecuta la función de compresión del hash Blake2.Coste por ronda

Estos precompiles son heredados por todas las redes compatibles con EVM (como BSC, Polygon, Avalanche) y por los rollups (Arbitrum, Optimism, zkEVMs), que a menudo añaden los suyos propios para funciones específicas.


✅ Ventajas de los Precompiles

  • Eficiencia Extrema: Reducen el costo en gas de operaciones complejas en órdenes de magnitud (de millones a miles de gas), haciendo aplicaciones críticas viables.
  • Velocidad y Predictibilidad: La ejecución nativa es rápida y el costo de gas es fijo y predecible, esencial para la experiencia de usuario y la planificación.
  • Habilitan Innovación: Son un «mecanismo de escape» que permite a Ethereum admitir criptografía de vanguardia (zk-SNARKs, BLS) sin rediseñar toda la EVM.
  • Seguridad Auditada: Su implementación es parte del cliente central, sometida a un escrutinio y auditoría intensivos, lo que puede ser más seguro que dejar estas funciones complejas en manos de cada desarrollador de contratos.

⚠️ Críticas y desafíos

  • Centralización del Desarrollo: Agregan complejidad al cliente central. Solo los equipos centrales de desarrollo de Ethereum pueden implementar nuevos precompiles, lo que puede ralentizar la innovación y centralizar el poder.
  • Riesgo de «Bloat» de la EVM: Cada nuevo precompile aumenta permanentemente la superficie de ataque y la complejidad de mantenimiento de la EVM. La comunidad debate ferozmente cada nueva propuesta (EIP) para un precompile.
  • Falta de Flexibilidad: Un precompile, una vez implementado, es difícil de cambiar o mejorar. Si se encuentra un error o se necesita una optimización, requiere un hard fork.
  • Fragmentación entre Cadenas: Diferentes L2s y cadenas compatibles con EVM pueden añadir sus propios precompiles personalizados, rompiendo la portabilidad del código y creando un paisaje fragmentado.

🎯 Aplicaciones prácticas: Más allá de la teoría

Los precompiles no son una curiosidad académica; son la columna vertebral de las aplicaciones más avanzadas en Ethereum. Sin ellos, el ecosistema DeFi y Web3 sería mucho más limitado y caro.

  • Rollups y Soluciones de Escalabilidad de Capa 2 (L2): Los zk-Rollups (como zkSync Era, Starknet) dependen críticamente de los precompiles de emparejamiento (bn256_pairing) para verificar sus pruebas de validez en la L1 de manera eficiente.
  • Puentes Cross-Chain y Interoperabilidad: Los puentes que verifican pruebas de validez de otras cadenas usan SHA256 y RIPEMD160 para verificar encabezados de bloques de Bitcoin de manera eficiente dentro de un contrato de Ethereum.
  • Contratos de Privacidad y Firmas Avanzadas: Protocolos como Aztec Network o EigenLayer utilizan precompiles para operaciones de grupo en curvas elípticas, permitiendo agregar miles de firmas en una sola.
  • Infraestructura DeFi y Gobernanza: El precompile ecrecover es omnipresente. Se usa en cada transacción para verificar el remitente, en contratos de permisos y en la firma de mensajes off-chain para votaciones en DAOs.

🔮 El futuro de los Precompiles

La necesidad de funcionalidades eficientes crece, pero la resistencia a añadir más complejidad a la EVM principal también. El futuro probablemente verá varios caminos:

  • Precompiles Específicos de L2: Rollups como Arbitrum Stylus u Optimism ya experimentan con precompiles para WASM u otras funciones. Los L2 se convertirán en laboratorios donde los nuevos precompiles se prueben antes de una posible inclusión en L1.
  • EIPs para Nuevas Funciones: Propuestas como EIP-2537 buscan estandarizar un conjunto modular de precompiles para operaciones comunes, haciéndolo más manejable que añadirlos uno a uno.
  • La Era de la EVM Modular o EOF: La EVM Object Format (EOF) y otras reformas estructurales podrían permitir un modelo más flexible donde los «contratos nativos» puedan ser desplegados o actualizados con mayor agilidad, sin depender tanto de hard forks.
  • Competencia con Otras VMs: La presión de máquinas virtuales alternativas (como la SVM de Solana o la Move VM) que ofrecen alto rendimiento nativo podría impulsar a Ethereum a repensar cómo proporciona capacidades avanzadas de manera eficiente.

🎯 Conclusión: Los cimientos de alto rendimiento de una EVM lenta

Los Precompiles son un compromiso ingenioso y práctico en el diseño de Ethereum. Reconocen que para ser una plataforma universal de computación y consenso, la EVM necesita una vía de escape para realizar tareas especializadas a velocidades viables. Encapsulan la filosofía de Ethereum: descentralización en la capa de aplicación, con optimizaciones cuidadosamente centralizadas en la capa de protocolo donde la seguridad y la eficiencia lo requieren de manera crítica.

Entender los precompiles es entender por qué Ethereum puede verificar un rollup zk-SNARK en unos cientos de miles de gas en lugar de decenas de millones, o cómo un contrato puede verificar una firma de Bitcoin de manera rentable. Son un componente técnico profundo cuya existencia permite las aplicaciones superficiales más innovadoras del ecosistema. Para cualquier desarrollador serio en Ethereum, no son una opción; son una parte fundamental del mapa mental de lo que es posible y a qué costo.

❓ Preguntas Frecuentes sobre Precompiles


📚 ¿Quieres profundizar en tecnología Ethereum?

Explora más recursos de La Cryptoguía sobre el ecosistema Ethereum:

🔗 ¿Qué es Blockchain? – La base sobre la que se construye la EVM y sus precompiles.

Gas en Ethereum – El sistema de costos que los precompiles optimizan radicalmente.

🏗️ ¿Qué son los Layer 2? – Muchas soluciones de escalabilidad dependen intrínsecamente de precompiles.

🔐 ¿Qué es DeFi? – El ecosistema de aplicaciones que necesita la eficiencia que proveen los precompiles.

🛠️ Cómo auditar un token – Un proceso que requiere entender todas las capas, incluidos los mecanismos de bajo nivel como los precompiles.


🚀 ¿Empezando en Crypto?

Si eres nuevo, empieza con nuestra guía completa para principiantes para entender los fundamentos antes de adentrarte en conceptos técnicos avanzados.


📋 ¿Por qué confiar en esta definición? Cada término de la Cryptopedia sigue una metodología de verificación con fuentes primarias, whitepapers y legislación oficial. Conoce nuestro proceso →


⚠️ Disclaimer: Este artículo es informativo y educativo. No constituye asesoramiento financiero, legal o técnico. Los precompiles son componentes de bajo nivel y altamente técnicos del protocolo Ethereum. Interactuar con ellos directamente requiere un conocimiento profundo de desarrollo de contratos inteligentes y criptografía. Los errores en el uso de precompiles pueden llevar a la pérdida total de fondos. Siempre investiga por tu cuenta (DYOR), prueba exhaustivamente en redes de prueba y consulta la documentación oficial de Ethereum.

📅 Actualizado: Marzo 2026
📖 Categoría: Infraestructura Blockchain / Ejecución y EVM

« Volver al Glosario
Scroll al inicio