2009 · 157 citations · 19 references
ComputingComputer EngineeringComputer ScienceFault ToleranceFault-tolerant ComputingFault-tolerant SystemsFault Tolerance DesignReliable Distributed SystemsSoftware Fault ToleranceByzantine FaultsDistributed ReplicationFault-tolerant Distributed SystemsPrimary ReplicationReplica ManagementReplica-based Fault ToleranceSpinningState Machine Replication
Most Byzantine fault-tolerant state machine replication (BFT) algorithms have a primary replica that is in charge of ordering the clients requests. Recently it was shown that this dependence allows a faulty primary to degrade the performance of the system to a small fraction of what the environment allows. In this paper we present Spinning, a novel BFT algorithm that mitigates such performance attacks by changing the primary after every batch of pending requests is accepted for execution. This novel mode of operation deals with those attacks at a much lower cost than previous solutions, maintaining a throughput equal or better to the algorithm that is usually consider to be the baseline in the area, Castro and Liskov's PBFT.
19
Reaching Agreement in the Presence of Faults
Marshall C. Pease, Robert E. Shostak, Leslie Lamport · Journal of the ACM · 1980 · 2.4K citations · Full text
Consensus in the presence of partial synchrony
Cynthia Dwork, Nancy Lynch, Larry Stockmeyer · Journal of the ACM · 1988 · 1.9K citations · Full text
Ramakrishna Kotla, Lorenzo Alvisi, Mike Dahlin et al. · 2007 · 642 citations
Making Byzantine fault tolerant systems tolerate Byzantine faults
Allen Clement, Edmund Wong, Lorenzo Alvisi et al. · 2009 · 367 citations · Full text