在加密货币领域中,共识算法是每个区块链网络的关键要素,它们负责维护这些分布式系统的完整性和安全性。第一个被创建出的加密货币共识算法是工作量证明(PoW),它由中本聪设计并在比特币上实现,用于实现拜占庭容错。
共识算法
共识算法可以被定义为使区块链网络达成共识的机制。公共(去中心化的)区块链是作为分布式系统来构建的,由于它们不依赖于一个中央权威,因此分散的节点需要就交易的有效与否达成一致。这就是共识算法发挥作用的地方,确保所有节点都遵守协议规则并保证所有交易都以可靠的方式进行,即每个货币都只能花一次。
在深入研究不同类型的共识算法之前,先了解算法和协议之间的差异非常重要。
共识算法与协议
算法和协议作为术语经常会被互换使用,但它们并非同一回事。简单来说,我们可以将协议定义为区块链的主要规则,而将算法定义为遵循这些规则的机制。
除了金融系统中的广泛应用,区块链技术还可以应用于各种各样的业务,并且可以适用于不同的用例。但无论什么情景,区块链网络都将建立在一个协议之上,该协议将定义系统应该如何工作,因此系统的所有不同部分和网络的所有参与者都需要遵循规则。
虽然协议确定了规则是什么,但算法告诉系统采取哪些步骤来遵守这些规则并最终产生所需的结果。例如,区块链的共识算法决定了交易和区块的有效性。因此,比特币和以太坊是协议,而工作量证明和权益证明是它们的共识算法。
进一步来说,比特币协议定义了节点间应如何交互,数据应如何在它们之间传输,以及区块验证成功的要求是什么。另一方面,公式算法负责负责验证余额和签名,确认交易,以及实际执行区块验证 – 所有这些都取决于网络共识。
不同类型的共识算法
有几种类型的共识算法。最常见的是工作量证明(PoW)和权益证明(PoS)。在尝试平衡安全性与功能性和可扩展性时,每个方案都有各自的优缺点。
工作量证明(PoW)
工作量证明是第一个被建立的共识算法。它被比特币和许多其他加密货币所采用。工作量证明算法是挖矿过程的重要组成部分。
工作量证明挖矿涉及到大量哈希(算力)的(挖矿)尝试,因此更多的算力意味着每秒更多的尝试。换句话说,哈希率的矿工有更多机会找到下一个区块(也叫做块哈希)的解。如果网络的分布式节点达成共识并且确认矿工提供的块哈希是有效的工作证明,则工作量证明共识算法确保该矿工仅能够验新区块里的交易并将其添加到区块链。
权益证明(PoS)
作为工作量证明的替代方案,权益证明共识算法在2011年被提出。尽管工作量证明和权益证明有着相同的目标,但它们存在根本的差异性特殊性。特别是验证新块的过程。
简单来说,权益证明共识算法用一种机制来取代工作量证明的挖矿,期中区块根据参与者的质押的币而验证。每个区块的验证者(也称为铸造者或者铸币者)由本身的加密货币投资决定,而不是分配的算力数量。每个权益证明系统可以以不同的方式来实现该算法,但是通常来说,区块链由随机的选举过程保护,该过程考虑了节点的财富、币龄(币被锁定或者是质押的时间)以及随机因素。
以太坊区块链目前基于工作量共识算法,但是最终Casper协议将被推出以将网络从工作量共识切换到权益共识,以尝试增加网络的可扩展性。
为什么共识算法对于加密货币至关重要
就如同前面所说,共识算法对于维护加密货币网络的完整性和安全性至关重要。它们提供了一种分布式节点就正确版本的区块链达成共识的方法。对当前的区块链状态达成共识对数字经济系统的正常运作至关重要。
工作量证明共识算法被认为是拜占庭将军问题的最佳解决方案之一,它可以将比特币创建为拜占庭容错系统。这意味着比特币对攻击具有很强的抵抗力,例如51%的攻击(或多数攻击)。不仅仅因为网络是去中心化的,而且还因为工作量证明算法。挖矿过程中涉及的高成本使矿工很难并且不太可能投入资源来破坏网络。