WPaxos: Wide Area Network Flexible Consensus
WPaxos是一种多领导者Paxos协议,可跨广域网(WAN)部署提供低延迟和高吞吐量共识。WPaxos使用多重引线,并在这些多重引线之间划分对象空间。与静态分区的多Paxos部署不同,WPaxos能够通过对象窃取来适应不断变化的访问位置。在不同区域中重合的多个并发领导者使用Paxos的阶段1从彼此窃取对象的所有权,然后使用阶段2在本地提交对这些对象的更新请求,直到它们被其他领导者窃取。为了实现快速的第二阶段提交,WPaxos以一种新颖的方式采用了灵活的法定人数概念,并指定第二阶段接受者接近他们各自的领导者。我们实施了WPaxos,并在5个AWS区域的WAN部署上对其进行了评估。对象空间的动态分区和对区域本地提交的强调使WPaxos能够显著优于分区Paxos部署和无领导者Paxos方法。
2019-04-03 cs.DC
Mandator and Sporades: Robust Wide-Area Consensus with Efficient Request Dissemination
共识算法被部署在广域中以实现地理上复制的应用的高可用性。广域共识是具有挑战性的,这主要是由于两个原因:(1)由于客户端请求传播的高延迟开销而导致的低吞吐量,以及(2)导致共识协议失去活性的网络拥塞。在本文中,我们提出了Mandator和Sporades,一个模块化的状态机复制算法,使高性能和弹性的广域设置。为了解决高客户端请求传播开销的挑战,我们提出了Mandator,一个新的共识不可知的异步传播层。Mandator将客户端请求传播与共识的关键路线分离,以获得高性能。将Mandator与Multi-Paxos(Mandator-Paxos)组合在一起,可在同步网络下提供显著的高吞吐量。然而,在异步网络条件下,Mandator-Paxos会失去活性,导致高延迟。为了实现低延迟和鲁棒性下的冗余,我们提出了Sporades,一种新的遗漏容错共识算法。Sporades由两种操作模式组成--同步和异步--它们始终确保活动性。Mandator和Sporades的组合(Mandator-Sporades)提供了一个健壮且高性能的状态机复制系统。我们在Amazon EC2上运行的广域部署中实施并评估了Mandator-Sporades。我们的评估表明,在同步执行中,Mandator-Sporades在不到900 ms的延迟内实现了300 k tx/sec的吞吐量,在吞吐量上超过Multi-Paxo…
2022-09-16 cs.DC
Flexible Paxos: Quorum intersection revisited
分布式共识是现代分布式系统的组成部分。广泛采用的Paxos算法使用两个阶段,每个阶段都需要多数同意,以可靠地达成共识。在本文中,我们证明了Paxos,这是许多生产系统的基础,是保守的。具体来说,我们观察到Paxos的每个阶段都可能使用不相交的法定人数。多数法定人数是不必要的,因为交叉只需要跨阶段。使用这种削弱的要求,在原来的配方,我们提出了灵活的Paxos,它概括了Paxos算法,提供灵活的法定人数。我们表明,灵活的Paxos是安全的,高效的,易于利用现有的分布式系统。最后,我们讨论了这一结果的广泛影响。例子包括当接受者的数量是偶数时,通过将第二阶段法定人数的大小减少一个来提高可用性,以及利用小的不相交的第二阶段法定人数来加速稳态。
2016-08-24 cs.DC
Matchmaker Paxos: A Reconfigurable Consensus Protocol [Technical Report]
状态机复制协议(如MultiPaxos和Raft)是几乎所有强一致性分布式数据库的核心。为了容忍机器故障,这些协议必须用活机器替换故障机器,这一过程称为重新配置。随着时间的推移,随着频繁重新配置需求的增长,重新配置变得越来越重要。尽管如此,重新配置在很大程度上被忽视的文献。在本文中,我们提出了Matchmaker Paxos和Matchmaker MultiPaxos,一个可重构的共识和状态机复制协议。我们的协议可以进行重新配置,几乎没有影响的延迟或吞吐量的命令处理,他们可以在一个往返(理论上)和几毫秒(经验)进行重新配置,他们提供了一些理论见解,他们提出了一个框架,可以推广到其他复制协议的方式,以前的重新配置技术不能。我们提供的协议和优化的正确性证明,并提出经验的结果,从一个开源的实现。
2020-07-21 cs.DC
Formal Verification of Multi-Paxos for Distributed Consensus
Paxos是一个重要的算法,用于一组分布式进程对单个值或值序列达成一致,分别称为基本Paxos或多Paxos。当分布式服务被复制以实现容错时,共识是至关重要的,因为没有错误的副本必须就系统的状态或已执行的操作顺序达成一致。不幸的是,共识算法,特别是包括多Paxos是众所周知的是难以理解的,其准确的规格和正确性证明仍然具有挑战性,尽管广泛的研究,因为Lamport推出Paxos。本文描述了用于分布式共识的Lamport的Multi-Paxos算法的形式化规范和验证。该规范是用TLA+,Lamport的动作时间逻辑编写的。校样是使用TLAPS(TLA+ Proof System)编写和自动检查的。证明是为了保证算法的安全性。基于Lamport,Merz和Doligez的规范和基本Paxos的证明,我们的目标是通过最小化与基本Paxos的差异来促进对Multi-Paxos及其证明的理解,并展示证明Paxos和其他复杂分布式算法的其他变体的一般方法。我们还讨论了我们的一般策略和结果证明复杂的不变量使用不变性引理和增量,证明属性的集合和元组,以帮助证明检查成功显着减少时间,并为整体证明改进,从而大大减少证明大小。
2019-11-11 cs.DC cs.LO
The Performance of Paxos and Fast Paxos
Paxos和Fast Paxos是最优的共识算法,它们简单而优雅,同时适合于高效的实现。在本文中,我们使用Treplica,一个通用的复制工具包,实现这些算法在一个模块化的和有效的方式,在无故障和易发生故障的运行中的性能进行比较。我们发现Paxos在少量副本的情况下优于Fast Paxos,并且冲突不是导致这种性能差异的原因。
2013-08-06 cs.DC
Paxos Made Switch-y
本文介绍了一个众所周知的共识协议,Paxos,在P4程序设计语言的实现。P4是用于对网络转发设备的行为进行编程的语言(即,网络数据平面)。将共识逻辑迁移到网络设备中可以显著提高数据中心核心基础设施和服务的性能。此外,在P4中实现Paxos为数据平面语言设计者提供了一个关键用例和一组要求。从长远来看,我们设想有一天共识可以作为一种网络服务提供,就像今天提供的点对点通信一样。
2015-11-16 cs.DC cs.NI
On the parallels between Paxos and Raft, and how to port optimizations
近年来,Raft已经取代Paxos成为共识算法的首选。[53]虽然许多人指出了这两个协议之间的相似之处,但没有人正式描绘出它们之间的关系。在本文中,我们将展示如何筏和Paxos正式相关,尽管他们的表面差异。基于这两个协议之间的形式化映射,我们展示了如何自动地将某类优化从Paxos移植到Raft,并保证正确性。作为案例研究,我们端口和评估两个优化,孟子和Paxos定额租赁筏。
2019-05-26 cs.DC
Heterogeneous Paxos: Technical Report
在分布式系统中,一组$\textit{learners}$通过观察某些$\textit{acceptors}$的输出而实现$\textit{consensus}$,它们都达到相同的值。共识对于容错系统中的事务排序至关重要。传统的共识算法在三个方面是同质的:-所有学习者都被平等对待,-所有接受者都被平等对待,以及-所有失败都被平等对待。然而,这些假设不适合跨域应用,包括区块链,在区块链中,并非所有的接受者都是同样值得信赖的,并且并非所有的学习者都有相同的假设和优先级。我们提出的第一个共识算法是异构的,在所有三个方面。学习者在不同的受信任的接受者集合上设置自己的混合失败容忍度。我们表示这些假设在一个新的$\textit{Learner Graph}$,并证明了共识的充分条件。我们提出了$\textit{Heterogeneous Paxos}$:拜占庭Paxos的扩展。异构Paxos在最佳情况下发送三个消息,这是最优的,可以实现任何可行的学习者图的共识。我们提出了一个概念验证的实现,并演示了如何定制异构场景可以节省资源和延迟。
2020-12-08 cs.CR cs.DB cs.DC
Raft Consensus Algorithm: an Effective Substitute for Paxos in High Throughput P2P-based Systems
对等数据库中的一个重要问题是冲突问题。这些数据库不依赖于中央领导者,这是提高可伸缩性和容错能力的一个原因。将这些系统应用于高吞吐量计算,可以提高计算系统的灵活性,同时也解决了大多数计算系统依赖于中心节点的问题。目前在这方面的研究还比较有限,不适合大规模应用。本文采用基于对等网络的分布式数据库Cassandra作为高吞吐量计算系统。Cassandra默认使用Paxos选举中央领导人,这会导致冲突问题。在现有的共识算法中,Raft将领导者选举等共识的关键要素分离出来,从而增强一致性,减少了冲突等必须考虑的状态数。
2019-11-04 cs.DB cs.DC
Velos: One-sided Paxos for RDMA applications
现代数据中心越来越多地配备了支持RDMA的服务器。这些设备使分布式系统能够依赖为共享内存设计的算法。RDMA允许共识在无故障情况下在几微秒内终止,然而,RDMA优化的算法在失败的情况下仍然使用昂贵的双侧操作。在这项工作中,我们提出了一个新的领导者为基础的共识算法,只依赖于片面的RDMA动词。我们的算法是基于Paxos的,它决定在一个单一的单侧RDMA操作在普通情况下,并改变领导者也在一个单一的单侧RDMA操作失败的情况下。我们以名为Velos的SMR系统的形式实现了我们的算法,并针对最先进的竞争对手Mu对我们的系统进行了评估。与Mu相比,我们的解决方案在无故障执行中增加了约0.6微秒的小开销,并在故障转移期间闪耀,在此期间,更换领导者的速度快了13倍。
2021-06-16 cs.DC
Self-Stabilizing Paxos
我们提出了第一个自稳定的共识和复制状态机的异步消息传递系统。该方案不要求所有参与者在达到实际无限执行之前进行一定数量的步骤,其中复制的状态机表现出期望的行为。换句话说,系统达到一个配置,它根据复制的状态机的指定要求进行操作,对于所有实际考虑而言足够长的执行时间。
2013-05-18 cs.DC
Revisiting hBFT: Speculative Byzantine Fault Tolerance with Minimum Cost
FaB Paxos[5]为任何容忍f拜占庭故障的两步共识协议设置了5f + 1个副本的下限。然而,hBFT[3]承诺只有3f + 1个副本的两步共识协议。因此,它违反了共识协议的安全性。在本文中,我们回顾了Fab Paxos设置的下限,并提出了一个简单的执行场景,该场景在hBFT中产生了安全违规。为了演示这个场景,我们需要一个相对简单的设置,只有4个副本和一个视图更改。
2019-04-27 cs.DC
On the Coordinator's Rule for Fast Paxos
Fast Paxos是一种共识算法,它通过一系列轮来工作,其中每一轮都试图决定一个与所有过去轮一致的值$v$。轮由协调进程启动,一致性由该进程用于选择$v$的规则和称为法定人数的进程集的属性保证。我们展示了这个规则的简化版本的特定情况下,法定人数的基数定义这些进程集。该规则对于算法的实现者来说是特别感兴趣的。
2017-10-23 cs.DC
Baxos: Backing off for Robust and Efficient Consensus
本文提出 Baxos 共识协议,用随机指数退避替代领导者选举,在保持较少修改的同时显著提升了共识系统对活性与性能降级攻击的鲁棒性和吞吐量。
2024-12-19 cs.DC
ScalienDB: Designing and Implementing a Distributed Database using Paxos
ScalienDB是一个基于Paxos算法构建的可扩展的复制数据库。它是在2010年至2012年期间开发的,当时支持它的创业公司失败了。本文讨论了分布式数据库的设计决策,描述了C++代码库的有趣部分,并列举了在少数客户端将ScalienDB投入生产的经验教训。源代码在Github上以AGPL许可证提供,但不再开发或维护。
2013-02-15 cs.DB cs.DC
PaxosLease: Diskless Paxos for Leases
本文介绍了PaxosLease,一个分布式的租赁协商算法。PaxosLease基于Paxos,但不需要磁盘写入或时钟同步。PaxosLease用于开源Keyspace和ScalienDB复制键值存储中的主租约协商。
2012-09-19 cs.DB cs.DC
What's Live? Understanding Distributed Consensus
诸如Paxos的分布式共识算法已经被广泛研究。它们都使用相同的安全定义。尽管有众所周知的理论不可能的结果,但活性在实践中尤其重要。然而,许多不同的活性属性和假设已经陈述,并且没有系统的比较以更好地理解这些属性。本文系统地研究和比较了30多个著名的共识算法及其变体的不同活性特性。我们引入一个精确的高级语言,并正式指定这些属性的语言。然后,我们创建一个层次结构的活性属性结合两个层次结构的假设和层次结构的断言,并比较的优势和劣势的算法,确保这些属性。我们的正式规范和系统的比较,导致发现了一系列的问题,在各种规定的活性属性,从太弱的假设,没有活性断言可以举行,太强的假设,使其微不足道的实现断言。我们还开发了这些活性属性的TLA+规范,并使用执行步骤的模型检验来说明Paxos的活性模式。
2021-06-21 cs.DC
Specifying Paxos for System Builders: Pseudocode Made Executable
Stony Brook University(石溪大学)
本文提出将 Paxos for System Builders 协议的伪代码逐行映射为可执行的 DistAlgo 规范,实现精确执行、自动检查与可视化,并修复了伪代码中的遗漏和活性缺陷,同时保持性能可接受。
2026-09-14 cs.DC
Seamless Paxos Coordinators
Paxos算法需要一个正确的协调器进程来运行。出现故障后,协调器的替换可能会导致Paxos上实现的应用程序暂时不可用。到目前为止,这种不可用性已经通过使用稳定的协调器选择算法来降低协调器替换率来解决。我们注意到,恢复新当选协调员状态的费用是这一无法得到协调员的问题的核心。在本文中,我们提出了一种新的技术来管理协调员更换,允许恢复同时发生新的共识轮。实验结果表明,我们的无缝方法有效地解决了临时不可用的问题,它的采用需要不间断地执行的应用程序。我们的解决方案消除了协调器替换的发生是要避免的限制,允许应用程序执行与用于选择协调器的机制的准确性解耦。这一结果增加了应用程序的性能,即使在存在故障的情况下,它是特别重要的复制的应用程序,必须适应不同的网络条件和部分故障的自主操作。
2017-10-21 cs.DC
Simpler Specifications and Easier Proofs of Distributed Algorithms Using History Variables
本文以分布式共识的基本Paxos和多Paxos算法为例,研究了仅使用消息历史变量时分布式算法的规范和证明。我们表明,不使用和维护其他状态变量产生更简单的规范,更声明性和更容易理解。它还允许通过需要更少的不变量和促进证明推导来开发更容易的证明。此外,还可以更有效地机械检查证据。我们表明,规格TLA+,Lamport的时间逻辑的行动,并证明在TLAPS,TLA+证明系统(TLAPS)减少了四分之一或更多的单值Paxos和约一半或更多的多值Paxos。总的来说,我们需要大约一半的手工编写的不变量和证明义务。我们的基本Paxos证明需要TLAPS检查的时间减少约25%,我们的Multi-Paxos证明在1.5分钟内检查,而TLAPS无法检查以前的证明。
2019-12-23 cs.DC cs.LO
Paxos Made EPR: Decidable Reasoning about Distributed Protocols
Paxos等分布式协议在许多计算机系统中起着重要的作用。因此,分布式协议中的错误可能会产生巨大的影响。因此,在核查此类协议方面投入了大量努力。然而,检查这些协议的不变量是不可判定的,在实践中很难,因为它需要对无限数量的节点和消息进行推理。此外,协议动作和不变量涉及量词交替和高阶概念,如集合基数和算术。本文朝着此类协议的自动验证迈出了一步。我们的目标是一种技术,可以验证正确的协议,并识别错误的协议。为此,我们开发了一种基于有效命题逻辑(EPR)的演绎验证方法-一阶逻辑(也称为Bernays-Schönfinkel-Ramsey类)的可判定片段。除了可判定性,EPR还具有有限模型属性,允许将违规显示为用户直观的有限结构。我们的方法涉及使用一般(未解释)的一阶逻辑建模协议,然后系统地转换模型,以获得一个模型和一个可判定的归纳不变量检查。转换的步骤也被机械地检查,以确保方法的可靠性。我们已经使用我们的方法来验证Paxos及其几个变体的安全性,包括Multi-Paxos,Vertical Paxos,Fast Paxos,Flexible Paxos和Stoppable Paxos。据我们所知,这项工作是第一个使用可判定逻辑来验证这些协议,并且是第一个对垂直Paxos,快速Paxos和可停止Paxos的形式化验证。
2017-10-19 cs.DC cs.LO cs.PL
Hardened Paxos Through Consistency Validation
由于在构建应用程序时分布式系统的紧急采用,对可靠性和可用性的需求增加了。这些属性可以通过使用中间件算法的复制技术来实现,中间件算法必须能够容忍故障。然而,诸如任意故障之类的某些故障可能更难以容忍,从而导致更复杂和资源密集的算法,这些算法最终不那么实用。我们提出并实验使用一致性验证技术来加强一个良性的容错Paxos,从而能够检测和容忍非恶意的任意故障。
2017-10-25 cs.DC
Consensus on Transaction Commit
分布式事务提交问题需要就事务是提交还是中止达成一致。如果协调器失败,经典的两阶段提交协议就会阻塞。容错共识算法也能达成一致,但不会在大多数进程都在工作时阻塞。在每个参与者的提交/中止决策上运行Paxos共识算法会产生一个事务提交协议,该协议使用2F +1个协调器,如果其中至少有F +1个协调器工作,则会取得进展。在无故障的情况下,该算法需要一个额外的消息延迟,但具有与两阶段提交相同的稳定存储写入延迟。经典的Two-Phase Commit算法是作为一般Paxos Commit算法的特殊F = 0情况而得到的。
2004-08-14 cs.DB cs.DC
Graph- versus Vector-Based Analysis of a Consensus Protocol
Paxos的分布式共识算法是一个具有挑战性的案例研究标准,基于向量的模型检验技术。由于异步通信,穷举分析可能会为小模型实例生成非常大的状态空间。在本文中,我们展示了图变换作为一种替代建模技术的优势。我们在一个丰富的声明性转换语言中对Paxos进行建模,其中包括嵌套的量化器,我们使用GROOVE模型检查器来验证我们的模型,GROOVE模型检查器是一种基于图形的工具,它利用同构作为一种自然的方式来通过对称约简来修剪状态空间。我们将结果与标准模型检查器Spin基于该算法的基于矢量的编码获得的结果进行比较。
2014-07-30 cs.DC cs.LO
Model Checking Paxos in Spin
我们提出了一个正式的分布式共识算法模型,在可执行的规约语言Promela扩展了一种新类型的警卫,称为计数警卫,需要实现过渡,依赖于多数表决。我们的形式化利用的抽象,从减少定理适用于特定的案例研究。我们应用模型检查自旋自动验证模型的有限实例,并提取的协议的选举阶段中使用的法定人数的大小的先决条件。
2014-08-26 cs.DC cs.DM cs.LO
Towards an Automatic Proof of Lamport's Paxos
Lamport著名的Paxos共识协议通常被视为一个复杂的难以理解的算法。尽管它的复杂性,在本文中,我们采取了一个步骤,自动证明Paxos的安全性,利用其规范中的三个结构特征:空间规律性在其无序域,时间规律性在其完全有序域,其层次组成。通过仔细集成这些结构特征的IC3PO,一种新的模型检验算法,我们能够推断出一个归纳不变量,完全匹配的人写的一个以前获得了显着的手工努力,使用交互式定理证明。虽然已经进行了各种尝试来验证不同版本的Paxos,但据我们所知,这是Lamport原始Paxos规范的自动推断归纳不变量的第一次演示。我们注意到,这些结构特征并不是Paxos特有的,IC3PO可以作为一个自动通用协议验证工具。
2021-08-19 cs.DC cs.FL cs.LO
Modeling the Raft Distributed Consensus Protocol in LNT
共识协议对于可靠的分布式系统至关重要,因为它们可以让它们处理网络和服务器故障。几十年来,大多数共识协议都被设计为开创性的Paxos的变体,但在2014年,Raft被作为一个新的、“可理解的”协议提出,这意味着比众所周知的微妙的Paxos家族更容易实现。此后,Raft被用于各种工业项目,例如Hashicorp的Consul或etcd(由Google的Kubernetes使用)。Raft的正确性是基于协议的TLA+规范通过手动证明建立的。本文报告了我们在LNT进程代数中对Raft建模的经验。我们发现了一对夫妇的问题与原来的TLA+规格的筏,这已被纠正以来。更一般地说,这个练习提供了一个很好的机会来讨论如何最好地使用LNT形式语言和相关的CADP验证工具箱的功能来建模分布式协议,包括网络和服务器故障。
2020-04-28 cs.DC cs.SE
Recent Results on Fault-Tolerant Consensus in Message-Passing Networks
容错一致性是分布式系统中最重要的原语之一,在实际应用中有着广泛的应用,因此得到了广泛的研究。本文综述了消息传递网络中容错共识的重要结果,重点是过去十年的结果。特别是,我们将结果分为两组:新的问题配方和实际应用。在第一部分中,我们讨论了新的方法来定义一致性问题,其中包括更大的输入域,链路故障模型,不同的网络模型。. .等,并简要讨论了重要的技术。在第二部分中,我们专注于使用Paxos或Raft的崩溃容错(CFT)系统和拜占庭容错(BFT)系统。我们还讨论了比特币,这可能与解决匿名系统中的拜占庭共识有关,并将比特币与BFT系统和拜占庭共识进行了比较。
2016-08-29 cs.DC
Ark: A Real-World Consensus Implementation
Ark是一种类似于Paxos和Raft的共识算法的实现,旨在改进MongoDB和TokuMX使用的现有共识算法。Ark是从第一原则设计的,改进了TokuMX使用的选举算法,以修复MongoDB的共识算法中可能导致数据丢失的缺陷。它最终与Raft有许多相似之处,但在一些方面有所不同,主要是支持其他功能,如链式复制和未确认的写入。
2014-07-17 cs.DB cs.DC
Moderately Complex Paxos Made Simple: High-Level Executable Specification of Distributed Algorithms
本文介绍了一种高级语言和方法的应用,在开发更简单的规范更复杂的变种的Paxos算法的分布式共识。这些规范适用于具有抢占、复制状态机和重新配置的Multi-Paxos,并通过状态减少和故障检测进行了优化。语言是DistAlgo。关键是使用非确定性等待和消息历史查询,在高级别上精确地表达复杂的控制流和同步条件。我们获得了完整的可执行规范,几乎完全是声明性的-除了发送和接收的消息集之外,只更新协议轮的一个数字。我们展示了以下结果:1.分布式算法的英文和伪代码描述可以在高层次上完全准确地捕获,而无需添加,删除或重新制定算法细节以适应较低层次,更抽象或更不直接的语言。2.我们创建了比以往所有规范更高层次的控制流和同步条件,得到了更简单、更小的规范,甚至比省略了许多算法细节的抽象规范匹配或更小。3.简单的规范使我们很容易发现无用的回复,不必要的延迟,以及在以前发布的规范中的活性违规(如果消息可能丢失),只需遵循简化的算法流程。4.产生的规范可以直接执行,我们可以清楚地表达优化,产生显着的性能改善,天真的执行和促进合并进程的一般方法。5.我们系统地将由此产生的规范翻译成TLA+,并开发了机器检查的安全证明,这也使我们能够检测和修复早期未发布的规范中的细微安全违规。
2019-08-12 cs.DC cs.PL
Nezha: Deployable and High-Performance Consensus Using Synchronized Clocks
本文提出无需云提供商支持的高性能共识协议Nezha,利用基于软件时钟同步的截止时间有序多播原语,在吞吐量和延迟上显著超越多种基准协议。
2023-03-24 cs.DB cs.DC cs.NI
Decentralized Validation for Non-malicious Arbitrary Fault Tolerance in Paxos
容错分布式系统提供高可靠性,因为即使其组件中发生故障,它们也不会表现出错误的行为。根据所采用的故障模型,通常不能容忍不会导致进程崩溃的硬件和软件错误。为了容忍这些相当常见的故障,通常的解决方案是采用更强的故障模型,如任意或拜占庭故障模型。然而,为这种故障模型创建的算法比为不太严格的故障模型开发的算法要复杂得多,并且需要更多的系统资源。达到中间立场的一种方法是非恶意任意故障模型。该模型假设可以以给定的概率检测和过滤故障,如果这些故障不是以恶意意图创建的,则允许将这些故障隔离并映射到良性故障。在本文中,我们描述了我们如何增加了一个实现的主动复制的非恶意故障模型的基本类型的分布式验证,从预期的算法行为的偏差将使一个进程崩溃。我们实验评估这种实现使用故障注入框架,这表明它是可行的扩展的概念,非恶意故障超出硬件故障。
2020-02-18 cs.DC
Distributed Consensus Network: A Modularized Communication Framework and Reliability Probabilistic Analysis
本文提出模块化通信框架以统一描述崩溃与拜占庭容错共识协议,并基于概率模型分析链路丢失和节点故障下的可靠性,结合 RAFT 实现验证两种延迟优化方法。
2025-02-17 cs.DC
Cabinet: Dynamically Weighted Consensus Made Fast
本文提出动态加权共识算法Cabinet,根据节点响应能力调整权重,并在MongoDB和PostgreSQL上验证其相比Raft在吞吐量和延迟上的优势。
2025-03-11 cs.DC
RMWPaxos: Fault-Tolerant In-Place Consensus Sequences
基于分布式、容错共识构建共识序列(用于复制状态机)通常需要为每个新共识实例提供单独的分布式状态。分配和维护此状态会导致大量开销。特别地,以容错方式释放分布式的、过时的状态不是微不足道的,并且给系统增加了进一步的复杂性和成本。在本文中,我们提出了一个扩展的单法令Paxos协议,可以学习一系列的共识决定“到位”,即与一组分布式状态。我们的协议不需要动态日志结构,因此不需要分布式日志修剪,快照,压缩,或动态资源分配。该协议建立了一个容错的原子寄存器,支持任意的读-修改-写操作。我们使用一致法定人数的概念来检测先前的共识是否仍然需要巩固或已经完成,以便可以安全地提出下一个共识值。在没有状态修改的情况下完成了对合并共识的读取,并且因此没有并发控制和对序列化的需求。一个不被打断的提议者通过让接受者急切地准备前一个请求,在每个决策的单个消息往返中就连续的共识决策达成一致。
2020-04-01 cs.DC
Revisiting Optimal Resilience of Fast Byzantine Consensus (Extended Version)
人们普遍认为,拜占庭容错解决方案的共识是显着慢于他们的崩溃容错同行。事实上,在最广为人知的拜占庭容错共识协议PBFT中,需要三个消息延迟来决定一个值,而Paxos中只有两个。这激发了对快速拜占庭共识算法的搜索,该算法可以在仅仅两个消息延迟\emph{in the common case}之后产生决策,例如,假设当前的领导者是正确的,并且没有被正确的过程所怀疑。(最佳)两步延迟带来了较低的弹性成本:快速拜占庭共识需要更多的进程来容忍相同数量的故障。特别是,$5f+1$进程被认为是容忍$f$拜占庭失败所必需的。在本文中,我们提出了一个快速的拜占庭共识算法,依赖于$5f-1$进程。此外,我们证明了$5f-1$是紧下界,纠正了早期工作中的一个错误。虽然对于大的$f$值,$2$过程的差异可能看起来微不足道,但对于较小规模的系统,它可能是至关重要的。特别是,对于$f=1$,我们的算法只需要$4$进程,这是最佳的任何(不一定是快速的)部分同步拜占庭共识算法。
2021-07-27 cs.DC
Blockchain Epidemic Consensus for Large-Scale Networks
针对现有区块链共识协议在可扩展性、资源消耗等方面的缺陷,提出无固定角色的BECP流行病共识协议,实验证明其在吞吐量、延迟和消息效率上优于同类方案,适用于大规模区块链网络。
2025-08-04 cs.DC
Quorum Tree Abstractions of Consensus Protocols
分布式算法解决的一致性问题,如共识或状态机复制是现代容错分布式服务的重要组成部分。他们也是出了名的难以理解和推理。它们的复杂性源于对它们所处环境的不同假设,即,过程或网络链路故障,拜占庭故障等。在本文中,我们提出了一种新的抽象表示,这种协议的动态集中在法定人数的响应(投票)的请求(建议),在运行过程中形成的协议。我们表明,专注于这样的法定人数,一个协议的运行可以被视为工作在一个树结构,不同的分支代表不同的可能结果的协议,目标是稳定的选择一个固定的分支。这种抽象类似于区块链基础设施中使用的最新协议的描述,例如,支持比特币或HotStuff的协议。我们表明,这种抽象支持各种算法的安全性推理,例如,Paxos,PBFT,Raft和HotStuff,以统一的方式。在一般情况下,它提供了一个新的归纳为基础的论据,证明这样的协议是安全的。
2023-01-24 cs.DC
Modelling the Raft Distributed Consensus Protocol in mCRL2
本文在 mCRL2 规范语言中对 Raft 分布式共识算法及其正确性性质进行了形式化建模,为验证该协议提供了形式化基础。
2024-03-27 cs.DC cs.LO cs.SE
Threshold Logical Clocks for Asynchronous Distributed Coordination and Consensus
用于异步网络的一致性协议通常是复杂和低效的,导致实际系统依赖于同步协议。本文试图简化异步共识之上建立一个新的阈值逻辑时钟抽象,使上层操作,如果在一个同步网络。这种方法为故障停止节点产生了一个异步共识协议,该协议可能比Paxos及其基于领导者的变体更简单,更强大,不需要共同的硬币,并在恒定的预期回合数中实现共识。同样的方法可以通过建立在成熟的技术上来加强对拜占庭式失败的防范,例如防篡改日志记录和流言、可问责的状态机、阈值签名和见证人共同签名以及可验证的秘密共享。现有抽象和阈值逻辑时钟的这种组合产生了一种模块化的、分层清晰的方法,用于构建实用且高效的拜占庭共识、分布式密钥生成、时间、时间戳和随机性信标以及其他关键服务。
2019-07-16 cs.CR cs.DC cs.NI
Optimizing Distributed Protocols with Query Rewrites [Technical Report]
本文借鉴查询优化思想,提出通过规则驱动重写扩展分布式协议,利用顺序不敏感性和数据依赖性分析识别无协调扩展机会,实现解耦和分区,使2PC吞吐量提升5倍、Paxos提升3倍,为自动化优化器奠定基础。
2024-04-03 cs.DB cs.DC
Bizur: A Key-value Consensus Algorithm for Scalable File-systems
Bizur是一个公开键值接口的共识算法。它由分布式文件系统使用,可扩展到数百台服务器,提供数百万IOPS,包括数据和元数据,并具有一致的低延迟。Bizur的目标是那些需要强一致性状态,但不需要分布式日志的服务;例如,分布式锁管理器或分布式服务定位器。通过避免分布式日志方案,Bizur优于基于分布式日志的共识算法,在正常操作期间,特别是在故障期间,产生更多的IOPS并保证较低的延迟。Paxos类算法(例如,Zab和Raft),由于它们依赖于分布式日志,因此可能具有人为争用点。在复制一般服务时需要分布式日志,但当所需服务是基于键值的时,可以避免分布式日志创建的争用点。Bizur正是这样做的,通过在独立的密钥上独立地达成共识。这种独立性使Bizur能够更有效地处理故障,并且比其他共识算法更好地扩展,允许使用Bizur的文件系统与之一起扩展。
2017-02-14 cs.DB cs.DC
A Hierarchical Model for Fast Distributed Consensus in Dynamic Networks
提出了两种新的动态网络共识算法。第一个是Fast Raft,它是Raft共识算法的变体,减少了典型操作中的消息轮数。Fast Raft非常适合快节奏的分布式系统,在这些系统中,成员会随着时间的推移而变化,并且站点必须快速达成共识。第二个是C-Raft,它针对的是分布式系统,其中站点被分组到集群中,集群内的通信速度较快,集群之间的通信速度较慢。C-Raft使用Fast Raft作为构建块,并定义了一个分层的共识模型,以提高全球分布式系统的吞吐量。我们证明了每个算法的安全性和活性性质。最后,我们提出了一个实验评估这两种算法在AWS。
2020-07-27 cs.DC
Half a Century of Distributed Byzantine Fault-Tolerant Consensus: Design Principles and Evolutionary Pathways
本文系统梳理了半个世纪以来分布式拜占庭容错共识的历史演进与设计原则,涵盖PBFT、SMR、部分同步/异步协议及DAG共识等关键进展,并展望无线与区块链场景下的未来研究方向。
2025-05-10 cs.DC
Voting-based probabilistic consensuses and their applications in distributed ledgers
我们回顾了被称为多数动态的概率模型(也称为阈值投票模型),并讨论了它们在加密货币系统中实现共识的可能应用。特别是,我们表明,直接使用这种方法在拜占庭设置的实际共识可能是有问题的,需要广泛的进一步研究。然后,我们讨论了FPC共识协议,该协议通过使用外部随机性来避免上述问题。
2021-08-06 cs.DC
D-CAST: Distributed Consensus Switch in Wireless Trustworthy Autonomous System
针对无线可信自主系统因动态拓扑和随机信道可能同时出现崩溃与拜占庭故障的问题,本文提出分布式共识自主切换机制D-CAST以适配动态节点的不同容错需求,并分析了其在无线系统中落地的挑战。
2024-05-14 cs.DC
Progressive quantization in distributed average consensus
我们考虑传感器网络中传感器与邻居交换量化信息的分布式平均共识问题。我们提出了一种新的量化方案,利用整个共识算法的迭代由传感器交换的值之间的相关性增加。在每个传感器中实现低复杂度的均匀量化器,并且通过在共识算法的收敛期间逐渐减小量化间隔来实现精细量化。我们提出了一个递归关系计算依赖于网络拓扑结构和通信速率的量化参数。我们进一步表明,递归关系可以导致一个简单的指数模型的量化步长的大小在迭代,其参数可以计算的先验。最后,仿真结果表明渐进量化方案的有效性,导致共识的解决方案,即使在低通信速率。
2012-03-21 cs.DC
Belief Consensus Algorithms for Fast Distributed Target Tracking in Wireless Sensor Networks
在无线传感器网络的分布式目标跟踪中,可以通过通信路径的构建和维护来实现对目标状态的一致性,以便交换关于局部似然函数的信息。这种方法缺乏对故障的鲁棒性,并且不容易适用于ad-hoc网络。为了解决这个问题,已经提出了几种方法,允许通过完全分布式的信念共识(BC)算法,在分布式粒子滤波(DPF)的局部似然协议。然而,尚未进行收敛速度和通信成本的统一比较。在本文中,我们提供了这样的比较,并提出了一种新的BC算法的基础上的信念传播(BP)。根据我们的研究,基于大都会信念共识(MBC)的DPF是最快的循环图,而基于BP共识的DPF是最快的树图。此外,我们发现,基于BC的DPF方法具有较低的通信开销比数据洪泛时,网络是足够稀疏。
2013-07-30 cs.DC
When Internet of Things Meets Blockchain: Challenges in Distributed Consensus
区块链被认为是物联网(IoT)的一项有前途的技术,因为它为分散式网络提供了重要的解决方案,可以解决信任和安全问题,高维护成本问题等。区块链提供的分散化在很大程度上可以归因于共识机制的使用,它可以在没有任何第三方参与的情况下以分布式方式进行点对点交易。本文首先介绍了区块链的基本概念,并说明了为什么共识机制在区块链支持的物联网系统中起着不可或缺的作用。然后,我们讨论了两个著名的共识机制,包括工作量证明(PoW)和权益证明(PoS)的主要思想,并列出了它们在物联网中的局限性。接下来,两种主流的基于直接无环图(DAG)的共识机制,即,Tangle和Hashgraph,以说明为什么DAG共识比PoW和PoS更适合物联网系统。最后讨论了基于DAG的共识机制在未来需要解决的问题和挑战。
2019-05-15 cs.DC
Reductions in Distributed Computing Part I: Consensus and Atomic Commitment Tasks
本文介绍了分布式计算中约简的几个概念,并研究了两个基本协议任务的约简性质,即共识和原子承诺。我们首先提出了“a la Karp”约简的概念,它是经典Karp约简的分布式计算的一种模拟。然后,我们定义了一个较弱的减少,这是库克减少的类似物。这两个约简分别称为K约简和C约简。我们还介绍了C*-减少的概念,在经典的(即非分布式)系统中没有对应的,这自然会出现在处理对称任务。我们建立了关于这三种约化的各种约化与不可约化定理。我们的主要结果是共识和原子承诺任务的不可比性声明:我们表明,他们是无与伦比的C-减少,除了弹性度为1时,在这种情况下,原子承诺严格比共识。这些结果的一个副作用是,我们的概念的C-减少严格弱于K-减少,即使是不可解决的任务。
2004-12-29 cs.DC
Formal Specification and Safety Proof of a Leaderless Concurrent Atomic Broadcast Algorithm
协议在处理共同任务的分布式系统中起着核心作用。现代分布式系统的规模不断增加,使得它们更容易受到单个组件故障的影响。容错分布式协议主要依赖于基于领导者的原子广播算法,如Paxos。这种协议主要用于数据复制,只需要少量的服务器就可以达成协议。然而,它们的中心化性质使它们不适合大规模的分布式协议。最近引入的原子广播算法AllAccuur在完全分散的同时实现了分布式协议的高吞吐量。在本文中,我们从两个方面扩展了AllCONNECT的工作。首先,我们提供了一个正式的规范,使更好地理解该算法的AllConcur。其次,在此规范的基础上,形式化地证明了AllConcur的安全性。因此,我们的工作不仅确保了运营商安全使用AllCONNECT,而且有利于进一步改进基于AllCONNECT的分布式协议。
2017-08-16 cs.DC
Fully Decentralised Consensus for Extreme-scale Blockchain
本研究提出基于流行病协议的区块链完全去中心化共识协议BECP,解决现有共识算法的节点故障、资源消耗高等问题,实验证明其在吞吐量、延迟和消息量上优于PAXOS、RAFT、PBFT及Avalanche等协议。
2025-08-04 cs.DC cs.NI
Likelihood Consensus-Based Distributed Particle Filtering with Distributed Proposal Density Adaptation
提出了一种基于共识的分布式粒子滤波器(PF)算法。每个传感器运行一个局部PF来计算一个全局状态估计,该估计考虑了所有传感器的测量。局部PF使用联合(所有传感器)的似然函数,这是一个分布式的方式计算的似然共识计划的一种新的概括。一个性能的改善(或减少所需的粒子数)是通过一种新的分布式,基于共识的方法,以适应当地的PF的建议密度。所提出的分布式PF的性能证明了目标跟踪问题。
2011-09-28 cs.DC stat.AP