ethereum / ethereum/consensus-specs
EIP-8025: should an execution client be required, optional, or recommended?
- Dominant language
- Python
- Stars
- 4k
- Forks
- 1.3k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 58
Description
## Context
The current consensus-specs effectively **require** a CL to be paired with an execution client. EIP-8025 introduces a proof engine as an **additional execution validity oracle** — a second source the CL can consult to verify execution validity, using proofs rather than re-execution. This opens a concrete deployment class the spec has not formally taken a position on: a CL whose only execution validity oracle is a proof engine, with no execution client at all.
Client implementations are moving ahead of the spec: Lighthouse accepts `--proof-engine-endpoint` without `--execution-endpoint` today ([eth-act/lighthouse#33](https://github.com/eth-act/lighthouse/pull/33)). We should either codify that capability or explicitly rule it out, rather than letting the requirement erode silently.
## Options
1. **Required** — status quo. Every CL must consult an EL for execution validity; the proof engine is a supplemental oracle. Simplest semantics; excludes a legitimate deployment class that EIP-8025 otherwise enables.
2. **Optional** — a CL may rely on a proof engine as its sole execution validity oracle, with no EL. Maximally permissive. Requires defining what a no-EL node can and cannot do.
3. **Recommended** — `SHOULD`-level guidance to run an EL alongside the proof engine, but permitted not to. Acknowledges operational reality while setting expectations.
## References
- [EIP-8025](https://eips.ethereum.org/EIPS/eip-8025)
- [frisitano/consensus-specs#3](https://github.com/frisitano/consensus-specs/pull/3) — internal fork PR proposing the change
- [eth-act/lighthouse#33](https://github.com/eth-act/lighthouse/pull/33) — client-side precedent (CL works without EL)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.