IntersectMBO / IntersectMBO/ouroboros-consensus

Reconsider HFC requirement that ticking cannot make a transition become known

Open
#413 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.