Cardano is ranked as one of the most actively developed cryptocurrencies.

02

Shelley

Decentralization

Following on from the Byron era, the Shelley era of Cardano is a period of growth and development for the network. Unlike the Byron era, which began at a single point in time when the mainnet was launched, the transition to Shelley is designed to achieve a smooth, low-risk transition without service interruptions.

The Shelley era encompasses the critical early steps in Cardano’s journey to optimize decentralization – and like any first steps, these will be gradual but significant. During the Byron era the network was federated, but as the Shelley era progresses more and more nodes will shift towards being run by the Cardano community. Once the majority of nodes are run by network participants, Cardano will be more decentralized and enjoy greater security and robustness as a result.

Shelley will also see the introduction of a delegation and incentives scheme, a reward system to drive stake pools and community adoption. As a proof-of-stake network, users stake their ada to participate in the network. Painstakingly designed using game theory and the latest research into proof-of-stake networks, the delegation and incentive scheme will allow and encourage users to delegate their stake to stake pools – always-on, community-run network nodes – and be rewarded for honest participation in the network.

Come the end of the Shelley era, we expect Cardano to be 50-100 times more decentralized than other large blockchain networks, with the incentives scheme designed to reach equilibrium around 1,000 stake pools. Current prominent blockchain networks are often controlled by less than 10 mining pools, exposing them to serious risk of compromise by malicious behavior – something which Cardano avoids with a system inherently designed to encourage greater decentralization. Not only that, but the entire Cardano network runs at a fraction of the power cost of equivalent proof-of-work blockchains, using the electricity equivalent of a single house, rather than a small country.

The Shelley era represents the natural maturation of the network, making it more useful, rewarding, and valuable for users new and old. It’s also about preparing for the future. Shelley will set the stage for a fully distributed network, and an entirely new application ecosystem with even greater things to come in the Goguen, Basho, and Voltaire eras.

Shelley era research

Ouroboros Praos: An Adaptively-Secure, Semi-synchronous Proof-of-Stake Blockchain

A research paper that analyzes and discusses Ouroboros Praos: a provably secure proof-of-stake protocol that improves upon Ouroboros to secure Cardano against adaptive attackers.

Ouroboros Genesis: Composable Proof-of-Stake Blockchains with Dynamic Availability

A research paper that analyzes and discusses Ouroboros Genesis. Ouroboros Genesis further improves upon the Ouroboros proof-of-stake protocol by enabling stakeholders to securely join or rejoin the blockchain.

Stake-Bleeding Attacks on Proof-of-Stake Blockchains

A research paper that describes an attack on a proof-of-stake blockchain without checkpoints, to illustrate the close relationship between transaction fees and rewards and the security properties of PoS protocols.

Secure Two-Party Computation over Unreliable Channels

A research paper that explores two-party computation in a plain model in which no reliable channels are assumed (mirroring a real-world setting). We investigate the feasibility of communication-optimal, noise-resilient, semi-honest two-party computation, and devise an information-theoretic technique to that end.

Decreasing Security Threshold Against Double Spend Attack in Networks with Slow Synchronization

A research paper that studies the probability change of a double-spend attack in a proof-of-work blockchain in relation to network parameters, and introduces the concept of threshold: a minimal adversaries ratio that provides a successful attack with probability.

A Formal Specification of the Cardano Ledger

A formal specification and executable model of the ledger rules introduced by the Shelley release, defining the functionality of the ledger on the blockchain and how to determine what constitutes a valid block via a collection of deterministic rules.

Specification of the Blockchain Layer

A formal specification that formalizes the definition of a valid block, and what is required for it to be added to the blockchain, in the scope of the Byron era and the transition to the Shelley era of Cardano.

Engineering Design Specification for Delegation and Incentives in Cardano Shelley

An engineering specification that details the design of the necessary additions to Cardano to support and incentivize delegation.

Reward Sharing Schemes for Stake Pools

A research paper that introduces and studies reward sharing schemes that promote the fair formation of stake pools in proof-of-stake blockchains with a large number of stakeholders, such as ada holders within Cardano.

Ouroboros-BFT: A Simple Byzantine Fault Tolerant Consensus Protocol

This paper defines a simple, deterministic protocol for ledger consensus that tolerates Byzantine faults, where the protocol is executed by n servers over a synchronous network and can tolerate any number t of Byzantine faults with t < n/3.

Shelley work scope


CONSENSUS INCENTIVES AND FEES

The goal of designing an incentive scheme is to ensure that it is in each person's self-interest to behave in a way that makes the overall system function stably and reliably. Using mathematics, game theory, and economic theory, the incentive system has been designed to do just that, including providing appropriate rewards for operating full nodes, incentives to delegate stake, a means of setting transaction fees, and more.



DELEGATION CERTIFICATES

Stake delegation is facilitated by a delegation certificate, assigned by the ada holder on delegation and recorded on the blockchain. The ada holder can later change their delegation settings at will by issuing a newer delegation certificate. Note that even while delegating, the ada holder retains the sole right and ability to spend their ada.



OPEN OUROBOROS DELEGATION RESEARCH PAPER AND IMPLEMENTATION

Key to decentralization is the ability of stakeholders to delegate stake. In a proof-of-stake system such as Cardano, stakeholders have an obligation to take part in the protocol. Since this may not always be practical for some users, stakeholders are able to delegate their obligations to others — so-called stake pools — which are able to fulfill the obligations. Stake pools operate core nodes that are online at all times to take part in the protocol and produce blocks in the blockchain. Our researchers have published a research paper outlining how this can be achieved: Reward Sharing Schemes for Stake Pools.



STAKE POOLS

Not every ada stakeholder has the resources, knowledge, or desire to operate a Cardano node full-time. To address this and motivate reliable and performant network nodes, Cardano enables holders of ada to delegate staking rights to Cardano stake pools. Stake pools are Cardano nodes run by network participants who have committed to ensuring full-time availability and appropriate hardware environments to support the response time, security, and liveness of the Cardano network. A stake pool operator earns a reward for supporting the network when ada holders delegate their stake to that operator’s pool. The incentive and reward model has been designed to motivate delegation to a large number of stake pools, ensuring the ongoing decentralization of the network. The optimal number of stake pools motivated by the incentives model is a parameter that can be adjusted to fine-tune network performance.



OUROBOROS PRAOS

As Cardano grows, it is essential that we maintain security. Ouroboros Praos improves upon Ouroboros, our proof-of-stake protocol. Presented at the leading cryptography conference Eurocrypt, Praos provides security against adaptive attackers, tolerating harsher network conditions while also bringing efficiency (and hence scalability) improvements.

Through private leader selection and forward-secure, key evolving signatures, Praos ensures that a strong adversary cannot predict who is going to be the next slot leader and launch a focused attack (such as a DDoS attack). The protocol also tolerates adversarially-controlled message delivery delays and a gradual corruption of individual participants in an evolving stakeholder population, provided that stakeholder distribution maintains an honest majority of stake.



OUROBOROS GENESIS

Ouroboros Genesis is the next evolution of the Ouroboros protocol. It achieves security under dynamic availability, a formal model introduced to capture situations when nodes go offline and rejoin the protocol execution in an uncoordinated manner. 

Presented at a flagship security conference, the protocol also introduces a novel chain-selection rule that enables parties to ‘bootstrap from the genesis’, to rejoin the execution chain based only from the genesis block, without requiring any trusted third-party or checkpoint or checkpoint. Genesis ensures that each stakeholder, either newly joined or re-joined, can obtain an up-to-date version of the blockchain, protecting against long-range attacks. 

Significantly, through Ouroboros Genesis, Cardano and other proof-of-stake blockchains can provably match the security guarantees of proof-of-work blockchains.



