Skip to content

Besu

Introduction

Hyperledger Besu (commonly known as Besu) is an Ethereum client hosted by the Hyperledger project under the Linux Foundation, developed in Java. Besu originated as the Pantheon client developed by ConsenSys and was donated to Hyperledger in 2019, at which point it was renamed Besu.

Besu is an enterprise-grade Ethereum client that supports public chains like the Ethereum mainnet, while also being specifically optimized for permissioned networks and private networks. It fully implements the Ethereum execution layer protocol and provides rich enterprise features, flexible privacy options, and powerful monitoring capabilities, making it one of the preferred clients for enterprises and consortiums adopting Ethereum technology.

Core Features

Dual Public and Private Chain Support

Besu's distinguishing feature is its simultaneous support for public and private chains: - Public chain support: Full support for the Ethereum mainnet, Goerli, Sepolia, and other testnets - Permissioned chains: Support for permission-based networks with control over which nodes can join - Private transactions: Integrated privacy features supporting private transactions and privacy groups - Pluggable consensus: In addition to Ethereum mainnet consensus mechanisms, supports enterprise-grade consensus algorithms like IBFT 2.0 and QBFT

This makes Besu suitable for both public Ethereum networks and building enterprise-grade private blockchain applications.

Enterprise-Grade Privacy Features

Besu provides robust privacy protection mechanisms: - Private transactions: Transaction content is visible only to specific participants; other nodes cannot view it - Privacy groups: Create privacy groups where members share private state - Tessera integration: Works with the Tessera privacy manager to handle encryption and distribution of private transactions - Flexible privacy model: Supports multiple privacy architectures to meet different scenario requirements

These features make Besu particularly well-suited for industries with strict privacy requirements, such as finance and supply chain.

Permissioning and Access Control

Besu supports fine-grained permission management: - Node permissioning: Control which nodes can connect to the network - Account permissioning: Restrict operational permissions for specific accounts - Smart contract-level access control: Define complex permission rules through smart contracts - Dynamic permission management: Permissions can be dynamically adjusted through on-chain voting

This is critical for enterprise applications that require compliance and regulatory oversight.

Comprehensive API Support

Besu provides a full suite of APIs: - JSON-RPC API: Complete Ethereum standard API - GraphQL: More flexible query interface - WebSocket: Real-time event subscriptions - Prometheus metrics: Detailed performance and health metrics - Admin API: Node management and configuration interface

Plugin Architecture

Besu adopts a modular plugin architecture: - Extensibility: Add custom functionality through plugins - Event system: Subscribe to blockchain events and implement custom logic - Storage plugins: Customize the data storage backend - Security plugins: Integrate enterprise-grade security components

Client Characteristics

Java Ecosystem: Developed in Java, benefiting from a mature enterprise-grade technology stack: - Rich enterprise-grade tools and frameworks - Powerful JVM performance optimization - Wide developer base - Mature monitoring and operations tools

Enterprise-Grade Support: As a Hyperledger project, Besu is backed by the Linux Foundation with a clear governance structure and development roadmap. Maintained by multiple enterprises and organizations, it is suitable for long-term production use.

Open Source and Community: Fully open source under the Apache 2.0 license. Active community and enterprise contributors with high code quality and comprehensive documentation.

Interoperability: Fully compatible with the Ethereum protocol and interoperable with other Ethereum clients. Supports the standard Ethereum toolchain (Truffle, Remix, MetaMask, etc.).

Security and Auditing: Has undergone multiple security audits and follows enterprise security best practices. Provides detailed security guidelines and configuration recommendations.

Client Diversity: As a Java-implemented Ethereum client, Besu provides language diversity to the ecosystem, reducing the risk of a single technology stack.

Development History

2018: ConsenSys launched Pantheon, a Java-based Ethereum client.

February 2019: Pantheon joined Hyperledger as the first public chain project and was renamed Hyperledger Besu.

2019-2020: Continued feature improvements and enhanced enterprise capabilities. Supported the Ethereum mainnet and multiple testnets. Launched privacy features and permissioned chain support.

2021: Supported the Ethereum London hard fork (EIP-1559). Optimized performance and improved sync speed.

September 2022: Successfully supported The Merge, participating as an execution layer client in the transition from PoW to PoS.

2023: Supported Shanghai/Capella and Cancun/Deneb upgrades. Enhanced support for Layer 2 and enterprise use cases.

2024 to present: Continues as a preferred client for enterprise Ethereum, expanding ecosystem integration and driving enterprise blockchain application adoption.

Use Cases

  • Enterprise consortium chains: Building permissioned chain networks for supply chain, trade finance, and similar scenarios
  • Privacy applications: Industry applications in finance, healthcare, and others requiring transaction privacy
  • Public chain infrastructure: Running Ethereum mainnet full nodes or archive nodes
  • DApp development: Local development and testing environments
  • Regulatory compliance: Compliance applications requiring access control and auditing
  • Layer 2 infrastructure: Serving as the execution layer client for L2 networks
  • Research and education: Learning the Ethereum protocol and blockchain technology
  • Official Website: https://www.hyperledger.org/use/besu
  • GitHub: https://github.com/hyperledger/besu
  • Documentation: https://besu.hyperledger.org
  • Discord: https://discord.gg/hyperledger
  • Twitter: https://twitter.com/HyperledgerBesu
  • Wiki: https://wiki.hyperledger.org/display/BESU