IntersectMBO / IntersectMBO/ouroboros-consensus
Think about making `f` updateable
- Dominant language
- Haskell
- Stars
- 67
- Forks
- 43
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 43
Description
The active slot coefficient `f` used to be an updateable protocol parameter. In the initial design for the hard fork combinator, this is not supported: `f` changes the window size, which is currently one of the "era parameters" (along with slot length and epoch size), and only allowed to change at hard fork transition points.
Initially I thought it would be easier if we knew when these parameters changed, but the fact that they can change at all turned out to require extensive refactoring, and have consequences for nearly all parts of the codebase. Now that this is done, I don't think we actually get much benefit anymore from restricting changing these parameters to hard fork transition points. We're not changing the design now due to some constraints, since it would (albeit local) refactoring of the hard fork history, but we could change this later, time permititing.
*NOTE*: The one requirement that we _will_ need to impose is that the complete history (i.e., the values of these 3 parameters over time) is always known; unlike other parts of the ledger state, we can't trim this history. For now this is no problem at all, since these parameters are anyway few and change only infrequently.
Contributor guide
Assessment
This issue has not been assessed yet.