An Open-Source Public Blockchain To Support Smart Contracts.
Share this article
Cardano (ADA) is an open-source Proof-of-Stake (PoS) blockchain network with its inception dating back to 2015. It utilizes a modified version of UTXO (EUTXO) to accommodate support for smart contracts, which is currently under development.
It is supported by three main organizations: the Cardano Foundation, IOHK, and Emurgo. They all work in conjunction to support development, promotion, and commercial adoption efforts.
Cardano’s progress of development is divided into 5 phases, which are concomitantly rolled out through a process that relies heavily on academic research and engineering best practices.
Cardano is expected to implement full support for smart contracts by the end of 2020 with the final Goguen update.
1. What is Cardano (ADA)?
Cardano (ADA) is an open-source Proof-of-Stake (PoS) blockchain network, based on a wide array of design components that include a dApp development platform, multi-asset supported ledger and verifiable smart contracts.
The transaction ledger utilizes a modified version of UTXO to accommodate support for smart contracts, which is currently under development.
While Cardano was ranked as the most actively developed cryptocurrency project in 2019 according to Santiment’s 2019 Market Report, full mainnet support for smart contracts remains absent, preventing the growth of decentralized applications and other tokens on its network.
2. Key features of Cardano
2.1 The Cardano platform: a two-layer approach
Cardano is composed of two separate layers that utilize proof-of-stake consensus throughout the system. Division of the network into a Settlement Layer (SL) and Computation Layer (CL) is meant to allow for developers to optimize each one independent of the other, thereby increasing the efficiency, scalability, and flexibility of the network.
1. Settlement layer: the primary purpose of this layer is to account for the value of transactions e.g., this is the currency layer. The Settlement Layer in its completed form will feature:
Support for two sets of scripting languages; one to move value and another to enhance overlay protocol support.
Provide support for KMZ sidechains; a non-interactive means to securely transfer funds to the Computation layer or other supported blockchain protocols.
Support multiple types of signatures, including quantum resistant signatures for optimum security.
Support for numerous user issued assets.
Achieve “true scalability”: as more users join, the capabilities of the system increase.
2. Computation layer: a smart contract computing layer will be built to handle smart contracts. It is comprised of the following elements:
Plutus, a purpose-built smart contract development language and execution platform based on the functional programming language Haskell
Marlowe, allowing financial and business experts with no previous technical knowledge to create smart contracts. Marlowe is a high-level, domain-specific language (DSL) for financial contracts which is built on Plutus.
Marlowe Playground, an easy-to-use application-building platform that non-programmers can use to build financial smart contracts. Together, Marlowe and the Marlowe Playground simplify the process of creating smart contracts for financial applications, allowing subject matter experts to directly contribute without requiring deep programming skills.
2.2 Global state on the Cardano blockchain
Cardano currently maintains the state of the blockchain through the UTXO (unspent transaction output) model pioneered by Bitcoin. Inputs and outputs carry information regarding changes in value: inputs inform from which address a value originates from, and outputs inform which address the value is transacted from. To prevent double spending, every node on the network keeps a record of transactions. When a new transaction becomes available (either by appearing in a block or in the mempool), it is analyzed to see if it modifies unspent outputs associated with each address on the network.
However, the UTXO model is not optimal for the support of smart contract functionality. To address this issue, Cardano plans to release its adapted version of UTXO, called Extended UTXO (EUTXO). EUTXO introduces mechanisms that split the execution of a smart contract into multiple transactions.
To accomplish this, each transaction output also contains a data field populated with arbitrary information connected to a particular smart contract. EUTXO is expected to be fully implemented during the Goguen phase of the roadmap.
The Cardano blockchain functions through the use of two different types of blocks: main and genesis. The main block consists of a header and a body; with the header carrying meta-information about the block and the body containing transaction data. Like main blocks, genesis blocks also have a header and a body, but only generated once per epoch to serve as an index for the main blocks with which it is associated.
2.3 The Ouroborous Proof-of-Stake algorithm
The Ouroboros protocol is a chain-based PoS protocol designed to maximize the level of decentralization on the Cardano blockchain.
Block creation is segmented into epochs and slots. To deal with a changing stake distribution, Ouroboros defines the notion of an epoch as some number of slots in which the stake distribution is fixed. It is either hardcoded (in the initial bootstrapping stage) or in later stages of development, computed from a snapshot of the blockchain at a sufficiently deep block.
At the beginning of each epoch, a set of leaders is chosen and each is assigned the right to produce a block in a specific slot. For each slot, a leader is randomly chosen from a pool of stakeholders and produces the next block, which links to the previous one in the chain. As transactions are recorded in blocks, the stake distribution (i.e., the set of stakeholders and their respective stakes) is used for leader selection changes. Unlike BFT-style PoS algorithms, where validators finalize (i.e., permanently agree on) blocks as they are produced, blocks become “canonical” with increasing probability as more blocks are built on top of them (like in Proof of Work schemes).
Leader selection and slot assignments are assigned based on stake distribution and a lottery . Instead of this lottery being implicit, i.e., whoever gets a right hash first wins, the lottery is explicit: a generated random number (generated by a multi-party computation among stakeholders in the previous epoch) determines a slot leader for each slot, and the chances of winning for any given slot are proportional to the size of their stake i.e., the percentage of all coins they control, either by direct ownership or via delegation.
2.4 An iterative development process: the phases of Cardano
A proper grasp of Cardano requires an understanding of the core philosophy underpinning the development of the project. Both its design and development follow a “get it right the first time” approach, relying heavily on academic research and engineering best practices to slowly perfect each update.
The development progress of Cardano is broken down into five eras (or phases). While each era represents a sequential milestone for network development, work on the various components of each era occurs in parallel.
Byron – this is the initial stage after the network launch when improvements target core components and the SL layer is being prepared for decentralization.
Shelley – this stage focuses on decentralization and will feature staking pools.
Goguen – this stage will feature smart contracts.
Basho – this stage focuses on performance security and scalability.
Voltaire – this stage will feature the treasury system and governance.
To keep track of the disparate steps toward moving Cardano forward, a progress report is published on a weekly basis, in addition to a high-level roadmap.
3. Economics and supply distribution
The economics of Cardano are based on three major eras:
Testnet Era: the Testnet era refers to the beginning stages of unveiling the Cardano network when early supporters were invited to participate in beta testing. During this period, between September 2015 and January 2017, a pre-launch sale of ADA was carried out in five tranches. In total, 108,844.5 BTC were raised with an equivalent value of $62,993,614. The total ADA available at launch was 31,112,484,64. The total supply is capped at 45,000,000,000 ADA and will never exceed this number. The remaining 13,887,515,354 ADA will be issued after the final stage mainnet launch, with a portion allocated toward a treasury and staking rewards. However, the amounts that will go to the treasury and block rewards are yet to be determined.
Bootstrap Era: the Bootstrap era begins with all consensus nodes under the control of IOHK and partners and no smart contract support. During this time, the network is completely centralized and no rewards are issued. Instead of transitioning directly to a decentralized mainnet, Cardano simultaneously utilizes a sandbox testnet. December 13th, 2019 marked the launch of the Shelley Incentivized Testnet, accompanied by around 500 staking pools. The testnet launch is a real-world experiment to gauge the incentivization mechanism of the network while rewarding ADA holders for their participation through delegating a stake or running a stakepool. Approximately 3.8 million ADA are awarded per epoch. However, these will not be “spendable” until the live mainnet is launched.
Reward Era: the final mainnet launch and “normal” operation mode of Cardano SL as a PoS-cryptocurrency. Rewards are distributed per epoch, proportional to the size of stake and the number of slots to which the stakeholder contributes. ADA holders can either run a stake pool or delegate their stake to existing pools. Rewards come from both transaction fees and from the ADA treasury reserve, with reserve rewards lessening over time. The exact amount of rewards from the ADA reserve is yet to be determined.
4. Organizations working on the development of Cardano
There are three separate bodies actively promoting and contributing to the Cardano project.
At the center is the Cardano Foundation, an independent body based in Zug, Switzerland. The Cardano Foundation primarily is responsible for overseeing and supervising the development of Cardano.
Input Output HK (IOHK) is contracted to design and build Cardano while EMURGO, is a for-profit arm that aims to grow the Cardano ecosystem through commercial ventures. The three entities are separate in governance, ownership, and leadership.