The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - July/August (2011 vol.8)
pp: 564-577
Yair Amir , Johns Hopkins University, Baltimore
Brian Coan , Telcordia Technologies, Piscataway
Jonathan Kirsch , Johns Hopkins University, Baltimore
John Lane , Johns Hopkins University, Baltimore
ABSTRACT
Existing Byzantine-resilient replication protocols satisfy two standard correctness criteria, safety and liveness, even in the presence of Byzantine faults. The runtime performance of these protocols is most commonly assessed in the absence of processor faults and is usually good in that case. However, faulty processors can significantly degrade the performance of some protocols, limiting their practical utility in adversarial environments. This paper demonstrates the extent of performance degradation possible in some existing protocols that do satisfy liveness and that do perform well absent Byzantine faults. We propose a new performance-oriented correctness criterion that requires a consistent level of performance, even with Byzantine faults. We present a new Byzantine fault-tolerant replication protocol that meets the new correctness criterion and evaluate its performance in fault-free executions and when under attack.
INDEX TERMS
Performance under attack, Byzantine fault tolerance, replicated state machines, distributed systems.
CITATION
Yair Amir, Brian Coan, Jonathan Kirsch, John Lane, "Prime: Byzantine Replication under Attack", IEEE Transactions on Dependable and Secure Computing, vol.8, no. 4, pp. 564-577, July/August 2011, doi:10.1109/TDSC.2010.70
REFERENCES
[1] Y. Amir, B. Coan, J. Kirsch, and J. Lane, “Byzantine Replication under Attack,” Proc. 38th IEEE Int'l Conf. Dependable Systems and Networks, pp. 197-206, 2008.
[2] M.J. Fischer, N.A. Lynch, and M.S. Paterson, “Impossibility of Distributed Consensus with One Faulty Process,” J. ACM, vol. 32, no. 2, pp. 374-382, 1985.
[3] C. Dwork, N. Lynch, and L. Stockmeyer, “Consensus in the Presence of Partial Synchrony,” J. ACM, vol. 35, no. 2, pp. 288-323, 1988.
[4] M. Ben-Or, “Another Advantage of Free Choice (Extended Abstract): Completely Asynchronous Agreement Protocols,” Proc. Second Ann. ACM Symp. Principles of Distributed Computing, pp. 27-30, 1983.
[5] M.O. Rabin, “Randomized Byzantine Generals,” Proc. 24th Ann. Symp. Foundations of Computer Science, pp. 403-409, 1983.
[6] M. Castro and B. Liskov, “Practical Byzantine Fault Tolerance and Proactive Recovery,” ACM Trans. Computer Systems, vol. 20, no. 4, pp. 398-461, 2002.
[7] R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong, “Zyzzyva: Speculative Byzantine Fault Tolerance,” ACM Trans. Computer Systems, vol. 27, no. 4, pp. 7:1-7:39, 2009.
[8] Y. Amir, C. Danilov, D. Dolev, J. Kirsch, J. Lane, C. Nita-Rotaru, J. Olsen, and D. Zage, “Steward: Scaling Byzantine Fault-Tolerant Replication to Wide Area Networks,” IEEE Trans. Dependable and Secure Computing, vol. 7, no. 1, pp. 80-93, Jan.-Mar. 2010.
[9] J. Yin, J.-P. Martin, A. Venkataramani, L. Alvisi, and M. Dahlin, “Separating Agreement from Execution for Byzantine Fault-Tolerant Services,” Proc. 19th ACM Symp. Operating Systems Principles, pp. 253-267, 2003.
[10] J.-P. Martin and L. Alvisi, “Fast Byzantine Consensus,” IEEE Trans. Dependable and Secure Computing, vol. 3, no. 3, pp. 202-215, July-Sept. 2006.
[11] Y. Amir, B. Coan, J. Kirsch, and J. Lane, “Customizable Fault Tolerance for Wide-Area Replication,” Proc. 26th IEEE Int'l Symp. Reliable Distributed Systems, pp. 66-80, 2007.
[12] J. Li and D. Mazières, “Beyond One-Third Faulty Replicas in Byzantine Fault Tolerant Systems,” Proc. Fourth USENIX Symp. Networked Systems Design and Implementation, pp. 131-144, 2007.
[13] A. Clement, E. Wong, L. Alvisi, M. Dahlin, and M. Marchetti, “Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults,” Proc. Sixth USENIX Symp. Networked Systems Design and Implementation, pp. 153-168, 2009.
[14] G.S. Veronese, M. Correia, A.N. Bessani, and L.C. Lung, “Spin One's Wheels? Byzantine Fault Tolerance with a Spinning Primary,” Proc. 28th IEEE Int'l Symp. Reliable Distributed Systems, pp. 135-144, 2009.
[15] A.S. Aiyer, L. Alvisi, A. Clement, M. Dahlin, J.-P. Martin, and C. Porth, “BAR Fault Tolerance for Cooperative Services,” Proc. 20th ACM Symp. Operating Systems Principles, pp. 45-58, 2005.
[16] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, and W. Weiss, “An Architecture for Differentiated Services,” RFC 2475, 1998.
[17] M.P. Herlihy and J.M. Wing, “Linearizability: A Correctness Condition for Concurrent Objects,” ACM Trans. Programming and Languages and Systems, vol. 12, no. 3, pp. 463-492, 1990.
[18] M. Castro, “Practical Byzantine Fault Tolerance,” PhD dissertation, Massachusetts Inst. of Tech nology, pp. 29-31, 2001.
[19] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting Codes, North-Holland, 1988.
[20] R.L. Rivest, A. Shamir, and L. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Comm. ACM, vol. 21, no. 2, pp. 120-126, 1978.
[21] “The netem Utility,” http://www.linuxfoundation.org/ collaborate/ workgroups/networkingnetem , 2010.
[22] L. Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System,” Comm. ACM, vol. 21, no. 7, pp. 558-565, 1978.
[23] F.B. Schneider, “Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial,” ACM Computing Surveys, vol. 22, no. 4, pp. 299-319, 1990.
[24] A. Singh, T. Das, P. Maniatis, P. Druschel, and T. Roscoe, “BFT Protocols under Fire,” Proc. Fifth USENIX Symp. Networked Systems Design and Implementation, pp. 189-204, 2008.
[25] M.K. Reiter, “The Rampart Toolkit for Building High-Integrity Services,” Proc. Int'l Workshop Theory and Practice in Distributed Systems, pp. 99-110, 1995.
[26] V. Drabkin, R. Friedman, and A. Kama, “Practical Byzantine Group Communication,” Proc. 26th IEEE Int'l Conf. Distributed Computing Systems, p. 36, 2006.
[27] C. Cachin and S. Tessaro, “Asynchronous Verifiable Information Dispersal,” Proc. 24th IEEE Symp. Reliable Distributed Systems, pp. 191-202, 2005.
[28] M. Fitzi and M. Hirt, “Optimally Efficient Multi-Valued Byzantine Agreement,” Proc. 25th Ann. ACM Symp. Principles of Distributed Computing, pp. 163-168, 2006.
[29] C. Cachin and J.A. Portiz, “Secure Intrusion-Tolerant Replication on the Internet,” Proc. IEEE Int'l Conf. Dependable Systems and Networks, pp. 167-176, 2002.
[30] H. Moniz, N.F. Neves, M. Correia, and P. Veríssimo, “Randomized Intrusion-Tolerant Asynchronous Services,” Proc. IEEE Int'l Conf. Dependable Systems and Networks, pp. 568-577, 2006.
[31] D. Malkhi and M. Reiter, “Byzantine Quorum Systems,” Distributed Computing, vol. 11, no. 4, pp. 203-213, 1998.
[32] D. Malkhi and M.K. Reiter, “Secure and Scalable Replication in Phalanx,” Proc. 17th IEEE Symp. Reliable Distributed Systems, pp. 51-58, 1998.
[33] M. Abd-El-Malek, G.R. Ganger, G.R. Goodson, M.K. Reiter, and J.J. Wylie, “Fault-Scalable Byzantine Fault-Tolerant Services,” Proc. 20th ACM Symp. Operating Systems Principles, pp. 59-74, 2005.
[34] J. Cowling, D. Myers, B. Liskov, R. Rodrigues, and L. Shrira, “HQ Replication: A Hybrid Quorum Protocol for Byzantine Fault Tolerance,” Proc. Seventh USENIX Symp. Operating Systems Design and Implementation, pp. 177-190, 2006.
[35] P.E. Veríssimo, N.F. Neves, C. Cachin, J. Poritz, D. Powell, Y. Deswarte, R. Stroud, and I. Welch, “Intrusion-Tolerant Middleware: The Road to Automatic Security,” IEEE Security & Privacy, vol. 4, no. 4, pp. 54-62, July-Aug. 2006.
[36] M. Correia, N.F. Neves, and P. Veríssimo, “How to Tolerate Half Less One Byzantine Nodes in Practical Distributed Systems,” Proc. 23rd IEEE Int'l Symp. Reliable Distributed Systems, pp. 174-183, 2004.
[37] M. Serafini and N. Suri, “The Fail-Heterogeneous Architectural Model,” Proc. 26th IEEE Int'l Symp. Reliable Distributed Systems, pp. 103-113, 2007.
[38] G. Bracha, “An Asynchronous [$({\rm n} - 1)/3$ ]-Resilient Consensus Protocol,” Proc. Third Ann. ACM Symp. Principles of Distributed Computing, pp. 154-162, 1984.
[39] “The BFT Project Homepage,” http://www.pmg.csail.mit.edubft, 2010.
[40] R.C. Merkle, “Secrecy, Authentication, and Public Key Systems,” PhD dissertation, Stanford Univ. 1979.
5 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool