深圳市龙华区振华时代广场10整层
18165737729

共识机制历史 你知道哪些共识机制

原标题:Solana的PoH火爆,是时候回顾一下共识机制历史了!

在每一个伟大的加密货币背后,都有一个伟大的共识算法。没有一个共识算法是完美的,但它们都有各自的优势。在加密领域,存在共识算法以防止双重支出。以下是一些迄今为止最流行的共识算法的快速概述,从区块链到DAG和介于两者之间的一切。

工作证明(PoW) 

优点:我们知道它是有效的

缺点:缓慢的吞吐量

Proof of Work是第一个区块链共识算法。由中本聪(Satoshi Nakamoto)设计用于比特币区块链,我们要感谢PoW,它为我们在世界各地看到的大规模采矿操作和电力消耗做出了贡献。我们知道它是可行的(对于许多其他共识算法,我们可以说的更多),但在这个领域的现阶段,它开始被认为是一项传统技术。有这么多新的替代方案,很难理解为什么新的区块链会使用PoW。

在PoW中,矿工通过解决困难且无用的问题来创造区块。PoW 运行在“最长链获胜”的系统上。所以假设大多数矿工都在同一条链上工作,那么增长最快的就是最长和最值得信赖的。因此,只要矿工的工作中有超过50%是诚实的,比特币就是安全的。

权益证明(PoS) 

优点:攻击更昂贵;更多的去中心化;能源效率

缺点:质押无禁忌

在PoS中,区块不是由矿工创建的,而是由矿工用他们的代币“打赌”哪些区块是有效的。在分叉的情况下,铸币者花费他们的代币来投票支持哪个分叉。假设大多数人在正确的分叉上投票,在错误的分叉上投票的验证者将在正确的分叉上“失去他们的质押”。

反对利害关系证明的常见论点是“质押无禁忌”问题。问题是,由于验证者几乎不需要计算能力就能支持PoW的分叉,所以验证者可以为发生的每个分叉的两边投票。PoS的分叉可能会比PoW更加普遍,一些人担心这会损害这种货币的信誉。

委托权益证明(DPoS) -选择自己的验证者

优点:交易便宜;可扩展;高效节能

缺点:部分中心化

DPoS是Daniel Larimer的智慧结晶,实际上与PoS有很大的不同。在DPoS中,代币持有者并不对区块本身的有效性进行投票,而是投票选举代表来代表他们进行验证。在DPoS系统中,一般有21-100名当选代表。代表们定期进行洗牌,并得到交付他们的区块的命令。少数的代表可以让他们有效地组织自己,并为每个代表创建指定的时间段来发布他们的区块。如果代表持续错过他们的区块或发布无效的交易,质押者将投票淘汰他们,并用更好的代表替换他们。

在DPoS中,矿工可以协作来制作区块,而不是像PoW和PoS中那样相互竞争。通过部分中心化创建区块,DPoS能够比大多数其他共识算法运行速度快几个数量级。

权威证明(PoA) 

优点:高吞吐量;可扩展的

缺点:中心化系统

权威证明(Proof-of-Authority)是一种共识算法,交易由认可的账户验证,有点像系统的“管理员”。这些账户是其他节点获取真相的权威。PoA具有较高的吞吐量,并针对专用网络进行了优化。由于PoA的中心化特性,不太可能看到PoA在公共链上运行。

权重证明(PoWeight)

优点:可定制;可扩展的

缺点:激励机制是一种挑战

权重证明是一种基于Algorand共识模型的广泛的共识算法分类。一般的想法是,在PoS中,用户在网络中拥有的代币百分比代表用户“发现”下一个区块的概率,在PoWeight系统中,使用其他一些相对加权的值。具体的例子:Filecoin的Proof-of-Spacetime取决于用户存储了多少IPFS数据。其他系统可能包括一些权重,比如信誉证明。

拜占庭容错(BFT) 

优点:高吞吐量;低成本;可扩展的

缺点:一半的信任

有一个经典的问题是分布式计算通常用拜占庭将军来解释。问题是几个拜占庭将军和他们各自的军队包围了一座城市。他们必须一致决定是否进攻。如果一些将军单独进攻,他们的围攻将以悲剧告终。将军们通常隔着一段距离,必须通过传递信息来沟通。一些加密货币协议使用BFT的某些版本来达成共识,每个版本都有自己的优缺点:

实用拜占庭容错(PBFT):这个问题的第一个解决方案被称为实用拜占庭容错。在Hyperledger Fabric使用,很少(< 20 )预选的将军 PBFT 运行得非常高效。优点:高交易吞吐量,缺点:中心化

