What is it all about?
Many of our community members often ask us what we think about certain issues and so we’d like to acknowledge your interest in our employees’ and developers’ opinions. That is why, we are establishing a new series of posts that will come out twice a month. Mostly, it’ll comprise articles of an analytical nature from our team members. We plan to cover the latest topics – development, DeFi, the prospects of individual products and we will be introducing our internal development vectors.
Today, we are putting Cardano in the spotlight. Unless you’ve been living under a rock for some time, you’ll certainly have heard of this rapidly growing blockchain. So far, Cardano has achieved significant results and impressive metrics, especially in the deployment of smart contracts. Just in the last month, Cardano has added 72 new projects, which brings the overall total to around 972 projects at different stages of development.
This is the kind of growth that warrants some attention and we decided to discuss this blockchain with our team. Today, we give you an insight into what we think the prospects are of integrating Cardano into the SpaceSwap platform. So let’s see what one of our Haskell developers thinks of the Ethereum-killer blockchain.
Cardano and its strengths
Cardano is certainly one of the most promising blockchain platforms to hit the market. Its rapid development opens up many possibilities for realizing a vast number of ideas. The main advantages and strengths of Cardano include its fantastic popularity and cheap transactions. It’s worth also highlighting its quite cool EUXTO model, an extension to Bitcoin’s UTXO model that supports a substantially more expressive form of validation script, including scripts that implement general state machines and enforce invariants across entire transaction chains.
In fact, EUXTO reflects the full power of Ethereum smart contracts, only with many less times the number of vulnerabilities and at the architectural level, there are no gratuitous gas overpayments for transactions. Moreover, it has been mathematically proved that everything that can be implemented in Ethereum smarts can also be implemented in Cardano smarts through the Plutus language. The team generally comes up with extremely fascinating technological solutions, has brilliant developers and pretty cool development plans. So in my opinion, Cardano has very good prospects and huge potential for the future.
Is Plutus just a modified Haskell?
But let’s come back down to earth now. Although it is possible to write anything on Plutus for Cardano smarts that can be written for Ethereum smarts, it is way more difficult. Plutus is essentially Haskell with some modifications. Haskell’s greatest pros are its elegance, performance, functionality and the fact that it is a statically typed language. To put it differently, it eliminates the following kinds of errors: typing ‘<=’ instead of ‘<’, or some object in the process not turning out to be what was expected and the code creating some kind of nonsense that is very difficult to track down.
Since we work in blockchain where all the code is public and each bug costs millions of dollars, someone will certainly try to take advantage of it and steal money. So, a language that can track these bugs at the code writing stage is an immense breakthrough. This is why Haskell is often used in FinTech and for back-ends, which is one of the reasons it is used in Cardano.
Main issues with Haskell and Plutus
But Haskell (and therefore Plutus) has disadvantages. One of the main issues is that the Haskell and Plutus community is not that big yet. This leaves companies with a lot more requests than they have people to address them, so there is clearly a shortage of developers.
Also, Haskell has a high entry threshold, which means Plutus has an even higher entry threshold. Haskell does not have a convenient IDE for writing code and therefore writing code on Plutus can be quite problematic. I spent a week just figuring out how to properly set up the project and prepare my computer so that I could comfortably and conveniently work with Plutus.
Of course, IOHK improves Plutus, but it is very different from the usual development in other languages and eats up a certain amount of time, not to mention nerves. Most of the community and IOHK themselves understand this well and are taking steps to make it easier for everyone to work with it. They’ve even hosted a Plutus Pioneer Program for the 3rd year in a row now so as to educate new Plutus developers on how to work with Cardano.
Simple solutions to these issues
The high complexity and problems with installing the Plutus SDK are of course, quite relevant. Realizing that Plutus and Haskell are not the simplest of things, IOHK has come up with simple solutions that would be suitable for more basic smarts and involve simple code that doesn’t require any serious programming knowledge, for example - DSL Marlowe.
At the moment, there are not that many big projects that have reached the mainnet stage, the most famous being SundaeSwap - a decentralized exchange protocol. Besides that, there are projects that IOHK do themselves, i.e. Adalend and Adapay, their own metaverse, plus integration plans and much more.
In general, Cardano is a very promising project that has a ready-made infrastructure and the first promising DeFi projects have begun to appear on the blockchain. The more the better, but there is definitely room to develop and to modernize its technology. Besides having set the technological bar high and the mentioned difficulties for Plutus developers, Cardano doesn’t have much of a downside.
We ourselves have conducted a huge number of tests on its basic functions and will be experimenting with connecting Cardano contracts to Shadow 2.0. We will be reporting on our success, so stay tuned.
Stay Tuned: Website | Twitter | Telegram | Blog | YouTube | Discord
EUXTO - an extension to Bitcoin’s UTXO model that supports a substantially more expressive form of validation script, including scripts that implement general state machines and enforce invariants across entire transaction chains.
Plutus - is the scripting language embedded in the Cardano ledger and forms the basis of the Plutus Platform, an application development platform for developing distributed applications using the Cardano blockchain.
Haskell - a general-purpose, statically-typed and purely functional programming language with type inference and lazy evaluation.
IDE - or Integrated Development Environment is a software application that provides computer programmers with comprehensive facilities for software development.
IOHK - one of the world's preeminent blockchain infrastructure research and engineering companies. The company builds high-assurance blockchain infrastructure solutions for its public and private sector clients. It is also the driving force behind the decentralized and smart contract platform, Cardano.
Plutus Pioneer Program - a program to recruit and train developers in Plutus for the Cardano ecosystem.
SDK - or Software Development Kit is a collection of software development tools in one installable package. It facilitates the creation of applications by having a compiler, debugger and perhaps a software framework.
DSL Marlowe - a Domain-Specific Language embedded in Haskell. Marlowe works with blockchain and is dedicated to writing and executing financial contracts. It allows users to apply their domain expertise for writing and managing contracts conveniently.
SundaeSwap - a native, scalable, decentralized exchange and automated liquidity provision protocol.
Adalend, Adapay - decentralized apps on the Cardano blockchain.