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 21.1.0 Release, which was launched on February 24th. The team is currently building towards its Q2 2021 release.

Required Information

  1. Have you switched from master to main in all your repos? No, awaiting final Berlin Mainnet activation then will switch
  2. Have you implemented repolinter.json in all your repos? Yes, via github actions.

Questions/Issues for the TSC

We continue to have issues with contributors giving up committing when encountered with the DCO sign off, especially with  documentation requests. Any suggestions on how to make the process easier and with less friction would be appreciated.

One possibility is to relax the DCO check within the PR for repositories who only do squash-merges and if the contributor makes a clear and unambiguous statement in the PR comments that their contribution conforms to the DCO standards. The commits to any main or non pull-request branch, however, would still require a DCO Signed-off-by line.

Releases

Hyperledger Besu has completed seven  releases, including the quarterly major release cycle of 21.1.0. The releases included 20.10.2 on Dec. 16th, 20.10.4 on Jan 13, 21.1.0-RC1 on Jan 27th, 21.1.0-RC2 on Feb 10th, 21.1.0 (full release) on Feb. 24th, 21.1.1 on March 8th, 21.1.2 on March 15th. We had an extra release in addition to our regular bi-weekly schedule because we identified a bug related to the Berlin Hard Fork that we needed to fix.

Some functional improvements include:

Berlin Network Upgrade 

The team has been preparing Hyperledger Besu to be compatible with the next Ethereum hard fork, Berlin. The Berlin Network upgrade will include several improvements to the Ethereum mainnet, such as the addition of subroutines to the EVM, the introduction of “transaction envelopes”; which make it easier for Ethereum to support several different kinds of transactions, and changes in gas costs to increase the security of the network.

Mainnet Launcher

Mainnet Launcher makes it easy to create a config file for an Ethereum client at startup

Node Hibernate:

This is a proxy that monitors a node’s API traffic and hibernates the node when inactive. This reduces infrastructure costs by ensuring only nodes receiving API requests, or nodes required to establish consensus are running.

Bonsai Tries – Early Access
Bonsai Tries is a new database format which reduces storage requirements and improves performance for access to recent state. While this feature is being developed as a way to deal with mainnet’s large state size, any network with a comparable state could benefit from it. With Bonsai Tries instead of a multi-trie key value store, there is one trie, one set of indexed leafs, and a series of diffs that can be used to move the trie forward or backwards. This will reduce chain head count and state read and write amplification from its current 10x-20x levels to 1x-2x for non-committed access. This feature is early access and may break between each release, and is hence not production recommended yet.

Go to the Changelog for more details.

Overall Activity in the Past Quarter

There have been some significant maintainer contributions from decentralized maintainers

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.4.0 Release, scheduled forJuly of 2021. The 21.4 Release is expected to include the following features:
    1. London network upgrade
    2. EIP-1559
    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 and decentralization of its maintainer and contributor base. 

Maintainer Decentralization

Our maintainer decentralization had a small increase from the prior quarter. Danno Ferrin has moved from ConsenSys to Reddit, but will continue to contribute in a personal capacity. David Mechler has moved to earn.com.

The four organizations include:

We are in the process of voting on making 3 maintainers emeritus status and adding 1 new maintainer. There were no other changes to the maintainer roster.

Prior to the pending actions 5 of 23 (21%) maintainers were non-ConsenSys. The maintainers breakdown if all the pending actions pass is:

Contributor Diversity

LF Analytics for Besu from 8 Dec 2020 to 22 Mar 2021

Commits from 2020-12-08 to 2021-03-22: 262

Committers from 2020-12-08 to 2021-03-22: 26 (13 non-PegaSys)

Identified Orgs   2020-12-08 to 2021-03-22: 5

Additional Information

Optional: Please provide any additional information that you feel would be useful for TSC to be aware.

Reviewed By