联邦拜占庭协议(FBA):FBA是另一类解决拜占庭将军问题的方法,如Stellar和Ripple。总的想法是,每一个拜占庭将军,负责他们自己的链,因为他们一进来就建立真相排序消息。在Ripple中,将军(验证者)是由Ripple基金会预先选择的。在Stellar中,任何人都可以成为验证者,因此您可以选择信任哪个验证者。

有向无环图(DAG)

优点:网络可扩展性;低成本

缺点:取决于实现

DAG是一种共识形式,它不使用区块链数据结构,主要是异步处理交易。理论上,DAG最大的优势是每秒无限的交易,但与其他共识一样,DAG也有优缺点。

Tangle:Tangle是Iota使用的DAG共识算法。为了发送Iota交易,用户需要验证之前收到的两个交易。当更多的交易被添加到Tangle中时,共识就加强了交易的有效性。因为共识是通过交易建立的,理论上,如果有人能生成1/3的交易,他就能说服网络上的其他成员,他的无效交易是有效的。直到有足够的交易量,创建1/3的交易量变得不可行的时候,Iota会在一个名为“协调器”的中心化节点上“重复检查”所有的网络交易。Iota说,协调员就像系统的训练轮,一旦Tangle足够大,就会被移除。

Hashgraph:Hashgraph是Leemon Baird开发的八卦协议共识。节点随机地与其他节点共享其已知的交易,因此最终所有交易都被传播到所有节点。Hashgraph非常快(每秒250,000+交易),但不能抵抗女巫攻击。因此,Hashgraph对于私有网络是一个很好的选择,但你不会很快看到它在以太坊或Dispatch等公共网络中实现。

Block-lattice:Nano(以前称为 Raiblocks)在区块链上运行,称为Block-lattice。Block-lattice是一种结构,在这种结构中,每个用户(地址)都有自己的链,只有他们可以写入链,并且每个人都持有所有链的副本。每一笔交易都被分解为发送方链上的一个发送区块和接收方链上的一个接收区块。Block-lattice似乎太简单了,但它已经在野外运行了。这种独特的结构确实让Block-lattice对一些独特的攻击向量开放,比如Penny-spend攻击,其中攻击者通过向大量空钱包发送微不足道的数量来夸大节点必须跟踪的链数。

SPECTRE:工作证明事件的序列化:通过递归选举确认交易,更广为人知的名字是SPECTRE,是一个提议的比特币扩展解决方案,利用PoW和DAG的组合来达成可扩展共识。在SPECTRE中,区块被指向多个父节点,而不仅仅是一个,因此网络可能每秒处理多个区块。挖掘指向一些父块的区块支持这些区块的有效性。与PoW的“最长链赢”相比,SPECTRE使用的是“带有最多子元素的区块赢”。

容量证明 ( Proof of Capacity)

在容量证明法中,复杂的数学难题的答案存储在硬盘等数字存储器中。整个过程叫做绘图。当存储设备被填满数学难题的解决方案后,用户可以使用存储设备来生成区块。最快找到解决方案的用户有机会创建一个新区块。因此,拥有最高存储容量的用户将有更高的机会生成新区块。

经过时间的证明 (Proof of Elapsed Time)

经过时间证明过程随机公平地根据他们等待的时间来决定新块的生产者。为此,该机制为每个用户提供一个随机的等待时间,等待时间最早结束的用户将生成一个新区块。只有当系统能够验证没有用户可以运行多个节点并且等待时间是真正随机的时候,这种共识机制才会起作用。

身份证明 (Proof of Identity)

身份证明将用户的私钥与授权的身份进行比较。基本上,身份证明是用户私钥的一段加密证据,该私钥以加密方式附加到特定的交易中。区块链网络中的任何被识别的用户都可以创建一个数据块,该数据块可以呈现给网络中的任何人。身份证明确保创建的数据的完整性和真实性。此外,智慧城市可以使用区块链共识机制,如身份证明,以验证其公民的身份。

活动证明( Proof of Activity)

活动证明机制是工作证明和权益证明的结合。在活动证明中,矿工试图找到谜题的解决方案并获得奖励。然而,在活动证明机制中创建的区块是简单的模板,它挖掘了奖励地址和报头信息。然后使用标头信息随机选择一组验证者对区块进行签名。拥有较大权益的验证者被选中签署新区块的可能性更大。一旦选定的验证者签署了一个新的区块,它就成为网络的一部分。如果某些验证者未签名该区块,它将被丢弃,并使用一个新区块。在此过程中产生的网络费用在获胜的矿工和验证者之间分配。

Source:

https://medium.com/hackernoon/a-hitchhikers-guide-to-consensus-algorithms-d81aae3eb0e3

https://www.allerin.com/blog/8-blockchain-consensus-mechanisms-you-should-know-about