Cardano might seem like one among the numerous cryptocurrencies but this network is an interesting project that brings some unique features to the table.
Just like Ethereum, Cardano is a smart contract platform although it is based on a layered architecture for improved security and scalability.
In this guide, we will analyze what is Cardano, how the network functions and the innovations it provides.
The birth of Cardano
The creator of Cardano’s concept is Charles Hoskinson, former co-founder of Ethereum, Ethereum Classic, and BitShares. He states Ethereum is a second generation blockchain and evolution was a necessary step. At the moment Cardano’s development and maintenance is in the hands of three organizations: The Cardano Foundation, IOHK, and Emurgo.
The Cardano Foundation is a non-profit entity that is tasked to “standardize, protect, and promote the Cardano Protocol technology”. IOHK is an R&D company that’s focused on using peer-to-peer blockchain technologies to create accessible financial services. Last, but not least, Emurgo is a Japanese business that “develops, supports, and incubates commercial ventures who want to revolutionize their industries using the blockchain technology”.
Cardano defines itself as a 3rd generation blockchain. We’ll discuss the three generations of blockchain below, as well as the reason Cardano was born in the first place.
The three generations of blockchain
Hoskinson, Cardano’s creator states that until now, we have three generations of the blockchain.
Bitcoin is generation no. 1, which was initially created to facilitate currency transfers between two entities without a third-party involved and without a controlling entity. As a result, Bitcoin was born to bring a decentralized monetary system so two people can securely transfer funds between them.
The first generation blockchain was lacking in the sense that it only allows for monetary transactions with no way to add conditions. So Carol could send Dave 0.5 BTC but she couldn’t impose conditions such as send the money only if Dave performed certain tasks.
This is how the second generation blockchain needed to be created and Ethereum entered the cryptocurrency universe. That “something” that was required to add conditions to transactions was what we now know as a “smart contract”. Smart contracts are what automatically impose a certain set of conditions to a transfer so there is no need for a middleman (you can read more about how smart contracts work in our Ethereum guide).
As the blockchain adoption started to rise, the problem of scalability arose. That, along with the bad governance system of these blockchains paved the way for the third generation blockchain.
Finally, Cardano was born based on the positive traits of previous blockchains and some new additions aiming to solve existing problems. Cardano aimed to solve three major elements: scalability, interoperability, and sustainability.
Cardano is based on peer-reviewed academic research and scientific philosophy to become “High Assurance Code”. This is done so the code used will be of the best possible quality and trustworthy. Besides optimal functioning, another reason for this is to prevent events like the Ethereum/Ethereum Classic split, according to Hoskinson.
The Cardano team has set a collection of principles and philosophies they are focused on following. You can see all of them here. Below we will discuss the three major elements Cardano wants to solve.
While the concept of “scalability” is applied to the number of transactions processed per second, Hoskinson says that’s just one part of the equation. In fact, when it comes to total scalability, three main elements need to be taken into account:
- Transactions per second/ Throughput
- Data scaling
Bitcoin’s and Ethereum’s lack of throughput has been discussed many times. Ethereum can handle 15-20 transactions per second, while Bitcoin manages only 7. Neither of these numbers is suitable for a financial system.
To solve this issue, Cardano has applied a consensus mechanism called Ouroboros which is actually a proof-of-stake algorithm. We’ve already explained in detail what proof-of-stake (PoS) is and how it works in our Proof-of-Work vs Proof-of-Stake guide.
Regardless, let’s see a short definition of proof-of-work (PoW): this process requires miners to solve cryptographic puzzles to “mine” a block in order to add it to the blockchain. This requires serious computational power and energy. Once a miner solves the puzzle, the new block will be verified by the network. While mining the block is costly and difficult, verifying it is quite simple. This is the algorithm both Bitcoin and Ethereum (at least until now) have been using.
Nevertheless, the PoW algorithm has some fundamental problems. To begin with, it takes a lot of energy and power which means there are only a few individuals and organization that can afford fast and powerful ASICS for efficient mining which makes Bitcoin less decentralized than it would want to be.
Right now, approximately 75% of Bitcoin’s hashrate is divided among 6 mining pools.
Ethereum is considering switching to a Proof-of-Stake algorithm to solve this problem. As we already mentioned, check our dedicated guide to learn more about PoS and PoW.
Proof-of-Stake virtualized the mining process and validators are used instead of miners. Some of the validators’ coins will be locked up as stake in order to start validating the blocks. To validate a newly discovered block a bet needs to be placed on it.
Once the block is added to the network, the validators are rewarded proportionally to their bets. In other words, the more coins they hold the bigger the rewards.
How Cardano’s Ouroboros algorithm works
The Ouroboros PoS algorithm looks at the ecosystem’s token distribution and divides the world into epochs using a source of random numbers. Each epoch lasts for approximately 20 seconds and is divided into slots.
Each slot receives a randomly selected slot leader.
The slot leader acts as miners do in a PoW protocol. They are the ones who select the blocks that are added to the blockchain but each can add only one block.
Should a slot lider miss their chance of selecting the block they will need to wait until they become slot leader again. While it is acceptable for a few slots not to produce blocks, at least 50%+1 must generate blocks during an epoch.
Slot leaders are crucial to the algorithm and they need to own a 2% stake in Cardano to be considered for qualification. The stakeholders are called electors and they are responsible for choosing the slot leaders for the next epoch before the current one ends. Stakeholders with bigger stakes in the system have increased chances of being elected as slot leaders.
To ensure the election is unbiased, some randomness is thrown into the mix using a multiparty computation (MPC). During this computation, each elector performs a random action known as “coin tossing” and shares the results with other electors. While the results are randomly generated by each elector, they must all agree on one final value.
Let’s detail the election process a bit. The three main phases are:
- Commitment phase
- Reveal phase
- Recovery phase
An elector generates a secret random value and forms a “commitment” which is a message containing encrypted shares and a proof os secret. Then, an elector signs the commitment using their private key, specifies the epoch number and attaches their public key.
This is done so everyone can verify who created the commitment, as well as which epoch it belongs to.
After that, the elector sends their commitments to other electors. In the end, each elector collects the commitments of the other electors which are placed into the block.
Commitments are just like a locked box containing some secret information which can be unlocked using only a special value. That special value is known as an “opening”. During the reveal phase, electors send their “opening” and the openings are also placed into the block.
When reaching the recovery phase an elector has both commitments and openings. There’s always a chance some electors might maliciously publish their commitment without the opening.
To prevent tampering, the honest electors can post all the encrypted shares and reconstruct the secrets. This is how the Ouroboros algorithm gets its Byzantine Fault Tolerance, ensuring it will still work even if some of the electors act maliciously.
At some point, an elector verifies that the commitments and openings match and if that’s true, the secrets from the commitments are extracted producing a seed. The seed is a randomly generated byte string possessed by all the elector.
Since slot leaders need to be elected for the next epoch, some amount of randomness is needed (as already mentioned above). The “seed” offers that randomness.
For the slot leaders to be elected, the Follow the Satoshi (FTS) algorithm will be used.
Cardano’s FTS algorithm
This algorithm has been named after Satoshi Nakamoto, Bitcoins anonymous creator.
The algorithm chooses a random coin from the stake and the owner of the coin becomes the slot leader. Pretty simple, right?
For this reason, those with higher stakes in the system have more chances of being elected as slot leaders in the next epoch.
Slot leaders will be able to select the blocks in the main blockchain, as well as blocks in other blockchains part of the Cardano network.
Now that we’ve reached the second main element that affects scalability you might be wondering what role does the network play in all of this?
The network is responsible for sustaining all those transactions. As their number increases, more network resources are needed for all the data to be processed.
To make the network scalable, Cardano is working on a new technology called Recursive Inter-Network Architecture, RINA for short. This technology is designed to structure networks using policies and clever engineer principles.
Its goal is to create a heterogeneous network that provides privacy, transparency, and scalability. The way it works would allow us to guess how the network will formally organize and the plan is to make RINA work seamlessly with TCP/IP protocols. Cardano is working on implementing RINA and hopes the integration will be complete by 2019.
The third major element of scalability is data scaling. The blockchain stores every piece of data (relevant or not) forever. As a result, it will get increasingly bulkier over time. Also, the blockchain is made of nodes (which are actually users), and each node has a full copy of the blockchain in their system.
The problem is, over time, the blockchain might end up so large that it couldn’t possibly be stored on a regular PC.
Cardano is looking to solve the problem using a basic philosophy: “Not everyone needs all the data”.
If you and a friend perform a transaction, the rest of the network nodes might not find this information relevant. They only need to know the transaction occured and it was validated.
As a result, Cardano is researching several techniques, specifically: pruning, subscriptions, and compression. When combined, they can significantly reduce the data a user needs to store and access.
The concept of Partitioning is also being analyzed. Partitioning means a user can store only a part of the blockchain so they won’t need to store as much data.
Bottom line, Cardano wants to use all of these technologies and concepts to compress the data users need to store while maintaining the same degree of security and transaction validation. There is research on the topic currently being performed at the University of Edinburgh.
Interoperability is the second pillar of Cardano, which can basically be resumed to one sentence, according to Charles Hoskinson: There won’t be one token to rule them all.
In the current cryptocurrency ecosystem there are various digital currencies just like the financial works has myriad banks and payment systems.
Just like different cryptocurrencies have trouble communicating with each other, so do banks. Things get even more difficult when banks try to communicate with cryptocurrencies.
One of the existing means of communication are crypto exchanges, although they are not decentralized and vulnerable to attacks.
Additionally, another problem in the miscommunication are ICOs. You could exchange your ICOs for millions of dollars in an exchange but transferring the funds to your bank account can be problematic. The bank might want to know where you got all that money from and who gave it to you, which is almost impossible to provide.
Cardano is looking for a more elegant solution to interoperability that would create an ecosystem where blockchains can communicate between them as well as with external legacy financial systems. Let’s analyze how Cardano wants to increase interoperability for both crypto and legacy ecosystems.
Inter-chain communication and Sidechains
It’s safe to say Cardano wants to create a network of blockchains, all communicating with one another with no need to go through centralized exchanges.
For this reason, Cardano plans to implement a concept known as cross-chain transfers and avoid any middlemen. They consider this can be done using sidechains.
This is another concept that’s not new in the crypto ecosystem. A sidechain is basically a parallel chain running along with the main chain but attached to the main chain through a two-way peg.
Sidechain support will be added to Cardano using research by Kiayias, Miller, and Zindros (KMZ) relying on “non-interactive proof of proofs of work”.
Hoskinson says the idea of sidechains is based on two things: get a compressed version of the blockchain and create interoperability between chains.
As for increasing interoperability with the legacy world, Cardano has three obstacles that need to be handled which currently make the legacy world incompatible with the crypto world:
Metadata, the first obstacle is the story of the transaction. This basically means details about the transaction, specifically what was the money spent on, who received the money and where the money was spent.
Cryptocurrency might not have this so well planned, but the legacy banking world does. In the legacy world, metadata is essential as it’s used to discover and identify resources, learn how data is exchanged among various systems and identify the data’s behavior and characteristics for future replication if need be.
The problem is, metadata is personal information and with the blockchain permanently storing all data and giving it to all of its nodes (users), we’ll end up having private information permanently stored in the blockchain.
As a result, Cardano is researching how to selectively attach metadata to the chain.
Attribution discovers the names of the individuals involved in the transaction. The privacy of the individuals would be put at risk if the blockchain continuously fixes attribution to itself. For this reason, Cardano intends to allow users to provide attribution when it’s actually needed.
Compliance, the third obstacle, is used to verify if a transaction is legitimate. It might not be as important in the crypto world, but it is in the banking world, where detailed information is needed regarding the history and legitimacy of each transaction.
Cardano is currently researching how to use metadata and attribution along with compliance so users will have everything they need to interact with the banks.
Sustainability is Cardano’s third pillar and Hoskinson says this is the most difficult to solve. It poses the question: how is Cardano planning to pay for its future growth and development?
For such a system, development is an obvious need and usually, grants come from ICOs and patronage. Sadly, both are problematic.
ICOs add an unnecessary token to the ecosystem and there is no sustainable model despite the beneficial and sudden funds.
Patronage brings the issue of potential centralization. If a large company invests a significant amount in a blockchain company, they could influence its development in the future.
Cardano is looking for a fresh, and sustainable solution which is why it plans to draw inspiration from Dash and make a treasury.
Cardano’s idea of a treasury works something like this: whenever a block is added to the chain, part of that block reward will be added to the treasury. Should someone want to develop and modify the ecosystem they can ask for grants by submitting a ballot to the Treasury.
The stakeholders of the Cardano network will them vote and decide whether to grant the ballot or not. If their decision is positive, the ballot submitter will receive the development grant.
This system comes with several undeniable benefits: as more blocks get discovered, the treasury keeps filling up. It’s also proportional to the network’s size. The bigger the network, the more decentralized the voting system becomes and the number of available resources increases.
At the same time, the treasury also poses some problems. It would require a fair voting system, preferably with incentivized voters. Everyone’s vote should have some value and the ballot submission process should be simple and quick. Finally, the entire process should be as decentralized as possible.
Cardano has found a system that could be implemented. It combines an incentivized treasury model with liquid democracy.
What is liquid democracy?
Liquid democracy is a system designed to seamlessly transition between direct and representative democracies.
In this process people can vote on their policies directly, they can delegate their voting responsibilities to a delegate who will vote for them, and even the delegates can delegate someone else to vote on their behalf. The characteristic in which a delegate can elect their own delegate is known as transitivity.
If someone who has delegated their voting is not happy with the vote of the delegates, they can take back their vote and vote on the policy themselves.
Liquid democracy has the following advantages: each individual’s opinion has value and an influence on the final policy creation. To become a delegate you simply need to earn the trust of another voter which is relatively easy.
Thanks to the option of switching between delegated and direct democracy minority groups can have a fairer representation. Last, but not least, its model is scalable since anyone who doesn’t have the time to vote can delegate their voting to someone else.***
Another important aspect of Cardano, is its coding. The programming language used to build the network is Haskell, while smart contracts will be written in Plutus.
To understand these choices, we must first understand some essential traits of programming languages. Primarily, they are imperative or functional.
An imperative approach requires the coder to write all the steps the computer needs to reach a goal. Traditional programming languages such as Java and C++ are imperative, which is also known as algorithmic programming. As an example, let’s say we want to add 2 and 4 in C++. The code would look like this:
int a = 2; int b = 4; int c; c= a + b;
Multiple steps are required and they need to be executed one by one.
Functional programming languages uses a different approach called declarative programming. For example, we have a function f(x) we want to use to calculate a function g(x) which in turn will be used to work with a function h(x). With functional programming they can simply be grouped together like this:
The functional approach is a much better way to code a system with a high degree of precision that can be proven to work mathematically.
For this reason, Cardano relies on Haskell for coding the network and on Plutus for the smart contracts. Both are functional programming languages.
Despite their benefits, these coding languages are new and not very popular yet, so it is significantly more difficult to find a Haskell developer compared to a C++ or Java developer. The code also needs to be tested thoroughly in real life scenarios.
The Cardano ICO
ADA, Cardano’s token is named after Ada Lovelace, the daughter of poet Lord Byron and a 19th-century mathematician acknowledged as the first computer programmer.
Approximately $62 million were raised during the Cardano ICO. Byron, the first major release took place on September 29, 2017, when Cardano’s main-net was launched.
The Cardano fees required for transferring ADA are calculated using the following equation:
transfer fee = a + b * size
- a = a constant currently having the value of 0.155381 ADA
- b = a constant with the current value of 0.000043946 ADA/byte
- size = the transaction’s size in bytes
This means that the minimum transaction fee would be 0.155381 ADA and for each additional byte of the transaction size it will increase by 0.000043946 ADA.
The transaction fees are collected in a pool during each epoch and rewarded to the appropriate slot leaders.
Cardano’s roadmap has 5 main stages:
- Byron – Allows users to trade and transfer ADA. Also includes the launch of Cardano’s mainnet (we are currently in Byron).
- Shelley – Makes all necessary preparations to equip the network with all technologies needed for a fully autonomous and decentralized system.
- Goguen – Smart contracts will be added.
- Basho – Focused on performance improvements.
- Voltaire – A treasury system and governance will be implemented by IOHK.
Cardano relies on the latest programming technologies, proven science, and firm philosophy. They have a solid plan for the future and it’s safe to say Charles Hoskinson’s vision is certainly one of their main advantages.
They have a lot of plans that still need to be accomplished so all we can do is wait until next year to see if this unique cryptocurrency and network is truly heading in the right direction.