This newsletter gives an overview of the strategy IOHK has adopted to migrate from the existing Byron era to the new Shelley era and decentralization.
Proof of stake
In September 2017, IOHK released Byron, the first version of the Cardano blockchain platform. Byron is the core group of consensus nodes currently responsible for creating blocks on Cardano mainnet. These core groups of consensus nodes have been controlled and run in a centralized setting by three entities: the Cardano Foundation, Emurgo, and IOHK.
Moving forward into the Shelley era the next objective for Cardano and IOHK is decentralization. This is when control of the network will be handed over and run primarily by the stake pools. To achieve this transition, IOHK has built a class of protocols that will implement a proof of stake on the Cardano mainnet.
As part of the run-up to Shelley, the Rust-based Incentivized Testnet (ITN) was launched in December 2019. This has been a great success because of community participation. At present, there are just under 1,000 stake pools active on the testnet, with 40% of the ada in circulation staked by 20,000 users
Managing the big move
The transition to Shelley is being done in phases, a major part of which was the OBFT (Ouroboros Byzantine Fault Tolerance) hard fork. The final part of this transition is underway with the release of components like cardano-node, cardano-rest, and cardano-wallet that are almost Shelley compliant. This preparation of IOHK code bases for Shelley is called the Byron reboot.
Byron reboot phase (currently running)
The Byron reboot is the process of incorporating all the bridging code into a set of codebases needed to start the process of migrating to Shelley. The reboot was launched on March 31st, 2020, and directly affects all exchanges and 3rd party wallets who currently list ada. In parallel with the current Byron reboot phase, we will be launching a Shelley Haskell testnet with a specific purpose in mind.
The Shelley Testnet
The Shelley testnet will be released in phases, the first phase will be set up for internal testing by the development team stake pool operators, family, and friends who participated in the ITN.
The second phase is the balance check where rewards from the Rust-based ITN will be consolidated with users’ mainnet balances. The rewards part of ITN will be shut off and the balance check testnet complete.
Integration with Shelley testnet
After the balance check has run for a time, users will soon be able to download Shelley-supported wallet that will have Shelley functionality for staking and delegation. All exchanges using a supported version of the wallet can then start to test their Shelley integration with Shelley testnet.
Action Required: All exchanges using Byron legacy wallet cardano-sl must migrate to a Byron reboot wallet cardano-wallet to avoid any outage or downtime. For details see How to migrate Byron Legacy wallet to cardano-wallet
Shelley era - mainnet
After the Shelley hard fork, Cardano will enter the Shelley hybrid phase. This is the final phase before decentralization. IOHK has implemented a parameter, ‘d’, standing for decentralization, to smooth the migration to the stake pool nodes.
In the beginning, Shelley will have blocks made by:
- federated nodes (centralized)
- stake pools (decentralized)
The d parameter is a way of gradually opening up the system, block by block, to decentralization. It acts as a control parameter that will be gradually turned up until full decentralization is reached – or turned down if something does not go to plan on the network.
As more stake pools become available, the d parameter will be altered accordingly to move blocks generated in a confederated consensus model to the fully decentralized stake-pool model.
This second part of the newsletter gives some details on how the Adrestia Team is working to provide all exchanges and third-party functional libs and APIs that will support the transition from Byron to Shelley.
Below is a diagram showing the supported and unsupported components:
If you have any questions about the above supported and unsupported components please reach out via the usual support channels
Please see help article: How to migrate Byron Legacy wallet to cardano-wallet
For details, see the API documentation