Here are the reasons why E-UTxO ledger archictecture of #Cardano is superior to the Account-based model of #Ethereum
🧵👇
So what are the different ledger models?
1. #Bitcoin 's UTxO (Unspent Transaction Output) - ledger model
Satoshi invented #Bitcoin to be the permissionless decentralized internet money
Bitcoin introduced the UTxO ledger model to fulfill that purpose in the most elegant way
In the UTXO ledger model
individual transactions consist of a list of ''inputs'' and ''outputs''
and
the sum of the values consumed by a transaction’s inputs must equal the sum of the values provided by its outputs
The main advantage of the UTxO model is that
the semantic model or method of structuring data on the ledger stays simple
in a complex distributed and dynamic computing environment
But this also comes with some limitations
The main disadvantage is that
the expressiveness of programmability on the protocol based on the UTxO model is very limited.
It is impossible to build a DeFi Ecosystem, like what Ethereum has today, on top of the UTXO model
Before Vitalik Buterin developed Ethereum with his team
he was involved in a project also known as Colored Coins
Colored coins were supposed to represent applications like Dapps on Bitcoin
Which turned out to be unsuccessful due to the above-mentioned limitation
This limitation of #Bitcoin is what motivated Vitalik to choose the Account-based ledger model for #Ethereum
So what is Ethereum's Account based ledger model?
The account-based transaction model represents assets as balances within different accounts, similar to bank accounts.
The account model offers clear advantages when it comes to enabling smart contracts
This ledger model allows way more expressiveness of programmability
This resulted in the flourishing of DeFi on Ethereum as we see today.
Unfortunately,
this expressiveness comes with a cost
the account-based model of Ethereum introduces the notion of a ''shared mutable state''
Have you ever paid a hefty transaction fee for a failed transaction on #Ethereum??
It happens pretty often
this is a consequence of the ''shared mutable state''
This is one of the main limitations of Account-based model
What does ''shared mutable state'' mean?
if two or more parties can change the same data & if their lifetimes overlap
Then there is a risk of one party's modifications preventing other parties from working correctly
This significantly complicates the semantics of the contract code and introduces security issues
In other words Accounts based model is has a much bigger surface area for attacks than the UTXO model
Here is the significance of the E-UTxO/Extended-UTxO model of #Cardano
So what is Cardano's E-UTxO model?
Purpose of E-UTxO model is to extend and modify the basic UTXO model
to support more expressiveness without switching to an account-based model
Here, the UTXO model is extended with arbitrary logic
in the form of scripts and arbitrary data
The arbitrary logic/scripts allow the E-UTxO model to have more expressiveness
The arbitrary data carries with it information about the state of outputs
which enables the contract state to be localized
as the state is localized
There is no notion of a ''shared mutable state''
Why is the E-UTxO model of #Cardano superior to the Account-based model of #Ethreum?
1. The smart contract validation is performed on-chain and all other logic is off-chain
2. The ‘local’ nature of transaction validation allows for a high degree of parallelism
3. Inherently fragmented nature of E-UTxO allows for easier implementation of Layer 2 scaling solutions like isomorphic state channels (Hydra) and Rollups
The on-chain smart contract validation and off-chain execution of Turing-complete off-chain code
enables performing complex and resource-consuming computation without
without any impact on transaction cost
This feature enables DEXs like @CardanoMaladex and @GeniusyieldO to implement ideas such as programmable swaps and Smart Liquidity Vault
This off-chain execution of code is what Ethereum is attempting by pushing transactions to L 2/Sidechain scaling solutions