Categories
Interesting links

Concurrency- say that again…

There has been some heated debate amongst the denizens of Crypto Twitter lately about the supposed challenges that Cardano faces to run Smart Contracts at scale.

Cardano uses a blockchain data structure for transactions called extended UTXO (Unspent Transaction Outputs) or eUTXO, which is derived from Bitcoin. It is a battle tested design with some significant security and operational benefits which will become clearer as Cardano moves into the era of Smart Contracts.

The eUTXO design ensures that contracts only have access to information relating to the context of the contract, in programming parlance, local state. By contrast Ethereum uses an account based model which means that state is global.

This design decision aligns with one of the fundamental security principles of least privilege, and also good programming practice where use of global state is frowned upon for many reasons. In Ethereum’s case the use of global state means that miners can front run contract execution and extract additional value, the so called MEV problem.

However use of the eUTXO design means that programmers need to adopt different design patterns to work with Cardano. As you might expect these are evolving quickly as the teams building distributed Apps start to test them on the Cardano testnet, and can be expected to stabilise in the coming months as the best patterns emerge.

Olga Hrynuik has a good summary of this on the latest IOG Blog post. Worth a read if you would like to understand more about how distributed applications will scale when they are deployed on Cardano once the Alonzo upgrade is deployed on the 12th of September.