ethereum / ethereum/consensus-specs

EIP-8025: should an execution client be required, optional, or recommended?

Open
#5,140 1 comment 2 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.