Summary: Now that Cardano has finally released smart contract functionality on their blockchain, different projects are lining up to be the first decentralized applications available on the blockchain. With the amount of hype surrounding these projects, it is surprising that nothing has had an official launch yet. This is due to the development hurdles and concurrency ...

Now that Cardano has finally released smart contract functionality on their blockchain, different projects are lining up to be the first decentralized applications available on the blockchain. With the amount of hype surrounding these projects, it is surprising that nothing has had an official launch yet. This is due to the development hurdles and concurrency issues that the Cardano blockchain faces, among other issues.

At 5:44pm Eastern Time on September 14th, the Cardano blockchain made history with its release of smart contract functionality through the Alonzo hard fork. This upgrade, which has been anticipated for over 4 years, finally allows Cardano to be a smart contract platform comparable to the likes of Etheruem.

1632182120812062.png

Since that release about a week ago, there have been no real projects that have been released on the blockchain. The main reason for this is the difficulty in developing Cardano dApps due to the concurrency issue. 

Unlike Ethereum, Cardano uses a transaction model known as extended unspent transaction output, or eUTXO. Bitcoin was the first blockchain to implement UTXO, and the way it works is analogous to paying for something with cash: If person A owes person B $3, Person A will give Person B a $5 bill, then receive $2 in change. This way, the entire $5 is used in the transaction, but then any remaining balance is returned to the user. For Cardano and Bitcoin, whenever a user sends crypto, the entire balance is sent with the transaction, then is immediately returned back to the original user. Ethereum uses a much more simple model that is analogous to a bank account, where only the exact amount required to pay for something is taken from a user’s account whenever a transaction takes place. 

1632182141827184.png

As one can imagine, it is much more difficult to program applications that can be used by multiple people at the same time when the entire balance has to be received and returned each time a transaction takes place. This causes what is known as the concurrency issue, and it could cause slowdowns on decentralized exchanges and other Cardano dApps, since each user would have to wait for one user to finish before their transaction began.

Even though the eUTXO model provides many benefits over the bank account-esque model, such as allowing for easier access to blockchain memory and more guarantees for contract executions, the concurrency issue is severe enough to have somewhat stopped projects from launching simultaneously with Cardano’s smart contract release. 

Nevertheless, many top Cardano projects, such as SundaeSwap, Meld, and Ergodex, are creating solutions to the concurrency issue that should allow for multiple users to use their dApps at the same time without issue. Each project seems to be coming up with their own solution, and some projects, like SundaeSwap, are being secretive about their solution. This is likely because they do not want other projects to copy their code and beat them to market or steal some of the hype from their eventual launch.

1632182161595052.png

Another reason that Cardano DeFi dApps are not rapidly releasing is due to the programming hurdle that developers need to overcome before deploying smart contracts. Up until now, the majority of smart contract blockchain, including Etheruem, Binance Smart Chain, Polygon, and Avalanche, have had their smart contracts programmed in the Solidity programming language. Even though this language is relatively simple to learn for developers, it has some drawbacks, namely the lack of security guarantees, which lead to exploits and hacks being commonplace on these blockchains.

Cardano created their own programming language known as Plutus, which is much more secure and offers certain guarantees to programmers to make development much more safe. Plutus is based on the Haskell programming language, which was created in the 90s but has yet to see a massive amount of adoption. This means that programmers who are wanting to build on Cardano are required to not only learn this new language but also program with it, which is a time-consuming process. 

1632182206425439.jpg

In the future, when there are more Plutus programmers, Cardano dApp development will be much more streamlined. Furthermore, Cardano is looking into a solution that would allow programmers to deploy dApps using Solidity, which would open up the development environment to tens of thousands of developers around the world who already know the language. 

Even though Cardano’s smart contracts are not rolling out as fast as some anticipated, there is a legitimate reason for that being the case. Additionally, the concurrency issue seems to be a one-time problem that many projects have already solved, and thus it will not impact any future projects after the initial wave of decentralized applications releases. At first glance the lack of smart contracts may seem like a legitimate concern, but after closer analysis it becomes obvious that it is a small bump in the road in the longer term goal of Cardano to be the world’s main smart contract platform.

By Lincoln Murr