IBFT Sample Clauses
IBFT. The Istanbul Byzantine Fault Tolerant (IBFT) algorithm [33] stems from the original PBFT algorithm, yet it is adapted to work in a Blockchain network. It still uses the base 3-phase consensus algorithm just described, maintaining the 3f + 1 fault-tolerance property, yet with a few tweaks to work in a Blockchain setting. Additionally, instead of differentiating ”clients” and ”nodes”, as PBFT does, IBFT considers clients part of the network, and thus ”nodes”. In particular, IBFT splits nodes into a ”proposer” and mul- tiple ”validators” and, in similarity to PBFT’s single primary and multiple backups replicas, respectively. Additionally, instead of simple read/write requests, the result of the algorithm is the consensus over a block of transactions, as expected from a Blockchain system. Moreover, IBFT uses a Proof of Author- ity (PoA) [34] type of consensus, since only the validators are able to create blocks. Since its conception, it has already been improved by some other works, such as [35]. The IBFT algorithm works as follows: in each view, the validators pick one of the nodes as the proposer using a round-▇▇▇▇▇ algorithm. Then, the proposer proposes a new block and broadcasts it to the network with a pre-prepare message. Once the validators receive that message, they enter the pre-prepare state and broadcast a prepare message. Afterwards, when the validators receive 2f + 1 prepare messages, they broadcast the commit message, which informs that the block is ready to be entered in the Blockchain. Finally, the moment the validators receive 2f + 1 commit messages, they enter the commited state and insert the block on the Blockchain. Note that each of the validators inserts the 2f + 1 commit messages on the block header before inserting it on the chain; this works as a group signature, confirming that at least other 2f + 1 validators have validated this block. All in all, PBFT defines how consensus can be implemented in a byzantine setting, a concept that is intrinsically tied to Blockchain systems. In fact, plenty of consensus algorithms used in current Blockchain systems are based on or improve on PBFT. These include LibraBFT [36] , HotStuff [37], Redundant Byzantine Fault Tolerance (RBFT) [38] and, of course, IBFT [35]. The latter is particularly relevant as it is a consensus algorithm implemented in multiple blockchains, in particular in Hyperledger Besu, our system’s foundational Blockchain.