OUROBOROS BFT

Successfully implementing Ouroboros-BFT (OBFT) is a major development milestone ahead of the Shelley era. With the release of Cardano 1.5 and OBFT, the process of preparing the network for gradual decentralization can begin. This update won't affect the functionality currently available to users, but is a necessary technical step in preparing for full decentralization with Shelley.



DELEGATION IN DAEDALUS

Daedalus will enable users to delegate their stake from within the application, using a simple and intuitive UI. Ada holders will be able to review all available stake pools and associated information, including projected rewards, before selecting a stake pool to delegate to. Users will also be able to change their delegation settings at any time from within the wallet.



WALLET BACKEND REDESIGN

The redesigned Daedalus wallet backend is based on the Cardano formal wallet specification created by IOHK researchers, making it the first cryptocurrency wallet to be built from a formal specification and tested using formal verification. Both regular and exchange users will benefit from the resulting improved performance, as well as the unparalleled security of a wallet created via such rigorous methods.



DECOUPLED WALLET

The wallet functionality has been decoupled and removed from the node implementation for better functional separation and less dependence.



PAPER WALLETS V2

To improve security, the new version of paper wallets will allow the offline creation of paper wallets and will not require Daedalus to be synchronized with the blockchain. A new single-address scheme will be used, but the restoration of paper wallets will retain compatibility with the initial version of paper wallet certificates. The process will be easier and more intuitive by linking paper wallets with normal ada wallets. Daedalus will also support the restoration of paper wallets in read-only mode for audit purposes, which will keep the private key stored safely offline.



HARDWARE WALLET SUPPORT

Hardware wallet support was initially added to the Yoroi and AdaLite light wallets and will also be added to the Daedalus wallet, so that users can secure their ada in hardware wallets such as the Ledger Nano, Ledger X, and Trezor.



FASTER WALLET RESTORATION

The process of wallet restoration has been improved: wallet balances will display immediately upon restoration, while transaction history will be restored in the background. While this particular piece of work is complete, the wallet restoration process is continuously being improved.



IMPROVED WALLET BACKUP AND RECOVERY IN DAEDALUS

Wallets are prone to user error. Better wallet recovery allows us to improve the user experience – and reduce user error – by linking BIP39 mnemonic codes to a unique hash key. This will enable users to identify whether a mnemonic code has been entered correctly, as well as allow for easier backup and restoration. Hash keys can be printed or stored alongside paper or regular wallets and are displayed both in code and as a vector image. Once a mnemonic code is entered, a hash key will appear; the user only has to compare the key shown with the key stored.



HOT AND COLD WALLETS

Traditionally, cold wallets provide security at the expense of readability. The hot and cold wallet implementation will enable the changing of hot wallets to cold wallets, and vice versa, by removing the private keys from any hot wallet, in effect turning it into a cold wallet, while retaining its readability. Through this, cold wallets become readable, provide evidence of transactions and funds, and can be sent to third parties, but are unable to execute new transactions.



NODE AND BLOCKCHAIN STATUS UI

A new interface will be added to graphically display the status of the blockchain and communication between components, showing the health of the system so that any problems can be identified.



BIP44 HIERARCHICAL DETERMINISTIC WALLET ADDRESSES

Cardano is adding hierarchical deterministic (HD) wallets. These were introduced in BIP32 (Bitcoin improvement proposal) and later improved on in BIP44. This key derivation method uses hierarchical deterministic keys to derive key pairs from a single master pair. HD wallets start with the master key and generate a new child key by hashing the master key with an index. By changing the index, different keys are created which can be deterministically reproduced by providing the index with the master key. With HD wallets, users don’t need to store and generate new keys for each use: only the master key needs to be stored and all other keys can be derived.



HUMAN-FRIENDLY ADDRESSES

