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

Implement the "naive" attestation aggregation strategy #497

Closed
zah opened this issue Oct 24, 2019 · 5 comments
Closed

Implement the "naive" attestation aggregation strategy #497

zah opened this issue Oct 24, 2019 · 5 comments
Assignees
Milestone

Comments

@zah
Copy link
Contributor

zah commented Oct 24, 2019

There is a new spec in development which specifies a "naive" strategy for attestation aggregation that will be used in the upcoming initial multi-client phase 0 testnets:
https://github.com/ethereum/eth2.0-specs/pull/1440/files

We'll need to implement a large number of validation checks before accepting and re-transmitting the incoming attestations. This depends on our ability to do GossipSub message filtering.

A slightly more sophisticated set of heuristics is being proposed by Proto here:
https://notes.ethereum.org/9Ijj2RkuRiqQYB9NOfY_9Q

They suggest another feature - the ability to prioritise certain messages for transmission.

@zah zah added this to the ETH1-bridged multi-client testnet milestone Oct 24, 2019
@arnetheduck arnetheduck reopened this Oct 25, 2019
@arnetheduck
Copy link
Member

whoops. meant to comment that this is not necessarily scheduled for interop0

@tersec
Copy link
Contributor

tersec commented Feb 21, 2020

https://github.com/ethereum/eth2.0-specs/blob/v0.10.1/specs/phase0/validator.md#aggregation-selection is blocking an interop-capable 0.10.x attestation aggregation pending 0.10.x-compatible bls.Sign(privkey, signing_root):

def get_slot_signature(state: BeaconState, slot: Slot, privkey: int) -> BLSSignature:
    domain = get_domain(state, DOMAIN_BEACON_ATTESTER, compute_epoch_at_slot(slot))
    signing_root = compute_signing_root(slot, domain)
    return bls.Sign(privkey, signing_root)

@tersec
Copy link
Contributor

tersec commented Feb 26, 2020

#769

@mratsim mratsim mentioned this issue Mar 4, 2020
@tersec tersec modified the milestones: Feb 2020, Mar 2020 Mar 4, 2020
@tersec
Copy link
Contributor

tersec commented Mar 5, 2020

Current TODOs:

@tersec
Copy link
Contributor

tersec commented Apr 1, 2020

#769

@tersec tersec closed this as completed Apr 1, 2020
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

No branches or pull requests

4 participants