scispace - formally typeset
Open AccessPosted Content

Non-determinism in Byzantine Fault-Tolerant Replication

TLDR
This paper distinguishes three models for dealing with non-determinism in replicated services, where some processes are subject to faults and arbitrary behavior (so-called Byzantine faults), and introduces two new protocols that use the modular approach for filtering out non-de\-ter\-min\-istic operations in an application.
Abstract
Service replication distributes an application over many processes for tolerating faults, attacks, and misbehavior among a subset of the processes. The established state-machine replication paradigm inherently requires the application to be deterministic. This paper distinguishes 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, a modular approach that does not require any changes to the potentially non-deterministic application (and neither access to its internal data); second, a master-slave approach, in which ties are broken by a leader and the other processes validate the choices of the leader; and finally, a treatment of applications that use cryptography and secret keys. Cryptographic operations and secrets must be treated specially because they require strong randomness to satisfy their goals. The paper also introduces two new protocols. The first uses the modular approach for filtering out non-de\-ter\-min\-istic operations in an application. It ensures that all correct processes produce the same outputs and that their internal states do not diverge. The second protocol implements cryptographically secure randomness generation with a verifiable random function and is appropriate for certain security models. All protocols are described in a generic way and do not assume a particular implementation of the underlying consensus primitive.

read more

Citations
More filters
Journal ArticleDOI

Blockchains and Smart Contracts for the Internet of Things

TL;DR: The conclusion is that the blockchain-IoT combination is powerful and can cause significant transformations across several industries, paving the way for new business models and novel, distributed applications.
Proceedings ArticleDOI

Hyperledger fabric: a distributed operating system for permissioned blockchains

TL;DR: This paper describes Fabric, its architecture, the rationale behind various design decisions, its most prominent implementation aspects, as well as its distributed application programming model, and shows that Fabric achieves end-to-end throughput of more than 3500 transactions per second in certain popular deployment configurations.
Journal ArticleDOI

A Vademecum on Blockchain Technologies: When, Which, and How

TL;DR: A general presentation of blockchain that goes beyond its usage in Bitcoin and surveying a selection of the vast literature that emerged in the last few years is given, drawing the key requirements and their evolution when passing from permissionless to permissioned blockchains.
Proceedings ArticleDOI

Rethinking Permissioned Blockchains

TL;DR: These limitations in the context of permissioned blockchains, including an early version of the Hyperledger Fabric blockchain platform, are discussed, and how a re-design of HyperLedger Fabric's architecture addresses them are discussed.
Posted Content

Consensus in the Age of Blockchains.

TL;DR: A systematic and comprehensive study of blockchain consensus protocols is conducted, developing a framework to evaluate their performance, security and design properties, and using it to systematize key themes in the protocol categories described above.
References
More filters
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.
Journal ArticleDOI

Unreliable failure detectors for reliable distributed systems

TL;DR: It is proved that Consensus and Atomic Broadcast are reducible to each other in asynchronous systems with crash failures; thus, the above results also apply to Atomic Broadcast.
Journal ArticleDOI

Implementing fault-tolerant services using the state machine approach: a tutorial

TL;DR: The state machine approach is a general method for implementing fault-tolerant services in distributed systems and protocols for two different failure models—Byzantine and fail stop are described.
Journal ArticleDOI

Reaching Agreement in the Presence of Faults

TL;DR: It is shown that the problem is solvable for, and only for, n ≥ 3m + 1, where m is the number of faulty processors and n is the total number and this weaker assumption can be approximated in practice using cryptographic methods.
Journal ArticleDOI

Practical byzantine fault tolerance and proactive recovery

TL;DR: 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.
Related Papers (5)