Today EEA is proud to publish the QBFT Blockchain Consensus Protocol, a Byzantine Fault-Tolerant Proof-of-Authority consensus algorithm designed for Consortium use. QBFT is an evolution of the “Istanbul BFT Consensus” algorithm (IBFT) described in EIP-650 that provides improvements in reliability and speed, and with as few as 2/3 of validators functioning correctly at any given time it will not stall nor produce forks.
Because multiple clients implement the EEA QBFT Specification, it provides a standard that businesses building on Ethereum can use on an Enterprise Ethereum network, enabling people to run their preferred client software as a validator rather than having to choose one specific client that all participants in the network are forced to use.
— Chaals Nevile, EEA Technical Programs Director
As early as 2018 EEA Members including BlockApps, Clearmatics, ConsenSys and JP Morgan Chase had identified situations and configurations where IBFT would fail, and began work on evolving the algorithm. The QBFT algorithm was written in Dafny by Roberto Saltini, enabling formal verification of its correctness, based on work done by Henrique Moniz to apply the outcomes of EEA’s discussions and improvements.
QBFT allows the set of validators to be changed, for example to include new participants in a consortium network or to deal with participants leaving, to balance the cost of running validators, or to ensure that no participant has an excess proportion of validators at any given time.
QBFT is built on well-established and time-proven Byzantine Fault Tolerant consensus principles. With our work it also relies on the safety and security guarantees provided by formal verification which has allowed us to identify and fix some past issues with IBFT that in certain configurations could become serious problems.
— Roberto Saltini, Lead Researcher at ConsenSys, and author of the QBFT Blockchain Consensus Protocol Specification
The current version of the specification provides Dafny code with comments and commentary to unambiguously define the algorithm. QBFT Consensus is implemented in open-source Enterprise Ethereum Clients including GoQuorum and Hyperledger Besu, and is being used in multiple projects by EEA members and others, as well as being used on EEA’s testnet.
QBFT is used in production today by consortiums. EEA’s publication of QBFT as a standard is a great help to create new actors building on the protocol. I am excited for the possibilities offered by this work, as I host a testnet for the EEA using this consensus algorithm.
— Antoine Toulmé, founder of The Machine Consultancy, and chair of EEA’s Testnet Working Group
The specification is freely available and can be implemented by anyone, under the terms of the Apache 2 open source license.