Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Zenhub has up-to-date Epics that Besu development is targeting over various releases. See the roadmap tab on the Public Zenhub here: https://app.zenhub.com/workspaces/hyperledger-besu-61fc06f457da1c0017f6347d/roadmap

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 be refined and 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 Hyperledger discord server.

Now (up to v1.4)

Multi Tenancy

  • Multi-tenancy allows multiple participants to use the same Besu and Orion node. Each participant is called a Tenant, and the Operator is the owner of the Besu and Orion node.

Private State Migration

  • Hyperledger Besu v1.4 implements a new data structure for private state storage that is not backwards compatible. A migration will be performed when starting v1.4 for the first time to reprocess existing private transactions and re-create the private state data in the v1.4 format. If you have existing private transactions, see migration details.

End-to-End TLS Support

  • Besu now supports TLS connections with both Orion, its private transaction manager, and EthSigner, its transaction signer. 

New Tracing API

  • New tracing APIs are being added to Besu to support Parity-style traces. As of 1.4, trace_replayBlockTransactions, was added, with support for the trace, vmTrace and stateDiff options. trace_block and trace_transaction will be added next. 

Plugins API

  • Besu now has an exposed Plugins API which allows anybody to build Java plugins to extend Hyperledger Besu.

Better NAT Support 

  • Besu now automatically detects Docker NAT settings from inside a container. Similar functionality for Kubernetes clusters will be added next. 

Tuweni Bytes Library Support 

  • Besu has moved from an internal Bytes library to the Apache Tuweni Bytes library. This includes using the library in the Plugins API interfaces.

Next (v1.5)

Performance Improvements

  • Work will be done to improve Besu’s performance across several areas: block propagation, block product and validation, transaction pool management, and JSON RPC query response time. 

Privacy Improvements 

  • APIs to support filtering of private contract events. Onchain privacy group improvements.

Beam Sync Early Access 

  • Work will be done on adding Beam Sync support in Besu. This will allow Besu to sync to the head of a network without downloading the entire network state and then download it on an as-needed basis as it processes incoming blocks. 

[Community Request] Mining Support 

...



Public Roadmap

Enterprise Roadmap

Now

Node Operator Experience

Related releases 24.1.x

- Bonsai-friendly Archive Mode

- Besu as the Linea client

- Sync improvements, speed & robustness

- Besu as a Snap Sync Server

- Verkle Trie ongoing development

- Cancun delivery, Prague scoping/prep


Related releases 24.4.x

- Public / Private network feature parity (sync!)

- Codebase cleanup for better multi-use-case 

- Packaged PoS images for Mainnet with neatly integrated CL client

- Revitalized plug-in strategy, technical documentation

Reduce unnecessary storage

  • Empty-block period

Bonsai + QBFT support

  • Reduce storage requirements
  • Improve performance

Performance

  • Explore QBFT performance bottlenecks and improvements

Next

Developer Experience

Related releases 24.7.x

- Besu as a customizable L2/L3 sequencer

- Besu on more Layer 2 networks 

- Prague: dev/test/ship

- Verkle Trie ongoing development

- Modularity of the protocol schedule

- Ongoing performance work

Bonsai archive

  • Part of the journey towards Bonsai replacing Forest DB
  • Make Bonsai an option for retrieving state at arbitrary blocks in the chain

Modularity/Enterprise release

  • Release that removes unneccesary features and packages
    • POS
    • POW
    • Tessera? (possibly optional)
    • Public chain profiles
    • ...

Later

Prague Fork, Client Evolution

Related releases 24.10.x

- Prague: dev/test/ship

- Verkle Tries: 

- Light client exploration

- Besu as a customizable L2/L3 sequencer

- Modularity everywhere

- Ongoing performance work

Ongoing Protocol Research

  • Besu as an Ethereum reference client in Java
  • Verkle Tries
  • History / State Expiry research 
  • Portal network PoC / EIP-4444

Future (v1.6+)

In addition to making incremental improvements to the above features, there will be some bigger pieces of work. These are deliberately kept vague at this time, and will be elaborated upon when they move up to the now and next levels of work.

...

Ethereum 1.x

  • Stateless Clients 

...

Alternate Consensus Mechanisms

...

Privacy group consensus

...

Cross privacy group communication

...