09/08/2023
Ethereum se ha consolidado como una de las plataformas blockchain más influyentes y utilizadas del mundo, no solo por su criptomoneda nativa, Ether (ETH), sino por su capacidad para ejecutar aplicaciones descentralizadas (dApps) a través de los llamados contratos inteligentes. Para cualquier persona que se adentre en este fascinante ecosistema, un concepto fundamental a comprender es la existencia de diferentes tipos de cuentas. A diferencia de otros sistemas, Ethereum no tiene un solo tipo de cuenta, sino dos muy distintos que cumplen funciones diferentes pero complementarias: las Cuentas de Propiedad Externa (EOA, por sus siglas en inglés) y las Cuentas de Contrato Inteligente (SCA). Entender cómo funciona cada una, sus capacidades y sus limitaciones es el primer paso para operar de forma segura y eficiente en la red.
¿Qué es una Cuenta de Propiedad Externa (EOA)?
Una Cuenta de Propiedad Externa, o EOA, es el tipo de cuenta más común y la que la mayoría de los usuarios asocian con una "wallet" o billetera de criptomonedas. Si alguna vez has usado MetaMask, Trust Wallet o un hardware wallet como Ledger, has estado utilizando una EOA. Estas cuentas son controladas directamente por un usuario a través de un par de claves criptográficas: una clave pública y una clave privada.

