实用的拜占庭容错

共识模型是分布式区块链系统的主要组成部分,并且绝对是对其功能最重要的组成部分之一。它们是用户能够以不信任的方式进行交互的基础,他们在加密货币平台中的正确实现已创建了具有无限潜力的新型网络。.

在分布式系统中, 拜占庭容错 是指分布式计算机网络能够按预期运行并正确达成足够共识的能力,尽管系统的恶意组件(节点)无法正常工作或向其他对等节点传播错误信息.

目的是通过减轻这些恶意节点对网络的正确功能以及系统中诚实节点达成的正确共识的影响,来防御灾难性系统故障。.

源自 拜占庭将军的问题, 在实践中,这一难题已得到广泛研究和优化,并采用了多种解决方案,并正在积极开发中.

拜占庭将军的问题

拜占庭将军的问题,图片提供者 德布拉吉·戈什

实用的拜占庭容错(pBFT)是其中的一种优化,由Miguel Castro和Barbara Liskov于1999年在一篇名为“实用的拜占庭容错”.

它旨在改善原始的BFT共识机制,并已在包括一些流行的区块链平台在内的几种现代分布式计算机系统中得到实现和增强.

实用拜占庭式容错概述

pBFT模型主要着重于提供一种实用的拜占庭状态机复制,该复制可通过假设存在独立的节点故障和由特定的独立节点传播的受控消息来容忍拜占庭式错误(恶意节点).

该算法设计用于异步系统,并经过优化以实现高性能,并具有令人印象深刻的开销运行时间,并且延迟仅稍有增加.

  • 本质上,pBFT模型中的所有节点都按顺序排序,其中一个节点为主节点(领导者),其他节点称为备份节点.
  • 系统内的所有节点都相互通信,目标是使所有诚实节点通过多数同意系统状态.
  • 节点之间相互进行大量通信,不仅必须证明消息来自特定的对等节点,而且还需要验证消息在传输过程中没有被修改.

实用的拜占庭容错

实用的拜占庭式容错,图片提供者: 阿尔托罗斯

为了使pBFT模型正常工作,假设是在给定的漏洞窗口内,网络中的恶意节点数量不能同时等于或超过系统中总节点的1/3。.

系统中的节点越多,那么从数学上讲,接近总节点数的1/3就越不可能是恶意的。只要最多(n-1)/⅓)(其中n表示总节点数,同时是恶意的或有故障的),该算法就可以同时提供活动性和安全性.

随后的结果是,最终由于以下原因,客户从其请求中收到的答复是正确的: 线性度.

每轮pBFT共识(称为观点)可分为四个阶段。该模型遵循的是“指挥官和中尉”格式,而不是纯粹的拜占庭将军问题,因为存在领导者节点,因此所有将军都是平等的。阶段如下.

  1. 客户端向领导节点发送请求以调用服务操作.
  2. 领导节点将请求多播到备份节点.
  3. 节点执行请求,然后向客户端发送回复.
  4. 客户端等待f +1(f表示可能有故障的最大节点数)来自不同节点的答复,结果相同。这个结果是操作的结果.

对节点的要求是它们是确定性的,并在同一状态下开始。最终结果是,所有诚实节点都按记录顺序达成协议,他们接受或拒绝记录.

在每个视图期间,领导者节点都将以循环类型的格式进行更改,如果在没有领导者节点多播请求的情况下经过了特定的时间量,则甚至可以用称为视图更改的协议来代替.

多数诚实节点也可以确定某个领导者是否有故障,并用下一个领导者作为替换将其删除.

pBFT模型的优点和关注点

pBFT共识模型是为实际应用而设计的,在原始学术论文中提到了它的特定缺点以及将算法实现到实际系统中的一些关键优化。.

相反,与其他共识模型相比,pBFT模型具有一些显着优势.

pBFT的好处

pBFT的优点,图片提供者 Zilliqa

pBFT模型的主要优点之一是它能够提供交易终结性,而无需像工作量证明模型那样进行确认,例如比特币采用的一种.

如果pBFT系统中的节点同意提议的块,则该块为最终块。这是由于以下事实:所有诚实节点由于在相互之间进行通信而在特定时间同意系统状态.

与PoW系统相比,pBFT模型的另一个重要优点是其能源使用量显着减少.

在工作量证明模型(例如比特币)中,每个区块都需要进行PoW回合。这导致矿工每年与小国竞争而导致比特币网络的电力消耗.

什么是比特币?完整指南什么是比特币?初学者终极指南

由于pBFT的计算量不大,因此不可避免地会大量减少电能,因为矿工并未在每个块上求解PoW的计算量大的哈希算法.

尽管具有明确的优势和令人鼓舞的优势,但pBFT共识机制仍存在一些关键限制。具体来说,由于节点之间需要大量的通信,因此该模型仅在其经典形式且共识组较小的情况下才能很好地工作.

该论文提到使用数字签名和MAC(方法身份验证代码)作为身份验证消息的格式,但是使用MAC效率非常低,因为在大型共识组(例如加密货币网络)中的节点之间需要大量的通信,而对于MAC,存在固有的无法向第三方证明消息的真实性.

尽管数字签名和多签名在MAC方面提供了巨大的改进,但克服任何pBFT模型的通信限制并同时保持安全性是任何希望有效实施的系统最重要的发展.

pBFT模型也容易受到 西比尔攻击 单方可以创建或操纵大量身份(网络中的节点)的地方,从而破坏了网络.

较大的网络规模可以缓解这种情况,但是较大的规模会降低pBFT模型的可扩展性和高吞吐量能力,因此需要进行优化或与其他共识机制结合使用.

当今实现pBFT优化版本的平台

如今,有少数区块链平台使用优化或混合版本的pBFT算法作为其共识模型或至少一部分,并结合了另一种共识机制.

Zilliqa

Zilliqa采用经典pBFT的高度优化版本,并每隔约100个区块进行PoW共识。他们使用多重签名来减少传统pBFT的通信开销,并在自己的测试环境中达到了数千的TPS,并希望随着更多节点的添加而扩展到更多.

这也是他们在分片架构中实施pBFT的直接结果,因此pBFT共识组在特定分片中保持较小,因此保留了该机制的高通量性质,同时限制了共识组规模.

Zilliqa

超级账本

超级账本面料 是由Linux Foundation托管的,用于区块链项目和技术的开源协作环境,其平台使用pBFT算法的许可版本.

由于许可链使用小的共识组,并且不需要实现以太坊等开放和公共区块链的去中心化,因此pBFT是一种有效的共识协议,可提供高吞吐量交易,而无需担心优化平台以扩展到大型共识组.

超级账本面料

此外,许可的区块链是私有的,并通过邀请以已知的身份进行邀请,因此各方之间已经存在信任,从而减轻了对不信任环境的内在需求,因为假定少于1/3的已知方将有意损害系统。.

结论

拜占庭容错是分布式系统中一个经过充分研究的概念,通过实用的拜占庭容错算法将其集成到现实世界的系统和平台中,无论是通过优化版本还是混合形式,都是当今加密货币的关键基础架构组件.

随着平台在大型公共区块链系统共识模型领域的不断发展和创新,提供先进的拜占庭容错机制对于维持各种系统的完整性及其不信任性至关重要。.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me