Skip to content
Book Open access

SpecTrum: Specification-Guided Differential Fuzzing for Ethereum Consensus Clients

Aug 2026 · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering · 0 citations · 37 references
Computer Science

TL;DR

This work introduces Consensus-SpecTec, a mechanized specification of the Ethereum consensus algorithm, which makes validity conditions explicit as if-premises, and defines premise coverage, a metric that measures which if-premises are evaluated to true and false across spectests.

Abstract

Ethereum's consensus safety relies on independent consensus client implementations agreeing on every state transition. When they diverge due to implementation errors, the network can fork, finality can stall, and severe attacks are possible. To prevent such consensus divergences, Ethereum provides a Python reference implementation (consensus-spec), which acts as a specification, and a hand-crafted official test suite (spectests). However, as an executable implementation, Ethereum's specification defines validity implicitly through runtime behavior. As a result, it lacks a systematic way to ensure that all validity conditions are thoroughly evaluated. We present SpecTrum, a framework that addresses this problem in three stages. First, we introduce Consensus-SpecTec, a mechanized specification of the Ethereum consensus algorithm, which makes validity conditions explicit as if-premises. Second, we define premise coverage, a metric that measures which if-premises are evaluated to true and false across spectests. Third, we develop a specification-based test generator that extracts constraints on premises not evaluated to false by spectests and generates inputs to evaluate them. Applying SpecTrum to five major Ethereum consensus clients, we identify 27 cross-client divergence cases, 22 of which cannot be found without the premises inserted in our mechanization. All 27 cases reproduce across fork versions, and extending the mechanized specification to a new fork takes modest effort proportional to the specification difference.

Read PDF

Similar papers

Preprint Sep 2026

Can LLMs help find Ambiguities in Protocol Specifications?

Internet protocol specifications written in RFCs are subject to ambiguities and multiple interpretations that can cause interoperability failure. While these have presumably cleared up after years of experience, such ambiguities can bedevil the adoption of newer protocols like 5G. The 5G specifications pair a formal me...

Zi-Yue Dang, Si-Xu Tan, Atharva Nevasekar et al. · 0 citations

Improving state coverage of greybox fuzzing

AFLWalk is created, a variant of AFLNet, as an attempt to address the challenge of testing stateful protocols by focusing exclusively on message-sequence mutations to steer exploration through protocol state machines, rather than applying byte-level mutations such as bit-flipping.

Philip-Ricardo Schoots, Ir. Erik Poll, F. Vaandrager · 0 citations
#small language model Book Open access Oct 2026

RuSMT: An Executable Semantics as Conformance Oracle and Test Suite Synthesizer

Conformance testing asks whether an implementation agrees with its specification. When the specification is expressed in prose, one established approach is to mechanize it as an executable specification. This executable then serves as the oracle, and an input on which an implementation disagrees with it is a potential...

Mehrad Haghshenas, Meng Xu · 0 citations
Book Open access Oct 2026

ControlsDSL: A Language for Verifiable Cloud Configuration Controls

Cloud providers rely on compliance controls to ensure that customer resources are configured according to security best practices -- from encryption of storage to network isolation of compute instances. Today, these controls are typically written as general-purpose programs (e.g., in Python or Java), making them diffic...

Miyriee Alair, Shrutarshi Basu, Sean Cai et al. · 0 citations
#artificial intelligence Preprint Oct 2026

SolBehave: Evaluating the Behavioural Correctness of LLM-Generated Smart Contracts

Large language models increasingly generate Solidity smart contracts that, once deployed, can never be patched, making a single latent fault permanent and exploitable. Yet current evaluations mostly ask only whether generated code compiles. We introduce SolBehave, a benchmark for evaluating the correctness of model-gen...

G. Delvecchio, Stefano Fantazzini, Giacomo Frisoni et al. · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.