The ledger model of the Cardano blockchain platform enhances the UTXO model of Bitcoin and Ethereum to support multi-assets and smart contracts
Cardano (ADA), a major blockchain platform for building decentralized applications, or dApps, has an advanced UTXO accounting model specially designed to support multi-assets and smart contracts.
The Cardano developers recently gave an overview of the Extended UTXO model used by Cardano. The new model “differs from the approaches of Bitcoin and Ethereum”.
As explained in an IOHK blog post, the term transaction “usually generates financial echoes”. While such a meaning can apply to Bitcoin (since the Bitcoin or BTC blockchain is used to transfer money between peers), many other blockchain networks (such as Cardano) are “far more versatile,” their developers claim. As noted by IOHK, the term “transaction” is much more “nuanced” in these particular cases. We can think of transactions as transfers of value, the blog post added.
As explained on IOHK’s blog, any blockchain-based transaction can have one or more different inputs as well as one or even more outputs. We can think of a transaction as “the action that unlocks previous issues and creates new ones”.
A transaction output can contain an address (which you can think of as a kind of lock) and a value. As mentioned in the blog post, “in accordance with this analogy, the signature associated with the address is the key to unlocking the output”. After unlocking, an output can then be used as an input. New transactions “spend expenses from previous transactions and produce new expenses that can be consumed by future transactions” and “each UTXO can only be consumed once and as a whole”. Each output can then be output from “exactly one input and only one input,” explains the blog post.
The post further stated that “a transaction entry is the output of a previous transaction”. Transaction inputs include “a pointer and a cryptographic signature that acts as an unlock key,” the post added, while noting that the pointer “points back to a previous transaction output and the key unlocks that output.”
When an output is “unlocked by an input”, the blockchain marks the unlocked output as “consumed”. New issues that are “created by a particular transaction can then be referenced by new entries and so the chain continues,” noted the blog, pointing out that these “new issues (which” have not yet been activated, ie “) are”) the UTXOs. “Unspent issues” are just that, issues that have not yet been spent, “added the post.
It was also mentioned that transactions in a UTXO accounting model “consume unspent expenses from previous transactions and create new expenses that can be used as inputs for future transactions”.
The users’ wallets “manage these UTXOs and initiate transactions with the UTXOs owned by the user,” the post explained.
It went on:
“Each blockchain node keeps a record of the subset of all UTXOs at all times. This is known as the UTXO rate. From a technical point of view, this is the chain state that is stored in the data directory of each node. When a new block is added to the chain, the chain status is updated accordingly. This new block contains the list of recent transactions (including of course a record of the UTXOs issued and the new ones created since the chainstate was last updated). Each node maintains an exact copy of the chain state. “
Bitcoin’s or BTC’s “vanilla” UTXO accounting model may not be suitable for Cardano as the blockchain network can do a lot more than just process payments. As explained by its developers, the need for more “programming expressiveness” for the upcoming smart contracts functionality is in the Alonzo was needed a new or better (‘extended’) solution.
The ‘basic’ UTXO model has “limited programmability,” the developers noted. You also mentioned that Ethereum’s account / balance accounting model addressed this issue with an account-based general ledger and associated contract accounts. With this approach, however, the semantics of the contract code became really complex, which had the undesirable effect of “forcing contract authors to fully understand the nuances of the semantics in order to avoid introducing potentially very costly vulnerabilities into the code,” according to the developers at Cardano claim.
An “extended” UTXO solution requires more functionality that the current UTXO model could not offer. For example, it could not offer the possibility of “maintaining the contractual status”. Nor may it provide the ability to “enforce that the same contract code is used throughout the transaction sequence”. Cardano developers refer to this as “continuity”.
As noted on the blog, “a strong feature of the EUTXO model is that the fees required to make a valid transaction can be accurately predicted before publication”. The developers claim that “this is a unique feature not found in account-based models”.
They further noted that “by adding custom data (in addition to value) to expenses and allowing more“ locks ”and“ keys ”to decide under what conditions an input can be unlocked for consumption by a transaction “. You also mentioned that “EUTXO instead of just having public keys (hashes) for locks and corresponding signatures as” keys “enables any logic in the form of scripts”. This arbitrary logic “examines the transaction and the data to decide whether or not the transaction can use an input,” the blog explained.
When clarifying what makes the EUTXO model “innovative” and “relevant”, the developers came to the conclusion:
“Cardano’s Ledger Model extends the UTXO model to support multi-assets and smart contracts without sacrificing the core benefits of a UTXO model. Our innovative research enables functionality beyond what is supported in any other UTXO ledger, making Cardano a unique competitor in the next-generation blockchain space. “
Comments are closed.