-
Notifications
You must be signed in to change notification settings - Fork 240
SIMD-0400: Epoch Stake Root (ESR) Sysvar #400
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
base: main
Are you sure you want to change the base?
Conversation
Introduce a new sysvar, Epoch Stake Root (ESR), that calculates a Merkle root commitment to the finalized validator set and effective stake distribution for the next epoch (N+1) and makes it available on-chain. The ESR is written exactly once per epoch at the epoch boundary when the runtime finalizes the upcoming epoch’s effective stakes. The sysvar also includes a minimum inclusion threshold and dual stake totals to support percentage calculations.
650a78b to
a192213
Compare
|
Awesome. I proposed something similar to a few people recently. This would certainly improve the SIMD voting process, amongst a few other things. |
Changes after the discussion with @deanmlittle
|
Fixed @deanmlittle |
t-nelson
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we're proposing that the validator do non-protocol work, under consensus, at the most compute-contended time, to support support light-clients, which have been fundamentally broken by switching the state commitment to lattice hash?
|
Thanks for the review. A few points: 1. ESR is protocol work Verifying consensus requires knowing the validator set. Validators use The runtime is the only place this can be done correctly. External processes would need to re-implement stake warmup/cooldown, activation rate limits, and match exactly what the leader schedule uses. Any divergence = security vulnerability. 2. The data already exists—ESR just commits to it
3. LT-Hash compatibility ESR and lattice hash are orthogonal:
We have a fully working light-client implementation on mainnet using an Agave fork that computes validator set proofs off-chain. ESR provides the minimal on-chain commitment to the validation set which could be used as the root of trust. |
Introduce a new sysvar, Epoch Stake Root (ESR), that calculates a Merkle root commitment to the finalized validator set and effective stake distribution for the next epoch (N+1) and makes it available on-chain. The ESR is written exactly once per epoch at the epoch boundary when the runtime finalizes the upcoming epoch’s effective stakes. The sysvar also includes a minimum inclusion threshold and dual stake totals to support percentage calculations.