What are the two types of accounts in Ethereum?

Tipos de Cuentas en Ethereum: Guía Completa

30/01/2026

Valoración: 4.76 (4764 votos)

Adentrarse en el ecosistema de Ethereum requiere comprender sus componentes más fundamentales. Más allá de ser simplemente una criptomoneda, Ethereum es una plataforma para aplicaciones descentralizadas, y en el corazón de su arquitectura se encuentra un concepto crucial: las cuentas. A diferencia de otros sistemas como Bitcoin, Ethereum no solo gestiona transferencias de valor, sino también la ejecución de código complejo. Para lograr esto, la red distingue entre dos tipos de cuentas fundamentalmente diferentes, cada una con un propósito y unas capacidades únicas. Comprender esta dualidad es el primer paso para dominar el funcionamiento de la segunda blockchain más grande del mundo.

What are the two types of accounts in Ethereum?
Ethereum has two types of accounts: externally owned accounts (EOAs) and contract accounts.
Índice de contenido

Cuentas de Propiedad Externa (EOA): Tus Claves del Reino Digital

La Cuenta de Propiedad Externa, o EOA (por sus siglas en inglés, Externally Owned Account), es el tipo de cuenta más común y el punto de entrada para cualquier usuario a la red Ethereum. Si alguna vez has usado una billetera como MetaMask o Ledger para guardar Ether (ETH) o interactuar con una dApp, has estado utilizando una EOA. Pensemos en ella como una cuenta bancaria digital en la blockchain, pero con una diferencia clave: tú y solo tú tienes el control absoluto a través de un par de claves criptográficas.

Estas cuentas son controladas por una clave privada, una cadena de caracteres alfanuméricos secreta que otorga a su poseedor la capacidad de firmar y autorizar transacciones. De esta clave privada se deriva una clave pública, y de la clave pública se deriva la dirección de la cuenta, esa cadena de 40 caracteres hexadecimales que empieza con "0x" y que compartes para recibir fondos. La seguridad de tus activos depende enteramente de mantener tu clave privada a salvo; si alguien la obtiene, tiene control total sobre tu cuenta.

Componentes Clave de una EOA

Una EOA en el estado global de Ethereum se define por dos componentes principales:

  • Balance: La cantidad de Ether (ETH) que posee la cuenta. A diferencia del modelo UTXO de Bitcoin, donde el saldo es la suma de "monedas" no gastadas, en Ethereum el balance es un único valor numérico que se actualiza con cada transacción de entrada o salida.
  • Nonce: Un contador que registra el número de transacciones enviadas desde esa cuenta. Este número es vital para la seguridad de la red.

El Nonce: El Guardián Contra los Ataques de Repetición

El "nonce" (un término que viene de "number used once" o número usado una sola vez) es un mecanismo de seguridad simple pero increíblemente efectivo. Imagina que envías 1 ETH a tu amigo Carlos. La transacción que creas y firmas contiene la dirección de Carlos, la cantidad y el nonce actual de tu cuenta (si es tu primera transacción, el nonce será 0).

Una vez que esta transacción se incluye en la blockchain, el nonce de tu cuenta se incrementa a 1. ¿Qué pasaría si no existiera el nonce? Un actor malicioso, o incluso el propio Carlos, podría tomar los datos de esa misma transacción firmada y retransmitirla a la red una y otra vez, vaciando tu cuenta de 1 ETH en 1 ETH hasta que te quedaras sin fondos.

Gracias al nonce, esto es imposible. Cuando la red ve la transacción con nonce 0, la procesa y actualiza el estado de tu cuenta para esperar una próxima transacción con nonce 1. Si alguien intenta retransmitir la transacción original con nonce 0, la red la rechazará inmediatamente porque ya no es válida. Esto garantiza que cada transacción sea única e irrepetible.

Cuentas de Contrato: El Cerebro Autónomo de la Blockchain

Aquí es donde la magia de Ethereum realmente comienza. Las Cuentas de Contrato son el hogar de los famosos "Smart Contracts" o contratos inteligentes. Un contrato inteligente no es más que un programa, una pieza de código que se almacena y ejecuta en la blockchain de Ethereum. Estas cuentas, al igual que las EOA, tienen una dirección y pueden poseer un balance de ETH.

La diferencia fundamental es que una Cuenta de Contrato no está controlada por una clave privada. En su lugar, está controlada por su propio código. Este código se ejecuta automáticamente cuando la cuenta recibe una transacción. Es como un agente autónomo que vive en la blockchain y reacciona a los estímulos (transacciones) según las reglas con las que fue programado.

Para crear una Cuenta de Contrato, un usuario desde una EOA debe enviar una transacción especial a la red. Esta transacción no tiene un destinatario específico (la dirección "to" está vacía) pero contiene el código compilado del contrato inteligente en su campo de datos. Una vez que la red procesa esta transacción, crea una nueva cuenta con una dirección única y despliega el código en ella. A partir de ese momento, el contrato existe de forma permanente e inmutable en la blockchain.

