[Consensus] Consensus Onboarding & Knowledge Transfer #890
Labels
consensus
Consensus specific changes
core starter task
Good for newcomers, but aimed at core team members though still open for everyone
Milestone
Objective
This is an umbrella ticket to capture references and discussion around knowledge transfer of the Consensus module. The primary focus is to onboard a new team member to co-own the module.
1. Origin Document
2. Knowledge Transfer FAQ
We've got a basic version of 3-phase Hotstuff w/ deterministic round robin leader election driving the entire blockchain
State sync is not implemented yet. The most basic version of it is in review in #812 and #874.
Note that this implementation uses the FSM (Finite State Machine) but we have decided to remove it as it is adding more complexity than simplicity to the codebase. We plan to make an ADR for this and likely remove it in #821.
The libraries for VRF leader election are in place but have not been integrated into the rest of the codebase.
We use a basic round-robin approach right now.
We haven't implemented penalties double signing yet, or any mechanism related to "evidence" in Tendermint.
There's also a ton of opportunity for this like inactivity leaks and implementing other penalties since we're building our own L1 ;)
Our block & signature validation process. It's not documented well and there are not sufficient tests in place.
Points of contact for related ongoing work
@bryanchriswhite 🌐
@dylanlott 💾
@h5law 🌲
@okdas 🏗️
@adshmh 🚄
3. HotPOKT
The following is a screenshot from another thread (p2p related) we had just to show how hotstuff linear complexity works and how it relates to other types of gossip.
4. Goals
4.1 Starter Tasks
LocalNet
from scratch, the firstTriggerNextView
leads to height 2 and not 1 #4414.2 Required Deliverables
4.3 Stretch Deliverables
4.4 Non-Deliverables
4.5 Non-goals
Creator: @Olshansk
Co-Owners: @red-0ne
The text was updated successfully, but these errors were encountered: