How many nodes should I use?
Blockchain technology has revolutionized various industries by providing a decentralized and secure framework for conducting transactions. When setting up a blockchain network, one crucial consideration is the number of nodes required to ensure network efficiency and reliability. The choice of consensus mechanism plays a significant role in determining the minimum number of nodes necessary. In this article, we will explore different consensus mechanisms and their recommended minimums for node participation.
Kaleido offers three different consensus mechanisms for provisioned networks: IBFT, Raft, and Proof of Authority. Each one has different minimum recommendations to maintain the ability for the environment to maintain consensus.
Every environment includes a monitor node at no cost which begins as a signer automatically. This monitor node is responsible for querying the chain for information such as runtime resource utilization and recent transactions as well as for managing services and connections such as the backup processes.
Consensus Mechanisms
IBFT - 4 Signers
Istanbul BFT is a consensus mechanism designed for permissioned blockchain networks. In an IBFT-based network, a fixed number of nodes are designated as validators, participating in the consensus process. For an IBFT network, a minimum of three user nodes, along with a monitor node, is recommended. This setup ensures fault tolerance and resilience, as the system can still reach consensus even if one of the nodes becomes unavailable.
Raft - 3 Signers
Raft is a consensus algorithm that provides fault tolerance and leader election in a distributed system. In a Raft-based blockchain network, nodes cooperate to maintain a replicated log of transactions. To ensure successful voting for a new leader, an odd number of nodes is essential. Therefore, a minimum of two user nodes, along with a monitor node, is recommended for a Raft-based blockchain network.
PoA - 3 Signers
Proof of Authority is a consensus mechanism commonly used in private or consortium blockchains. In PoA, a limited number of nodes, known as signers, are authorized to validate transactions and secure the network. To resolve forks during consensus, an odd number of signer nodes is necessary. Thus, a minimum of two user nodes, along with a monitor node, is recommended for a PoA-based blockchain network.
A detailed explanation of different consensus algorithms can be found here
Production Considerations:
For production networks, Kaleido suggests users review the following guidelines:
- Add an additional user node in order to vote out the system monitor as a signer. This will allow the monitor to focus on the processes described above and leave dedicated user nodes to handle transaction submission and consensus.
- Kaleido's strong recommendation is that customers do not utilize the RAFT consensus mechanism for Enterprise Ethereum production networks
- The suggested number of nodes above are the absolute minimum number of nodes in order to enable a fault tolerance of 1 on a network utilizing any of the three consensus mechanisms. For production networks Kaleido suggests that users create additional user nodes in order to further increase the network's fault tolerance.