Besu Roadmap & Planning

This document represents the current working roadmap for Besu. It is a living document, which will evolve and change over time. In particular the features in later versions are likely to change.

We use the approach of #now, #next, #later used by foursquare, with a slightly different time horizon. Our #now scale is about 3 months, #next about 6 months, and #later is 12+ months.

The enterprise roadmap is currently led by Matthew Whitehead from Kaleido. To discuss the enterprise roadmap items reach out to matthew.whitehead on the discord server.

 

 

Public Roadmap

Enterprise Roadmap

 

Public Roadmap

Enterprise Roadmap

Now

Optimize and Simplify

Related releases 24.10.x

  • EVM performance optimizations ✅

  • Performance benchmarks against other ELs

  • Syncing improvements

  • Besu as the Linea client

  • Prague dev/test/ship

  • Deprecation of enterprise features 

 

Reduce unnecessary storage (merged)

  • Empty-block period (PR merged, due to be included in 24.10.1)

Bonsai archive (WIP)

  • PR 7475 

  • Part of the journey towards Bonsai replacing Forest DB

  • Make Bonsai an option for retrieving state at arbitrary blocks in the chain

Improve QBFT recovery time

  • PR 7838 

  • Empty block periods make this especially noticeable because the BFT request
    timeout has to be proportional to the empty block period which increase
    BFT recovery times after a node outage

Next

Prague Fork

Related releases 25.1.x

  • Prague: polishing

  • Ongoing performance work 

  • Bonsai-friendly Archive Mode

  • Plug-in technical docs

  • Codebase cleanup for better multi-use-case

Move QBFT snap sync out of experimental

  • Has been out since 24.7.1

Bonsai archive with state proofs

  • Build on PR 7475 to provide proofs for historic state

Stability under load

  • Performance and behaviour when the sequenced transaction pool hits its limits

  • Most testing until now has been performance close to the TX pool limits - not beyond them

Run enterprise acceptance test every release

Later

4444s and Statelessness

Related releases 25.4.x

  • EIP-4444 history expiry

  • Light client exploration

  • Verkle Trie ongoing development

Client Evolution

Related releases 25.7.x

  • Besu on more Layer 2 networks

  • Besu as a customizable L2/L3 sequencer

  • Modularity of the protocol schedule

  • Modularity everywhere

Ongoing Protocol Research

  • Besu as an Ethereum reference client in Java

  • Verkle

  • Statelessness State Expiry research 

Move empty block periods out of experimental

  • Has been in out since 24.7.1

Ensure Verkle + Archive has a solution

 

Enterprise options for history expiry

  • L1 will start dropping block bodies and receipts from 2Q2025

  • Enterprises will need to understand the options Besu provides and the architectures that are available to them

  • Might involve e.g. option to automatically remove blocks and receipts for chainHead-N blocks for non archive, non-full nodes