Miner Signalled Consensus Upgrade
Juraj Hlista
Consensus
- agreement on the state of blockchain
- set of rules used for validation of transactions and blocks
- all nodes following the same rules → single blockchain
Accidental fork
- miners find a new block at the same time
- caused by network latency
- no change in consensus rules
Soft fork
- tightens or adds new consensus rules
- backward compatible upgrade
- old version of a node can still accept blocks from new node version
- example: 1MB block → 0.5MB block
- not all nodes required to switch to the new version to prevent splitting the
network
Hard fork
- loosens or eliminates the existing consensus rules
- not backward compatible upgrade
- old version of a node rejects blocks from new node version
- example: 1MB block → 2MB block
- all nodes required to upgrade to the new version to prevent splitting the
network
Soft & hard fork activation
- setting a block height in the future
- User Activated Soft Fork
- Planned Hard Fork (Minerva, Fortuna, Lima)
- relying on miner signalling
- Miner Activated Soft Fork
- Miner Activated Hard Fork ≈ Miner Signalled Consensus Upgrade (Iris)
Miner signalled consensus upgrade
- uses signal (part of block header)
- majority of blocks in certain interval need to include a predefined signal to
activate new consensus protocol
- needs to be aware of accidental forks
Future improvements
- multipe consensus proposal
- signal not as a value, but as a bit mask
- activation of soft forks
Testnet
- fork parameters:
- signalling interval: 1440 blocks (3 days)
- majority: 734 blocks (51%)
- network parameters:
- 60% of minig power signal support for Iris
- 40% of mining power stays with the current protocol (Lima)