Coinlink and Blockchainability on Cardano
Cardano has been the long time favorite of a lot of blockchain enthusiasts throughout every part of the crypto space.
Arguably the biggest bang in the community happened on September 12th when Cardano in line with their announcements rolled out the Alonzo hard fork which now also brings along Cardano’s smart contract capabilities. This aims to put Cardano on the same level as the Ethereum network — only faster and with lower transaction costs. High time then to shed some light on Cardano’s inherent design principle and how it sets itself apart from Ethereum.
Cardano’s most important difference from Ethereum is how the blockchain handles transactions and saves states. Lest things start to sound too complicated at this point, let’s just come up with a simple analogy. Think of Cardano as handling transactions, for example like transferring money, more like the cash register of a shop in contrast to Ethereum, which handles transactions more like a bank.
If you pay in cash for an item in a shop it rarely happens that you have precisely the amount that is needed in your wallet. Instead, if you carry US$50 with you, you might have them as five US$10 bills for example or as a single US$50 bill. If the amount you need to pay is US$5 you will have to hand one of your bills to the cashier and you receive the change in turn. So objectively two transactions have taken place on the simple level of settling the main transaction: A part of the amount that was available to you, i. e. one of the five US$10 bills, was split up into two new amounts: The amount by which the cashier’s register had been increased and the leftover amount that results from the change you were handed by the cashier.
This leftover amount is what you did not spend as an outcome of the entire transaction, it is the “Unspent Transaction Output”, or short: UTXO. Out of this UTXO another UTXO might be created as soon as you choose to spend money on something else. The same two pronged result will come about invalidating the one out of which it was created. So at every point in time there will only be the last UTXOs active with previous ones making up the history of all transactions. It follows then that your wealth of coins might be distributed over several of such UTXOs that are controlled by you. Therefore a wallet needs to find all of these UTXOs and to sum them up in order to show you the result as the total of your balance.
This is in its essence how Bitcoin handles things. Wait a minute—Bitcoin? Yes. In fact, this concept of UTXOs was the model for maintaining the state of all transactions completed which Bitcoin introduced and uses to this day. Cardano opted to employ basically the same model for settling transactions, except that here it is called EUTXO, and it is this one letter “E” for “extended” that makes a huge difference.
Bitcoin is purely for transferring money from person A to person B. As Cardano however offers smart contract capabilities some extensibility had to be found in order for a data payload to be carried with the transactions. This is what the historically exciting concept of Cardano is about: Keeping the simplicity of the UTXO based handling of transactions and enhancing it by smart contracts. The precise structure of how payload data is handled by EUTXO is beyond the scope of this article and readers who are interested in delving deeper into the detailed technicalities might be interested in reading the relevant documents provided by the IOHK, the company behind the Cardano project.
The grande old dame of blockchains, Ethereum, choses a different route. Ethereum handles states and transactions much more like a bank keeps accounts for their customers. Every account, a so called Externally Owned Account, holds and shows a user’s total coin balance, notwithstanding of course the possibility for every user to create as many Externally Owned Account as he or she likes, just like every person could open up multiple bank accounts.
Every spending of coins then that takes place simply decreases the sender’s balance and increases the receiver’s balance at the same time.
Well, if that sounds so easy, then what is wrong with this account based model?
Advantages of UTXO (Cardano) over Accounting (Ethereum)
Nothing really is wrong with Ethereum’s account based approach. This is rather a weighting between the advantages each of both models offer. It is obvious from the conceptual setup that Ethereum is very good at executing tasks in parallel as multiple UTXO endpoints can be used at the same time since each of them refers only to one specific input. Also double spending attacks, the way we have seen them happening on Ethereum, cannot occur in an UTXO model since an UTXO endpoint always only can be spent once and so it needs only to be checked if indeed it still is unspent.
While inherently Cardano’s EUTXO model is great for simple out-of-the-box program logic it might be a bit more challenging to solve certain use cases as for example Dexes. These need to rely on a state that is globally available which is something that Cardano doesn’t offer by design. However, as time progresses specialized services will start to emerge that offer solutions to precisely address use cases like these and which can then be used by developers who are aiming to implement dApps that need globally available states.
This will in the long term further spark the competition between the best blockchain concepts as Cardano while maturing into its full shape will be capable of hosting dApps that are no less complex than the ones we know already on Ethereum—while at the same time Ethereum version 2 will very likely show us its new found power through its switch to a Proof-of-Stake consensus mechanism.
Blockchainability — we’re getting there!