scispace - formally typeset
Journal ArticleDOI

Practical byzantine fault tolerance and proactive recovery

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

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

How to Update Dependable Secure Computing Systems from a Survivability Assessment Perspective

TL;DR: This paper proposes a classification of common types of replica nondeterminism with respect to the requirement of achieving Byzantine fault tolerance, and describes the design and implementation of the core mechanisms necessary to handle such nondeterministic operations within a Byzantine faultolerance framework.
Proceedings ArticleDOI

A Fault Resilient Consensus Protocol for Large Permissioned Blockchain Networks

TL;DR: FRChain is a scalable and high-performant consensus protocol for permissioned blockchains, which is resilient to different types of node and network failures and ensures safety and liveness as long as a majority of the nodes can participate in the protocol correctly.
Proceedings Article

Scalable error isolation for distributed systems

TL;DR: SEI is presented, an algorithm that tolerates Arbitrary State Corruption faults and prevents data corruption from propagating across a distributed system and scales in three dimensions: memory, number of processing threads, and development effort.
Journal ArticleDOI

Secure Decentralized Attribute-Based Sharing of Personal Health Records With Blockchain

TL;DR: This article introduces a distributed PHR-sharing scheme based on blockchain and ciphertext policy ABE (CP-ABE), which allows for fast and efficient encryption and decryption, and adopts both the on-chain and off-chain storage modes in this new system.
Posted Content

ezBFT: Decentralizing Byzantine Fault-Tolerant State Machine Replication

TL;DR: EzBFT improves client-side latency by as much as 40% over state-of-the-art byzantine fault-tolerant protocols including PBFT, FaB, and Zyzzyva.
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.
Related Papers (5)