Mixed Fault Tolerance Protocols with Trusted Execution Environment

by   Mingyuan Gao, et al.

Blockchain systems are designed, built and operated in the presence of failures. There are two dominant failure models, namely crash fault and Byzantine fault. Byzantine fault tolerance (BFT) protocols offer stronger security guarantees, and thus are widely used in blockchain systems. However, their security guarantees come at a dear cost to their performance and scalability. Several works have improved BFT protocols, and Trusted Execution Environment (TEE) has been shown to be an effective solution. However, existing such works typically assume that each participating node is equipped with TEE. For blockchain systems wherein participants typically have different hardware configurations, i.e., some nodes feature TEE while others do not, existing TEE-based BFT protocols are not applicable. This work studies the setting wherein not all participating nodes feature TEE, under which we propose a new fault model called mixed fault. We explore a new approach to designing efficient distributed fault-tolerant protocols under the mixed fault model. In general, mixed fault tolerance (MFT) protocols assume a network of n nodes, among which up to f = n-2/3 can be subject to mixed faults. We identify two key principles for designing efficient MFT protocols, namely, (i) prioritizing non-equivocating nodes in leading the protocol, and (ii) advocating the use of public-key cryptographic primitives that allow authenticated messages to be aggregated. We showcase these design principles by prescribing an MFT protocol, namely MRaft. We implemented a prototype of MRaft using Intel SGX, integrated it into the CCF blockchain framework, conducted experiments, and showed that MFT protocols can obtain the same security guarantees as their BFT counterparts while still providing better performance (both transaction throughput and latency) and scalability.


page 1

page 2

page 3

page 4


TBFT: Understandable and Efficient Byzantine Fault Tolerance using Trusted Execution Environment

While the requirements for reliability increasing rapidly in distributed...

Chain of Trust: Can Trusted Hardware Help Scaling Blockchains?

As blockchain systems proliferate, there remains an unresolved scalabili...

SplitBFT: Improving Byzantine Fault Tolerance Safety Using Trusted Compartments

Byzantine fault-tolerant agreement (BFT) in a partially synchronous syst...

A Formally Verified Protocol for Log Replication with Byzantine Fault Tolerance

Byzantine fault tolerant protocols enable state replication in the prese...

SeeMoRe: A Fault-Tolerant Protocol for Hybrid Cloud Environments

Large scale data management systems utilize State Machine Replication to...

The Case for Accelerating BFT Protocols Using In-Network Ordering

Mission critical systems deployed in data centers today are facing more ...

Invited Paper: Failure is (literally) an Option: Atomic Commitment vs Optionality in Decentralized Finance

Many aspects of blockchain-based decentralized finance can be understood...

Please sign up or login with your details

Forgot password? Click here to reset