This chapter builds upon the universal abstract model of consensus to intuitively reconstruct well-known computational agreement protocols. We begin the reconstruction incrementally, starting with the classical two-phase commit protocol (2pc) and progressing to Paxos and Pbft. The Pbft protocol is arguably the foundation of fault-tolerant consensus that can be formulated as a coordinator-driven process to establish a two-phase state agreement that consists of guaranteeing the uniqueness of what is being voted on (meaning no equivocation) while ensuring preservation of the vote outcome (implying no re-writing of the history). Essentially, all post-Pbft protocols attempt to refine or improve upon these two basic phases. We further investigate several themes to optimize consensus. We explore ways to reduce communication phases by utilizing hardware-assisted design to eliminate the uniqueness phase, as well as developing speculative designs that render the preservation phase implicit. We examine consensus recovery strategies based on stable and rotating coordinator designs, all centered on a pacemaker—the essential synchronization mechanism. This simple scheme relies on re-transmission upon timeout, facilitating state and coordinator synchronization while ensuring eventual liveness without compromising safety. We further survey scaling consensus techniques that employ concurrent design strategies, such as multi-coordinator or multi-proposer schemes. These approaches tend to either operate over independent consensus instances, enabling out-of-order processing optimization, or adopt causal state maintenance to simplify recovery. Finally, we analyze the consensus topology strategies to reduce cross-cluster communication and distribution, many of which are reincarnations of the 2pc protocol.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Fault-Tolerant Consensus Protocols

  • Mohammad Sadoghi

摘要

This chapter builds upon the universal abstract model of consensus to intuitively reconstruct well-known computational agreement protocols. We begin the reconstruction incrementally, starting with the classical two-phase commit protocol (2pc) and progressing to Paxos and Pbft. The Pbft protocol is arguably the foundation of fault-tolerant consensus that can be formulated as a coordinator-driven process to establish a two-phase state agreement that consists of guaranteeing the uniqueness of what is being voted on (meaning no equivocation) while ensuring preservation of the vote outcome (implying no re-writing of the history). Essentially, all post-Pbft protocols attempt to refine or improve upon these two basic phases. We further investigate several themes to optimize consensus. We explore ways to reduce communication phases by utilizing hardware-assisted design to eliminate the uniqueness phase, as well as developing speculative designs that render the preservation phase implicit. We examine consensus recovery strategies based on stable and rotating coordinator designs, all centered on a pacemaker—the essential synchronization mechanism. This simple scheme relies on re-transmission upon timeout, facilitating state and coordinator synchronization while ensuring eventual liveness without compromising safety. We further survey scaling consensus techniques that employ concurrent design strategies, such as multi-coordinator or multi-proposer schemes. These approaches tend to either operate over independent consensus instances, enabling out-of-order processing optimization, or adopt causal state maintenance to simplify recovery. Finally, we analyze the consensus topology strategies to reduce cross-cluster communication and distribution, many of which are reincarnations of the 2pc protocol.