在每种伟大的加密货币背后,都有着一个伟大的共识算法。没有共识算法是完美的,但是它们各有千秋。在加密世界中,需要共识算法来防止重支付。这是迄今为止一些最流行的共识算法的简要介绍,从区块链到DAG以及介于两者之间的所有内容。
1. 工作量证明:POW (Proof - of -Work)
代表项目:BTC.ETH.BCH.LTC.Doge
优点:目前最安全的共识算法
缺点:需要成长期,吞吐速度慢
工作量证明是第一个区块链共识算法。由中本聪(Satoshi Nakamoto)设计用于比特币区块链,我们要感谢PoW,感谢我们在全球范围内看到的大量采矿作业和电力消耗。但是在行业发展的这个阶段,它开始被认为是一种过去的技术。甚至以太坊也从PoW迁移到更多能源和经济高效的PoS。有这么多新的替代方案,很难理解为什么新的区块链会使用PoW。
在PoW中,矿工解决了无用的难题,从而创建了区块。PoW在“最长链胜”系统上运行。因此,假设大多数矿工都在同一链上工作,那么增长最快的人将是最长,最值得信赖的。因此,只要矿工投入的工作中超过50%是诚实的,区块链就是安全的。
2. 权益证明:POS ( Proof - of - Stake )
代表项目:ETH2.0.Peercoin
优点:攻击成本更高,节能,可扩展
缺点:完整攻击之后区块链容易完全失去价值
在PoS中,区块不是由矿工工作创建的,而是由矿工将其令牌押在有效区块上的“赌注”中来创建的。对于分叉,铸造者花费他们的代币投票支持哪个分叉。假设大多数人对正确的分叉进行投票,那么对错误的分叉进行投票的验证者将“丢掉他们的股份”。
反对股权证明的常见论点是“ 一无所有” 问题。令人担忧的是,由于验证器不像PoW那样花费验证器几乎没有计算能力,因此验证器可以对发生的每个分支的两端进行投票。这样一来,PoS中的此时分叉可能会比PoW中的更为普遍,有些人担心这会损害货币的信誉。
3. 委托权益证明:DPoS ( Delegated - Proof - of - Stake )
流行的实现:Steemit.EOS.BitShares
优点:便宜的交易;可扩展 ,高效节能
缺点:弱中心化,不稳定,易攻击
DPoS是Daniel Larimer的创意,实际上与PoS截然不同。在DPoS中,令牌持有者不会对区块本身的有效性进行投票,而是会投票选举代表他们进行验证的代表。在DPoS系统中,通常有21-100位民选代表。代表会定期洗牌,并下达命令以交付他们的区块。很少的代表可以使他们高效地组织自己,并为每个代表创建指定的时间以发布他们的图块。如果代表继续错过他们的障碍或发布无效交易,则大众将其投票出去,并用更好的代表代替他们。
在DPoS中,矿工可以协作制作区块,而不必像PoW和PoS中那样竞争。通过部分集中块的创建,DPoS可以比大多数其他共识算法计算速度快几个数量级。EOS被设置为一个区块时间少于1秒,大约0.5秒一个块。
4. 授权证明PoA ( Proof - of - authority )
代表项目:POA.Network,以太坊Kovan测试网
优点:高吞吐量;可扩展的
缺点:企业集中式系统
权威证明是一种共识算法,其中交易通过批准的帐户进行验证,类似于系统的“管理员”。这些帐户是其他节点从其接收真相的权限。PoA具有高吞吐量,并针对专用网络进行了优化。由于其集中性,您不太可能看到PoA在公共链上运行。
5. 权重证明 POWeight ( Proof - of -Weight )
代表项目:Algorand,Filecoin,Chia
优点:可定制;可扩展的
缺点:激励方式可能是一个问题
权重证明是基于Algorand共识模型的共识算法的广泛分类。通常的想法是,在PoS中,您在网络中拥有的代币的百分比表示您“发现”下一个区块的可能性,在PoWeight系统中,会使用其他相对加权的值。比如Filecoin的时空证明是根据您要存储的IPFS数据量来加权的,其他系统可能包括信誉证明之类的权重。
6. 拜占庭容错BFT
代表项目:Hyperledger,Stellar,Dispatch和Ripple
优点:高吞吐量;低成本; 可扩展的
缺点:可信任度低
有一个经典的问题是分布式计算,通常用拜占庭将军来解释。问题是几位拜占庭将军及其各自的拜占庭军队部分已经包围了一个城市。他们必须一致决定是否进攻。如果一些将军在没有其他人的情况下发动进攻,他们的包围将以悲剧告终。将军通常被距离隔开,必须传递信息进行交流。几种加密货币协议使用某种版本的BFT达成共识,每种协议各有利弊。
实用拜占庭式容错(PBFT):此问题的第一个解决方案是“ 实用拜占庭式容错”。Hyperledger Fabric当前正在使用,很少(少于20个)预选的将军PBFT高效地运行。
优点:高事务吞吐量
缺点:集中/允许
联邦拜占庭协定(FBA):FBA是另一种解决方案,用于解决Stellar和Ripple等货币使用的拜占庭将军问题。在一般的想法,是每一个拜占庭一般情况下,对自己负责的链,因为他们一进来就建立真相排序消息。在Ripple中,将由Ripple基础预先选择将军(验证人)。在Stellar中,任何人都可以成为验证者,因此您可以选择信任哪些验证者。
由于其令人难以置信的吞吐量,低交易成本和网络可扩展性,我相信FBA类共识算法是我们发现的最佳分布式共识算法。
7. 有向无环图 DAG
代表项目:Iota,Hashgraph,Raiblocks / Nano
优点:网络可扩展性;低成本
缺点:取决于实施
DAG现在比Vitalik的Tinder配置文件要热。DAG是一种共识形式,它不使用区块链数据结构并且大部分异步处理事务。理论上最大的优点是每秒无限事务,但DAG具有与其他共识一样的优点和缺点。
Tangle是Iota使用的DAG共识算法。为了发送Iota交易,您需要验证之前收到的两个交易。越多的交易添加到“纠缠不清”中,二对一,付费支付共识就增强了交易的有效性。由于共识是由交易建立的,因此从理论上讲,如果某人可以生成交易的1/3,则他们可以说服网络的其余部分认为其无效交易是有效的。在没有足够的交易量导致无法创建交易量的1/3之前,Iota会在称为“ 协调器 ” 的集中式节点上对网络的所有交易进行“双重检查” 。
艾奥塔说,协调器的工作原理类似于系统的训练轮,一旦Tangle足够大,协调器就会被拆除。