Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cryptarchia: Update epoch stabilization schedule to 334 (from 433) #79

Merged
merged 15 commits into from Mar 9, 2024

Conversation

davidrusu
Copy link
Contributor

Currently the epoch stabilization schedule is only set in tests, we've defined the spec to allow any schedule when instantiated. This PR mostly updates the tests to reflect the new schedule:

The epoch stabilization schedule controls the order that epoch state data is stabilized and the duration of each stabilization period.

Previously ouroborous followed a 4 3 3 schedule (4k/f, 3k/f, 3k/f slots).

the first 4k/f + 3k/f = 7k/f slots were a buffer between when the stake distribution snapshot was taken and when the nonce snapshot is taken. The intention is to have a wide enough gap to prevent any adversary from having being able to influence the next epoch's nonce through coin grinding.

The move to 3 3 4 schedule means we have a gap of 6k/f slots between when the stake distribution snapshot and nonce snapshots are taken.

This new schedule gives more time for the nonce to stabilize before we enter the next epoch (entering a new epoch without a stable nonce would be quite chaotic, I don't think oroborous has contingencies in place for such an event)

This change in cardano / oroborous is here: IntersectMBO/ouroboros-consensus#927

@davidrusu davidrusu requested a review from zeegomo March 8, 2024 15:28
@davidrusu davidrusu merged commit 2d3f463 into master Mar 9, 2024
1 check passed
@davidrusu davidrusu deleted the drusu/cryptarchia-epoch-stabilization-window branch March 9, 2024 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants