拜占庭容错算法,区块链的核心算法

文章出处:高维空间 责任编辑:一币刀 发布时间:2019-05-23

     共识机制可以被称为区块链的核心。我们了解到,EOS、Hyperledger和Star等知名项目都使用拜占庭容错共识机制。拜占庭容错算法是区块链的核心算法,那么它到底是什么呢?优势和特点是什么?

  BFT

  拜占庭容错(ByzantineFaultTolerance)被称为BFT。BFT技术是分布式计算领域中的一种容错技术,用于更好的进行工作证明和验证算法。拜占庭假说是对现实世界的一种建模,由于硬件错误、网络拥塞或暂停以及恶意攻击等原因,计算机和网络可能会发生意想不到的行为。BFT技术被设计者用来处理这些不寻常的行为,并满足需要克服的问题的监管要求。

  共识机制

  “共识机制”是透过特定节点的投票,于短时间之内完成对于交易的验证与确认;对于一笔交易,假如利益不相干的若干个节点能签订共识,我们便可相信全网对于此有了共识。

  举个例子,最出名的就是比特币,矿工们为了比特币更高的回报,每隔10分钟就争夺记账权。公平地说,PoW(工作量确认)的共识机制被用来通过降低计算能力来降低获得记账权的可能性。

  POW的容错能力为50%,也就是说,如果有一半节点是诚实的,则可以保证区块链数据的有效性。尽管PoW在比特币方面表现较好,但价格昂贵,速度慢,环境不友好。现在最合适的选择是BFT-POS。这是一个稳定,节能的解决方案,在异步环境中运行良好。

  PBFT

  拜占庭容错算法(PracticalByzantineFaultTolerance-PBFT)的共识操作被视为分散式网络中节点间互相交换后,由各节点列出所有得到的信息,以大多数的结果作为解决办法。因此,在PBFT算法中,主要基于法定多数(quorum)的决定,一个节点表示一票,以少数服从多数的方式实现了拜占庭的容错演算。至多容错量以不超过全部节点数的1/3,意即如果有超过2/3的正常节点,整个系统就便可正常运作(R ≥ 3F + 1; R:节点总数,F:有问题节点总数)。

  使用拜占庭容错算法,本质上是通过通信次数来获得信誉度。每个命令的执行都要求节点成对交互来检查消息,而且通信成本高。一般来说,使用PBFT算法,节点构建的通信复杂度是节点数目的平方级。

 


联系请扫码
活动会务
免费学习群
商务合作
13215946687