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

feat: implement CIP22 #15

Merged
merged 19 commits into from
Nov 17, 2020
Merged

feat: implement CIP22 #15

merged 19 commits into from
Nov 17, 2020

Conversation

kobigurk
Copy link
Collaborator

This implements the CIP22 changes, as described in https://github.com/celo-org/celo-proposals/blob/master/CIPs/0022.md and implemented in celo-org/celo-bls-snark-rs#194 and celo-org/celo-bls-snark-rs#195.

Almost 100% based on the work done by @lucasege and @nategraf.

@kobigurk kobigurk merged commit b388130 into master Nov 17, 2020
@kobigurk kobigurk deleted the kobigurk/epoch-data-entropy branch November 17, 2020 15:53
mcortesi pushed a commit to celo-org/celo-blockchain that referenced this pull request Jan 18, 2021
CIP22 changes the contents of the EpochSnarkData field in a few ways:

Pads the validator set to some fixed size
Moves data from the inner hash to the outer one to enable efficient slashing
Adds randomness to prevent the "future subcommittee attack"
For more details, see CIP-22.

This depends on changes in celo-bls-go: celo-org/celo-bls-go#15.

The changes are activated after the Donut fork block number.

Co-authored-by: lucasege <lucas@celo.org>
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.

2 participants