我们知道,区块链是一个分布式的去中心化网络,可提供不可篡改性,隐私性,安全性和透明性。
目前尚无中央机构来验证和验证交易,但区块链中的每笔交易都被认为是完全安全和可验证的。
这仅由于存在共识协议而成为可能,共识协议是任何区块链网络的核心部分。
共识算法是一种程序,通过该程序区块链网络的所有对等方都可以就分布式账本的当前状态达成共识。这样,共识算法可在区块链网络中实现可靠性,并在分布式计算环境中的未知对等点之间建立信任。
本质上,共识协议确保添加到区块链的每个新区块都是区块链中所有节点都同意的唯一版本。(最终一致性)
区块链共识协议包含一些特定目标,例如达成协议,协作,合作,每个节点的平等权利以及每个节点在共识过程中的强制参与。因此,共识算法旨在寻找一个共同的协议,这对整个网络都是一个胜利。
现在,我们将讨论各种共识算法及其工作原理。
-
工作量证明(Proof of Work,PoW):此共识算法用于为下一代区块选择矿工。比特币使用这种PoW共识算法。该算法背后的中心思想是解决一个复杂的数学难题并轻松给出解决方案。这个数学难题需要大量的计算能力,因此,解决难题的节点将尽快挖掘下一个区块。有关PoW的更多详细信息,请阅读工作量证明(PoW)共识
-
实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT):请参阅有关实用拜占庭容错(pBFT)的现有文章。
-
权益证明(Proof of Stake,PoS):这是PoW的最常见替代方案。以太坊已经从PoW转变为PoS共识。在这种类型的共识算法中,验证者无需锁定昂贵的硬件来解决复杂的难题,而是通过锁定一部分硬币作为抵押来投资系统的硬币。之后,所有验证器将开始验证块。验证者如果发现自己认为可以添加到链中的区块,就会通过**来验证区块。根据区块链中添加的实际区块,所有验证者都将获得与其**成比例的奖励,并且相应增加赌注。
最后,根据他们在网络中的经济利益,选择一个验证器来生成一个新块。因此,PoS通过激励机制鼓励验证者达成协议。 -
烧钱证明(Proof of Burn,PoB):
使用PoB,验证者无需将钱投资到昂贵的硬件设备上,而是将其发送到无法回收的地址来“烧”钱。通过将硬币提交到无法访问的地址,验证者将获得基于随机选择过程在系统上进行挖掘的特权。因此,在这里燃烧硬币意味着验证者有长期的承诺以换取他们的短期损失。
根据PoB的实施方式,矿工可能会烧掉区块链应用程序的本币或其他链条的货币,例如比特币。他们燃烧的硬币越多,被选择开采下一个区块的机会就越大。尽管PoB是PoW的有趣替代方案,但该协议仍然不必要地浪费资源。也有人质疑,采矿能力仅属于那些愿意花更多钱的人。 -
容量证明(Proof of Capacity, PoC):
在容量证明共识中,验证者应该投资硬盘驱动器空间,而不是购买昂贵的硬件或烧钱。硬盘空间验证器越多,他们被选择挖掘下一个区块并获得区块奖励的机会就越大。 -
经过时间证明(Proof of Elapsed Time:):
PoET是最公平的共识算法之一,它仅使用公平手段选择下一个矿工。它主要用于权限区块链网络中,访问该网络需要权限。
这样,网络上的每个人都应该等待随机的时间。等待了给定时间的参与者将有机会进入分类账,创建一个新的区块。
还存在其他共识算法,例如Proof of Activity,Proof of Weight, Proof of Importance,Leased Proof of Stake等。因此,根据业务网络要求明智地选择一种共识算法非常重要,因为如果没有共识算法,区块链网络将无法正常运行验证正在提交的每个事务。