Tradución al español de “Cardano’s Extended UTXO accounting model – built to support multi-assets and smart contracts (part2)” escrito por Fernando Sánchez, Redactor Técnico de Marketing y Comunicación del Equipo de IOG
En la segunda entrega de nuestro blog sobre el modelo contable EUTXO de Cardano, examinaremos de forma más técnica los componentes de las transacciones, el conjunto de UTXO, y profundizaremos en los fundamentos del modelo EUTXO de Cardano
Ayer presentamos una visión general del modelo UTXO Extendido implementado por Cardano, en la que explicamos en qué se diferencia de los modelos adoptados por Bitcoin y Ethereum. Hoy vamos a profundizar en el tema de las entradas y salidas, los componentes de una transacción.
Es preciso hablar de las transacciones: Outputs e Inputs
El término “transacción” suele ser una referencia a las finanzas. Aunque este significado se aplicaría a Bitcoin (ya que la blockchain de Bitcoin se utiliza para mover fondos entre pares), muchas otras blockchain (incluyendo Cardano) son mucho más versátiles. En estos dos últimos casos, el término “transacción” es mucho más matizado. Se puede pensar en las transacciones como transferencias de valor.
En un escenario blockchain, cada transacción puede tener una o varias entradas, así como una o varias salidas. Es necesario comprender los conceptos de entradas y salidas si se desea entender cómo funciona una transacción y su relación con UTXO. En términos abstractos, considere una transacción como la acción que desbloquea salidas anteriores y crea otras nuevas.
Salida de la transacción
La salida de una transacción incluye una dirección (que se puede considerar como un bloqueo) y un valor. Según esta metáfora ilustrativa, la firma que pertenece a la dirección es la clave para liberar la salida. Una vez desbloqueada, una salida puede utilizarse como entrada. Las nuevas transacciones gastan salidas de transacciones anteriores y producen nuevas salidas que pueden ser gastadas por futuras transacciones. Cada UTXO solo puede ser gastado una vez, y en su totalidad. Cada salida puede ser gastada exactamente en una entrada, y solo en una entrada.
Entrada de la transacción
Una entrada de transacción es la salida de una transacción anterior. Las entradas de transacción incluyen un puntero y una firma criptográfica que constituye la clave de desbloqueo. El puntero apunta a la salida de una transacción anterior, y la clave desbloquea esta salida. Cuando una salida es desbloqueada por una entrada, la blockchain etiqueta la salida desbloqueada como “gastada”. Las nuevas salidas creadas por una transacción determinada pueden ser señaladas por nuevas entradas, y así la cadena continúa. Estas nuevas salidas (que aún no han sido desbloqueadas, es decir, no han sido gastadas) son los UTXOs. Las salidas no gastadas son simplemente eso, salidas que aún no se han gastado.
Cómo funciona UTXO, de manera resumida
En un modelo de contabilidad UTXO, las transacciones consumen las salidas no gastadas de las transacciones anteriores y producen nuevas salidas que pueden ser utilizadas como entradas para futuras transacciones.
Las wallets de los usuarios gestionan estos UTXOs e inician las transacciones que implican los UTXOs propiedad del usuario. Cada nodo de la blockchain mantiene un registro del subconjunto de todos los UTXO en todo momento. A esto se le llama el conjunto de UTXO. Técnicamente, es este, el estado de la cadena, que se almacena en el directorio de datos de cada nodo. Cuando se añade un nuevo bloque a la cadena, el estado de la cadena se actualiza en consecuencia. Este nuevo bloque contiene la lista de las últimas transacciones (incluyendo, como es lógico un registro de los UTXOs gastados y de los nuevos creados desde que se actualizó por última vez el estado de la cadena). Cada nodo mantiene una copia exacta del estado de la cadena.
EUTXO: La razón de ser, de la elección de Cardano
El modelo contable UTXO “convencional” de Bitcoin no se ajustaba a Cardano, ya que este está diseñado para hacer algo más que gestionar pagos. Concretamente, la necesidad de una mayor expresividad de programación para la próxima funcionalidad de los contratos inteligentes [smart contracts] en la era Alonzo requería una solución novedosa, de ahí el término “Extendido” (‘Extended’).
El modelo ‘básico’ de UTXO tiene una expresividad de programación limitada. El modelo de cuenta Cuanta/Saldo de Ethereum ha abordado este problema específico con el desarrollo de un libro de contabilidad basado en cuentas y cuentas de contrato asociadas. No obstante, al hacerlo de esta forma, volvió mucho más compleja la semántica del código de los contratos, lo que obliga a los autores de los contratos a tener que conocer a fondo los matices de la semántica para evitar la introducción de vulnerabilidades potencialmente costosas en el código.
Una solución “extendida” UTXO requiere dos piezas de funcionalidad adicional que el modelo actual no puede ofrecer:
-
Ser capaz de mantener el estado del contrato
-
Ser capaz de garantizar que se utilice el mismo código de contrato a lo largo de toda la secuencia de transacciones. Esto es lo que llamamos continuidad.
Una poderosa funcionalidad del modelo EUTXO es que las tarifas requeridas para una transacción válida pueden predecirse con precisión antes de contabilizarla. Se trata de una característica única que no se encuentra en los modelos basados en cuentas.
¿Cómo extiende el modelo EUTXO a UTXO?
Al añadir datos personalizados a las salidas (además del valor), y permitir más “bloqueos” y “claves” que deciden bajo qué condición una entrada puede ser desbloqueada para ser consumida por una transacción. Es decir, en lugar de limitarse a tener claves públicas (hashes) para los bloqueos y las correspondientes firmas que sirven de “claves”, EUTXO permite una lógica arbitraria en forma de scripts. Esta lógica arbitraria comprueba la transacción y los datos para decidir si la transacción puede utilizar una entrada o no.
Conclusión: Lo que hace que el modelo EUTXO sea innovador y relevante
El modelo de libro contable de Cardano extiende el modelo UTXO para soportar multi-activos y contratos inteligentes sin por ello sacrificar las ventajas centrales de un modelo UTXO. Nuestra innovadora investigación permite una funcionalidad que va más allá de lo que admite cualquier otro libro de contabilidad UTXO, lo que convierte a Cardano en un competidor único en el espacio de blockchain de una nueva generación.
Si desea disfrutar de la primera entrega del presente artículo puede hacerlo desde aquí: