Construyendo Ergo: UTXO vs Cuenta
3 de marzo de 2020

Ergo toma las características más seguras y mejor establecidas de Bitcoin e implementa nuevas características criptográficas avanzadas sobre sus bases sólidas. Esta serie explora las decisiones que hemos tomado al crear Ergo, siendo el primer artículo el que desglosa las ventajas del modelo UTXO.
Cuando se trata de valor financiero, no puedes permitirte correr riesgos. Cada decisión arquitectónica en una plataforma de criptomonedas tiene implicaciones. Si bien hay diferentes formas de resolver el mismo problema, algunas soluciones están mejor probadas y son más confiables que otras.
Al igual que Bitcoin, Ergo utiliza el modelo ‘UTXO’ (salidas de transacción no gastadas), en lugar del modelo de Cuenta utilizado por plataformas como Ethereum. Hay varias razones por las que hemos tomado esta decisión, pero primero vale la pena explicar un poco sobre cómo funciona el modelo UTXO o ‘Caja’.
La mayoría de las personas piensan que el saldo de una cuenta es un número simple que se actualiza cuando envías o recibes fondos. Esta es la forma obvia de abordar el problema; después de todo, es efectivamente cómo funciona el dinero en el mundo real. Tu cuenta bancaria tiene un saldo que se incrementa o disminuye cuando se realizan diferentes transferencias hacia adentro y hacia afuera. Así es como opera el modelo de ‘Cuenta’: tu saldo en la blockchain se altera por transacciones hacia y desde la cuenta.
¿Cuánto dinero?
El modelo UTXO, pionero de Bitcoin, es bastante diferente. Puedes pensar en esto un poco como una persona sosteniendo una serie de trozos de masa de pan. Su saldo es la suma de estos trozos, o UTXOs. Los trozos pueden ser divididos o combinados, antes de ser enviados a una nueva dirección, pero siempre sabes de dónde vinieron. Por ejemplo:
Alice tiene 100g de masa de pan (100 ERG). Ella rompe un trozo de 75g y se lo da a Bob, quedándose con 25g de ‘cambio’ para ella.
Charlie tiene 250g de masa. Él rompe 150g y se los da a Bob, quedándose con 100g de cambio para él.
Bob rompe 20g de masa del trozo de 150g que recibió de Charlie, y combina los 130g resultantes con los 75g que recibió de Alice. Él le da un total de 205g a Dave, quedándose con los 20g de cambio para él.
Dave ahora tiene 205g de masa de pan, que solía pertenecer a Charlie. Antes de que Charlie lo poseyera, 75g solían pertenecer a Alice, mientras que 130g solían pertenecer a Bob.
En el modelo UTXO, los ‘trozos’ de monedas pueden ser combinados y divididos, pero a diferencia de la masa de pan, no se mezclan. Puedes seguir la historia de los fondos hasta la transacción de coinbase en la que esas monedas fueron minadas por primera vez. Eso es muy diferente al modelo de Cuenta, donde el saldo de cada cuenta simplemente cambia. (Puedes, por supuesto, verificar la blockchain para asegurarte de que la Cuenta dice lo que debería, pero eso no es intrínsecamente necesario como lo es con el enfoque UTXO.)
¿Por qué UTXO?
El modelo UTXO tiene varias implicaciones. Para empezar, cada objeto es inmutable: los trozos de monedas no pueden ser ‘editados’ como se edita el saldo de una Cuenta cuando se realiza una transacción. El saldo se calcula a partir del historial de transacciones, hasta el punto en que esas monedas existieron por primera vez.
Eso hace que la seguridad sea mucho más simple, porque o un UTXO existe en la forma que esperas, o no existe en absoluto. Con el modelo de cuenta, necesitas verificar cuidadosamente que la cuenta con la que estás tratando está en el estado que debería estar (y los desarrolladores típicamente no hacen eso correctamente). Esto también hace que los UTXOs sean más amigables para protocolos offchain, como sidechains y la Lightning Network.
Las cuentas facilitan el almacenamiento del ‘estado’, pero fácil no siempre significa mejor. Con el modelo UTXO extendido de Ergo, las transiciones de estado son más explícitas y, por lo tanto, son más limpias: no hay sorpresas no deseadas. Puede ser un poco más engorroso de manejar, pero es mucho mejor y más directo en términos de seguridad.
Share post
13 de agosto de 2025
12 de agosto de 2025
9 de julio de 2025
12 de mayo de 2025

9 de febrero de 2022

8 de febrero de 2022

5 de febrero de 2022

1 de febrero de 2022

27 de enero de 2022

20 de enero de 2022

18 de enero de 2022

6 de enero de 2022

4 de enero de 2022

30 de diciembre de 2021

28 de diciembre de 2021

23 de diciembre de 2021








