Prosecutor: an efficient BFT consensus algorithm with behavior-aware penalization against Byzantine attacks

Current leader-based Byzantine fault-tolerant (BFT) protocols aim to improve the efficiency for achieving consensus while tolerating failures; however, Byzantine servers are able to repeatedly impair BFT systems as faulty servers launch attacks without costs. In this paper, leveraging Proof-of-Work and Raft, we propose a new BFT consensus protocol called Prosecutor that dynamically penalizes suspected faulty behavior and suppresses Byzantine servers over time. Prosecutor obstructs Byzantine servers from being elected in leader election by imposing hash computation on new election campaigns. Furthermore, Prosecutor applies message authentication to achieve secure log replication and maintains a similar message-passing scheme as Raft. The evaluation results show that the penalization mechanism progressively suppresses and marginalizes Byzantine servers if they repeatedly launch malicious attacks.

[1]  Sunny King,et al.  PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake , 2012 .

[2]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

[3]  Vivien Quéma,et al.  RBFT: Redundant Byzantine Fault Tolerance , 2013, 2013 IEEE 33rd International Conference on Distributed Computing Systems.

[4]  Marko Vukolic,et al.  The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication , 2015, iNetSeC.

[5]  Moti Yung,et al.  Born and raised distributively: fully distributed non-interactive adaptively-secure threshold signatures with short shares , 2014, Theor. Comput. Sci..

[6]  Heidi Howard,et al.  ARC: Analysis of Raft Consensus , 2014 .

[7]  S. Nakamoto,et al.  Bitcoin: A Peer-to-Peer Electronic Cash System , 2008 .

[8]  Marko Vukolic,et al.  The Next 700 BFT Protocols , 2015, ACM Trans. Comput. Syst..

[9]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[10]  Michael Dahlin,et al.  Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults , 2009, NSDI.

[11]  Benny Pinkas,et al.  SBFT: A Scalable and Decentralized Trust Infrastructure , 2018, 2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[12]  Marko Vukolic,et al.  Blockchain Consensus Protocols in the Wild , 2017, DISC.

[13]  R. Brown,et al.  Corda : An Introduction , 2016 .

[14]  Warren He,et al.  Proof of Luck: an Efficient Blockchain Consensus Protocol , 2016, SysTEX@Middleware.

[15]  Emin Gün Sirer,et al.  Bitcoin-NG: A Scalable Blockchain Protocol , 2015, NSDI.

[16]  Christian Decker,et al.  Bitcoin meets strong consistency , 2014, ICDCN.

[17]  Alysson Neves Bessani,et al.  State Machine Replication for the Masses with BFT-SMART , 2014, 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.

[18]  Iddo Bentov,et al.  Proof of Activity: Extending Bitcoin's Proof of Work via Proof of Stake [Extended Abstract]y , 2014, PERV.

[19]  Victor Shoup,et al.  Practical Threshold Signatures , 2000, EUROCRYPT.

[20]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

[21]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[22]  Vitalik Buterin,et al.  Casper the Friendly Finality Gadget , 2017, ArXiv.

[23]  Srinath T. V. Setty,et al.  Byzantine Ordered Consensus without Byzantine Oligarchy , 2020, IACR Cryptol. ePrint Arch..

[24]  Jon Crowcroft,et al.  Raft Refloated: Do We Have Consensus? , 2015, OPSR.

[25]  Miguel Correia,et al.  Spin One's Wheels? Byzantine Fault Tolerance with a Spinning Primary , 2009, 2009 28th IEEE International Symposium on Reliable Distributed Systems.

[26]  Beng Chin Ooi,et al.  BLOCKBENCH: A Framework for Analyzing Private Blockchains , 2017, SIGMOD Conference.

[27]  Bryan Ford,et al.  Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing , 2016, USENIX Security Symposium.

[28]  Ethan Buchman,et al.  Tendermint: Byzantine Fault Tolerance in the Age of Blockchains , 2016 .

[29]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[30]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[31]  Christian Cachin,et al.  Architecture of the Hyperledger Blockchain Fabric , 2016 .

[32]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[33]  Elaine Shi,et al.  Hybrid Consensus: Efficient Consensus in the Permissionless Model , 2016, DISC.

[34]  John Lane,et al.  Byzantine replication under attack , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[35]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[36]  Elaine Shi,et al.  The Honey Badger of BFT Protocols , 2016, CCS.

[37]  Silvio Micali,et al.  Algorand: Scaling Byzantine Agreements for Cryptocurrencies , 2017, IACR Cryptol. ePrint Arch..

[38]  Ramakrishna Kotla,et al.  Zyzzyva , 2007, SOSP.

[39]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[40]  Ittai Abraham,et al.  HotStuff: BFT Consensus with Linearity and Responsiveness , 2019, PODC.