Cardano is a project that began in 2015 as an effort to change the way cryptocurrencies are designed and developed. The overall focus is to provide a more balanced and sustainable ecosystem that better accounts for the needs of its users as well as other systems seeking integration – a key feature for mass adoption.
Cardano did not begin with a comprehensive roadmap. Rather, it embraced a collection of design principles, engineering best practices, and avenues for exploration following academic research principles. From this unstructured set of ideas, the developers working on Cardano began to explore cryptocurrency literature and to build a toolset of abstractions.
Cardano was conceptualised and founded by Charles Hoskinson, one of the co-founders of Ethereum (alongside Joseph Lubin and the iconic Vitalik Buterin), and is composed of the Cardano Foundation, InputOutput HK (IOHK), and EMURGO.
Cardano’s token, ADA, can be used to send and receive digital funds. This digital cash represents the future of money, allowing fast, direct transfers that are guaranteed to be secure through the use of cryptography.
Cardano’s proof-of-stake (PoS) consensus protocol is called Ouroboros, and it is a DPoS (Delegated Proof-of-Stake) system. IOHK claims it established security properties for the protocol comparable to those achieved by Bitcoin, as Ouroboros provides a proof-of-stake blockchain discipline which offers qualitative efficiency advantages over blockchains based on proof of physical resources (proof-of-work).
Token – ADA
The goal of the ADA token is to be a completely new and decentralised form of digital cash that can be used to build powerful dapps, giving life to the whole Cardano ecosystem. Key features include:
- Real-time settlement (60 seconds)
- Cryptographically secure transactions
- Decentralised digital cash
- Power smart contracts built in the Cardano Network
- Stake ADA to earn rewards and fees
Currently, there is about 80% of the total ADA supply in circulation:
- Total supply: 31,112,483,745 ADA
- Circulating supply: 25,927,070,538 ADA (about 80% of the total supply)
- Digital cash: ADA owners can process cross-border payments in real time, with end-to-end tracking and certainty. Some key advantages are low transaction costs, easy integration, and more transparent and predictable payment services.
- Financial institutions: Cardano balances the needs of users with those of regulators, and in doing so combines privacy with regulation.
- PoS rewards: By staking ADA, users are participating in the verification of transactions, earning both block rewards and fees.
According to Cardano’s roadmap, there will be five major technological breakthroughs expected from the platform:
- Byron: Enables users to trade and transfer ADA. The Cardano mainnet was also launched during this update.
- Shelley: Ensures that the tech is in place for Cardano to become a fully decentralised and autonomous system.
- Goguen: Will see the integration of smart contracts.
- Basho: Centered around performance improvements.
- Voltaire: IOHK will add a treasury system and governance.
The way the technology stack is developed means Cardano is based on a liquid democracy, so the ADA tokens come into play at the governance level. The tokens are set up following these rules:
- People can vote on company policies directly by using ADA.
- People can delegate their voting responsibilities to a delegate who can vote on their policies for them, by delegating ADA.
- The delegates themselves can delegate their voting responsibilities to another delegate who can vote on their behalf.
- If a person who has delegated their voting doesn’t like the vote that their delegates have chosen, then they can simply take back their vote and vote on the policy themselves.
Cardano’s coding is done in Haskell, while smart contracts will be coded in Plutus. There are some advantages in using functional programming languages as a base layer (Haskell) with imperative languages on top (Plutus), as we can see below:
- It helps with creating high assurance code because it is easier to mathematically prove how the code is going to behave.
- Increases the readability and maintainability of the code because each function is designed to accomplish a specific task.
- Functions are also state-independent.
- Code is easier to refract and changes are simpler to implement.
- Reiterative development becomes easier.
- Individual functions can be easily isolated, which makes them easier to test out and debug.