A New Development Schedule for Lisk Core
In order to speed up our development, we have implemented two strategies in how we are developing our upcoming Lisk Core versions. The goal is to begin as early as possible with the development of the Blockchain Interoperability phase.
Update - 15th October, 2020
We are getting closer to the launch of the Betanet v4 which utilizes the Lisk SDK 4.0.0 release. Additionally, all features are implemented in Lisk SDK 5.0.0 and the quality assurance was successfully completed. Lisk SDK 5.0.0 is now undergoing an external security audit. Meanwhile, our development team is working on Lisk SDK 5.1.0.
Our current plan is that Lisk SDK 5.1.0 will be used to create the final version of Lisk Core 3.0.0 which will go to the Lisk Mainnet. This change of plan is now also correctly visualized in below infographic.
Update - 11th November, 2020
The new Betanet v4 was successfully deployed, for more information please read our Launch of Betanet v4 blog post.
Update - 24th November, 2020
We have merged the improvements of the former Lisk SDK 5.1.0 into the Lisk SDK 5.0.0 branch for a faster release cycle. The overview chart in this blog post has therefore been updated.
Update - 2nd December, 2020
The new Betanet v5 was successfully deployed, for more information please read our Launch of Betanet v5 blog post.
(original blogpost starts here)
Historically, we have seen that developing your blockchain is long-winded and difficult. At Lisk, we are deploying the principle of slow, steady, secure and are following a research first approach. For 2020, we have challenged ourselves with the question of how we can speed up our development time as much as possible, while at the same time, not sacrificing our principles or changing our research first approach.
We have analysed our situation and came up with two strategies on how to speed up our development. All adjustments only affect Lisk Core and not the Lisk SDK. Please note, in order to fully understand this blog post, it's important to understand our protocol roadmap first with its different phases.
Strategy #1: Quality assurance only up to Betanet with a follow-up security audit
The single most time-intensive task with every new major Lisk Core candidate is its quality assurance (QA), especially because the next phases all require hard forks. It takes at least one month to bring a major version from Alphanet to Betanet and at least another two months to launch it on Mainnet. Therefore, we decided that we will perform the QA for the Security and Reliability, Network Economics and Network Consensus phases up to Betanet only. For each new phase we will recreate a new betanet.
Once the Network Longevity phase is implemented we will quality assure the corresponding Lisk Core candidate up to Testnet and conduct an external security audit which ensures that the same security standards are kept as before. Afterwards we release it to Mainnet as a single major update, including all features from the previous phases. This consolidates all required hard forks to just one and minimizes the amount of backwards compatibility work.
Strategy #2: Network Economics and Network Consensus will be developed in one go
The Network Economics and Network Consensus phases are introducing the community's most-wanted features to Lisk, i.a. a new dynamic fee system and a new DPoS consensus algorithm. In comparison to the Security and Reliability phase which introduces a novel BFT consensus algorithm to the Lisk protocol, these two phases are still quite time intense to implement but definitely not as complex. Therefore, we have decided to implement them at the same time to save us from one whole quality assurance cycle and one further betanet.
The Lisk SDK will continue to be released after each phase
It's important to note that we will continue to release each major version of the Lisk SDK together with updated documentation. All major versions of the Lisk SDK will be usable to develop proof of concept blockchain applications.
In fact, we have just started with the development of Lisk SDK 4.0.0 which implements the Network Economics and Network Consensus phases.
Confusion around Lisk SDK stages and Lisk Core candidates
We have observed that there is some confusion around the terminology (Alpha, Beta, RC, Production) we are using for the Lisk SDK stages and Lisk Core candidates.
In terms of the Lisk SDK, we are talking about the general readiness of the Lisk protocol. With the Lisk SDK currently being in Alpha stage it will move into the Beta stage once the Network Longevity phase is concluded, i.e. once all proposed protocol changes are implemented.
With the implementation of the final phase, Blockchain Interoperability, the Lisk protocol roadmap is successfully achieved. With that, the Lisk SDK moves into the RC stage. During the RC stage a general polishment and clean-up will be done before moving into the Production stage which symbolizes the launch of the Lisk blockchain application platform.
For Lisk Core, we are talking about individual candidates for each version release which are proposed to different kinds of networks.
- The Alpha candidate is being proposed for every patch, minor and major version and is being used for a new, temporary, internal-only Alphanet.
- The Beta candidate is being proposed for every major version and is being used for a new, temporary, public Betanet.
- The Release candidate is being proposed for every patch and minor version, as well as the major Lisk Core version before the Blockchain Interoperability phase and all after it, and is being used for the existing, public Testnet.
- The Production candidate is being proposed for every patch and minor version, as well as the major Lisk Core version before the Blockchain Interoperability phase and all after it, and is being used for the existing, public Mainnet.
Alphanet - A temporary, internal-only testing network of a Lisk alpha candidate.
Betanet - A temporary, external testing network of a Lisk beta candidate.
Testnet - The official testing network of Lisk.
Mainnet - The official main network of Lisk.
Candidate - A new version of Lisk Core.
Alpha candidate - A proposed new version of Lisk Core for an Alphanet.
Beta candidate - A proposed new version of Lisk Core for a Betanet.
Release candidate - A proposed new version of Lisk Core for the Testnet.
Production candidate - A proposed new version of Lisk Core for the Mainnet.
Phase - A group of objectives belonging together.
Security and Reliability phase - Implementing the Lisk BFT consensus algorithm.
Network Economics phase - Implementing a dynamic fee mechanism.
Network Consensus phase - Implementing the Lisk DPoS 2.0 consensus algorithm.
Network Longevity phase - Implementing a new ID system.
Stage - A general product status of the Lisk SDK.
Alpha stage - The stage the Lisk SDK is in while Security and Reliability, Network Economics, Network Consensus, and Network Longevity is being implemented.
Beta stage - The stage the Lisk SDK is in while Blockchain Interoperability is being implemented.
RC stage - The stage the Lisk SDK is in after every phase of the Lisk protocol roadmap is implemented and while a final polishment is being done.
Production stage - The stage the Lisk SDK is in after every phase of the Lisk protocol roadmap is implemented and the Lisk blockchain application platform is fully launched.