IntersectMBO / IntersectMBO/ouroboros-consensus
Reconsider HFC requirement that ticking cannot make a transition become known
- Dominant language
- Haskell
- Stars
- 67
- Forks
- 43
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 43
Description
Right now, the HFC makes use of the fact that ticking can't let a transition become known:
https://github.com/IntersectMBO/ouroboros-consensus/blob/106ce89c51e4b6d144b15d02bf78513e947817e6/ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/HardFork/Combinator/Ledger.hs#L130-L131
Right now, this is true due to "block counting" (see eg `ShelleyTransition`). On the other hand, alternatives to block counting (see #389) likely require relaxing this assumption.
For more context, see:
- [This HWW section](https://ouroboros-consensus.cardano.intersectmbo.org/docs/for-developers/HardWonWisdom#the-hard-fork-combinator-interface) ("The logic used in this function must be invariant with respect to ticking. [...]").
- The dimension "DST" in the HWW section added in #346
- #365 for a draft implementation of this idea. At a high level, `singleEraTransition` now takes a slot to which the ledger state will be ticked next.
Contributor guide
Assessment
This issue has not been assessed yet.