一致性算法是区块链计划的核心部分。如果有分配,我们需要达成共识。到目前为止,关于区块链项目最大的争议之一就是共识算法,比如EOS的DPoS机制。回到共识机制本身,如何才能理解其背后的本质?而不是随大流?在蓝狐笔记看来,共识算法是一个不断进化的过程,是治理机制的一部分,没有必要全盘否定。
共识算法的使用是去中心化加密货币最重要的特点。共识算法对于加密货币非常重要,因为它可以防止双花问题。历史上,双花问题是制约数字货币发展的重要挑战。直到最近,在采用分布式分类帐之后,这种情况才得以改变。
由于加密货币是通过公开、不可更改的分布式账本实现的,因此需要采用共识算法来验证账本的唯一性,以保证整个加密货币网络不会被恶意节点破坏。
正如TechTarget解释的那样,“在计算机科学中,共识算法是分布式进程或系统中用来实现单一数据值的协议”。一致性算法被设计用于涉及多个不可靠节点的网络中以实现可靠性。解决这个问题——一致性问题——在分布式计算和涉及多个代理的系统中非常重要。
为了适应这种现实,共识算法有必要假设一些进程和系统将不可用,一些系统之间的通信将丢失。因此,一致性算法必须具有容错能力。例如,通常假设只有一部分节点需要响应,但至少有51%的节点需要响应。
在加密货币方面,设计了共识算法来保证交易的有效性,并通过采用冗余的方法,引入多个参与者来验证交易的准确性。
目前在很多项目中主要有四种实现方法,每种方法都有自己独特的优势和权衡:工作量证明(pow)、权益证明(pos)、委托权益证明(dpos)和拜占庭容错机制(bft)。值得注意的是,这是一个发展中的领域,还有其他方法存在,可能会出现新的方法。
工作量证明(pow)
该工作负载被证明是第一个成功的分散区块链共识算法。工作量证明被比特币和其他加密货币使用,如以太坊(以太坊计划迁移到权益证书)、莱特币、zcash、Monroe等。
工作负载证明需要节点参与者执行计算密集型任务,但对于其他网络参与者来说,这很容易验证。就比特币而言,矿商竞相将收集到的交易(即区块)添加到由整个网络维护的区块链账本中。为了做到这一点,矿工必须首先准确计算“nonce”,nonce是一个加在字符串末尾的数字,用来创建满足开头特定数字为零的要求的哈希值。
工作量证明最显著的优点是经过过去几年的实践证明,比其他很多共识算法更值得一提。然而,工作负载被证明并非没有缺点,包括采矿中的大功耗和低事务吞吐量。
股权证明
权益证明有多种实施方案。在所有实施例中,权益证明要求所有参与者抵押他们拥有的一部分令牌来验证交易。与通过完成复杂的计算问题来验证交易不同,验证者需要锁定令牌来完成交易验证。
选择交易验证者的方式通常是根据其抵押的代币在整个网络中所占的比例,以及代币抵押的期限,或者其他一些方式来保证交易验证者的利益与整个网络的长远利益相一致。
工作量证明通过不经济的功耗来防止不良行为,而公平性证明通过长期绑定验证者利益和全网利益来防止不良行为。所以,我们乐见其成。
通过锁定令牌,如果验证者有欺诈交易,他们抵押的令牌也会被切割。与工作量证明一样,公平性证明的细节比这里介绍的要丰富得多。
权益证书目前在Dot Coin使用,Decred,即将在以太坊使用。权益证明的好处是比工作量证明更经济,在防范攻击方面可能更有效。但是并没有得到有效的证明,也没有在大型项目中实施。
委托权益证书
虽然委托权益证书的名称与权益证书相似,但实施细节却有显著不同。在委托股权凭证中,交易是通过代币验证的,与股权凭证的抵押代币不同。取而代之的是,一组交易验证者(超级节点)由令牌持有者投票产生。
委托权益的证明是分散的,因为网络中的所有参与者都可以投票选择验证交易的节点,但也是集中的,因为只有一组交易验证者,这样的好处是提高了交易和验证的速度。
在代理证书的实现中需要保持良好的信誉,保持投票过程,更换验证节点,以保证所选择的验证者具有良好的责任感和诚实性。
委托股权证明的优势在于扩展性好,交易验证快,但劣势在于部分集权,治理模式在大型区块链项目中未被证明有效。委托权益书目前在Steemit、EOS、BitShares等项目中使用。
拜占庭容错机制
拜占庭容错机制本质上是一种技术性很强的算法(和其他共识算法一样)。一般来说,加密货币项目采用的拜占庭容错机制是通过允许将军(节点)单独管理一条链,并相互共享消息,来保证正确的交易记录和每个节点的诚实性。
值得注意的是,Ripple(验证节点由Ripple团队选择)和Starcoin(任何人都可以是验证节点,信任节点由社区共识产生)使用了拜占庭容错机制。
拜占庭容错机制具有可扩展性和低转移成本的优点,但它引入了部分中心化,就像委托权益的证明一样。
新兴共识算法
如前所述,共识算法和交易验证的问题非常困难和微妙。目前,有更多新的一致性算法提出不同的权衡方案,并可能取代目前使用的一致性算法。
目前,dag正受到越来越多的关注,并提出了一种可靠的潜在可扩展性解决方案。Hashgraph、Tangle和Block-lattice是最近受到关注的三个实现(同样,很快会引入更多的实现——并不是所有的关注都是积极的)。
摘要
在短时间内,共识算法必须在可扩展性和中心化之间做出权衡(虽然第二层网络可能会打破可扩展性和中心化之间的平衡,如分层网络、以太坊闪电网络和比特币闪电网络)。我们仍然期待看到哪种共识机制能够激发大规模参与者参与稳定治理,协议和社区如何适应技术发展。
警告:蓝狐所有文章不构成投资推荐,投资有风险。建议对项目进行深入调查,谨慎做出自己的投资决定。
作者:菲尔格雷泽
原地址:hackernoon.com
译者:蓝狐笔记本社区解蜜翻译。
本文由@蓝狐笔记社区翻译发布,大家都是产品经理。未经许可,禁止复制。
来自Unsplash的图像,基于CC0协议。