-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GSM: split OnlyBootstrap into PreSyncing and Syncing (#975)
This PR splits the previous OnlyBootstrap state of the GSM into separate PreSyncing and Syncing states, making it ready to be used for Genesis, while allowing to still use the GSM in conjunction with bootstrap peers. Compared to the [Bootstrap Peers IER](https://ouroboros-consensus.cardano.intersectmbo.org/docs/for-developers/BootstrapPeersIER), there is one more state and two more transition rules, both based on the Honest Availability Assumption (HHA), which the Network layer will try to establish and inform us about, likely by ensuring a minimum amount of (big) ledger peers, see `isHaaSatisfied` in `GsmView`. The new state transition diagram looks like this: ```mermaid graph PreSyncing[PreSyncing] Syncing[Syncing] CaughtUp[CaughtUp] PreSyncing -- "Honest Availability Assumption\nis satisfied" --> Syncing Syncing -- "Honest Availability Assumption\nis no longer satisfied" --> PreSyncing Syncing -- "no peers claim to have\nsubsequent headers,\nand its selection is ≥\nthe best header" --> CaughtUp CaughtUp -- "vol tip became older than X" --> PreSyncing StartUp[[Node start-up]] StartUp -- "node was most recently in CaughtUp\nand vol tip is younger than X" --> CaughtUp StartUp -- "otherwise" --> PreSyncing ```
- Loading branch information
Showing
5 changed files
with
287 additions
and
136 deletions.
There are no files selected for viewing
3 changes: 3 additions & 0 deletions
3
...nsensus-diffusion/changelog.d/20240229_104617_alexander.esgen_gsm_presyncing.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
### Breaking | ||
|
||
- GSM: split OnlyBootstrap into PreSyncing and Syncing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.