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.
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.
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.
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.
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:
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
Optional: Please provide any additional information that you feel would be useful for TSC to be aware.