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

ethexe: old era late commitments support #4380

Open
grishasobol opened this issue Dec 7, 2024 · 0 comments
Open

ethexe: old era late commitments support #4380

grishasobol opened this issue Dec 7, 2024 · 0 comments
Labels
C1-feature Feature request

Comments

@grishasobol
Copy link
Member

Problem to Solve

There can be cases when block commitments from old era can be committed only in new era. This can be because of several cases:

  1. Most simple - last block in era. This block can be committed only in next era.
  2. Commitment transactions hangs on for some time in the pool, because of ethereum overload.
  3. Some problems inside ethexe network which can not sign commitments in a proper time

Possible Solution

Introduce validationDelay for which in interval

newEraStart .. newEraStart + validationDelay

commitments from old era can be validated by old era validators.

Note that maximal value which validationDelay can be is

minEpochDuration - eraDuration - electionTime - vetoDuration - safetyDuration

minEpochDuration - is a guarantied time for which validator stakes are locked since election, so we can be sure that we can slash them.
safetyDuration - some delay which we reserve for slashing execution.
This is necessary to be sure that old era validators stake is still locked and can be slashed.

Actually if we wanna to keep the same block producer even after timeout (block producer from old era, but multisigature from current era), then we should take it in account and max validationDelay is

minEpochDuration - eraDuration - electionTime - vetoDuration - safetyDuration - guarantyCommitmentDuration 

guarantyCommitmentDuration - time for which we guarantee that block would be committed.

Notes

No response

@grishasobol grishasobol added the C1-feature Feature request label Dec 7, 2024
@grishasobol grishasobol changed the title feat(ethexe): old era late commitments support ethexe: old era late commitments support Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C1-feature Feature request
Projects
None yet
Development

No branches or pull requests

1 participant