
This post is first in a series of many concerning some of the issues and problems that we in the Cardano ecosystem are solving as we approach the rollout of the Alonzo hard fork — scheduled to arrive in September 2021.
This post will give a detailed overview of the problem of concurrency — multiple computations happening at the same time. We will approach it first from the angle of Ethereum, then find how that translates to where we are at now in the Cardano ecosystem. Finally, we will explore some early foundations for potential solutions and where we might be headed in the future. We’ll begin with an introduction to concurrency in the realm of Computer Science.
What is Concurrency?
We will start with a high-level overview of Concurrency, which traces its roots to the field of computer science and can best be described as: ‘[the] ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or at the same time simultaneously partial order, without affecting the final outcome.’ [1].
In the world of cryptocurrency we can best understand concurrency, especially when it comes to smart-contracts (SCs), as the ability for multiple different agents to interact with the same SC at the same time.
A specific example would be a standard decentralized exchange (DEX) swap contract with Bob and Alice trying to exchange two of their tokens. Concurrency is Bob and Alice being able to access the exact same contract at the same time and swap their tokens. As shown in figure 1 above, we could imagine Alice and Bob are in separate queues at the same vending machine exchanging their tokens for another token at the same time at the same swap contract. This is concurrency at face value, but in further sections we will go into more detail about why there is more below the surface.
Ethereum’s Model
Ethereum was one of the first major account based cryptocurrencies to be created within the space, taking a markedly different approach to Bitcoin’s unspent transaction output (UTXO) model...
This article was first published on medium.com.
Written by Occam.fi.