Características de una Cuenta de Contrato

  • No tienen clave privada: Su comportamiento está dictado únicamente por su código. Nadie puede "firmar" una transacción en su nombre.
  • Son reactivas: No pueden iniciar transacciones por sí mismas. Siempre deben ser "despertadas" por una transacción proveniente de una EOA o de otra cuenta de contrato.
  • Almacenamiento persistente: Además de su código, tienen su propio espacio de almacenamiento interno, una especie de memoria o base de datos donde pueden guardar y modificar datos a lo largo del tiempo.
  • Código inmutable: Una vez desplegado, el código de un contrato inteligente no puede ser modificado. Esta inmutabilidad es una garantía de que las reglas del juego no cambiarán. Sin embargo, la información en su almacenamiento sí puede cambiar según la lógica del programa.

Tabla Comparativa: EOA vs. Cuentas de Contrato

Para visualizar mejor las diferencias, aquí tienes una tabla comparativa directa:

Característica Cuenta de Propiedad Externa (EOA) Cuenta de Contrato
Controlada por Una clave privada El código del contrato
Capacidad de iniciar transacciones Sí, puede iniciar transacciones en cualquier momento No, solo puede reaccionar a transacciones recibidas
Código asociado No, no tiene código ejecutable Sí, contiene el código del contrato inteligente
Costo de las transacciones Paga el gas por las transacciones que envía El gas para su ejecución es pagado por la EOA que inició la cadena de llamadas

¿Por Qué Ethereum Eligió Este Modelo? La Ventaja de la Simplicidad

La elección de un modelo basado en cuentas en lugar del modelo UTXO (Unspent Transaction Output) de Bitcoin no fue casual. El modelo de Bitcoin es robusto para transferencias de valor, pero puede ser complejo para la lógica de los contratos inteligentes. En el modelo de cuentas, la simplicidad es una gran ventaja para los desarrolladores. Un contrato puede consultar el saldo de cualquier otra cuenta con una sola instrucción (`BALANCE`), algo mucho más complicado en el modelo UTXO, que requeriría sumar todas las "monedas" no gastadas de una dirección.

Este diseño simplifica enormemente la creación de aplicaciones que necesitan rastrear estados y valores, como los protocolos de finanzas descentralizadas (DeFi), los tokens (ERC-20, ERC-721) y las organizaciones autónomas descentralizadas (DAO). La interacción entre usuarios (EOA) y lógica programada (Cuentas de Contrato) es fluida y directa, formando la base de todo el ecosistema de dApps.

Preguntas Frecuentes (FAQ)

¿Puede una Cuenta de Contrato crear otra Cuenta de Contrato?

Sí. Aunque una Cuenta de Contrato no puede iniciar una transacción desde cero, dentro de su ejecución (que fue iniciada por una EOA), puede realizar una llamada interna que resulte en el despliegue de un nuevo contrato. Este es un patrón común en arquitecturas de software más complejas en la blockchain.

¿Qué sucede si pierdo mi clave privada de mi EOA?

Si pierdes tu clave privada, pierdes el acceso a tu cuenta y a todos los fondos y activos que contiene de forma permanente. No hay un servicio de "recuperación de contraseña" en la blockchain. La soberanía sobre tus activos conlleva la total responsabilidad de su seguridad.

Si el código es inmutable, ¿cómo se actualizan los contratos inteligentes?

Esta es una de las áreas más avanzadas del desarrollo en Ethereum. Los desarrolladores utilizan patrones de diseño, como los "contratos proxy", para lograr la capacidad de actualización. En este modelo, los usuarios interactúan con un contrato proxy que no cambia, pero este proxy redirige todas las llamadas a un contrato de lógica que sí puede ser reemplazado por una nueva versión. Esto permite corregir errores o añadir nuevas funcionalidades sin perder el estado ni la dirección del contrato original.

¿Qué son los contratos inteligentes y las dApps?

Los contratos inteligentes son los programas que se ejecutan en las Cuentas de Contrato, automatizando acuerdos y procesos sin intermediarios. Las dApps (aplicaciones descentralizadas) son aplicaciones completas cuya lógica de negocio (backend) se ejecuta en uno o varios contratos inteligentes en la blockchain, ofreciendo una interfaz de usuario (frontend) con la que los usuarios pueden interactuar a través de sus EOA.

En conclusión, el sistema dual de cuentas de Ethereum es una de sus innovaciones más brillantes. Separa claramente a los actores (usuarios con EOA) de la lógica autónoma (programas en Cuentas de Contrato), creando un entorno robusto y flexible. Esta arquitectura es el pilar que sostiene todo el vibrante ecosistema de finanzas descentralizadas, NFTs y aplicaciones que hacen de Ethereum mucho más que una simple moneda digital.

Si quieres conocer otros artículos parecidos a Tipos de Cuentas en Ethereum: Guía Completa puedes visitar la categoría Criptomonedas.

Subir