A wallet consists of a set of addresses, with ada at each address. Currently, wallet addresses are a long string of numbers and letters, which cannot easily be distinguished from each other at a glance. Cardano addresses are currently a lot longer than Bitcoin addresses. This feature will make it possible to have shorter wallet addresses that will be easier to communicate. The goal of this work is to have addresses that are much closer in length to those of bitcoin, which will be done by minimizing the information represented in the addresses and improving the way that stake delegation information is represented.



KEY EVOLVING SIGNATURES

Key evolving signatures is a security feature whereby the keys of slot leaders change regularly to avoid the possibility of malicious future use, making it impossible to use stolen or illicitly purchased keys from past slot leaders to introduce changes to the chain in previous slots.



MULTISIGNATURE TRANSACTIONS

Multisignature transactions in Cardano will allow Daedalus to support wallets that are shared between people who have joint control of the funds. For example, it allows a simple joint wallet held by two people, where both people are required to sign for all transactions. It also allows for more complex arrangements such as a wallet held by three people where any two of them can sign transactions. This can be a very useful security feature to protect against one person's keys being compromised, or a helpful feature to enable joint control of funds where agreement is needed for spending.



ADDRESS SCHEME BACKWARDS COMPATIBILITY

After BIP44 wallet addresses have been implemented, some ada may remain in legacy wallet addresses. Cardano will continue to support legacy wallet addresses indefinitely, so there is no requirement to move ada following the introduction of the new wallet address scheme.



SUPPORT FOR MULTIPLE CODE BASES IN WALLET BACKEND

The wallet backend has been decoupled from the node, abstracting out the communication interfaces. This allows functionally equivalent node implementations to be written in different code bases based on the technical specification, one in Haskell and one in Rust.



SMOOTH CODE UPDATES

Rather than fall victim to the hard fork issues that have affected other blockchains, Cardano ensures smooth code updates. Instead of transitioning from old to new code in a single update, new code is included alongside old code, with nodes continuing to use the old code until a sufficient majority of the network has been updated. Only then is the code transition triggered.



FASTER AND MORE RESILIENT STORAGE

A redesigned and rearchitected storage system provides improved I/O efficiency in the Shelley era, and better Cardano node and wallet performance as a result. The wallet will also be better able to handle more common forms of data corruption, such as those caused by incomplete or aborted shutdown, where the problem affects the most recent blockchain data.



NETWORK LAYER REDESIGN

The design of the network layer has been fundamentally reworked for the Shelley era with a focus on performance and making effective use of available resources. All the networking protocols have been redesigned to support pipelining, allowing multiple requests to be sent without having to wait for a reply each time, significantly increasing network usage.



NETWORKING

A fully decentralized cryptocurrency needs a fully decentralized network layer, which is the part of the system that allows nodes to join the network and to send and receive transactions and blocks. To be fully decentralized, this will work in a peer-to-peer (P2P) way without relying on any central authority. It will also work, as now, without requiring any special firewall or home internet settings. The network must be open to allow anyone to join, but existing large open P2P networks have been vulnerable to relatively small numbers of hostile nodes. Other researchers have learned the lessons of these existing P2P networks, and we are following the best practices they now recommend. Finally, the new network layer is designed to give a degree of protection to large scale distributed denial of service (DDoS) attacks.

NETWORKING PROTOCOLS

To accomplish the above, Cardano has a fully custom bespoke network layer, consisting of the following mini protocols:

  • Node-to-node protocol bundle
  • Node-to-client protocol bundle
  • Handshake version negotiation
  • Bearer topology configuration and management – peer discovery and selection
  • Chain sync protocol
  • Block fetching protocol
  • Transaction submission protocol
  • Multiplexing layer


BYRON-SHELLEY TRANSITION FRAMEWORK

The Byron-Shelley transition framework provides the means to move safely from the Byron era to the Shelley era. The old nodes from the federated network will gradually hand over responsibility for creating blocks to stake pools, while our DevOps team will monitor health metrics such as chain growth and the amount of properly delegated stake. This mechanism is key to de-risking this critical phase in Cardano.



