Traducción al español de “Cardano’s EUTXO - A new generation of ledger technology”
Publicado el 28 de Septiembre de 2022 por CSpot_Juve
El modelo EUTXO
Principales conclusiones:
-
Las blockchains son un registro distribuido de registros para pagos, NFT o DeFi. Este registro puede tener diferentes formas de métodos contables.
-
Bitcoin utiliza un modelo UTXO que registra transacciones. Es una forma segura, segura y escalable de procesar transacciones como pagos, pero carece de la expresividad para realizar el procesamiento de contratos inteligentes.
-
El modelo de contabilidad de Ethereum registra el saldo de la cuenta. Es más expresivo que Bitcoin, pero introduce nuevos vectores de ataque que pueden ser utilizados para hackear. El modelo de Ethereum funciona de manera secuencial, procesando una transacción a la vez, lo que lo hace no escalable.
-
El modelo EUTXO de Cardano combina la seguridad de Bitcoin y la programabilidad de Ethereum. Permite incluir cualquier dato arbitrario en una transacción y scripts más expresivos que pueden realizar cualquier procesamiento arbitrario de contratos inteligentes. EUTXO permite contratos inteligentes seguros y escalables.
Introducción
La tecnología blockchain cataliza la innovación abierta y sin permisos. Revoluciona las finanzas, el arte, la cadena de suministro y muchas otras industrias. En su núcleo, es un libro de contabilidad distribuido que registra transacciones como pagos, NFT o transacciones de aplicaciones de contratos inteligentes DeFi.
Los libros de contabilidad digitales generalmente requieren un conjunto de custodios de confianza, como los bancos, a quienes debes confiar para mantener tu dinero seguro. Los bancos son conocidos por crear deudas malas y perder el dinero de las personas debido a la corrupción o la incompetencia. Con la descentralización de la blockchain, puedes realizar transacciones libremente con cualquier persona y poseer artículos digitales sin necesidad de confiar en nadie. Estos registros son de solo anexión, donde no puedes revertir una transacción finalizada.
Un libro de contabilidad de transacciones puede variar según el método contable utilizado. Bitcoin, Ethereum y Cardano tienen diferentes tipos de libros de contabilidad, conocidos como el modelo UTXO, el modelo de cuentas y el modelo de UTXO extendido, respectivamente.
El modelo UTXO
El libro de contabilidad de Bitcoin mantiene un registro de las salidas de transacciones no gastadas (UTXO). Cada transacción tiene entradas y salidas, donde las entradas representan la fuente de los fondos y las salidas representan el destino. UTXO es la salida no gastada o el saldo de la transacción anterior.
UTXO señala el valor de la moneda que el usuario posee y puede gastar para realizar transacciones en esa cadena de bloques. Un UTXO se consume como entrada para una nueva transacción, y se crea un nuevo UTXO que refleja el saldo actualizado. El saldo retenido en una dirección de monedero específica es el total de todos los UTXO no gastados de transacciones anteriores.
El UTXO es, en muchos aspectos, similar al efectivo. Una buena analogía sería, por ejemplo, que X tiene $50 en el monedero. Hay varias formas de componer esta cantidad, incluyendo (i) dos billetes de $25, (ii) cuatro billetes de $10 y dos billetes de $5, y muchas más. Pero la suma ($50) permanece igual independientemente de las combinaciones.
Además, si X quiere enviar $10 a Y en el escenario (i), la transacción debe enviar $10 de un billete de $25 y recibir de vuelta $15 como dirección de cambio. La red obtiene el UTXO de $25 de X como entrada, lo divide, envía $10 de él a la dirección de Y y devuelve los $15 restantes a la dirección de X. El UTXO de $25 ha sido utilizado y no se puede recuperar. Mientras tanto, se han producido dos nuevos UTXO ($10 y $15).
El modelo UTXO tiene garantías sólidas contra cualquier ataque de doble gasto. Tiene características mejoradas de seguridad, escalabilidad y privacidad en comparación con el modelo de cuentas. Sin embargo, la falta de expresividad (contratos inteligentes) restringe la utilidad del modelo UTXO de Bitcoin.
Modelo de Cuentas/Saldo
Ethereum utiliza un modelo de cuentas, que es fácil de implementar y entender. Cada usuario tiene una cuenta, similar a cómo los bancos tienen una cuenta para cada usuario. El libro de contabilidad registra el saldo de las cuentas de los usuarios, que se actualiza después de cada transacción.
Aquí, a diferencia de los UTXO, puedes usar parcialmente tu saldo. Por ejemplo, si tienes 1000 ETH en tu cuenta, puedes transferir una parte de él a otra persona (digamos 300 ETH). El saldo de tu cuenta se actualiza a 700 ETH y el saldo de la dirección del receptor aumenta en 300 ETH.
En el modelo de contabilidad de Ethereum, cada cuenta tiene un saldo separado, espacio de almacenamiento y espacio de código para comunicarse con otras cuentas o direcciones. Si la cuenta receptora contiene código, se ejecuta el código y potencialmente altera el saldo de la cuenta del usuario. Como resultado, el estado de cada cuenta diferente podría verse afectado por cada bloque recién producido.
El modelo de contabilidad es significativamente más simple que el modelo basado en UTXO de Bitcoin para usar en una blockchain de contratos inteligentes. Sin embargo, requiere actualizar el estado de cuentas global por transacción, lo que inherentemente no es escalable.
Modelo EUTXO
Cardano tiene como objetivo proporcionar aplicaciones y soluciones para las masas. El modelo de falta de programabilidad de UTXO y la falta de escalabilidad del modelo de cuentas no funcionarán para él.
El modelo de Salida de Transacción no Gastada Extendida (EUTXO) combina lo mejor de ambos mundos, la programabilidad de Ethereum y la seguridad de Bitcoin. El “Extendido” representa la mayor expresividad de programación y las características de contratos inteligentes en el modelo UTXO.
En el modelo de cuentas, los usuarios y los contratos inteligentes se representan como cuentas. El modelo de cuenta proporciona alta expresividad y la capacidad de hacer cualquier cosa con los fondos de los usuarios. Sin embargo, esto hace que la semántica del código sea mucho más compleja y casi imposible de verificar de manera formal. Esto significa que estos contratos inteligentes tienen más vectores de ataque y son vulnerables a hackeos.
Entendamos cómo funciona.
El papel de la entrada y salida de transacción es esencial para entender EUTXO en Cardano. Cualquier transacción dada puede tener una o varias entradas y una o varias salidas. La transacción se puede considerar una acción que desbloquea las salidas anteriores y crea nuevas.
Una salida de transacción puede servir como entrada para la siguiente transacción después de ser desbloqueada por la firma de la dirección. La salida de la transacción contiene la dirección y el valor. Cada nueva transacción consume el antiguo UTXO para crear nuevos con direcciones y saldos actualizados.
EUTXO amplía UTXO de dos maneras clave:
Scripts Expresivos
En EUTXO, una transacción es válida si la salida resulta de ejecutar el script asociado en la entrada. Los usuarios pueden utilizar cualquier lógica arbitraria en forma de scripts, y la salida se produce al ejecutar la lógica del script. Un validador puede validar ejecutando el script y comparando la salida con la salida esperada. Esto permite tener un lenguaje expresivo para realizar cualquier lógica fuera de la cadena, que los participantes en la cadena validan. Esto permite contratos inteligentes.
Por ejemplo, si defines una lógica en la que deseas usar tus monedas estables para comprar ADA si está por debajo de X centavos. Puedes adjuntar un script que tenga un código para implementar esto. Si la salida se produce antes de que ADA esté por debajo de X centavos, será inválida y se descartará.
Datos
Las transacciones de Cardano permiten que las salidas contengan datos arbitrarios. Esto se puede usar para almacenar información de estado, lo que aumenta drásticamente la capacidad de los scripts.
EUTXO - Evita el problema del modelo de cuentas
El desafío principal del modelo de cuentas es actualizar el estado global por cada transacción, lo que requiere procesar una transacción por instancia. Esto es computacionalmente intensivo y no aprovecha completamente los recursos computacionales de una computadora.
Al permitir el determinismo de recursos y transacciones individuales indivisibles y limitar el alcance de las operaciones de contratos inteligentes a su entorno local inmediato, el modelo de Cardano supera las dificultades del Modelo de Cuentas. Sin embargo, estos beneficios tienen un costo, ya que una aplicación como DeFi requiere acceso al estado global, y un diseño así tendría complicaciones. A diferencia de Ethereum, es un aspecto con el que cada desarrollador debe lidiar.
Ventajas del modelo EUTXO
El modelo EUTXO es vastamente superior a los otros modelos de contabilidad, ya que garantiza:
Privacidad:
Es difícil monitorear la dirección o determinar el saldo general del usuario porque cada transacción utiliza una entrada diferente. Además, soluciones de Bitcoin como la mezcla de UTXO se pueden utilizar para obtener privacidad adicional.
Escalabilidad:
El modelo de cuentas implica actualizar el estado global completo por cada transacción. Esto es computacionalmente costoso y no es escalable. EUTXO reduce la congestión, ya que el libro de contabilidad permite la paralelización de transacciones.
Costo predecible:
Antes de incluir una transacción en la cadena, un usuario puede prever la tarifa y la validez de la transacción en el libro de contabilidad de UTXO. Esta naturaleza determinista permite tarifas para transacciones fallidas.
Conclusión
El modelo de cuentas es simple de implementar pero no es tan robusto y seguro. UTXO fue la innovación inicial en este espacio, ofreciendo los beneficios de anonimato, seguridad, personalización y escalabilidad.
Sin sacrificar los beneficios de un modelo UTXO, el modelo de libro de contabilidad EUTXO de Cardano amplía el modelo UTXO para incluir la programabilidad. Está construido sobre la seguridad de UTXO mientras admite múltiples activos y contratos inteligentes.