-
Notifications
You must be signed in to change notification settings - Fork 355
[Stateless Proto] Introducing execution proofs subnet and gossip validation #9869
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
Conversation
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
…port any milestone Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
# Conflicts: # ethereum/spec/src/main/java/tech/pegasys/teku/spec/schemas/registry/SchemaRegistryBuilder.java
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
# Conflicts: # teku/src/test/java/tech/pegasys/teku/cli/options/ZkChainOptionsTest.java
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/Eth2P2PNetworkBuilder.java
Fixed
Show fixed
Hide fixed
Signed-off-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Gabriel Fukushima <[email protected]>
networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/Eth2P2PNetworkBuilder.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Gabriel Fukushima <[email protected]>
| public static ExecutionProofGossipValidator create() { | ||
| return new ExecutionProofGossipValidator( | ||
| // max subnets * 2 epochs * slots per epoch 32 based on mainnet for now | ||
| LimitedSet.createSynchronized(MAX_EXECUTION_PROOF_SUBNETS.intValue() * 64)); |
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.
| topics.add(getExecutionProofSubnetTopic(forkDigest, i, gossipEncoding)); | ||
| } | ||
| } | ||
|
|
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.
...eth2/src/main/java/tech/pegasys/teku/networking/eth2/gossip/ExecutionProofGossipManager.java
Dismissed
Show dismissed
Hide dismissed
# Conflicts: # networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/Eth2P2PNetworkBuilder.java # networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/gossip/forks/GossipForkSubscriptions.java # networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/gossip/forks/versions/GossipForkSubscriptionsGloas.java # networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/gossip/forks/versions/GossipForkSubscriptionsGloasBpo.java # networking/eth2/src/testFixtures/java/tech/pegasys/teku/networking/eth2/Eth2P2PNetworkFactory.java
Signed-off-by: Gabriel Fukushima <[email protected]>
| topics.add(getExecutionProofSubnetTopic(forkDigest, i, gossipEncoding)); | ||
| } | ||
| } | ||
|
|
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.
| return new ExecutionProofGossipValidator( | ||
| // max subnets * 2 epochs * slots per epoch 32 based on mainnet for now | ||
| LimitedSet.createSynchronized(MAX_EXECUTION_PROOF_SUBNETS.intValue() * 64)); | ||
| } |
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.
Bug: Code-Comment Mismatch in LimitedSet Size Calculation
The LimitedSet size is calculated as MAX_EXECUTION_PROOF_SUBNETS.intValue() * 64, but the accompanying comment describes a different calculation: max subnets * 2 epochs * 32 slots per epoch. This creates a discrepancy between the code and its documentation.
PR Description
Added some initial boiler plate to get the execution proof subnet in and start in the controler when the statelss flag is enabled
Fixed Issue(s)
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Introduces execution proof gossip (topics, subnets, manager/validator) and CLI/config flag to enable it, with networking and controller wiring to process and publish proofs.
execution_proof_<subnet>), subnet subscriptions,ExecutionProofGossipManager,ExecutionProofSubnetSubscriptions, and topic handler.GossipForkSubscriptions*andGossipForkManagerto publish/subscribe execution proofs; include in Electra/Fulu/Gloas (and BPO) subscriptions.Eth2P2PNetwork/ActiveEth2P2PNetworkto support exec-proof subnet subscribe/unsubscribe and publish viaExecutionProofGossipChannel.P2PConfig/--Xexecution-proof-topics-enabled.GossipTopics/GossipTopicNameupdated to generate execution proof topics.ExecutionProofManager(+ impl) andExecutionProofGossipValidatorto validate and track received proofs; listener subscription API.ExecutionProofManagerinBeaconChainController(gated byZkChainConfiguration), subscribe to valid proofs, and expose processor to P2P builder.P2PConfiggainsexecutionProofTopicEnabled(default off) and builder/plumbing; new CLI flag--Xexecution-proof-topics-enabled.Written by Cursor Bugbot for commit 837da57. This will update automatically on new commits. Configure here.