Description
Goal
This epic is around a validator network. we already have an implementation of the code but require to break the implementation into different PRs including the ADR and documentation.
Description
The Validator network has a few functions, and many more that could be thought of for applications. We forsee the validator network acting a finalisation and/or extra security layer for the rollup.
There are two potential designs with the VN:
- Blocking - The proposer needs to wait to hear a response from the VN participants in order to execute the block.
- Optimistic - The proposer can continue making blocks but can halt further production.
NOTE: If the VN rejects the block, low chance then this block rejected, we should store the invalid block and allow others who are syncing from P2P or DA to see that the block is invalid.
The design stays at the rollkit level instead of the execution level.
ref #2154
Acceptance Criteria
- The proposer should be able to run a single sequencer with n validators who will vote on a block the proposer produced, while the proposer waits for them
- The proposer should be able to run a single sequencer with n validators who will vote on a block the proposer produced, while the proposer continues without them
- The proposer should be able to run a single sequencer with n validators who will vote on a block the proposer produced. The proposer will reject the block and have to handle the rejection
- The network should be able to dynamically add and remove nodes
Related Tasks
- Write ADR (pullout and expand from implementation) #2311
- Implement p2p network
- Implement consensus (if needed)
- Implement way to add and remove validators
(Much of this has been implemented already, we should break apart the implementation)
Dependencies and Risks
TBD
Notes and References
ref #2154
Metadata
Metadata
Assignees
Type
Projects
Status