1. 首页 > 娱乐生活

共识算法漫游指南

莫慌。在每一种伟大的电子货币的背后,都有一个伟大的共识算法来支撑。 没有一种共识算法是完美的,但是每一种都有他们自己的优缺点。在加密的世界里,共识的存在就是为了解决双花的问题。 接下来,简单介绍一些迄今为止最为流行的共识算法,从Blockchains到DAG之间的区别。

工作量证明(PoW)- 元老级共识

广泛应于与: Bitcoin, Ethereum, Litecoin, Dogecoin(大多数其他加密货币)

优点: 我们知道他的工作量(译者:双关语,我们知道它运转正常)

缺点: 低吞吐量;正在杀死地球(译者:浪费资源)

工作量证明是首个用于区块链的共识算法。由中本聪(SatoshiNakamoto)设计,并应用于比特币区块链,我们能使用PoW还是要感谢在世界各地所看到的大规模采矿作业和能源的消耗。我们知道它运转正常(我们可以说它比其他大多数的共识运行的更好),但是在这个游戏的这个阶段(译者:区块链技术萌芽阶段),它开始被认定是一个传统技术。甚至于以太坊也要从PoW迁移到更高效、更节能的PoS中。有了这么多新的方案,很难想象为什么一个新的区块链还会使用PoW。在PoW中,矿工解决困难的并且无意义的问题来创造区块。PoW运行在一个赢得最长链”的系统上。因此,假设大多数矿工工作在同一条链上,那么增长速度最快的将会是最长的也是最值得信赖的链。因此,只要比特币中长的链超过50%的矿工都是诚实的,它就是安全的。

权益证明(PoS)- 链中的新生儿

广泛应用于: Decred,Ethereum(即将),Peercoin

优点: 攻击成本更昂贵;更非中心化;高效节能

缺点: 无成本投票

在PoS中,块的产生不是由矿工工作产生的,而是由矿工们持有的他们的权益(token)来下注”哪一块是有效的。在分叉的情况下,矿工们花费他们的权益(token)来投票支持哪一个分叉。假设大部分人投票到正确的分支上,投票到错误分支的验证者将会在正确的分支上失去他们的权益”。关于权益证明常见的反对观点是没有成本”的问题。值得注意的是,不同于PoW,验证者几乎不消耗计算能力去支持一条分叉,验证者可以投票到分叉的任何一条链上。PoS中的分叉也会比在PoW中更为常见,这也是人们担心会损害货币可信度的地方。

授权证明(DPoS)- 选择你的验证节点

广泛应用于: Steemit, EOS, BitShares

优点: 交易费用低;可扩展;高效节能

缺点: 局部中心化

DPoS是DanielLarimer的智慧结晶,实际上与PoS完全不同。在DPoS中,token持有者不会对块本身的有效性进行投票,而是投票选举代表来代表他们自己去验证。在DPoS系统中,通常会有21-100个选出的代表。代表会定期洗牌,并且会将顺序记载到他们的块中。因为拥有较少的代表,他们可以高效的管理自己,并能每一位代表创建指定时间窗口来推送他们的块。如果代表不断的失误或者发布无效交易,股东会将他们投票出去,并找个更好代表代替他。

权威证明(PoA)- 相信知道的所有

广泛应用于: POA、Network, Ethereum Kovn testnet

优点: 高吞吐率;扩展性

缺点: 中心化系统

权威证明是一种交易由类似于系统管理员”的批准用户来验证块的共识算法。这些账户从其他节点提供的真相来证实的。PoA具有很高的吞吐量,并优化了私有网络。但由于过于集中,你不太可能在公链中看到这种共识。

权重证明(PoWeight)- 更大的就是更好的

广泛应用于: Algorand, Filecoin, Chia

优点: 可定制;可扩展

缺点: 激励模式是个挑战

权重证明是基于Algorand一致性模型的共识算法分类中的常用分类。总体思路是,在PoS中,网络中你拥有的价值(token)代表了你发现”下一个块的概率,在PoWeight系统中,使用了其他相对的加权值。具体的例子:Filecoin中的Proof-of-Spacetime会根绝你存储的IPFS数据进行加权。其他的系统可以包含的例如Proof-of-Reputation(声誉证明)之类的加权。

拜占庭算法(BFT) – 围攻区块链

广泛应用于: Hyperleder, Stellar, Dispatch, 和 Ripple

优点: 高吞吐率;低消耗;可扩展

缺点: 半数信任

这是个经典的分布式计算问题,通常用拜占庭将军来友们。问题描述了几个拜占庭将军以及他们的军队,和被围攻的城市的内容。他们必须一致决定是否进攻。如果将军们分别进攻,他们对城市的围困将会以失败告终。将军们按照距离分隔开,不得不用消息来进行沟通。一些加密货币协议使用了不同版本的BFT来达成共识,每种都有自己的优点和缺点。

