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

Separate type for unaggregated network attestations #3900

Open
wants to merge 6 commits into
base: dev
Choose a base branch
from

Commits on Aug 26, 2024

  1. Separate type for unaggregated network attestations

    As a complement to
    ethereum#3787, this PR
    introduces a `SingleAttestation` type used for network propagation only.
    
    In Electra, the on-chain attestation format introduced in
    [EIP-7549](ethereum#3559)
    presents several difficulties - not only are the new fields to be
    interpreted differently during network processing and onchain which adds
    complexity in clients, they also introduce inefficiency both in hash
    computation and bandwidth.
    
    The new type puts the validator and committee indices directly in the
    attestation type, this simplifying processing and increasing security.
    
    * placing the validator index directly in the attestation allows
    verifying the signature without computing a shuffling - this closes a
    loophole where clients either must drop attestations or risk being
    overwhelmed by shuffling computations during attestation verification
    * the simpler "structure" of the attestation saves several hash calls
    during processing (a single-item List has significant hashing overhead
    compared to a field)
    * we save a few bytes here and there - we can also put stricter bounds
    on message size on the attestation topic because `SingleAttestation` is
    now fixed-size
    * the ambiguity of interpreting the `attestation_bits` list indices
    which became contextual under EIP-7549 is removed
    
    Because this change only affects the network encoding (and not block
    contents), the implementation impact on clients should be minimal.
    arnetheduck committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    0b95012 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. update list of checks

    arnetheduck committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    5761fb4 View commit details
    Browse the repository at this point in the history
  2. spelling

    arnetheduck committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    0833551 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Configuration menu
    Copy the full SHA
    1c529a8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9bef69c View commit details
    Browse the repository at this point in the history
  3. merge cleanup

    arnetheduck committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    768fb45 View commit details
    Browse the repository at this point in the history