Skip to content

Conversation

@dapplion
Copy link
Member

@dapplion dapplion commented Jun 8, 2023

Current whisk implementation #3342 requires to add two extra data structures per validator: one whisk tracker (container or two G1 points) and one k commitment (G1 point).

Instead of extending the validator container two include those two items, this PR adds two new lists in the state. This approach has the advantages:

  • Reduces the additional hashing load from +4 hashes / val record to +2 hashes / val record
  • Prevents adding 1 extra depth to the validator type tree
  • Simplifies implementation, as clients are used to beacon state fields changing every fork, but the Validator type has remained constant since phase0 and is heavily used. At least in Lighthouse and Lodestar, changing the Validator class has a significant higher implementation cost than changing the beacon state.

@dapplion dapplion force-pushed the whisk-no-validator-mod branch from 769cad9 to 6c97fb7 Compare June 8, 2023 10:35
@dapplion dapplion force-pushed the whisk-no-validator-mod branch from 6c97fb7 to a62fd53 Compare June 14, 2023 10:36
@asn-d6
Copy link
Contributor

asn-d6 commented Jun 14, 2023

This is pretty much done. Left some comments for discussion. Perhaps none of them need any actual actions.

Copy link
Contributor

@asn-d6 asn-d6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! LGTM!

@asn-d6 asn-d6 merged commit 65a28b6 into ethereum:dev Jun 14, 2023
@dapplion dapplion deleted the whisk-no-validator-mod branch June 14, 2023 16:50
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