CARDANO (ADA) Full Guide - A scalable Smart Contract Platform
Cardano is a smart contract platform that offers scalability and security through a layered architecture. Created by one of the founding fathers of the original Ethereum protocol Charles Hoskinson – Cardano’s USP happens to be its underlying scientific philosophy.
Two companies that are responsible for Cardano’s upkeep are:
These two organizations work in synergy to ensure the proper development of Cardano.
Cardano and Scientific Philosophy
As mentioned before, Cardano strictly adheres to a set of principles and philosophies. These principles, as taken from the Cardano website, are:
Cardano Consensus Algorithm
At the heart of Cardano lies the Ouroboros consensus algorithm. Ouroboros is a peer-researched staking algorithm that will help Cardano process thousands of transactions per second. Several modern cryptocurrencies have opted for the staking model to move on from the traditional proof-of-work (POW) model. The consensus in traditional POW models like in Bitcoin and Ethereum works something like this:
When you look at the last point, it can be both a positive and a negative. While there is no doubting the security offered by POW, its wastefulness makes it very unscalable. This is why several projects are opting for virtual consensus mechanisms like proof-of-stake (POS). In the POS system, some validators lock up a stake within the network. When they sign off on blocks, they receive a block reward corresponding to their stake.
What is Cardano Ouroborous?
Cardano’s Ouroboros is a variation of the POS algorithm. Let’s look at how it works:
Stakeholder election
The three phases of the election
The three phases of stakeholder elections are as follows:
Commitment Phase
Reveal Phase
In this phase, the electors send a special and secret value called “opening.” These opening are put into the block and become part of the Cardano blockchain.
Recovery Phase
Selecting the slot leader
Slot leader selection happens via the Follow the Satoshi (FTS) algorithm, named after the anonymous creator of Bitcoin – Satoshi Nakamoto.
Functional programming and Cardano
Cardano has chosen Haskell and Plutus as their languages of choice. Haskell will be used to code Cardano, while Plutus will be used for the smart contract creation. Both of them are functional languages.
When it comes to programming languages, there are two families:
Imperative Programming Languages
All of our traditional programming languages like C++, Java, and even Solidity are imperative programming languages. The coder needs to put down all the steps that the computer needs to take to reach a goal. This is also known as algorithmic programming.
Let’s take an example of what we mean by that. Let’s look at C++. Suppose we want to add 5 and 3.
int a = 5;
int b = 3;
int c;
c= a + b;
So, what exactly happened here? We did an addition, but it took four steps:
Functional Programming Languages
This style of programming, also known as declarative programming, was created to build a functional approach to problem-solving.
How does functional programming work?
Suppose there is a function f(x) that we want to use to calculate a function g(x) and then we want to use that to work with a function h(x). Instead of solving all of those in a sequence, we can simply club all of them in a single function – h(g(f(x))).
So, why is the functional approach so desirable?
Both Haskell and Plutus are functional languages.
Looking into Plutus
Plutus is a higher level and simplified version of Haskell and has more similarities to mathematics rather than programming. Plutus is intended for use by institutions that require a high level of accuracy.
To understand how basic Plutus programming works. Let’s do some addition, multiplication, factorial, and Fibonacci:
add : Nat -> Nat -> Nat {
add Zero n = n ;
add (Suc m) n = Suc (add m n)
}
mul : Nat -> Nat -> Nat {
mul Zero _ = Zero ;
mul (Suc m) n = add (mul m n) n
}
fac : Nat -> Nat {
fac Zero = Suc Zero ;
fac (Suc n) = mul (Suc n) (fac n)
}
fib : Nat -> Nat {
fib Zero = Suc Zero ;
fib (Suc Zero) = Suc Zero ;
fib (Suc (Suc n)) = add (fib n) (fib (Suc n))
}
In the code itself, you can see the differences between a functional approach and an imperative approach instead of painstakingly going through different sequential operations. We clubbed everything together in a function.
Data scaling and reduced bloating
Every little piece of data, relevant or not, gets stored in the blockchain for eternity. The problem is that as a network increases in size, the sheer influx of data the blockchain gets more and bulkier. As the blockchain gets more massive, it will become tougher for normal nodes to download and maintain it. The way Cardano wants to solve this problem is by incorporating the following techniques:
Apart from these techniques, the Cardano chain uses partitioning. Instead of having a whole blockchain, a user can have a chunk of the blockchain and significantly reduce the amount of data they need to store. They can do so with sidechain integration.
Sidechains
Sidechain, as a concept, has been in the crypto circles for quite some time now. The idea is very straightforward; you have a parallel chain which runs along with the main chain. The side chain will be attached to the main chain via a two-way peg.
Based on the research by Kiayias, Miller, and Zindros (KMZ) involving “non-interactive proofs of proofs of work,” Cardano’s sidechain will achieve the following functions:
Using this system, Cardano aims to build an “internet of blockchains.” As per Hoskinson, Cardano wants to implement cross-chain transfers through sidechains without having to go through any middlemen.
Achieving true interoperability
Cardano needs to focus on the following features increase interoperability with the legacy world:
Metadata
We are all familiar with the term “metadata,” but what exactly does it mean? Metadata is the story behind a transaction. If you spent 10 USD, the metadata would be:
In traditional finance, this metadata is crucial since it’s a very opaque system. By adequately leveraging metadata, they can do the following:
While this is good, the problem with metadata is that it’s incredibly personal, so it can inevitably lead to your privacy being compromised. Cardano is researching how to attach metadata to the chain selectively.
Attribution
Attribution extends the story told by metadata to include the names of the people involved in the transactions. If the blockchain permanently fixes attribution to itself, it will significantly compromise user privacy. Cardano enables its users to hand out attribution when needed.
Compliance
Compliance is used to check the legality of a transaction. Features like KYC (Know Your Customer), AML (Anti Money Laundering), ATF (Anti Terrorist Financing), etc., are included in compliance. So, if your friend pays you $100, compliance checks if the transaction is malicious or not.
Cardano is researching how to use Metadata and Attribution along with Compliance to help their users whenever they need to interact with the banks.
Current status of Cardano’s network
The Cardano roadmap is a summary of Cardano development, which has been organized into five eras: Byron, Shelley, Goguen, Basho, and Voltaire. Each era is centered around a set of functionalities that will be delivered across multiple code releases.
Cardano has recently announced the deployment of the Byron reboot. It comes with many updates for the Cardano blockchain in readiness for the Shelley era. The team has also rolled out a new “pre-release” version of their Daedalus wallet, dubbed Daedalus Flight, which lets the users try the wallet features.
According to an IOHK blog post, the Byron reboot updates the Cardano network’s features, including the Cardano node and the Cardano explorer, the wallet backend, and the Daedalus wallet. IOHK says that the new code for the Byron reboot was built “from the ground up.” The blog post calls the revamped design modular, meaning that it will differentiate the ledger, consensus and network components. This will make it easy to upgrade any of them without impacting the rest. All these updates are expected to prepare the Cardano network for the upcoming Shelly mainnet.
The Byron reboot will allow the Cardano network to process more transactions per second. Additionally, it will increase the network’s participation as the Cardano node will be more efficient for memory usage. This will make it easier for users to run a node even in poor network conditions.
Cardano’s first major release, named Byron, went live on September 29, 2017, and saw the Cardano main-net launch. Cardano devs believe this will be a slow and sustainable migration without any obstacles. After the launch of Byron, IOHK will unveil the Haskell Shelley testnet, which will involve “onboarding stake pool operators from the Incentivized Testnet to help them set up and prepare for running their pools on the Shelley mainnet.”
Cardano features to keep in mind
Conclusion
Cardano has made a unique niche in a very crowded space by blending science and philosophy. Its combination of a brilliant team and functional programming can bring the blockchain and smart contracts to mainstream consciousness. We suggest that you go to their website and read up some more about this fascinating project.
disclaimer
CHAIA.iO is not a registered investment, legal or tax advisor or a broker/dealer. All investment/financial opinions expressed by CHAIA.iO or the authors of the respective articles on www.chaia.io are from personal research and experience of the owner of the site or the authors and are intended as educational material. Although best efforts are made to ensure that all information is accurate and up to date, occasionally unintended errors or misprints may occur. You should take independent financial advice from a professional in connection with, or independently research and verify, any information that you find on our Website and wish to rely upon, whether for the purpose of making an investment decision or otherwise.