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

*: fix inclusion aggregation bits for Electra #3501

Merged
merged 5 commits into from
Feb 7, 2025

Conversation

KaloyanTanev
Copy link
Collaborator

Previously we have had aggregation bits of a single committee per attestation in the block. An example can be seen here - each attestation object has one single committee index.

In Electra, however, one single attestation object contains aggregation bits from multiple committees. this can be seen here. The aggregation bits object is a concatenation of all the committees participated in this attestation object.

This creates some issues in our inclusion checker. What we have been doing so far is to go over each attestation object and "merge" the attestations with the same hash root. Note that previously the committee index was part of the signed data, hence we had different hash root for each attestation object with different committee. Now the committee index is out of the signed data, hence signatures of the same data from committee X and X+1 is with the same hash root. That said, what we need to do now is for each attestation object:

  • check aggregation bits of which committees it includes
  • check check the size of each committee (as we need to split the big aggregation bits object into aggregation bits for committee)
  • conjugate (do the Or operation) to the aggregation bits for this committee only

category: feature
ticket: none

@KaloyanTanev KaloyanTanev self-assigned this Feb 5, 2025
@KaloyanTanev KaloyanTanev changed the base branch from main to electra February 5, 2025 15:31
@github-actions github-actions bot added the electra PR targeting electra upgrade label Feb 5, 2025
Copy link

codecov bot commented Feb 5, 2025

Codecov Report

Attention: Patch coverage is 33.33333% with 168 lines in your changes missing coverage. Please review.

Please upload report for BASE (electra@fffdc56). Learn more about missing BASE report.

Files with missing lines Patch % Lines
core/tracker/inclusion.go 55.97% 41 Missing and 18 partials ⚠️
eth2util/statecomm/statecomm.go 0.00% 55 Missing ⚠️
app/eth2wrap/httpwrap.go 20.45% 33 Missing and 2 partials ⚠️
app/eth2wrap/multi.go 0.00% 13 Missing ⚠️
app/eth2wrap/lazy.go 0.00% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             electra    #3501   +/-   ##
==========================================
  Coverage           ?   57.51%           
==========================================
  Files              ?      218           
  Lines              ?    33698           
  Branches           ?        0           
==========================================
  Hits               ?    19380           
  Misses             ?    12277           
  Partials           ?     2041           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@KaloyanTanev KaloyanTanev force-pushed the kalo/fix-inclusion-aggregation-bits branch from 1a0cf61 to ba03ac5 Compare February 7, 2025 10:51
@KaloyanTanev KaloyanTanev force-pushed the kalo/fix-inclusion-aggregation-bits branch from a12958b to a7a7660 Compare February 7, 2025 17:44
@KaloyanTanev KaloyanTanev added the merge when ready Indicates bulldozer bot may merge when all checks pass label Feb 7, 2025
@KaloyanTanev KaloyanTanev merged commit c97370e into electra Feb 7, 2025
10 of 11 checks passed
@KaloyanTanev KaloyanTanev deleted the kalo/fix-inclusion-aggregation-bits branch February 7, 2025 18:43
KaloyanTanev added a commit that referenced this pull request Feb 10, 2025
* Fix tracker aggregation bits attestations for electra

* Add tests and fix linter

* Remove test file

* Fix final inclusion check

* Fix TestInclusion test block structure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
electra PR targeting electra upgrade merge when ready Indicates bulldozer bot may merge when all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants