CFT-Forensics: High-Performance Byzantine Accountability for Crash Fault Tolerant Protocols

2305.09123

YC

0

Reddit

0

Published 6/4/2024 by Weizhao Tang, Peiyao Sheng, Ronghao Ni, Pronoy Roy, Xuechao Wang, Giulia Fanti, Pramod Viswanath

⚙️

Abstract

Crash fault tolerant (CFT) consensus algorithms are commonly used in scenarios where system components are trusted -- e.g., enterprise settings and government infrastructure. However, CFT consensus can be broken by even a single corrupt node. A desirable property in the face of such potential Byzantine faults is emph{accountability}: if a corrupt node breaks protocol and affects consensus safety, it should be possible to identify the culpable components with cryptographic integrity from the node states. Today, the best-known protocol for providing accountability to CFT protocols is called PeerReview; it essentially records a signed transcript of all messages sent during the CFT protocol. Because PeerReview is agnostic to the underlying CFT protocol, it incurs high communication and storage overhead. We propose CFT-Forensics, an accountability framework for CFT protocols. We show that for a special family of emph{forensics-compliant} CFT protocols (which includes widely-used CFT protocols like Raft and multi-Paxos), CFT-Forensics gives provable accountability guarantees. Under realistic deployment settings, we show theoretically that CFT-Forensics operates at a fraction of the cost of PeerReview. We subsequently instantiate CFT-Forensics for Raft, and implement Raft-Forensics as an extension to the popular nuRaft library. In extensive experiments, we demonstrate that Raft-Forensics adds low overhead to vanilla Raft. With 256 byte messages, Raft-Forensics achieves a peak throughput 87.8% of vanilla Raft at 46% higher latency ($+44$ ms). We finally integrate Raft-Forensics into the open-source central bank digital currency OpenCBDC, and show that in wide-area network experiments, Raft-Forensics achieves 97.8% of the throughput of Raft, with 14.5% higher latency ($+326$ ms).

Create account to get full access

or

If you already have an account, we'll log you in

Overview

  • Crash Fault Tolerant (CFT) consensus algorithms are commonly used in trusted settings like enterprise and government infrastructure.
  • However, CFT consensus can be broken by a single corrupt node.
  • A desirable property is accountability, where corrupt nodes can be identified if they affect consensus safety.
  • The best-known protocol for providing accountability to CFT protocols is PeerReview, which records a signed transcript of all messages.
  • PeerReview is agnostic to the underlying CFT protocol, resulting in high communication and storage overhead.
  • This paper proposes CFT-Forensics, an accountability framework for CFT protocols that is more efficient than PeerReview.

Plain English Explanation

When computer systems need to reach agreement on important decisions, they often use Crash Fault Tolerant (CFT) consensus algorithms. These algorithms work well in settings where the different parts of the system can be trusted, like within a company or government agency.

However, these CFT algorithms have a weakness - they can be broken if even a single part of the system is corrupted or acting maliciously. This is a problem, because it's important to be able to identify which part of the system is responsible if the consensus is disrupted.

The best solution we had until now was a system called PeerReview. PeerReview records a complete log of all the messages sent between the different parts of the system. That way, if something goes wrong, you can go back and see exactly what happened.

But PeerReview has a downside - it adds a lot of extra communication and storage requirements to the system, making it less efficient. This new paper proposes a new system called CFT-Forensics that can provide the same accountability, but with much lower overhead.

The key idea is that CFT-Forensics works with a special class of CFT protocols, like Raft and multi-Paxos. For these protocols, CFT-Forensics can provide strong accountability guarantees, while only adding a fraction of the overhead that PeerReview requires.

Technical Explanation

The paper introduces CFT-Forensics, a new accountability framework for CFT consensus protocols. Unlike the previous best solution, PeerReview, CFT-Forensics is specifically designed to work with a special class of CFT protocols called "forensics-compliant" protocols.

This class includes widely-used protocols like Raft and multi-Paxos. For these protocols, CFT-Forensics can provide strong accountability guarantees - meaning corrupt nodes that affect consensus safety can be identified cryptographically.

Crucially, CFT-Forensics achieves this accountability at a much lower cost than PeerReview. Theoretical analysis shows that under realistic deployment settings, CFT-Forensics operates at a fraction of the communication and storage overhead of the PeerReview approach.