BYRON-SHELLEY NETWORK PROXY

This is a piece of network infrastructure which will enable continued communication between old and new Cardano nodes after the initial Shelley upgrade. Using the proxy, while still in the Byron compatibility era, Shelley nodes will still be able to validate blocks created in the Byron era, ensuring network operability with legacy nodes.



MEMPOOL REIMPLEMENTATION

The mempool stores in-process transactions that have not yet been written to a block. For the Shelley era, the Cardano mempool has been reimplemented in a more efficient way, resulting in better performance. It has also been designed to be especially resistant to distributed denial of service (DDoS) attacks.



REIMPLEMENTATION OF TRANSACTION CREATION AND SUBMISSION

In the Shelley code base, the transaction creation and submission processes will be separated into two phases. This will allow for the offline creation and signing of transactions, a requirement for hardware wallets and many exchanges.



CHAIN GENERATORS AND VALIDATORS

Chain generator and validator components are used to randomly generate and validate chains for testing purposes, enabling thorough testing of consensus and network functionality in a wide variety of scenarios. With these, the team performs property-based testing on the system, catching and fixing deficiencies that only occur in rare edge cases, and which are next to undiscoverable using more conventional testing methods.



LOGGING AND MONITORING

An improved logging and monitoring system has been implemented with additional details and granularity for the tracking of operational performance and diagnosing problems. A structured machine- and human-readable format is used for searchability and ease of use. The improved logging system allows for live monitoring and metrics, and can be activated and adjusted at the component level during run-time, enabling logging configuration changes without restarting.



CODE ENHANCEMENTS AND REIMPLEMENTATION

Following the initial launch of the Cardano network, significant effort has gone into enhancing the entire code base. The fundamental structure and efficiency of the code has been improved, involving complete rewrites in some cases. Core network elements such as storage and synchronization have also been redesigned and reimplemented, resulting in better performance, reliability, and maintainability throughout the codebase.



SHELLEY TESTNET

The Cardano Shelley testnet provides a way for our community members to experiment with stake pools and help us build up a collection of pools on Cardano. It marks an important milestone as we move into the Shelley era of development and will help us to prepare for when the community takes over full management and responsibility of the Cardano blockchain. We are rolling out this stake pool testnet in phases. Each phase sees the delivery of core components along the path to decentralization and we will be providing support at each stage. This gradual phased approach will allow us to use the set of stake pools to form the basis of our controlled move to the decentralization of Cardano. We encourage our community members to participate in this testnet and experiment with various staking configurations and scenarios. We look forward to receiving your valuable feedback.



The goal of designing an incentive scheme is to ensure that it is in each person's self-interest to behave in a way that makes the overall system function stably and reliably. Using mathematics, game theory, and economic theory, the incentive system has been designed to do just that, including providing appropriate rewards for operating full nodes, incentives to delegate stake, a means of setting transaction fees, and more.


Stake delegation is facilitated by a delegation certificate, assigned by the ada holder on delegation and recorded on the blockchain. The ada holder can later change their delegation settings at will by issuing a newer delegation certificate. Note that even while delegating, the ada holder retains the sole right and ability to spend their ada.


Key to decentralization is the ability of stakeholders to delegate stake. In a proof-of-stake system such as Cardano, stakeholders have an obligation to take part in the protocol. Since this may not always be practical for some users, stakeholders are able to delegate their obligations to others — so-called stake pools — which are able to fulfill the obligations. Stake pools operate core nodes that are online at all times to take part in the protocol and produce blocks in the blockchain. Our researchers have published a research paper outlining how this can be achieved: Reward Sharing Schemes for Stake Pools.


