-
-
Notifications
You must be signed in to change notification settings - Fork 289
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
fix: batch validation for electra attestations #6788
fix: batch validation for electra attestations #6788
Conversation
const attestation: allForks.Attestation = attestationOrCache.attestation | ||
? attestationOrCache.attestation | ||
: { | ||
aggregationBits, |
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.
miss committeeBits
yesterday which caused the serialization issue @nflaig
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.
is there a way to make this more typesafe?
I'll make an issue for later, but there are some patterns in our code that lead to this kind of bug (that we should clean up later).
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.
yeah need to review carefully and address when we merge electra to unstable I guess @wemeetagain
was able to reproduce the issue if I use "minimal", 64 validators x 4 clients, which make it 256 validators. With 8 slots per epoch we have 32 validators per slot, with got this error
|
fff8e70
to
6f3171b
Compare
6f3171b
to
48b3b73
Compare
|
🎉 This PR is included in v1.22.0 🎉 |
Motivation
In order to do batch validation, we extract AttestationData base64 from its serialized data but it's not enough for electra. We need to also extract
committeeBits
insteadThis issue would lead to invalid aggregated attestations when there are more than committee indices per slot
Description
SeenAttestationDatas
cache and IndexedGossipQueuecommitteeIndex
so that we don't extract again in attestation poolNeed some more testing for this PR