Posted by bruno
Oct 27, 2026/16:52 UTC
A standalone differential fuzzing harness has been developed for Bitcoin Core and btc-verified, concentrating on the kernel interface. This tool targets nine critical kernel functions supported by a Lean implementation, which encompass transaction creation, copying, serialization, validation, and the management of associated validation-state objects. The objective is to ensure both Bitcoin Core and btc-verified handle identical transaction bytes consistently, with the harness facilitating direct behavioral comparisons.
The harness is constructed atop libFuzzer, a widely-used fuzzing engine, allowing for efficient input generation and automated comparison of outputs. Full documentation for this harness and its usage can be found in the corresponding README file. Details regarding the public C interface for the nine kernel functions are also available here.
Integration of this approach into bitcoinfuzz was straightforward due to the existing support for libbitcoinkernel. The process primarily involved adding btc-verified as a new module and implementing a new fuzzing target, modeled after existing internal targets. A pull request reflecting these changes can be reviewed at bitcoinfuzz PR #681, demonstrating successful adaptation and extension of the fuzzing infrastructure.
TLDR
We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project.
Give Feedback