Not every ada stakeholder has the resources, knowledge, or desire to operate a Cardano node full-time. To address this and motivate reliable and performant network nodes, Cardano enables holders of ada to delegate staking rights to Cardano stake pools. Stake pools are Cardano nodes run by network participants who have committed to ensuring full-time availability and appropriate hardware environments to support the response time, security, and liveness of the Cardano network. A stake pool operator earns a reward for supporting the network when ada holders delegate their stake to that operator’s pool. The incentive and reward model has been designed to motivate delegation to a large number of stake pools, ensuring the ongoing decentralization of the network. The optimal number of stake pools motivated by the incentives model is a parameter that can be adjusted to fine-tune network performance.


As Cardano grows, it is essential that we maintain security. Ouroboros Praos improves upon Ouroboros, our proof-of-stake protocol. Presented at the leading cryptography conference Eurocrypt, Praos provides security against adaptive attackers, tolerating harsher network conditions while also bringing efficiency (and hence scalability) improvements.

Through private leader selection and forward-secure, key evolving signatures, Praos ensures that a strong adversary cannot predict who is going to be the next slot leader and launch a focused attack (such as a DDoS attack). The protocol also tolerates adversarially-controlled message delivery delays and a gradual corruption of individual participants in an evolving stakeholder population, provided that stakeholder distribution maintains an honest majority of stake.


Ouroboros Genesis is the next evolution of the Ouroboros protocol. It achieves security under dynamic availability, a formal model introduced to capture situations when nodes go offline and rejoin the protocol execution in an uncoordinated manner. 

Presented at a flagship security conference, the protocol also introduces a novel chain-selection rule that enables parties to ‘bootstrap from the genesis’, to rejoin the execution chain based only from the genesis block, without requiring any trusted third-party or checkpoint or checkpoint. Genesis ensures that each stakeholder, either newly joined or re-joined, can obtain an up-to-date version of the blockchain, protecting against long-range attacks. 

Significantly, through Ouroboros Genesis, Cardano and other proof-of-stake blockchains can provably match the security guarantees of proof-of-work blockchains.


Successfully implementing Ouroboros-BFT (OBFT) is a major development milestone ahead of the Shelley era. With the release of Cardano 1.5 and OBFT, the process of preparing the network for gradual decentralization can begin. This update won't affect the functionality currently available to users, but is a necessary technical step in preparing for full decentralization with Shelley.


Daedalus will enable users to delegate their stake from within the application, using a simple and intuitive UI. Ada holders will be able to review all available stake pools and associated information, including projected rewards, before selecting a stake pool to delegate to. Users will also be able to change their delegation settings at any time from within the wallet.


The redesigned Daedalus wallet backend is based on the Cardano formal wallet specification created by IOHK researchers, making it the first cryptocurrency wallet to be built from a formal specification and tested using formal verification. Both regular and exchange users will benefit from the resulting improved performance, as well as the unparalleled security of a wallet created via such rigorous methods.


The wallet functionality has been decoupled and removed from the node implementation for better functional separation and less dependence.


To improve security, the new version of paper wallets will allow the offline creation of paper wallets and will not require Daedalus to be synchronized with the blockchain. A new single-address scheme will be used, but the restoration of paper wallets will retain compatibility with the initial version of paper wallet certificates. The process will be easier and more intuitive by linking paper wallets with normal ada wallets. Daedalus will also support the restoration of paper wallets in read-only mode for audit purposes, which will keep the private key stored safely offline.


Hardware wallet support was initially added to the Yoroi and AdaLite light wallets and will also be added to the Daedalus wallet, so that users can secure their ada in hardware wallets such as the Ledger Nano, Ledger X, and Trezor.


The process of wallet restoration has been improved: wallet balances will display immediately upon restoration, while transaction history will be restored in the background. While this particular piece of work is complete, the wallet restoration process is continuously being improved.


Wallets are prone to user error. Better wallet recovery allows us to improve the user experience – and reduce user error – by linking BIP39 mnemonic codes to a unique hash key. This will enable users to identify whether a mnemonic code has been entered correctly, as well as allow for easier backup and restoration. Hash keys can be printed or stored alongside paper or regular wallets and are displayed both in code and as a vector image. Once a mnemonic code is entered, a hash key will appear; the user only has to compare the key shown with the key stored.