The paper then presents a specific instantiation of CFT-Forensics for the Raft protocol, called Raft-Forensics. Extensive experiments demonstrate that Raft-Forensics adds low overhead to vanilla Raft. With 256 byte messages, Raft-Forensics achieves 87.8% of vanilla Raft's peak throughput, at 46% higher latency.

Finally, the paper integrates Raft-Forensics into the OpenCBDC central bank digital currency system. In wide-area network experiments, Raft-Forensics achieves 97.8% of Raft's throughput, with 14.5% higher latency.

Critical Analysis

The paper makes a compelling case for the CFT-Forensics accountability framework, demonstrating significant efficiency gains over the existing PeerReview approach. However, a few caveats and areas for further research are worth noting:

  1. The paper focuses on a specific class of "forensics-compliant" CFT protocols. While this includes widely-used protocols like Raft and multi-Paxos, it's unclear how easily CFT-Forensics could be extended to other CFT protocols.

  2. The paper's theoretical analysis and experimental results are promising, but real-world deployment may surface additional challenges or performance considerations not captured in the study.

  3. The integration with OpenCBDC is a helpful proof-of-concept, but more diverse use cases would better demonstrate the generalizability of CFT-Forensics.

  4. The paper does not address the potential for adversarial attacks aimed at undermining the accountability mechanisms themselves. Further research on the security properties of CFT-Forensics would be valuable.

Overall, the CFT-Forensics framework represents an important advancement in providing accountability for CFT consensus algorithms. However, as with any new system, continued scrutiny and real-world validation will be crucial to ensuring its robustness and widespread adoption.

Conclusion

This paper introduces CFT-Forensics, a new accountability framework for Crash Fault Tolerant (CFT) consensus protocols. CFT-Forensics addresses a key limitation of existing solutions like PeerReview, which incur high overhead due to their agnosticism to the underlying CFT protocol.

By focusing on a class of "forensics-compliant" CFT protocols, including popular algorithms like Raft and multi-Paxos, CFT-Forensics can provide strong accountability guarantees at a fraction of the cost. Theoretical analysis and experimental results demonstrate the efficiency gains, with the Raft-Forensics instantiation achieving 87.8% of vanilla Raft's peak throughput.

The integration of Raft-Forensics into the OpenCBDC central bank digital currency system further validates the practical applicability of the approach. As computer systems increasingly rely on consensus algorithms to make critical decisions, accountability mechanisms like CFT-Forensics will play a vital role in ensuring the integrity and trustworthiness of these systems.



This summary was produced with help from an AI and may contain inaccuracies - check out the links to read the original source documents!

Related Papers

Probabilistic Byzantine Fault Tolerance (Extended Version)

Probabilistic Byzantine Fault Tolerance (Extended Version)

Diogo Avel~as, Hasan Heydari, Eduardo Alchieri, Tobias Distler, Alysson Bessani

YC

0

Reddit

0

Consensus is a fundamental building block for constructing reliable and fault-tolerant distributed services. Many Byzantine fault-tolerant consensus protocols designed for partially synchronous systems adopt a pessimistic approach when dealing with adversaries, ensuring safety in a deterministic way even under the worst-case scenarios that adversaries can create. Following this approach typically results in either an increase in the message complexity (e.g., PBFT) or an increase in the number of communication steps (e.g., HotStuff). In practice, however, adversaries are not as powerful as the ones assumed by these protocols. Furthermore, it might suffice to ensure safety and liveness properties with high probability. In order to accommodate more realistic and optimistic adversaries and improve the scalability of the BFT consensus, we propose ProBFT (Probabilistic Byzantine Fault Tolerance). ProBFT is a leader-based probabilistic consensus protocol with a message complexity of $O(nsqrt{n})$ and an optimal number of communication steps that tolerates Byzantine faults in permissioned partially synchronous systems. It is built on top of well-known primitives, such as probabilistic Byzantine quorums and verifiable random functions. ProBFT guarantees safety and liveness with high probabilities even with faulty leaders, as long as a supermajority of replicas is correct, and using only a fraction of messages employed in PBFT (e.g., $20%$). We provide a detailed description of ProBFT's protocol and its analysis.

Read more

6/12/2024

📈

Towards Rational Consensus in Honest Majority

Varul Srivastava, Sujit Gujar

