Upgrades/Updates
Target release | |
|---|---|
Epic | |
Document status | DRAFT |
Document owner | @Medha Parlikar (Unlicensed) |
Designer | |
Developers | |
QA |
Goals
Release upgrades to the RChain platform
Background and strategic fit
There needs to be a way that platform updates can be released in such a way that node operators know when the upgrade takes effect. In non-shared blockchain implementations, this is handled by block height. However, RChain aims to be sharded, which means that the block height mechanism probably won't work.
Assumptions
Each shard will have its own block DAG
Within each shard, the block DAG will add new blocks at different rates.
Updates need to be released and installed on the node well in advance of the date when the update takes effect. Particularly for changes to the protocol, where a hard fork is likely.
Not all validators will accept an update. If that is the case, the network will fork.
Requirements
Title | User Story | Importance | Notes | |
|---|---|---|---|---|
| 1 | Accept updates | As a validator, I want to control whether I accept an update or not | Must Have |
|
| 2 | Shard version number? | As a validator, I want to select a shard that is running a specific version of the RChain protocol | Must Have |
|
| 3 | Consensus on updates? | As a validator, I would like to apply the update as the same time as the other validators in my shard, so that our shard doesn't have a fork | Nice to Have |
|
User interaction and design
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
|---|---|
When will a feature take effect? | |