实用拜占庭容错(PBFT)算法详细介绍

本文详细介绍了实用拜占庭容错(PBFT)算法,该算法适用于异步分布式环境,能够在一定错误节点比例下保证系统的安全性和活性。PBFT通过状态机复制确保线性化执行,并通过预准备、准备和提交三个阶段来达成共识。算法通过限制错误副本节点数量,防止恶意攻击影响系统稳定。此外,文章还讨论了算法的优化措施,如降低通信开销,以及如何在视图转换中处理主节点失效问题。
摘要由CSDN通过智能技术生成


本文主要讲述实用拜占庭容错算法(PBFT)的算法部分。

0 摘要

OSDI99这篇论文描述了一种副本复制(replication)算法解决拜占庭容错问题。作者认为拜占庭容错算法将会变得更加重要,因为恶意攻击和软件错误的发生将会越来越多,并且导致失效的节点产生任意行为。(拜占庭节点的任意行为有可能误导其他副本节点产生更大的危害,而不仅仅是宕机失去响应。)而早期的拜占庭容错算法或者基于同步系统的假设,或者由于性能太低而不能在实际系统中运作。这篇论文中描述的算法是实用的,因为该算法可以工作在异步环境中,并且通过优化在早期算法的基础上把响应性能提升了一个数量级以上。作者使用这个算法实现了拜占庭容错的网络文件系统(NFS),性能测试证明了该系统仅比无副本复制的标准NFS慢了3%。

1 概要介绍

网络时代的到来,恶意攻击和软件出错问题越来越常见,很容易出现拜占庭错误。本文提供一种实用拜占庭容错算法(Practical Byzantine-Fault Tolerance),在异步系统下,只要保证错误节点 f ⩽ ⌊ ( n − 1 ) 3 ⌋ f\leqslant\lfloor\frac{(n-1)}{3}\rfloor f3(n1)其中 f f f为错误副本节点数, n n n为系统总节点数,系统就能在容错前提下,保证安全性和活力(safety & liveness)。

该论文提出一种状态机副本复制的算法(一种允许对执行给定是确定性的 任意计算的服务进行复制的状态机复制的形式,也就是说,当它们处理相同的操作序列时,复制必须产生相同结果的序列。),可以在异步环境下安全运行。之前有些解决拜占庭问题的方法,但是要么就只是理论性,要么就是依赖同步来保证安全性,在恶意攻击下极为脆弱,直到系统自行排除错误节点,要是误认非错误节点就凉了。咱们这算法可厉害,减少通信开销还能在恶意攻击下保证安全性。最后这个算法还落地了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值