Practical byzantine fault tolerance and proactive recovery

被引:3527
作者
Castro, M
Liskov, B
机构
[1] Microsoft Res, Cambridge CB3 0FB, England
[2] MIT, Comp Sci Lab, Cambridge, MA 02139 USA
来源
ACM TRANSACTIONS ON COMPUTER SYSTEMS | 2002年 / 20卷 / 04期
关键词
security; reliability; algorithms; performance; measurement; byzantine fault tolerance; state machine replication; proactive recovery; asynchronous systems; state transfer;
D O I
10.1145/571637.571640
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Our growing reliance on online services accessible on the Internet demands highly available systems that provide correct service without interruptions. Software bugs, operator mistakes, and malicious attacks are a major cause of service interruptions and they can cause arbitrary behavior, that is, Byzantine faults. This article describes a new replication algorithm, BFT, that can be used to build highly available systems that tolerate Byzantine faults. BFT can be used in practice to implement real services: it performs well, it is safe in asynchronous environments such as the Internet, it incorporates mechanisms to defend against Byzantine-faulty clients, and it recovers replicas proactively. The recovery mechanism allows the algorithm to tolerate any number of faults over the lifetime of the system provided fewer than 1/3 of the replicas become faulty within a small window of vulnerability. BFT has been implemented as a generic program library with a simple interface. We used the library to implement the first Byzantine-fault-tolerant NFS file system, BFS. The BFT library and BFS perform well because the library incorporates several important optimizations, the most important of which is the use of symmetric cryptography to authenticate messages. The performance results show that BFS performs 2% faster to 24% slower than production implementations of the NFS protocol that are not replicated. This supports our claim that the BFT library can be used to build practical systems that tolerate Byzantine faults.
引用
收藏
页码:398 / 461
页数:64
相关论文
共 72 条
  • [1] Alsberg P., 1976, P 2 INT C SOFTW ENG, P627
  • [2] Dynamic Byzantine quorum systems
    Alvisi, L
    Malkhi, D
    Pierce, E
    Reiter, MK
    Wright, RN
    [J]. DSN 2000: INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS, PROCEEDINGS, 2000, : 283 - 292
  • [3] ALVISI L, 1999, P 7 IFIP INT WORK C, P357
  • [4] [Anonymous], 1999, P 3 S OP SYST DES IM
  • [5] [Anonymous], 1997, Tech. Rep. TR3022
  • [6] [Anonymous], 1999, LNCS
  • [7] [Anonymous], RFC1321
  • [8] Bellare M, 1996, LECT NOTES COMPUT SC, V1070, P399
  • [9] Bellare M., 1995, LNCS, V950, P92, DOI [DOI 10.1007/BFB0053428, 10.1007/BFb0053428]
  • [10] BELLARE M, 1997, LNCS, V1233, P00163, DOI DOI 10.1007/3-540-69053-0