Traditionally, cold wallets provide security at the expense of readability. The hot and cold wallet implementation will enable the changing of hot wallets to cold wallets, and vice versa, by removing the private keys from any hot wallet, in effect turning it into a cold wallet, while retaining its readability. Through this, cold wallets become readable, provide evidence of transactions and funds, and can be sent to third parties, but are unable to execute new transactions.


A new interface will be added to graphically display the status of the blockchain and communication between components, showing the health of the system so that any problems can be identified.


Cardano is adding hierarchical deterministic (HD) wallets. These were introduced in BIP32 (Bitcoin improvement proposal) and later improved on in BIP44. This key derivation method uses hierarchical deterministic keys to derive key pairs from a single master pair. HD wallets start with the master key and generate a new child key by hashing the master key with an index. By changing the index, different keys are created which can be deterministically reproduced by providing the index with the master key. With HD wallets, users don’t need to store and generate new keys for each use: only the master key needs to be stored and all other keys can be derived.


A wallet consists of a set of addresses, with ada at each address. Currently, wallet addresses are a long string of numbers and letters, which cannot easily be distinguished from each other at a glance. Cardano addresses are currently a lot longer than Bitcoin addresses. This feature will make it possible to have shorter wallet addresses that will be easier to communicate. The goal of this work is to have addresses that are much closer in length to those of bitcoin, which will be done by minimizing the information represented in the addresses and improving the way that stake delegation information is represented.


Key evolving signatures is a security feature whereby the keys of slot leaders change regularly to avoid the possibility of malicious future use, making it impossible to use stolen or illicitly purchased keys from past slot leaders to introduce changes to the chain in previous slots.


Multisignature transactions in Cardano will allow Daedalus to support wallets that are shared between people who have joint control of the funds. For example, it allows a simple joint wallet held by two people, where both people are required to sign for all transactions. It also allows for more complex arrangements such as a wallet held by three people where any two of them can sign transactions. This can be a very useful security feature to protect against one person's keys being compromised, or a helpful feature to enable joint control of funds where agreement is needed for spending.


After BIP44 wallet addresses have been implemented, some ada may remain in legacy wallet addresses. Cardano will continue to support legacy wallet addresses indefinitely, so there is no requirement to move ada following the introduction of the new wallet address scheme.


The wallet backend has been decoupled from the node, abstracting out the communication interfaces. This allows functionally equivalent node implementations to be written in different code bases based on the technical specification, one in Haskell and one in Rust.


Rather than fall victim to the hard fork issues that have affected other blockchains, Cardano ensures smooth code updates. Instead of transitioning from old to new code in a single update, new code is included alongside old code, with nodes continuing to use the old code until a sufficient majority of the network has been updated. Only then is the code transition triggered.


A redesigned and rearchitected storage system provides improved I/O efficiency in the Shelley era, and better Cardano node and wallet performance as a result. The wallet will also be better able to handle more common forms of data corruption, such as those caused by incomplete or aborted shutdown, where the problem affects the most recent blockchain data.


The design of the network layer has been fundamentally reworked for the Shelley era with a focus on performance and making effective use of available resources. All the networking protocols have been redesigned to support pipelining, allowing multiple requests to be sent without having to wait for a reply each time, significantly increasing network usage.


A fully decentralized cryptocurrency needs a fully decentralized network layer, which is the part of the system that allows nodes to join the network and to send and receive transactions and blocks. To be fully decentralized, this will work in a peer-to-peer (P2P) way without relying on any central authority. It will also work, as now, without requiring any special firewall or home internet settings. The network must be open to allow anyone to join, but existing large open P2P networks have been vulnerable to relatively small numbers of hostile nodes. Other researchers have learned the lessons of these existing P2P networks, and we are following the best practices they now recommend. Finally, the new network layer is designed to give a degree of protection to large scale distributed denial of service (DDoS) attacks.

NETWORKING PROTOCOLS

To accomplish the above, Cardano has a fully custom bespoke network layer, consisting of the following mini protocols:

  • Node-to-node protocol bundle
  • Node-to-client protocol bundle
  • Handshake version negotiation
  • Bearer topology configuration and management – peer discovery and selection
  • Chain sync protocol
  • Block fetching protocol
  • Transaction submission protocol
  • Multiplexing layer

The Byron-Shelley transition framework provides the means to move safely from the Byron era to the Shelley era. The old nodes from the federated network will gradually hand over responsibility for creating blocks to stake pools, while our DevOps team will monitor health metrics such as chain growth and the amount of properly delegated stake. This mechanism is key to de-risking this critical phase in Cardano.


This is a piece of network infrastructure which will enable continued communication between old and new Cardano nodes after the initial Shelley upgrade. Using the proxy, while still in the Byron compatibility era, Shelley nodes will still be able to validate blocks created in the Byron era, ensuring network operability with legacy nodes.


The mempool stores in-process transactions that have not yet been written to a block. For the Shelley era, the Cardano mempool has been reimplemented in a more efficient way, resulting in better performance. It has also been designed to be especially resistant to distributed denial of service (DDoS) attacks.


In the Shelley code base, the transaction creation and submission processes will be separated into two phases. This will allow for the offline creation and signing of transactions, a requirement for hardware wallets and many exchanges.


Chain generator and validator components are used to randomly generate and validate chains for testing purposes, enabling thorough testing of consensus and network functionality in a wide variety of scenarios. With these, the team performs property-based testing on the system, catching and fixing deficiencies that only occur in rare edge cases, and which are next to undiscoverable using more conventional testing methods.


An improved logging and monitoring system has been implemented with additional details and granularity for the tracking of operational performance and diagnosing problems. A structured machine- and human-readable format is used for searchability and ease of use. The improved logging system allows for live monitoring and metrics, and can be activated and adjusted at the component level during run-time, enabling logging configuration changes without restarting.


Following the initial launch of the Cardano network, significant effort has gone into enhancing the entire code base. The fundamental structure and efficiency of the code has been improved, involving complete rewrites in some cases. Core network elements such as storage and synchronization have also been redesigned and reimplemented, resulting in better performance, reliability, and maintainability throughout the codebase.


The Cardano Shelley testnet provides a way for our community members to experiment with stake pools and help us build up a collection of pools on Cardano. It marks an important milestone as we move into the Shelley era of development and will help us to prepare for when the community takes over full management and responsibility of the Cardano blockchain. We are rolling out this stake pool testnet in phases. Each phase sees the delivery of core components along the path to decentralization and we will be providing support at each stage. This gradual phased approach will allow us to use the set of stake pools to form the basis of our controlled move to the decentralization of Cardano. We encourage our community members to participate in this testnet and experiment with various staking configurations and scenarios. We look forward to receiving your valuable feedback.


Latest Updates


Join the roll out of the Cardano Shelley testnet

Take part in our testing program

Many of you will have seen us talk about our testnets, where we run the versions of Cardano and other testing simulators so we can test our products and get feedback from the community.

JUNE 19 2019 | David Esser

IOHK announces partnership with Georgian government and universities

MoUs mean Cardano and Atala are up for use in education and beyond

I’m in the Georgian capital Tbilisi this week, enjoying the sights and sounds of one of the most innovative regions of the Caucasus. After nearly a year of groundwork, I’m here with IOHK CEO Charles Hoskinson to sign Memorandum of Understanding (MoU) partnerships with the government and two of Georgia’s largest universities.

JUNE 18, 2019 | Daniel Friedman
View all Shelley updates

Medusa

github.com/input-output-hk/ouroboros-network

View historical and real-time GitHub commits


Explore