Cardano is the birthplace of the Ada cryptocurrency, which can be used to send and obtain digital funds. This digital cash represents the future of money, allowing fast, direct transactions that are guaranteed to be safe by the use of cryptography. Cardano is one of the most interesting ideas to come out of here. Similar to Ethereum, Cardano is a smart contract network, but Cardano provides scalability and security by layered architecture. Cardano’s methodology is unusual in space itself, as it is focused on scientific theory and peer-reviewed scholarly research. In this review, we’re going to do a thorough analysis of Cardano and look at some of the more exciting developments it brings to the table.
The Roots of Cardano
Cardano has been conceptualized by Charles Hoskinson, who happens to be one of the co-founders of Ethereum.
While Ethereum does an excellent job as a smart contract platform, according to Hoskinson, it’s a second generation blockchain (more on that later) which needed evolution. What makes Cardano exceptionally impressive is the sheer amount of attention that goes into it. There are three organisations working full time to grow and take care of Cardano.
- The Cardano Foundation.
The Cardano Foundation is a non-profit controlled body and Cardano’s custodial agency. Their key role is to”standardize, defend and support Cardano Protocol.
In 2015, Hoskinson and Jeremy Wood founded IOHK (Input Output Hong Kong). IOHK is a technology and development organization dedicated to use blockchain peer-to-peer technologies to create open financial infrastructure for everyone. They have been contracted to build, design and operate Cardano until 2020.
We’ve got Emurgo, also. Emurgo is a Japanese corporation that “develops, funds and incubates business projects that aim to revolutionize their markets by leveraging blockchain technologies. Some of IOHK’s financing comes from a 5-year deal with Emurgo.
These three organisations work in collaboration to ensure that the production of Cardano continues at a good pace. Now, you’re still thinking about why Cardano was needed in the first place. Cardano describes himself as a 3rd generation blockchain. Let’s see what this means.
The Three Generations of Blockchain
According to Charles Hoskinson, we’ve been through three generations of blockchains.
Generation 1: Bitcoin and Money Transfer
Bitcoin was developed as a lot of people were asking the same questions.
Is it possible to establish a type of money that can be exchanged between two individuals without a middleman?
Is it possible to build transparent money that will run on something like a blockchain?
Satoshi Nakamoto addressed those questions when he founded bitcoin. Finally, we had a democratic banking structure that could move money from one person to another.
However, there was a bitcoin limitation that is a concern for all of the first-generation blockchains. They only allowed money transfers, there was no way to apply conditions to such transfers.
Alice will give Bob 5 BTC, but she can’t put any restrictions on such transactions. Etc. Etc. She couldn’t tell Bob that he’d just get the money if he finished some jobs.
These requirements would require incredibly complicated scripting. Something was required to make the operation more smooth.
Generation 2: Ethereum and Smart Contracts
And the “something” is a smart contract.
What’s a smart contract?
Smart contracts let you trade money, properties, shares, or something of interest in a straightforward, conflict-free way while eliminating the services of a middleman.
Vitalik Buterin’s Ethereum is probably the stallion of this generation. They have shown the world how the blockchain will evolve from a basic payment system to something much more profound and efficient.
However, there were still some issues with this generation.
As more and more fascinating examples of blockchain use were coming out, they were gaining more and more recognition.
The concern was, though, that these iterations of blockchain did not always have sufficient scalability requirements. In fact, the governance structure of these blockchains was not always that well-thought-out. For example, according to Hoskinson, the division between Ethereum and Ethereum Classic is a textbook illustration of poor governance.
That is where the third wave is moving in.
Generation 3: Cardano
Hoskinson realized that the blockchain needed to grow even further. He took the positive elements from the first two iterations of blockchain and incorporated his own elements. Cardano was what came out of it.
The three issues Cardano tried to solve were:
As stated earlier, Cardano is distinctive in the sense that it is focused on scientific theory and peer-reviewed scholarly study. All the innovation that goes into it has the overall purpose of being a “High Assurance Code.” This is achieved to guarantee that there is a significantly greater confidence in the consistency of the code used (more on this later than in the segment “Haskell and Plutus”). According to Hoskinson, this would preclude potential situations such as the ETH-ETC break from happening.
And, before we go any further, let’s discuss Cardano’s theory.
The Philosophy of Cardano
The team of Cardano wants to stick to a collection of values and philosophies. They didn’t make a road map or a white paper. Alternatively, they concentrated on following a ‘set of design standards, engineering best practices, and discovery paths.’
Those guidelines are laid out below and are drawn directly from the Cardano website.
- Separation of accounting and computation into various levels.
- Deployment of core components in a highly scalable functional application
- Small groups of academics and engineers compete with peer-reviewed work
- Strong use of interdisciplinary teams including early use of InfoSec expertise
- Quick collaboration between white papers, deployment and new research needed to resolve problems found during the analysis
- Building on post-deployed update capability without damaging the network
- Developing a transparent funding system for future research
- A long-term outlook on developing the functionality of cryptocurrencies so that they can operate on mobile devices with a fair and stable user interface
- Getting stakeholders closer to the processing and management of their cryptocurrency
- Recognizing the need to account for different properties in the same ledger
- Abstract transactions to include optional metadata to better meet the needs of legacy systems
- Learning from almost 1,000 altcoins by embracing features that make sense
- Adopting a standard-driven process inspired by the Internet Engineering Task Force using a dedicated foundation to lock down the final protocol design
- Explore the social elements of trade
- Find a safe middle ground for regulators to engage with trade without losing any of the main values borrowed from Bitcoin.
Now that we’ve seen the theory, let’s dig at the three problems in depth that Cardano needs to overcome.
Item # 1: Scalability
If people hear “scalability” they often think about transactions performed per second or throughput. Yet, according to Hoskinson, that’s just one aspect of the equation. Full scalability, so to speak, is a three-headed hydra. Three different aspects need to be addressed:
- Transfers per second / Throughput
- Data Scaling.
Several papers have been published on the lack of throughput in Bitcoin and Ethereum. Bitcoin handles 7 transactions per second and Ethereum handles 15-20 transactions per second. It is simply not applicable to the financial system.
With their mediation system, Ouroboros, Cardano hopes to solve this problem. It’s a proven, stable proof-of-stake algorithm. Ouroboros was formally peer-reviewed and accepted in Crypto 2017.
Ouroboros, as mentioned above, is a proof-of-stake algorithm. Before we get further into the process, we need to learn what proof of the stake is.
Bitcoin and Ethereum (for now at least) follow the proof-of-work model.
Proof-of-work as a method has the following steps:
- Miners solve cryptographic puzzles to “mine” a block to add to the blockchain.
- This process requires an enormous amount of resources and computing use. Puzzles have been designed in a manner that makes it impossible to tax the system.
- When a miner solves a mystery, they must pose their block to the network for verification.
- Verifying whether or not the block belongs to the chain is an incredibly simple operation.
This, basically, is what the proof-of-work program is. Solving the puzzle is challenging, but it is easy to test whether the solution is really right or not. That is the device that Bitcoin and Ethereum (so far) have been using. There are, however, several inherent shortcomings in the method.
The problem of proof of work
There are quite a few issues with proof-of-work, as it turned out.
- First and foremost, proof of work is an extremely inefficient mechanism due to the sheer amount of power and resources it absorbs.
- People and organisations that can afford quicker and more efficient ASICs tend to have a greater chance of mining than others.
- As a result, bitcoin isn’t as transparent as it needs to be. Let’s test the distribution graph of the hashrate:
As you can see, ~75% of the hashrate is split into 5 mining pools alone!
- Theoretically speaking, these massive mining pools will actually partner up with each other to start a 51 percent bitcoin network.
Therefore, to overcome these issues, Ethereum looked at Proof of Stake as a workaround.
What is proof of stake?
Proof of the stakes would make the whole mining cycle automated and replace miners with validators.
That is how the mechanism works:
- The validators would have to pick up any of their coins as a stake.
- After that, the blocks will begin to be validated by them. In other words, when they find a block that they think can be attached to the chain, they can validate it by making a bet on it.
- If the block is appended, the validators will be paid in proportion to their bets.
Cardano: Ouroboros Under the Hood
Ouroboros looks at the allocation of tokens in the ecosystem and, from a basis of random numbers, splits the world into epochs. Each epoch is divided into slots. Each epoch lasts for a very brief period of ~20 seconds.
Every slot then gets its own slot leader, who’s selected randomly.
The Slot owner serves as a miner in a POW system, in the sense that they are the ones that pick the blocks to be attached to the blockchain. They can only add one block, however.
If a slot leader somehow loses their chance and doesn’t pick a block, they lose their chance and have to wait before they are slot leaders again. It is appropriate for one or two slots to stay empty (without the blocks being generated), but most of the blocks (at least 50 percent + 1) must be generated during an epoch.
As you can see, slot operators have a very important role to play in the ecosystem. In order to apply, one must hold a 2% stake in Cardano. Such members are called electors, and they are the ones that will nominate slot representatives for the next period during the present period. The higher the stakeholder’s position in the scheme, the higher the opportunity for them to be chosen as slot members.
Now that slot members have a lot of influence, great consideration must be taken to make the election as impartial as possible. There must be a fair degree of randomness involved. This is why multi-party computation (MPC) is performed to achieve some form of randomness.
In this MPC method, each elector performs a random operation called “coin-flipping” and then exchanges the outcome with other electors. Although the outcomes are randomly generated by each elector, they collectively vote on the same final value.
The election is split into three phases:
- Commitment Process
- Reveal Process
- Healing Process
Let’s discuss what happens in each process.
In the first place, an elector produces a hidden random value and then creates a “commitment.” Commitment is a document containing encrypted shares (keep that in mind for the healing phase) and a statement of secrecy.
After this, the elector signs the agreement with their private key specifies the epoch number, and adds the public key to it. Doing so plays out for two purposes:
- Anyone can test who made the commitment (because it has the public key attached to it).
- They can test what epoch it belongs to.
When this has been finished, the elector transfers his/her duties to other electors. Eventually, each elector receives the responsibilities of the other elector (commitments are placed into the block and become part of the blockchain).
Think about commitments as a closed box that has a key in it, and there’s a special value that opens the package. This particular interest is referred to as “opening.” This is what this process is all about, the electors are sending their “opening.” These openings are then put in the block, and then they are part of the blockchain.
At this time, the elector has both responsibilities and openings. Many electors can, however, behave maliciously and make their commitment public without opening. Essentially, send the locked box without the passphrase.
In order to circumnavigate this, truthful electors should post all the encrypted shares (as stated in the commitment phase) and simply recreate the secrets. This way, even though some electors behave in a hostile fashion, the program would still operate. That is how Ouroboros is going to achieve its Byzantine Fault Tolerance.
Then, the elector verifies that the commitments and openings match and, as this happens, the secrets of the commitments are retrieved and form seed. The seed is a random byte string.
All the electors now have this seed.
So, let’s stop for a second to see where we’re right now.
We’re nominating slot leaders for the next period. In order to ensure that the voting is as fair as possible, we wanted some form of randomness. The “seed” gives us this randomness. It’s time to choose Slot Leaders.
We must use the Follow the Satoshi (FTS) algorithm to do this.
Cardano: FTS Algorithm
The name of the algorithm derives from Satoshi Nakamoto, Bitcoin’s enigmatic founder.
Basically, the FTS picks a random coin from the stake. Whoever owns the coin is the master of the slot. It’s that clear.
That’s why, the more you’re involved in the scheme, the more chances you’ve got to win this lottery.
Slot leaders will also have the right not only to select blocks in the central blockchain, but also to select blocks in other blockchains within the Cardano ecosystem.
And how does a network element impact scalability?
Simple — Bandwidth.
Transactions are carrying info. As the number of transactions increases, so does the need for network resources.
The premise is quite simple: if the infrastructure is to scale up to millions of users, the network will need 100 terabytes or exabytes of energy to support itself.
As such, it is difficult to preserve a homogeneous network topology. What does that mean?
Every node in the network relays any message in a homogenous network topology. Skype is an example of such a network where most of the money is derived from a single class of people who are all involved in making a phone call.
In a decentralized network, however, this may become inefficient for scaling up. All nodes may not have the tools required to transmit information in an appropriate manner.
Cardano is looking at a new form of technology called RINA, the Recursive Inter-Network Architecture developed by John Day, to address this problem. This is a modern method of structuring of networks based on policy and innovative technical concepts.
The aim of RINA is to build a heterogeneous network that promises to give:
It does so in a way where you can imagine how the network should be structured in a formal manner. It is hoped that it would communicate smoothly with TC /IP protocols. Cardano aims to introduce this in part by 2018 and in full by 2019.
According to Wikipedia, RINA implicitly facilitates versatility, multi-homing, and service efficiency without requiring extra frameworks, offers a stable and programmable environment, motivates a more efficient marketplace, and enables smooth adoption.
#3 Data Scaling
Blockchains store stuff forever. Any single piece of evidence, important or not, is preserved forever in the blockchain. As the network scales up as more and more users move in, with the overwhelming volume of data, the blockchain is becoming bulkier.
Finally, note that a network is operating as it consists of nodes. Every node is a user who stores a copy of the blockchain on their network.
Can you see where the problem is?
As the blockchain gets bulkier, it can take more room, and this is unreasonable for a typical user with a typical machine.
The way Cardano wants to address this issue is by introducing a basic principle – not everybody needs all the details.
For example, if Alice and Bob are participating in a transaction, it might not be important to everyone else on the network. The only thing they need to say is that the exchange has taken place and that it is legal.
The methods that Cardano is looking into are:
If used synergistically, it will potentially substantially reduce the amount of data that a person has to have.
There is also, along with this, the principle of Partitioning. What it really means is that instead of having a whole database, a person may merely get a database and significantly minimize the amount of data they need to store. They hope to do this through sidechains (more on this later).
Cardano’s goal here is to use all this knowledge to compact the data that consumers need to access without losing protection or the confidence that their purchases have been carried out properly. Work on this has started at the University of Edinburgh.
Item # 2: Interoperability
Now that we’ve seen how the Scalability side of Cardano functions, we’re coming to the second pillar: Interoperability. The long and short of interoperability, as Charles Hoskinson put it, is that there won’t be a single token to command them all.
Let’s take a look at the present environment. We have various crypto coins in the cryptosphere, such as Bitcoin, Ethereum, Litecoin, etc. Similarly, in the legacy financial world, we have structures such as the conventional banks that use SWIFT, ACH, etc.
The concern is that it is incredibly difficult for such different institutions to interact with each other. It’s rare for bitcoin to learn what’s going on in Ethereum, and vice versa. This is twice as complicated as banks attempt to communicate with cryptos.
That’s why crypto exchanges, which provide a gateway between cryptos and banks, are becoming so powerful and significant. There is, indeed, a question in itself. Exchanges are not a transparent body and are highly vulnerable.
- They might get hacked.
- They will fail for long stretches of system update. That’s exactly what happened to Binance lately.
In fact, there is another area where this miscommunication between the legacy world and the Crypto universe will lead to a catastrophic outcome: the ICOs.
In ICOs, an individual earns millions of dollars in return for their tokens, but keeping the money in their bank accounts can be difficult. The banks will naturally like to know where all the money comes from, and who were the ones that supplied the money, which is something that is almost impossible to do.
A more elegant and risk-free approach for interoperability was expected.
A third-generation cryptocurrency coin will have an environment where each blockchain can connect with another blockchain and external legacy financial structures.
So, let’s look at how Cardano wants to improve interoperability in both the crypto community and the legacy community.
The Crypto World: Inter-Chain Communication and SideChains
Cardano’s dream is to build a “Blockchain Internet.” Picture an economy where Bitcoin can flow through Ethereum, and Ripple can flow effortlessly through Litecoin without the need to go through centralized exchanges. That is why cross-chain transactions are something that Cardano wants to do without any middlemen.
One way that Cardano wants to do that is by introducing sidechains.
Sidechain has been in the crypto circles for quite some time now. The principle is really simple; you have a parallel chain that runs along the main chain. A two-way peg would connect the main- and sidechain.
Cardano would support sidechains based on studies by Kiayias, Miller, and Zindros (KMZ) concerning “non-interactive proof of work.”
According to Hoskinson, the concept of sidechains stems from two things:
- Having a compressed blockchain.
- Creating interoperability between chains.
What will Cardano be used for?
When it comes to that interoperability with the legacy world, Cardano needs to concentrate on the three hurdles that make the crypto environment inconsistent with the legacy environment:
Obstacle #1: Metadata
The story behind the trade.
If Alice were to spend USD 50, the metadata might be as follows:
- What did Alice spend the money on?
- Who was Alice offering the money to?
- Where did she invest her money?
Although this is not as well developed in the cryptocurrency room, it is highly necessary in the legacy banking environment. In reality, this is one of the key reasons that most companies are struggling post-ICOs. They clearly don’t have the metadata needed to supply the banks.
The metadata is incredibly relevant in the legacy world. These are the functions it serves:
- Exploration and detection of resources.
- Good management of electronic records.
- Tells us how data is shared between different systems and thus increases interoperability.
- Quite valuable for the security of resources. Helps to define the attributes and behavior of the data to be repeated if necessary.
However, the issue with metadata is that it is highly confidential because since the data is stored in the database on a permanent and open basis, we have a scenario where incredibly private information will be indefinitely affixed to the database.
One of the key things Cardano is researching is how to connect metadata selectively to the chain.
Obstacle #2: Attribution
Similar to metadata, the identities of the individuals involved in the transactions are identified by attribution. Essentially, to whom are allocated particular transactions?
Unless the network actually assigns the distribution of itself, the anonymity of the persons in question will be seriously compromised.
As a result, Cardano aims to allow its users to have attribution if and when appropriate.
Obstacle #3: Compliance
The final challenge is Compliance.
Compliance covers aspects such as: KYC (Know Your Customer), AML (Anti Money Laundering), ATF (Anti Terrorist Financing), etc.
Compliance is used to verify the legality of trade. Basically, if Alice charges Bob $50, compliance is used to ensure that the exchange is not done for any sinister reason.
Although the crypto community has not done much on this front, it is highly important in the banking environment, where the context and validity of each transaction must be understood.
What Cardano is looking at is how to use Metadata and Attribution in combination with Compliance to support their customers if they choose to communicate with the banks.
Item #3: Sustainability
We finally come to the third pillar, sustainability.
According to Hoskinson, this is the hardest one to tackle. It basically means, how does Cardano plan to pay for its future development and growth?
Typically, there are a few things that can happen when some work needs to be done in the program and funds are needed:
However, both of them have an issue.
With patronage, you have the question of future centralization. If a large corporation gives a massive amount of grant to a blockchain corporation, it can guide the way the network evolves.
With ICOs, it’s like a fast jolt of capital without a sustainability plan and brings a completely needless token to the environment.
Something new and sustainable needs to be achieved.
Cardano aims to derive inspiration from Dash and build a treasury.
How does the treasury work?
Any time a block is attached to the chain, part of the block incentive is transferred to the treasury.
If anyone decides to grow and make any changes to the environment, they’re going to send a ballot to the Treasury applying for grants.
The members of the Cardano community will then vote and decide whether or not to participate.
If they do, the submitter of the ballot will receive a development grant.
The method has a number of big advantages:
- The treasury keeps building up as more and more blocks are found.
- It’s strictly proportional to the scale of the network. The larger the network, the more money available and the voting system often becomes more democratic.
Nonetheless, there are several big hurdles along the way before this is used.
- A fair voting system needs to be put in place.
- Voters should be encouraged to vote and share in the scheme.
- Everyone’s vote should have some worth so that the “Tragedy of the Commons” thing doesn’t happen.
- The method of sending votes should be simple and straightforward.
- The whole mechanism should be as open as possible.
As of now, Cardano has defined a method that they might potentially use, mixing liquid democracy with an incentivized treasury model.
Cardano: how does liquid democracy work?
This is a system that works seamlessly between direct democracy and representative democracy.
The mechanism has the following characteristics:
- Citizens will vote explicitly on their policies.
- People should assign their voting duties to a representative who will vote on their policies.
- Delegates themselves may delegate their voting duties to another delegate who may vote on their behalf. This property, in which a delegate may appoint his own delegate, is called transitivity.
- When a person who has delegated their vote does not like the vote selected by their representatives, they will actually take back their vote and decide on the proposal themselves.
What are the benefits of liquid democracy, then?
- The viewpoint of each person counts and plays a part in the final development of the legislation.
- In order to become a delegate, what you need to do is gain the confidence of a individual. They don’t have to waste millions of dollars on lavish political campaigns. The barrier to entry is fairly small because of this.
- The prospect of oscillating between direct and indirect representation means that minority communities will be more equally treated.
- In the end, it has a scalable model. Anyone who has little time to vote on their proposals should easily delegate their voting duties.
Haskell and Plutus
Cardano’s coding is performed in Haskell while their smart contracts are coded in Plutus. To appreciate why this is such a special approach, we need to learn the fundamentals of programming languages.
In terms of languages, they belong to two families:
Imperative Programming Languages
With an imperative style, the coder has to carry out all the steps that the machine has to take in order to accomplish a goal. Many of our mainstream programming languages, such as C++, Java and even Solidity, are important programming languages. This type of programming approach is also called algorithmic programming.
See an example of what we mean by that. Let’s take a peek at C++. Suppose we’re going to add 5 and 3.
- int a = 5;
- int b = 3;
- int c;
- c= a + b;
Therefore, as you can see, the add-on process takes multiple steps, and each step is constantly changing the status of the system as they are all running independently.
The additional method has taken four steps and the steps are:
- The declaration of the integer a and the assigning of the number 5 to it.
- Declare the integer b and add the value 3 to it.
- The declaration of an integer c.
- Connect and store the values of and b in c.
Cardano Functional Programming Languages
The second programming language family is Functional Languages. This programming style was designed to build a practical approach to problem-solving. This type of approach is called declarative programming.
So, how does it work?
Suppose there is an f(x) function that we want to use to measure the g(x) function, and then we want to use it to deal with the h(x) function. Instead of working out all of them in a sequence, we can simply put all of them together in a single function like this:
This makes the sequential solution easier to understand mathematically. That’s why functional systems can be a more stable solution to building smart contracts. This also aids with better Formal Verification, which ensures that it is easier to mathematically prove what the program does and how it operates. This gives Cardano its “Big Assurance Code” property.
Take a real-life example of this and see why it can become extremely critical and even life-saving under certain circumstances.
Suppose we’re coding a system to monitor air traffic.
As you might understand, the coding of such a device involves a high degree of detail and accuracy. We can’t just blindly code something and hope for the best because people’s lives are at stake. In cases like this, we need a code that can be shown to function with a high degree of mathematical certainty.
This is exactly why a functional solution is so attractive.
And that’s exactly what Cardano uses Haskell for – to code their environment and Pluto for their smart contracts. Both Haskell and Pluto are functional languages.
The following table contrasts the Imperative approach to the Functional approach.
Let’s look at the benefits of a functional approach:
- It helps to build a high-security system as it’s easy to mathematically show how the system is supposed to behave.
- Increases readability and maintainability as each feature is programmed to execute a particular purpose. The roles are therefore autonomous of the administration.
- The code is easy to refractor and any changes to the code are easier to enforce. It makes it possible to replicate inventions.
- The different tasks can be conveniently separated, making it easy to check and debug.
However, as with everything, there is also a downside to this approach:
It is new.
What that means is, it’s harder to find a Haskell developer than to find a C++ and Java developer, and it needs to be thoroughly tested in real-life situations.
The Cardano ICO has raised nearly $62 million.
Cardano’s token is named after Ada Lovelace, a 19th-century mathematician known as the first computer programmer and daughter of the poet Lord Byron.
The first major release of Cardano, titled Byron, came live on September 29, 2017, which saw the introduction of the main net of Cardano.
The ADA transfer fees range according to the following equation:
- transfer fee = a + b * size.
- a = A constant which currently equals 0.155381 ADA
- b = Another constant that currently equals 0.000043946 ADA/byte
- size = The size of the transaction (in bytes0.
This means that the minimum amount you pay is 0.155381 ADA which will increase by 0.000043946 ADA for each byte change in the size of the amount.
In each epoch, transaction fees are collected in the pool and issued to the correct slot managers.
According to the roadmap, Cardano will be launched in 5 phases:
- Byron: Allows users to exchange and transfer Ada. The mainnet of Cardano was also released.
- Shelley: Ensures that the infrastructure is in position to create a completely unified and autonomous system.
- Goguen system: sees the introduction of smart contracts.
- Basho: Based on improving results.
- Voltaire: IOHK will add a treasury and governance system.
Cardano: Final Word
Cardano is based not only on sound theory but also on rigorous research. That in itself gives it a major advantage over its competitors. Plus, the fact that someone like Charles Hoskinson is leading the way adds more prestige. We’re going to have to wait and see until 2019 if they can really deliver on all their ambitious commitments.