YC

0

Reddit

0

Distributed consensus protocols reach agreement among $n$ players in the presence of $f$ adversaries; different protocols support different values of $f$. Existing works study this problem for different adversary types (captured by threat models). There are three primary threat models: (i) Crash fault tolerance (CFT), (ii) Byzantine fault tolerance (BFT), and (iii) Rational fault tolerance (RFT), each more general than the previous. Agreement in repeated rounds on both (1) the proposed value in each round and (2) the ordering among agreed-upon values across multiple rounds is called Atomic BroadCast (ABC). ABC is more generalized than consensus and is employed in blockchains. This work studies ABC under the RFT threat model. We consider $t$ byzantine and $k$ rational adversaries among $n$ players. We also study different types of rational players based on their utility towards (1) liveness attack, (2) censorship or (3) disagreement (forking attack). We study the problem of ABC under this general threat model in partially-synchronous networks. We show (1) ABC is impossible for $n/3< (t+k) <n/2$ if rational players prefer liveness or censorship attacks and (2) the consensus protocol proposed by Ranchal-Pedrosa and Gramoli cannot be generalized to solve ABC due to insecure Nash equilibrium (resulting in disagreement). For ABC in partially synchronous network settings, we propose a novel protocol textsf{pRFT}(practical Rational Fault Tolerance). We show textsf{pRFT} achieves ABC if (a) rational players prefer only disagreement attacks and (b) $t < frac{n}{4}$ and $(t + k) < frac{n}{2}$. In textsf{pRFT}, we incorporate accountability (capturing deviating players) within the protocol by leveraging honest players. We also show that the message complexity of textsf{pRFT} is at par with the best consensus protocols that guarantee accountability.

Read more

5/14/2024

🤿

Asymmetric Distributed Trust

Orestis Alpos, Christian Cachin, Bjorn Tackmann, Luca Zanolini

YC

0

Reddit

0

Quorum systems are a key abstraction in distributed fault-tolerant computing for capturing trust assumptions. They can be found at the core of many algorithms for implementing reliable broadcasts, shared memory, consensus and other problems. This paper introduces asymmetric Byzantine quorum systems that model subjective trust. Every process is free to choose which combinations of other processes it trusts and which ones it considers faulty. Asymmetric quorum systems strictly generalize standard Byzantine quorum systems, which have only one global trust assumption for all processes. This work also presents protocols that implement abstractions of shared memory, broadcast primitives, and a consensus protocol among processes prone to Byzantine faults and asymmetric trust. The model and protocols pave the way for realizing more elaborate algorithms with asymmetric trust.

Read more

5/3/2024

Knowledge Connectivity Requirements for Solving BFT Consensus with Unknown Participants and Fault Threshold (Extended Version)

Knowledge Connectivity Requirements for Solving BFT Consensus with Unknown Participants and Fault Threshold (Extended Version)

Hasan Heydari, Robin Vassantlal, Alysson Bessani

YC

0

Reddit

0

Consensus stands as a fundamental building block for constructing reliable and fault-tolerant distributed services. The increasing demand for high-performance and scalable blockchain protocols has brought attention to solving consensus in scenarios where each participant joins the system knowing only a subset of participants. In such scenarios, the participants' initial knowledge about the existence of other participants can collectively be represented by a directed graph known as knowledge connectivity graph. The Byzantine Fault Tolerant Consensus with Unknown Participants (BFT-CUP) problem aims to solve consensus in those scenarios by identifying the necessary and sufficient conditions that the knowledge connectivity graphs must satisfy when a fault threshold is provided to all participants. This work extends BFT-CUP by eliminating the requirement to provide the fault threshold to the participants. We indeed address the problem of solving BFT consensus in settings where each participant initially knows a subset of participants, and although a fault threshold exists, no participant is provided with this information -- referred to as BFT Consensus with Unknown Participants and Fault Threshold (BFT-CUPFT). With this aim, we first demonstrate that the conditions for knowledge connectivity graphs identified by BFT-CUP are insufficient to solve BFT-CUPFT. Accordingly, we introduce a new type of knowledge connectivity graphs by determining the necessary and sufficient conditions they must satisfy to solve BFT-CUPFT. Furthermore, we design a protocol for solving BFT-CUPFT.

Read more

5/13/2024