共识算法解决的是
区块链的信任问题,即通过特定的
算法去证明某一
节点拥有记账权,从而使得
区块网络中的各个
节点达成
共识。
共识算法规定了
挖矿的规则。
区块链的
去中心化意味着
区块网络中每个
节点拥有相同的权力,同时
区块网络中的信息都是公开透明的。想要确保每个
节点主动地维护
区块信息,保证
链上信息的安全和
不可篡改,就需要一套机制来实现。
共识算法通常采用竞争的方式筛选出
区块记账人,避免了因为网络
延迟等因素出现的各
节点账本不一致的情况。
同时,获得记账权的
节点可以将
区块添加到
链上,并获得
区块奖励以及
区块内交易的手续费。在这种机制下,相比
挖矿获益,对
区块链进行攻击获益的方式成本较高,收益较小。因此每个
节点都会为了实现利益的最大化,积极遵循这个
共识机制,参与
挖矿和维护整个
区块链网络的正常运行,确保
区块链上记录的信息真实有效。
当前主流的
共识算法包括:
PoW 工作量证明、
PoS权益证明、
DPoS 股份授权证明机制等。
Pow工作量证明:
是一种衡量计算机工作量的
共识机制。
比特币使用的就是
工作量证明机制。
工作量证明主要通过
哈希计算找出合理数据的步骤来完成:将
区块头数据带入
哈希函数计算公式,不断调整
区块头数据中的
随机数,直到计算出满足特定标准的
哈希值,
工作量证明就会完成。简单来说就是多劳多得,谁的
算力强,计算得就更快,获得记账权的概率就越高。
这种证明方式决定了其
验证过程需要大量的数据计算,而其他
节点却很容易
验证计算结果是否正确,因此
区块链系统无法被
恶意节点所欺骗。但是这种证明方式需要消耗大量能源(电力及计算硬件损耗),很不环保。并且在理论上,如果集合了全网51%的
算力即可对
区块链网络进行有效攻击,因此许多基于
比特币代码产生的、
市值较小的
山寨币很容易遭受攻击。
PoS权益证明:
PoS权益证明同样需要通过计算找出合理的
哈希值来完成。但不同的是
权益证明机制通过
节点持有
加密货币的时间和数量来判断
节点的权益大小。根据权益大小不同,用户之间看到的计算
目标值也不同。权益大的
节点,获得
目标值更加简单,更容易获得下一个
区块的记账权。
这种方式不需要每个
节点都进行大量的运算,节省了电力能源。同时全网51%的
算力攻击在
权益证明机制下是无效的,因为发起这种攻击反而会损害自身的利益。但是可能会出现币种持有数量大的
节点权力过大,对
区块链记账享有绝对支配权的情况,容易引发信任问题。
DPoS 股份授权证明:
DPoS
股份授权证明通过由持币人投票选举出一定数量的代表来达成
共识。每个持币人的投票所占的比重与他持有的币种数量有关,持有的越多,所占的比重越大。被选出的代表可拥有记账权,轮流进行记账;未能很好履行职责的代表还会被投票除名。这一任期结束后,新的代表会再次通过投票产生。
股份授权证明继承了
权益证明的优点,同时比
权益证明更高效。但其运行模式与政治制度中的代议制类似,有违背
去中心化理念的嫌疑。
区块链的交易逐渐增加,导致部分
公有链网络变得愈加拥堵,在
结算速度上已经失去了和传统金融
结算方式相比的优势。在
分布式系统中,
区块成员往往因为各种因素无法达成一致
共识,从而难以确保
区块的安全运转。而
共识算法的出现对当前的
区块链共识达成起着至关重要的作用,在维护
加密货币网络的完整性和安全性上也起到了关键作用。