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

[Mega Tracking] Align Prysm to Interop Networking Spec #3147

Closed
44 tasks done
prestonvanloon opened this issue Aug 5, 2019 · 2 comments
Closed
44 tasks done

[Mega Tracking] Align Prysm to Interop Networking Spec #3147

prestonvanloon opened this issue Aug 5, 2019 · 2 comments
Assignees
Labels
Priority: Critical Highest, immediate priority item Tracking Gotta Catch 'Em All

Comments

@prestonvanloon
Copy link
Member

prestonvanloon commented Aug 5, 2019

The new interop networking spec has been merged (ethereum/consensus-specs#1328).

Spec requirements

Interop requirements:

  • Support libp2p TCP transport for inbound/outbound IPv4 and IPv6 addresses.
  • Expose at least one IPv4 endpoint. Implement Discv5 in Prysm #3211
  • All endpoints must be publicly dialable (no advertising local networked addresses or relay)
  • Testnet infrastructure configured to enable direct, inbound traffic
  • SecIO w/ secp256k1 for identity
  • mplex protocol for multiplexing
  • (optional) yamux protocol for multiplexing
  • Gossipsub alignment
  • RPC (req/res) alignment
  • Discovery (discv5) alignment

Mainnet requirements:

Code changes

Not in any particular order. See networking design doc.

Migration:

p2p package:

p2p encoding:

p2p hello/goodbye:

Initial sync:

  • Add round robin sync strategy
  • Add logic to sync round robin up to finalized epoch
  • Add logic to sync to head after finalized epoch

Topic mappings:

Regular sync RPC:

Regular sync gossip sub:

Broadcaster:

Fork choice:

  • Add ReceiveBlock path that does not apply fork choice (for initial sync up to finalized epoch)

Discovery:

Ssz:

@prestonvanloon prestonvanloon added Needs Design Priority: High High priority item Tracking Gotta Catch 'Em All labels Aug 5, 2019
@terencechain
Copy link
Member

Interested in gossips and rpc alignments

@nisdas
Copy link
Member

nisdas commented Aug 5, 2019

interested in discovery and RPC alingment

@prestonvanloon prestonvanloon added Priority: Critical Highest, immediate priority item and removed Priority: High High priority item labels Aug 5, 2019
@prestonvanloon prestonvanloon self-assigned this Aug 13, 2019
@nisdas nisdas mentioned this issue Aug 14, 2019
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Critical Highest, immediate priority item Tracking Gotta Catch 'Em All
Projects
None yet
Development

No branches or pull requests

4 participants