Many great use cases are served by Besu in the blockchain space. We are proud of this engagement with public Ethereum, private networks, enterprise, L2s, and more. However, the Besu code base has become a monolithic swiss-army knife.
From the beginning, Besu, an LF Decentralized Trust project, has always believed in growing the pie by serving a variety of users with Ethereum Smart Contracts and standards. This initially included enterprise-focused features in the base ledger. Some features, like Tessera, are not performant enough for their intended use cases. Other features, like Fast-Sync, have since been superseded by more performant approaches.
The Besu Maintainers are committed to continuously enhancing the client to ensure it remains performant, reliable, and future ready. As part of this effort, we are announcing changes to several features:
The above are targeted for streamlining and deprecation. To minimize disruption, we are recommending specific approaches based on the feature:
Forest mode is also being considered for deprecation and simplification. We ideally would like everyone running the lighter-on-disk, more-performant Bonsai data storage format. We are still building out a robust migration path to Bonsai for private networks and must ship a Bonsai Archive node solution before we officially signal Forest mode deprecation. It is considered out of scope for this announcement.
The Besu project is a community effort. Besu is open-source, and any contributor is free to maintain a fork via our permissive licensing or to create a plug-in via our API. We encourage contribution to maintain these features outside of the main-line code base, and we want your feedback and participation in this process. Read through the sections below on timelines and how to get involved with the Maintainers to shape this process.Why deprecation and why now?
Some of these features, specifically those related to privacy and permissioning, have not kept pace with advancements in the Ethereum ecosystem. Many app layer privacy solutions are robust and performant, without us needing to maintain solutions in Besu that are incompatible with the rest of the Ethereum ecosystem. By deprecating these underperforming and less-maintained features, we aim to:
We do not take these decisions lightly, and we view these actions as a necessary next step to ensure Besu stays at the cutting edge.
Below is a timeline of the deprecation process to ensure a smooth transition for our users and an ample feedback and collaboration period:
This timeline is subject to change based on feedback from the community. Our goal is to collaborate with impacted networks to ensure a seamless transition. We want to ensure we have robust resources in place.
To support our users through this transition, we will provide:
We want this to be a dialogue, as we value the input and feedback from our community. If you are using any of the features slated for deprecation and will be impacted by these changes, please contact us in a new Discord Channel and in email (besu-deprecation@lfdecentralizedtrust.org) to share your use cases and concerns. Your feedback will be crucial in refining our approach, documentation, and migration guides.
We will continue to provide updates and status reports on this deprecation plan during our monthly contributor calls. We encourage all stakeholders to participate in these calls to stay informed and engaged.
Thank you for your continued support as we work to make Besu a more efficient and performant Ethereum client. For more details, please visit our Wiki page and join the discussion on Discord.