实用的拜占庭容错算法(PBFT): 其中一种优先解决方案叫做实用拜占庭容错算法。HyperledgerFabric目前正在实用,只设置很少(<20,之后可能会多一点)预先选定的将军执行PBFT,并表现出难以置信的高效。优点:高交易吞吐量;缺点:中心化/被许可。

联邦拜占庭协议(FBA):FBA是另外一种拜占庭将军的解决办法,已经应用在Stellar和Ripple两种货币中。总体思想(heh,译者注:作者原文heh,可能想表达双关,将军的想法),是每一个将军负责自己的链,按照接收到真相排列消息。在Ripple中,将军们(产出验证节点)是通过Ripple基金会预选出来的。在Stellar中,任何人都可以成为验证者,所以你可以选择你要相信的验证者。由于难以置信的吞吐量,低交易成本和网络扩展性,我相信,FBA类的一致性算法是我们目前发现最好的分布式共识算法。

有向无环图(DAGs)- 又名区块链杀手

广泛应用于: Ioa, Hashgraph, Raiblocks/Nano

优点: 网络扩展性;低消耗

缺点: 依赖实施

DAGs现在比 Vitalik's Tinder profile更火爆。DAGs是不使用区块链结构,并且绝大多数是异步处理事务的一种共识形式。即使DAGs能够非常专业在每秒处理无限次交易,但它还是其他共识一样具有优势和劣势。

Tangle:Tangle是由Iota使用的DAG共识实现。为了发送一条Iota交易,你需要验证你已经收到的以前的两条交易信息。合二为一,并传递下去的这种共识方式增强了交易的有效性,更多的交易被添加到Tangle中。因为共识是由交易确定的,理论上,如果有人能生成1/3的交易,那么他们就可以说服网络上其他人,他们的无效交易是有效的。直到有足够多的交易数量,使得再创造1/3的交易数据变得不可能。Iota是网络交易中双重检查”的一种形式,并运行在一个叫做TheCoordinator”的中心节点上。Iota表示 The Coordinator像是系统的辅助轮一样,当Tangle足够大的时候就会被移除。

Hashgraph: Hashgraph是由LeemonBaird开发的一种gossip-protocol共识算法。节点随机地与其他节点共享已知的交易记录,因此最终交易记录都会同步到其他的所有节点中。Hashgraph速度非常的快(每秒250,000+笔交易),但无法抵挡Sybil攻击。所以,Hashgraph是成为私有网络的很好的选择,你一定不会看到它像Ethereum或Dispatch这样的公有网络中实现这种算法。

Block-lattice:Nano(以前被称为Raiblocks)运行在一条叫做Block-lattice的链上。Block-lattice是一种结构,这种结构是让每一个用户(地址)都拥有他们自己的链,并且只有他们可以写入内容,每个人都拥有所有链的副本。所有的交易都被分解,并同时分配到一个发送者的发送块和一个接受组织的接收块中。Block-lattice看起来简单到不能工作,但是它已经在外运行了一段时间了。独特的结构确实使得Block-lattice需要应对一些特殊的攻击,例如Penny-spend攻击,这种攻击是攻击者通过发送大量的、必须要追踪的、仅有少数价值的空钱包达到攻击手段。

SPECTRE:序列化的工作量证明事件:通过递归选举进行交易确认,更广为人知的是SPECTRE,它是一个已经提出实用PoW和DAGs组合达成共识的比特币扩展方案。在SPECTRE中,区块被挖出后指向多个父区块,而不仅仅是一个,所以网络需要有能力每秒处理多个区块。即将被挖出来的块指向多个父区块,这些父区块能够证明其有效性。与PoW的"赢得最长链"相比,SPECTRE使用的更像是赢得最多子区块”。SPECTRE还没有对外进行battle-tested,可能会出现新的攻击方式,但是,它看起来确实是潜在的能够巧妙的修复比特币的方式。

共识算法是所有区块链/DAG技术的基础,他们也是区块链/DAG平台最重要的组成部分。没有它们(共识算法机制),我们就只会有个无法改变的数据库而已。接下来是主要共识算法的列表,而且我们可以评估它们的好处和坏处。

1.工作量证明 (PoW)好处:随着2009年开始,就可以进行了测试,到如今仍然很稳定。

坏处:速度很慢。消耗大量的能源,并且对环境不好。容易受到规模经济的影响。

类型:竞争性共识算法。

