Journal ArticleDOI
Practical byzantine fault tolerance and proactive recovery
Miguel Castro,Barbara Liskov +1 more
Reads0
Chats0
TLDR
A new replication algorithm, BFT, is described that can be used to build highly available systems that tolerate Byzantine faults and is used to implement the first Byzantine-fault-tolerant NFS file system, BFS.Abstract:
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 2p faster to 24p 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.read more
Citations
More filters
Journal ArticleDOI
RBT: A distributed reputation system for blockchain-based peer-to-peer energy trading with fairness consideration
TL;DR: This paper designs a distributed reputation system to simulate real-world trust in blockchain-based peer-to-peer energy trading, and defines a fairness indicator to capture the reputation-based average benefits and costs when considering reputation as the contribution to the peer- to- peer energy trading market.
Proceedings ArticleDOI
Non-determinism in Byzantine Fault-Tolerant Replication
TL;DR: In this paper, the authors distinguish three models for dealing with non-determinism in replicated services, where some processes are subject to faults and arbitrary behavior (so-called Byzantine faults): first, the modular case that does not require any changes to the potentially nondeterministic application and neither access to its internal data; second, master-slave solutions, where ties are broken by a leader and the other processes validate the choices of the leader; and finally, applications that use cryptography and secret keys.
How Practical Are Intrusion-Tolerant Distributed Systems?
TL;DR: This paper presents a taxonomy of axes of diversity and discusses how they provide failure independence, and provides a practical example of an intrusion-tolerant system built using diversity.
Journal ArticleDOI
Concurrent Practical Byzantine Fault Tolerance for Integration of Blockchain and Supply Chain
TL;DR: Currently, the integration of the supply chain and blockchain is promising, as blockchain successfully eliminates the bullwhip effect in the supply network.
Book ChapterDOI
A leader-free Byzantine consensus algorithm
Fatemeh Borran,André Schiper +1 more
TL;DR: The paper presents a leader-free algorithm that is resilient-optimal and signature-free, and gives a positive answer to the question: is it possible to design a deterministic Byzantine consensus algorithm for a partially synchronous system that is not leader-based?
References
More filters
Book ChapterDOI
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this paper, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI
Time, clocks, and the ordering of events in a distributed system
TL;DR: In this article, the concept of one event happening before another in a distributed system is examined, and a distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events.
Journal ArticleDOI
The Byzantine Generals Problem
TL;DR: The Albanian Generals Problem as mentioned in this paper is a generalization of Dijkstra's dining philosophers problem, where two generals have to come to a common agreement on whether to attack or retreat, but can communicate only by sending messengers who might never arrive.
Book ChapterDOI
The Byzantine generals problem
TL;DR: In this article, a group of generals of the Byzantine army camped with their troops around an enemy city are shown to agree upon a common battle plan using only oral messages, if and only if more than two-thirds of the generals are loyal; so a single traitor can confound two loyal generals.
Journal ArticleDOI
Impossibility of distributed consensus with one faulty process
TL;DR: In this paper, it is shown that every protocol for this problem has the possibility of nontermination, even with only one faulty process.