Consensus is the heart of blockchain. Consensus in the blockchain is required to guarantee very basic “data store” properties. The more players there are in the network, the more scalable is the network that comes with more computing power or stake. This is about building a “shared data store” that has enterprise data qualities that enterprise get from their network. So consensus protocol is required to guarantee security and data integrity of the architecture design.
Consensus protocol plays a key role in creating a block which stores the true version of a group of transactions. The trust is built by consensus algorithms. Consensus is a state of agreement on which majority of people agree. In this article, we will discuss types of consensus protocols that are being used at time of block creation and storing transactions in enterprise level blockchain design.
Consensus Protocols for Permissioned Blockchains
Permissioned Blockchain network is operated by trusted nodes elected by the central authority. In a practical enterprise level blockchain application, an enterprise defines mining and signing nodes for consensus process. There are three types of Consensus protocols that are popularly used while designing permissioned blockchain architecture.
The practical byzantine fault tolerance algorithm (PBFT) is used to build consensus in blockchain solutions. In PBFT consensus each ‘leader’ (signing node) maintains an internal state (ongoing specific information or status). When a ‘leader’ receives a message, they use the message in conjunction with their internal state to run a computation or operation. This computation, in turn, asks other ‘leader’ (other nodes) if the transaction is valid. Post receiving validation from other ‘leaders’, the first ‘leader’ broadcasts that decision with all the other ‘leaders’ in the network. A consensus decision is achieved based on the total confirmations submitted by all leaders.
PBFT is useful for low latency storage systems, It could be easily used in digital assets backed platforms, that don’t require a large amount of capacity, but do demand many transactions. PBFT ensures the accuracy of transaction records within the network. Hyperledger use PBFT for more other areas including digital assets backed platforms. It takes the idea of an algorithm for consensus and uses it to distribute all sorts of technical solutions
Examples: Hyperledger, Chain
In Federated Consensus, every participant in the network trusts a set of signers for reaching the consensus stage. To do it efficiently, block signers use a single block generator, which receives, holds and filters transaction. The generator’s signature is used to coordinate with signers for block validation process. Block signer verifies the block which is signed by block generator and which fulfills the certain conditions set by the network. Block get published to the network, once the block generator got enough signatures from the network.
Federated consensus reliance a on single participant which provides many efficiencies and simplicity benefits and has only limited downsides in target use cases. It guarantees safety and liveness. This consensus mechanism is best for use cases like: cross boarder remittance, real time KYC etc.
Examples: Stellar, Ripple
Round Robin Consensus
In Round Robin Consensus, validators participate in the consensus process by signing votes for blocks. There are three types of votes: a prevote, a precommit and a commit. To receive more than two third of commits means to receive commits from a two third majority of validators. A block is said to be committed by the network when a two third majority of validators have signed and broadcasted commits for that block.
At each height of the blockchain a round-based protocol is run to determine the next block. Each round comprises of three steps (Propose, Prevote, and Precommit), along with two special steps Commit and NewHeight. The Propose, Prevote, and Precommit steps each take one third of the total time allocated for that round. Each round is longer than the previous round followed by a small fixed increase of time. This allows the network to eventually achieve consensus in a limited concurrent network.
Round robin consensus process doesn’t depend on a single participant for block validation, Here Multiple nodes play a key role in validating and signing transactions which make this process more secure as compare to other consensus process. It has lesser probability of double spend attack because of the voting power distribution among trusted nodes. Round robin consensus mechanism is best suitable for provenance bases usecases like: trade finance, supply chain etc.
Examples: Multichain, Tendermint
The adoption of blockchain will be a balancing act for an enterprise, as it will not only have to run, manage ,and maintain its existing infrastructure but also pave way for this new computational model that promises to fundamentally change enterprises.
Enterprises can take a pragmatic approach to secure blockchain considerations for the enterprise by adopting the doctrine of layered defense, which involves selecting the right consensus mechanism for the solution.
Among other considerations, though PBFT Consensus method comes at the cost of anonymity on the system, it requires less effort than other methods. PBFT is considered viable consensus process for enterprise level blockchain solution design. PBFT is most accepted due to Hyperledger, which is tried for most of the projects.