PeerBFT: Making Hyperledger Fabric’s Ordering Service Withstand Byzantine Faults
2020
In a blockchain system, there is an entity called an ordering service or miner that is responsible for ordering transactions, building a new block, and broadcasting the new block to all the blockchain peers. In a distributed system, the safety property is violated when an ordering service sends inconsistent blocks to peers and the liveness property is not guaranteed when the ordering service stops sending blocks to peers. Therefore, the ordering service must behave correctly to guarantee safety and liveness in blockchain operations. Hyperledger Fabric, a permissioned blockchain platform assumes the correct behavior of the ordering service. It also adopts an endorsement policy to deal with malicious behaviors of peers. However, a malicious ordering service can easily make the endorsement policy ineffective. Therefore, Hyperledger Fabric is not reliable in an environment where an ordering service may be hacked. In this paper, we propose PeerBFT that enables peers to handle Byzantine faults in the ordering service of Hyperledger Fabric, assuming that $n \geq 3f+1$ , where $n$ is the total number of peers and $f$ is the maximum number of malicious peers. In PeerBFT, each peer audits the behavior of the ordering service. When a group of peers detects any incorrect operations in the ordering service, they collectively migrate to a new ordering service. We have built a prototype of PeerBFT in Hyperledger Fabric 1.2. It is shown that PeerBFT can handle the Byzantine faults of the ordering service. The experimental evaluation shows that PeerBFT achieves approximately 90.8% of TPS (Transactions Per Second) of Hyperledger Fabric with Solo ordering service.
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
39
References
1
Citations
NaN
KQI