Component overview

Network

In Hyperledger Besu, a network refers to a logical infrastructure to which a certain group of nodes can collectively maintain a distributed ledger. This network can be public, private, or a test network, depending on the use case and configuration. A network requires a set of Validators (minimum 4), Bootnodes and RPC nodes. To learn more about these components please check Hyperledger Besu documentation.

Node

A node can be seen as an instance of Hyperledger Besu that participates in the network. These nodes communicate with each other to agree on the current state of the ledger, validate transactions, and propagate blocks.

A node can be of the following types:

  • Full Nodes: These nodes store the entire state of the blockchain, process all transactions, and keep a complete history of all blocks and state changes.

  • Validator Nodes: They are responsible for creating new blocks and validating transactions. Their identity is known, and they are given the authority to participate in consensus because of the trust placed in them by the network participants.

  • Light Nodes: Light nodes download only the block headers and a minimal amount of state information. They rely on full nodes for more detailed information and are optimized for environments with limited resources. Light nodes can verify the finality of the blockchain data without storing the entire blockchain, making them suitable for small devices or users who do not require full blockchain data.

  • Bootnodes: These are specialized nodes used primarily for node discovery. They act as an entry point for new nodes to join the network, helping them to find other nodes and establish connections.

  • Archive Nodes: These nodes are a type of full node that retain all historical blockchain data, from the genesis block to the latest. While full nodes may prune old state trie data, archive nodes do not, allowing them to provide data for any past state.

  • RPC Nodes: While not a separate category, full nodes often serve as RPC nodes, allowing external parties to interact with the blockchain through RPC interfaces like JSON-RPC or GraphQL. They enable users and applications to submit transactions, deploy smart contracts, and query blockchain data.