The complete guide to understanding Hyperledger Besu
“We have no features” is one of the early slogans of Ethereum that perfectly captures the design philosophy that led to the creation of the world’s second most popular blockchain protocol. Ethereum was designed to be a Turing-complete, general-purpose blockchain, capable of supporting all kinds of applications through the execution of smart contracts. Its creators and early contributors sought to provide a solid foundation upon which more specialized Layer 2 solutions could be built.
While Ethereum’s journey is still far from complete, this approach has so far been a success. The protocol has been able to maintain a broad appeal and attract a variety of blockchain projects, ranging from games and customer apps to innovative financial services and fundraising tools. The technology’s versatility has also appealed to businesses, with a number of big corporations having displayed a keen interest in using Ethereum for building enterprise-grade solutions. Naturally, this has created a need for Layer 2 platforms that could bring form and function to the blank canvas provided by Ethereum. Among the projects aiming to do so is the subject of this article, Hyperledger Besu.
What is Hyperledger Besu?
If you’ve been watching the blockchain space, chances are that you’re familiar with the Hyperledger name. It’s an umbrella project of open-source blockchain protocols and tools that was started by the Linux Foundation in 2015. The project is largely known for its Hyperledger Fabric component, which is one of the most prominent permissioned protocols in the blockchain space.
While they both exist under the Hyperledger umbrella, Fabric and Besu have little in common in terms of the underlying technology. More specifically, whereas Fabric is a private protocol designed from the ground up to support enterprise-grade solutions, Besu seeks to utilize the public Ethereum network.
Besu is a Java-based Ethereum client that implements the Enterprise Ethereum Alliance (EEA) specification and can be run on the public network or on private networks, as well as on a number of testnets. The project, formerly known as Pantheon, joined the Hyperledger family in 2019, adding for the first time a public blockchain implementation to Hyperledger’s suite of private blockchain frameworks. Besu’s development has been helmed by Pegasys – an engineering team linked to Consensys.
So what is an Ethereum client? It is a piece of software designed to implement the Ethereum protocol to address specific use cases. Ethereum clients come with these core components:
– An execution environment for processing transactions in the Ethereum blockchain.
– Storage for transaction-related data.
– Peer-to-peer (P2P) networking tools for communicating with other Ethereum nodes on the network.
– Application programming interfaces (APIs) allowing developers to interact with the Ethereum blockchain.
What are the benefits of Hyperledger and Ethereum?
Hyperledger Besu’s enterprise features are designed to adhere to requirements of the EEA client specification, including creating common interfaces among the various Ethereum Enterprise projects. The Besu client is designed to be highly modular to ensure that key blockchain features such as consensus algorithms can be easily implemented and upgraded. The goal here is to provide businesses with the means to easily configure Ethereum according to their needs while enabling smooth integration with other Hyperledger projects.
What are Hyperledger Besu’s main features?
For enterprises looking to create robust blockchain solutions, Besu provides a host of useful features, including:
The Ethereum Virtual Machine (EVM): the EVM is what enables the deployment and execution of Ethereum smart contracts.
Consensus algorithms: in addition to a proof-of-work algorithm, Besu also features several proof-of-authority protocols, which are well suited for use in blockchain consortia or other private networks where the participants know one another.
P2P networking: by leveraging Ethereum’s devp2p network protocols, Besu is able to facilitate inter-client communication.
Storage: Hyperledger Besu utilizes a RockDB key-value database to persist chain data locally. The data is divided into two sub-categories – blockchain data and world state data.
Permissioning: while Besu leverages the public Ethereum mainnet, it also provides businesses with the means to create permitioned networks by specifying which nodes and accounts can participate in those networks.
Privacy: Besu uses a Private Transaction Manager to ensure the privacy of transactions between counterparties.
User-facing API: the client provides mainnet Ethereum and EEA JSON-RPC APIs over HTTP and WebSocket protocols. It also supports a GraphQL API.
Monitoring: Hyperledger Besu utilizes tools such as Prometheus and Block Explorer to allow for users to monitor node and network performance, respectively.
Hyperledger Besu technical overview
We can see how this all ties together by examining how Besu is designed and structured. At the heart of it is the core Hyperledger Besu architecture, shown in the figure below.
The client architecture consists of three main components: Ethereum core, Storage, and Networking. Some of the client’s main features, including the EVM and consensus, are part of the Ethereum core. The EVM is supported by two additional components – a transaction processor and a block validator – which help it run more efficiently. The Ethereum core also includes a transaction pool responsible for storing transaction-related information and a synchronizer, which facilitates the synchronization between the nodes and the network.
While the core client architecture is relatively simple, it can be easily expanded with plugins. This approach is what enables Hyperledger Besu’s modularity. People can use some of the existing open-source Besu plugins or build their own plugins with the help of the Plugin API, which provides access to interfaces facilitating plugin development. The Plugin API also allows developers to take data from any Besu network and then feed it to their own applications and systems.
What are the Hyperledger Besu consensus algorithms?
We already mentioned that Besu comes with several consensus protocols to choose from. As an Ethereum implementation, proof-of-work is a given, but the proof-of-authority options are perhaps more interesting for enterprise-related projects. Besu has two PoA options, Clique and IBFT 2.0, with both of them coming with their own distinct characteristics, advantages, and disadvantages.
For starters, IBFT 2.0 has immediate finality, which ensures that all valid blocks get included in the main chain. In contrast, Clique lacks immediate finality, meaning that implementations using that consensus protocol are vulnerable to forks.
In terms of validators, IBFT 2.0 requires a minimum of four to be Byzantine fault-tolerant. Meanwhile, Clique can operate with only one validator, though relying on a single validator means that there is no protection mechanism in case that validator fails.
On a related note, Clique is more fault-tolerant than IBFT 2.0, as it tolerates as much as half of the validators failing. In comparison, IBFT 2.0 requires at least two-thirds of validators to be operational to create blocks.
Finally, Clique outperforms IBFT 2.0 when it comes to blocking generation speed. However, the risk of forks occurring on Clique networks grows as the number of validators increases. Meanwhile, IBFT 2.0 networks are bound to experience increasing block generation times as they add more validators.
What are practical Use Cases for Hyperledger Besu?
Hyperledger Besu’s comprehensive set of features gives the platform considerable versatility, which makes it well suited for supporting a wide range of use cases. Its smart approach to utilizing the Ethereum blockchain affords developers enough flexibility to build public or permissioned solutions based on the specific requirements of each use case.
The pharmaceutical industry is one of the areas where Hyperledger Besu could make a significant impact. Besu’s signature trait is that it can leverage mainnet Ethereum without compromising data privacy, which can be extremely valuable when operating in an industry that involves dealing with both stringent regulation and sensitive data.
The Besu framework can also be utilized to a great effect in any sector that relies on complex supply chains. Here you can find a detailed piece on why blockchain technologies, including Hyperledger Besu, are perfect for handling complex supply chain processes and systems.
Hyperledger Besu documentation and resources
If you want to learn even more about Hyperledger Besu, a good place to start is the project’s website, which contains detailed information about the client and its features. Those who really want to take a deep dive into the technical aspects of Besu and perhaps even consider contributing to the project, Besu’s GitHub repository is probably the next logical step.
Also worth checking out is this video from a webinar discussing a recent major release from the Pegasys team:
Where is Hyperledger Besu going?
Hyperledger Besu is already an impressive piece of technology and a powerful tool for building world-class enterprise-grade technologies. It still remains to be seen whether Besu would achieve widespread enterprise adoption amid stiff competition. The Hyperledger family offers other viable alternatives, including what’s probably the most popular enterprise-grade blockchain protocol – Hyperledger Fabric. What’s more, Besu is not the only Enterprise Ethereum implementation out there, with J.P. Morgan’s Quorum having been established as a prominent player in that space.
Still, Hyperledger Besu has every chance of succeeding. It is a versatile tool backed by a talented team of developers that continues to work on expanding the technology’s scope and capabilities. It has the potential to appeal to a wider range of businesses than its Enterprise Ethereum competitor, as Quorum arguably has a narrower focus with an emphasis on the financial services sector. As part of the Hyperledger family, Besu has access to some common tools and can re-use components from other Hyperledger projects. Finally, Besu can act as a bridge between the enterprise world and Ethereum, introducing businesses to the benefits of the public blockchain without compromising their requirements for privacy.
Still wondering if Besu is the right technology for your project. Do not hesitate to contact us at [email protected] and we will help you test, prove and develop your idea.