共识是称为区块链的分布式系统中非常重要的元素。这里介绍了各种共识算法。这次,我们将介绍“ PBTF(实用拜占庭容错)”,这是一种共识算法,通常在联盟区块链中使用,该区块链系统仅在某些组织中使用。

关于PBTF

当通信或单个节点可能失败或在P2P网络上故意发送虚假信息时,是否可以整体上形成正确的协议。解决此问题并具有有效的P2P网络的系统据说具有拜占庭容错(BFT)。

具有这种拜占庭式容错能力的共识算法之一是PBFT。PBFT是一种机制,即使某些节点由于故障而停止或尝试进行欺诈,它也可以建立共识而不会出现问题。与PoW和PoS类似,这是一种防止添加非法区块的共识算法,但PoW和PoS用于公共区块链,而PBFT适用于联盟区块链是一个功能。

例如,Linux基金会建立的“ Hyperledger”是一个为企业推广区块链技术的项目,包括IBM在内的多家公司都参与其中,其中一个项目Hyperledger Fabric默认为PBFT。现在可以使用。

图片:Hyperledger项目

PBFT流量

PBFT的具体流程如下。

验证对等方之一(Validating peer)是领导者节点,并且只有领导者从非验证对等方接收事务。 领导者节点将交易转发到其他批准节点。 如果领导者以外的批准节点确认从领导者转移来的交易没有被篡改,则将结果发送到另一个批准节点。 当每个批准节点从一定数量的单位接收到“交易未被篡改”的结果时,它将确定“该交易已正确分配给所有人”,并将该事实分配给其他批准节点。 每个批准节点从一定数量的节点接收到“交易已正确交付给每个人”的结果时,执行交易处理。 执行结果反映在分类帐中。分类账更新完成后,将向此消息发送未批准的节点。 当未批准的节点从一定数量的单位接收到分类帐更新过程的完成时,则假定交易已完成。

在此,对参与节点的数量有一定的要求。首先,确定容错节点的数量f。确定此f后,必须总共有3f +1个节点或更多。仅当满足此要求时,才能建立PBFT算法。之所以包括此类措施,是因为在尝试确保所有节点始终正常运行时会丢失容错能力。

它与其他算法(例如PoW和PoS)相似,因为事务验证是由这些多个节点执行的。另一方面,存在一个领导者节点,并且没有动机进行篡改检查。这些差异是PBFT的特征,并影响优缺点。

PBFT的优点

使用PBFT的第一个优点是您可以获得确定性(完成付款的时间很明确)。与PoW和PoS不同,在PBFT中,块是由领导者节点在固定的时间生成的,因此区块链永远不会分支,因此您可以确定。在最终速度至关重要的领域,例如金融机构,使用PBFT的区块链可以被认为具有吸引力。

另一个优点是高吞吐量。PBFT不需要PoW等所需的计算处理(例如挖掘),因此可以进行相对高速的身份验证处理,从而实现出色的吞吐量。这可能是因为PBFT基本上是在财团内部假设一个区块链,所以在篡改挖矿交易检查中不必激励节点。在IBM新闻稿中,每秒可以进行1000多个事务的交易,接近Zengin系统每秒的1388事务。

PBFT的缺点

另一方面,存在一些缺点。首先,由于参与节点和领导者节点的数量基本上是固定的,因此如果不经过特定管理员,就无法达成共识。换句话说,PBFT基本上只能用于私有和联合体类型。这是因为它基于权衡取舍,这种取舍可以在公共链中实现,即无法与未指定人数的人们达成共识,而无法通过信任他人来加速实现。

另外,随着参与节点数量的增加,事务的数量以二次函数增加,因此参与节点的数量不能增加太多。这是另一种不能应用于公共区块链的用途。

怎么样了PBFT与PoW和PoS等创新性共识算法不同,但它是一种非常适合联盟区块链系统的算法。像虚拟货币一样被广泛使用的区块链需要像PoW一样公开,但是PBFT有望在包括金融领域的企业领域中发挥积极作用。