Repository navigation
feat: update zkboost usage - #1492
Merged
barnabasbusa merged 6 commits intoOct 9, 2026
Merged
Conversation
frisitano
reviewed
Sep 29, 2026
han0110
commented
Sep 29, 2026
frisitano
approved these changes
Sep 29, 2026
nalepae
approved these changes
Oct 9, 2026
barnabasbusa
approved these changes
Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ethereum/consensus-specs#5639 proposes to simplify EIP-8025 by moving proof generation out of the spec, into a prover (e.g.
zkboost) that runs as middleware between the CL and the EL. The prover observesengine_newPayload, forwards the request to the EL, and triggers proof generation after aVALIDresponse.zkboostforwards it asengine_newPayloadWithWitnesswith the arguments unchanged, so that it gets the execution witness.Once a proof is ready,
zkboostsigns it as a validator and submits the signed execution proof envelope back to the CL throughPOST /eth/v1/beacon/execution_proofs(proposed in ethereum/beacon-APIs#569). The CL then verifies, stores, and gossips it.Proof verification is now embedded in the CL, so
zkboostno longer serves a proof verification API. As a side effect, we can no longer test with mock proofs. As a workaround, we prove a mock guest program that has exactly the same input/output as the actual guest program but skips the verification inside, and override the verification key of the CL. This way a single GPU generates proofs fast enough to keep a proof-only CL synced (see the1gpu_zkvm_with_mock_guest.yamlexample).Changes:
--execution-endpoint=http://<instance>:3000and--proof-engineincl_extra_params, and sign proofs with one validator keystore of that participant--proof-engine(built-in verification keys) and--proof-engine=<path>(custom verification keys, viaextra_filesandcl_extra_mounts) for a proof-only CL without an ELmock,external, andverifier, allowereto connect to a runningere-serverwithendpoint, and addclusterto connect to a ZisK or OpenVM proving cluster1gpu_zkvm.yamlwith1gpu_zkvm_with_mock_guest.yaml, update8gpu_zkvm.yamlandzkboost.yaml, and remove the verifier examplesA sibling PR for the new EIP-8025 changes is ethpandaops/dora#881.
Pinging @frisitano for visibility.