友们:这是第一个共识算法机制(中本聪在他的文章中提出)来创建分布式无需信任的共识,并且解决双花问题。工作量证明不是一个新的想法,但是中本聪将这个和其他的概念-加密签名,默克尔树以及P2P网络结合起来- 从而形成了分布式共识系统,其中数字货币是首个基础应用,这充满创新。

区块链中的参与者(矿工)必须要解决复杂但是无用的计算问题,从而将转账区块加入到区块链上。

基本上,这是来保证矿工花费成本/资源(矿机)来完成这项工作,从而表示他们不会欺骗区块链系统,并且对系统造成伤害,会导致他们损失自己的投资;因此伤害他们自己。

这个问题的难度会随着时间改变,这是为了保证恒定的区块生成时间。有时候会发生一种情况,其中有超过一个矿工在同时解决这个问题。在那种情况下,矿工会选择其中一个链,而且最长的链会是获胜者。所以假设大多数矿工在挖一个链,那么这条链就会发展最快,并且是最值得信任的。因此只要50%的矿工是诚实的,那么比特币就是安全的。

2.权益证明好处:能源利用效率高攻击成本更高不容易受到经济规模的影响

坏处:无利害关系攻击

类型:竞争性共识算法。

友们:权益证明是工作量证明的替代方案,为了解决其中的问题。和挖矿不同,你需要在系统中持有权益(代币)。所以,如果你只有10%的代币,那么你挖出下个区块的概率为10%。

挖矿需要很多的算力来解决不同的加密计算,从而解锁这些加密难题。算力意味着,工作量算法需要大量的电力需求。在2015年,1个比特币大约需要1.57个美国家庭每天的耗电量。所以,为了节省能源,权益证明算法诞生了。

在权益证明中,一美金是一美金。例如,假设有10,000个矿工,每个人花费1美金/分钟,就会比矿池花费10,000美金/分钟拥有更少的算力。但是在权益证明中,如果你不能一次使用完全。这里的一美金还是一美金。因此,这不会受到经济规模的影响。

并且,攻击权益证明系统比攻击工作量证明系统更加昂贵。对权益证明进行51%攻击的代价,是要让所有ASIC矿机全部倒下。

这意味着,每次你攻击权益证明系统,都会失去权益抵押,但是在工作量证明,如果你攻击系统,但是你不会失去挖矿设备或者代币;你只不过是让攻击很难实施。

但是权益证明会出现个问题,就是无利害关系攻击问题,其中区块生成者通过向多个区块链进行投票,就不会损失任何东西,从而防止达成共识。

不像工作量证明系统(你需要做大量计算来扩展一个链),同时为挖几个链也只有很少的成本。很多项目尝试通过不同方案来解决这个问题。例如,上面所说,其中一个解决方案就惩罚做坏事的矿工。

3.委托工作量证明(DPOW)好处:节能环保提高安全性可以通过非直接地给比特币(或者任何其他安全的链)提供安全性,这是通过为最贵

坏处:只有使用工作量证明或者权益证明在公证员激活模式下,不同节点的哈希算力必须要标定,不然哈希算力之间的区别会爆炸(以下会有更多的友们)

类型:合作型共识

友们:委托工作量证明是混合型共识方法,可以让一个区块链能够利用第二个区块链通过哈希算力提供的安全性。这是通过很多能够将数据从第一个区块链加到第二个区块链的节点来完成的,这通常会要求两个区块链进行进行妥协,从而削弱第一个区块链的安全性。

基于委托工作量证明算法的区块链可以使用工作量证明或者权益证明方法来实现功能;并且它能够将自身依附于任何工作量证明的区块链。但是,比特币的哈希力现在已经为通过委托工作量证明进行安全保护的区块链,提供了最高级别的安全保护。接下来的图例,显示了主要区块链和它所依附的工作量证明区块链之间的关系:

在委托工作量证明系统中,有两类节点:公证人节点和普通节点。64个公证人节点是通过委托工作量证明的区块链权益持有者选出的,然后将确认的区块从委托工作量证明区块链添加到依附的工作量证明区块链。一旦区块完成,它的哈希就会通过33个公证人节点签名,然后添加到比特币转账,从而在比特币区块链上记录下委托工作量证明的区块哈希,这也是被网络中大多数公证人节点所公正的。

为了防止矿工在公证人节点之间,这会降低网络的效率,所以设计了一种以两种模式运行的轮换挖矿方法。“无公证人”模式可以让整个网络节点来进行挖矿,和普通的工作量证明类似;但是,在公证人活跃模式下,网络公证人就会在降低困难度的情况下进行挖矿。在这个框架中,每个公证人都可以目前的困难度去挖矿,但是其他公证人节点必须要按照10倍的难度去挖矿,而且所有的普通节点会按照100倍的困难度去挖矿。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.fjxmta.com/ylsh/14020.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456