Pensemos en ello con una analogía simple:
- Clave Pública: Es como tu número de cuenta bancaria o tu dirección de correo electrónico. Puedes compartirla libremente con otros para que te envíen Ether u otros tokens. De esta clave pública se deriva tu dirección de Ethereum (la que empieza con "0x...").
- Clave Privada: Es como la contraseña de tu cuenta bancaria o de tu correo. Es un secreto que nunca debes compartir con nadie. Quien posea tu clave privada tiene control total sobre los fondos y las acciones asociadas a tu dirección. Es la firma digital que autoriza cualquier transacción que se origine desde tu cuenta.
Crear una EOA es un proceso que ocurre fuera de la cadena de bloques (off-chain) y no tiene ningún costo. Puedes generar tantos pares de claves como desees sin pagar ninguna comisión de red. Sin embargo, para realizar cualquier acción que modifique el estado de la blockchain, como enviar ETH o interactuar con un contrato inteligente, deberás iniciar una transacción desde tu EOA y pagar las correspondientes comisiones de red, conocidas como gas.
Una limitación crucial de las EOA es que no pueden contener lógica de programación. Son cuentas pasivas que solo pueden reaccionar a las órdenes de su propietario (a través de la firma con la clave privada). Su función principal es servir como punto de partida para todas las interacciones en la red.
Explorando las Cuentas de Contrato Inteligente (SCA)
Aquí es donde la magia de Ethereum realmente brilla. Una Cuenta de Contrato Inteligente, o SCA, no está controlada por una clave privada. En su lugar, está gobernada por el código que contiene en su interior, un contrato inteligente. Este código se ejecuta en la Máquina Virtual de Ethereum (EVM) y define un conjunto de reglas y funciones con las que otras cuentas (tanto EOAs como otras SCAs) pueden interactuar.
A diferencia de una EOA, crear una SCA sí tiene un costo. Para desplegar un contrato inteligente en la red, debes realizar una transacción desde una EOA, pagando el gas necesario para almacenar su código en la blockchain. Una vez desplegada, la SCA obtiene su propia dirección de Ethereum, al igual que una EOA.
La principal ventaja de las SCAs es su capacidad para albergar lógica compleja y autónoma. El código puede programarse para hacer casi cualquier cosa que las reglas de la EVM permitan. Algunos ejemplos de funcionalidades que se pueden programar en una SCA son:
- Billeteras Multifirma: Requieren la aprobación de varias EOAs antes de poder mover fondos, aumentando drásticamente la seguridad.
- Pagos Programados: Pueden automatizar transferencias recurrentes, como suscripciones o salarios, sin intervención manual.
- Límites de Gasto: Pueden ser programadas para no permitir la salida de más de una cierta cantidad de fondos en un período determinado.
- Lógica Condicional: Pueden ejecutar transacciones solo si se cumplen ciertas condiciones, como alcanzar un precio específico en un oráculo o llegar a una fecha determinada.
- Creación de Tokens: Los famosos tokens ERC-20 (monedas fungibles) y ERC-721 (NFTs) son, en esencia, contratos inteligentes que gestionan un registro de saldos y propietarios.
La flexibilidad de las SCAs está limitada únicamente por la creatividad de los desarrolladores y las capacidades de lenguajes de programación como Solidity o Vyper.
Comparativa Directa: EOA vs. SCA
Para visualizar mejor las diferencias fundamentales entre ambos tipos de cuentas, la siguiente tabla resume sus características principales:
| Característica | Cuenta de Propiedad Externa (EOA) | Cuenta de Contrato Inteligente (SCA) |
|---|---|---|
| Creación | Gratuita y fuera de la cadena (off-chain). | Requiere una transacción y tiene costo (gas). Se crea en la cadena (on-chain). |
| Control | Controlada por una clave privada. | Controlada por el código EVM almacenado en su interior. |
| Capacidad de Iniciar Transacciones | Sí, puede iniciar transacciones por sí misma. | No, solo puede reaccionar a transacciones recibidas (de una EOA u otra SCA). |
| Lógica de Código | No contiene código ejecutable. | Contiene y ejecuta lógica de código arbitraria. |
| Cómo Identificarla | Al consultar su dirección, el campo de código (bytecode) está vacío. | Al consultar su dirección, el campo de código (bytecode) no está vacío. |
El Futuro: La Abstracción de Cuentas
La distinción entre EOA y SCA ha sido fundamental para el funcionamiento de Ethereum hasta ahora, pero también presenta desafíos, especialmente para la experiencia del usuario. La necesidad de gestionar claves privadas y pagar gas con ETH desde una EOA puede ser una barrera de entrada. Por ello, la comunidad de Ethereum está trabajando activamente en un concepto llamado Abstracción de Cuentas (propuesta EIP-4337).
El objetivo de la abstracción de cuentas es, en esencia, hacer que todas las cuentas se comporten como contratos inteligentes. Esto permitiría a las billeteras de los usuarios tener lógicas personalizadas, como recuperación social (sin frases semilla), pago de gas con tokens distintos a ETH, transacciones patrocinadas y mucho más, simplificando enormemente la interacción con la blockchain y mejorando la seguridad.
Preguntas Frecuentes (FAQ)
¿Necesito ambos tipos de cuenta para usar Ethereum?
Para empezar, solo necesitas una EOA. Esta es tu puerta de entrada a la red. Con tu EOA, puedes enviar y recibir ETH, y también puedes interactuar con todas las SCAs que ya existen en la red, como intercambios descentralizados (DEX), plataformas de préstamos o mercados de NFTs.
¿Mi billetera MetaMask es una EOA o una SCA?
Tu billetera MetaMask, al igual que otras billeteras de software o hardware, es una interfaz para gestionar tu Cuenta de Propiedad Externa (EOA). Te proporciona el par de claves (pública y privada) que te da control sobre tu dirección.
¿Son los tokens ERC-20 o los NFTs una SCA?
No exactamente. Un token específico (por ejemplo, el token UNI de Uniswap) es gestionado por una única Cuenta de Contrato Inteligente (SCA). Este contrato mantiene un registro de qué direcciones EOA poseen cuántos tokens. Por lo tanto, tu EOA es la que "posee" los tokens, pero es la SCA del token la que define sus reglas y gestiona su contabilidad.
¿Se puede convertir una EOA en una SCA?
No, son fundamentalmente diferentes a nivel de protocolo. No puedes añadir código a una EOA existente. Sin embargo, con la llegada de la abstracción de cuentas, las nuevas billeteras podrán ser desplegadas como contratos inteligentes desde el principio, ofreciendo lo mejor de ambos mundos.
Si quieres conocer otros artículos parecidos a Tipos de Cuentas en Ethereum: EOA vs Contratos puedes visitar la categoría Ethereum.
