Project

Hyperledger Besu

Project Health

Hyperledger Besu remains a strong project with a growing community network of contributors. This quarter the team has focused on Ethereum protocol improvements as well as many performance improvements, included in the Hyperledger Besu 20.10.0 Release, which was launched on November 3rd. The team is currently building towards its Q1 2021 release.

Questions/Issues for the TSC

There are no issues or questions for this reporting period.

Releases

Hyperledger Besu has completed six bi-weekly releases, including the quarterly major release cycle for 20.10.0 (1.5.5 on 23 Jun, 20.10.0-RC1 on 8 Oct, 20.10.0-RC2 on 21 Oct, 20.10.0 on 3 Nov, 20.10.1 on 17 Nov, 20.10.2 on 2 Dec).

Also, Hyperledger Besu transitioned to the CalVer release versioning taxonomy for our Q4 release.

Some functional improvements include:

Production-Ready Features:

  • Privacy: The most recent set of privacy enhancements include:
  • Performance
    • Support for OpenTelemetry as a metrics backend (in addition to existing Prometheus support)
    • New library updates for secpk256k1 and altBN precompiles, resulting in 3% to 15% overall performance improvements depending on the chosen network.
    • EVM tool added to the standard set of distribution binaries.
  • Standard Tracing APIs
    • Added debug_standardTraceBlockToFile, debug_standardTraceBadBlockToFile, and debug_getBadBlocks to support Ethereum Foundation mainnet chain security efforts.

Early Access Features:

  • EIP-1559 Support: Hyperledger Besu has been one of the clients leading the implementation of EIP-1559, a major upgrade to Ethereum’s transaction fee market. This work accelerated this quarter.
  • Ephemeral Testnet YOLO: In preparation for the next network upgrade, Berlin, an ephemeral testnet called YOLO was launched.  This network has evolved into YOLOv3 with additional EIPs.

Go to the Changelog for more details.

Overall Activity in the Past Quarter

There have been some significant maintainer contributions from decentralized maintainers

  • Ethereum Classic’s Thanos Hard Fork support was contributed by Ed Mack from Chainsafe Systems
  • OpenTelementry metrics support was contributed by Antoine Tolume from Splunk.
  • DNS Auto-discovery for Ethereum Mainnet and Testnets, by Antoine Tolume from Splunk.
  • Next Quarter OpenTracing support is expected to land, also provided by Antoine Tolume from Splunk.

The remainder of the maintainers have been focusing on continuing mainnet compatibility work and adding cross-client support for GoQuorum within the Besu codebase.

Current Plans

  1. The project team remains currently working towards its 21.2.0 Release, scheduled for February or March of 2021. The 21.2 Release is expected to include the following features:
    1. Berlin network upgrade (pending Ethereum All Core Devs scheduling)
    2. Bonsai Tries (slipped from 20.10)
    3. QiBFT a cross-client BFT algorithm specified by the EEA.
  2. Similar to last quarter, Besu is also continuing to engage with its community and grow the diversity of its maintainer and contributor base. 

Maintainer Diversity

Our maintainer diversity remained fairly consistent from the prior quarter.  We continue to have maintainers from four different organizations. 

The four organizations include:

  • ConsenSys Quorum (FKA PegaSys)
  • Web3Labs
  • Chainsafe
  • Splunk 

There were no new maintainers added or removed this quarter.

The maintainers breakdown is currently:

  • 16% non-ConsenSys (unchanged from last quarter)

Contributor Diversity

LF Analytics for Besu from 28 Sep 2020 to 7 Dec 2020

Commits from 2020-08-28 to 2020-12-07 : 169

Committers from 2020-08-28 to 2020-12-07 : 20 (5 non-PegaSys)

Identified Orgs  2020-08-28 to 2020-12-07 : 4 + 1 independent

Additional Information

N/A

Reviewed By


2 Comments

  1. What is the goal of "adding cross-client support for GoQuorum within the Besu codebase"? To be able to replace a GoQuorum client with a Besu client?

    Nit: you should delete "The team is also looking forward to participating at the Hyperledger Member Summit." which is obviously a leftover from the previous report.

    1. That, and to allow for multi-client and multiple-implementation blockchains like you see in mainnet.  The recent mainnet consensus bug (which was from two versions of the same client) would have been worse if only one client ran mainnet, which is why the ethereum foundation keeps funding multiple clients.