pocpos和poww挖矿的区别是什么?

很多韭菜可能听过共识机制但具体什么是共识机制又理解不清,今天大侠给新韭菜们详解一下常见的共识机制和其代表币种共识机制是在区块链系统中,为保证每一筆交易的一致性而预先设置的一种类似约法三章的条文从而促使全部参与者达成共识。区块链能在众多节点达到一种较为平衡的状态也昰因为共识机制现在常见的共识机制有:POW、POS、DPOS、POC等。

POW工作量证明机制:POW是第一个区块链共识机制最先由BTC采用。顾名思义工作量证明機制属于按劳分配,多劳多得就如同大家在比特币系统中一起进行数学运算,最先算出的才能获得奖励我们把进行运算获得奖励的过程称之为挖矿,挖矿的这些节点称之为矿工采用该机制的代表有:BTC、BCH、LTC等。POW机制的优点就是去中心化程度高人人都可以参与获得记账權,同时全网算力越高其安全程度也越高,想要破坏系统需要投入的成本也就越高像BTC发展到现在的程度,想要对BTC网络造成破坏进行51%攻击,那需要的成本是非常高的而POW机制的缺点就是效率相对低下和消耗能源非常高,因为每一笔交易需要通过多个矿工的确认而在节點进行运算的过程中需要消耗大量的电力,这也是POW机制广招诟病的缺陷

POS权益证明机制:也称之为股权证明机制,最近比较火热的staking就是基於类POS机制衍生出来的POS机制中,不需要消耗电力来进行运算而是通过抵押token来获得打包区块的权利,当一笔交易发生时系统会对打包区塊和验证区块的节点来进行奖励,奖励来源是增发或者解锁的token代表币种:ADA、ONT、ATOM等。POS机制的优点就是不需要拼算力挖矿不会浪费能源,哃时缩短了共识达成的时间转账效率提高了。POS机制的缺点也是非常明显首先就是去中心化程度,容易出现强者恒强的情况持币大户歭币生息,从而出现垄断问题另外一点就是安全程度,POS机制实现较为复杂容易产生安全漏洞。

DPOS委托权益证明机制:DPOS机制是在POS的基础上進行了改良简单来说就是让每一个持币人进行投票,由此产生一定数量的代表(超级节点)由这些被选出来的超级节点来进行验证和記账,这些超级节点就能获得节点奖励代表币种:EOS、TRX等。DPOS机制的优点就是比POS机制更高的效率和性能因为相比于POS机制,DPOS大幅缩小了参与驗证和记账的节点数量DPOS机制的缺点也是去中心化程度不高,只能算是弱中心化同时安全问题也是比较严重,这也是类POS机制的通病容噫产生安全漏洞。所以大家应该常常听到EOS的某某DAPP被黑客攻击波场的某DAPP被攻击的消息,现在已经见怪不怪了

POC容量证明机制:简单点来说僦是利用计算机硬盘中的闲置空间进行存储来进行挖矿获取收益,早期的玩客云最近几年炒作比较火热的IPFS都是采用的POC机制,硬盘空间越夶存储的内容越多能获得的奖励也就越多。代表币种:BTT、BHD、IPFSPOC的优点就是挖矿门槛较低,去中心化程度也较高能源消耗较小。POC的缺点艏先就是滥竽充数的很多另外一点就是未来发展的局限性可能较大,可能会有政策性风险区块链系统中还有其它共识机制比如联盟链瑺用的PBFT,新经币(NEM)用的POI等这些共识机制是为了解决现有共识机制的一些缺点而被提出的。但目前使用的系统不如POWPOS和DPOS多。

前言:本文简单明了地阐述了达荿共识的两个主要流程:区块的提议和区块的共识达成区块的提议主要涉及到PoWpos和powS机制,也就是工作量证明和权益证明的机制用以抵抗奻巫攻击,安全地选出可靠的区块提议者区块的共识达成则涉及到共识算法,主要包括中本聪共识和经典共识中本聪共识采用最长链規则,经典共识则可实现最终性每种共识算法都有自己的权衡取舍。

区块链共识是2017年和2018年最广为讨论的区块链子领域之一可以看到,佷多公司试图从零开始构建新的智能合约平台并与以太坊竞争,而其中的一个差异化或创新点就在区块链的共识算法方面试图理解这些算法,并能对它们进行批判性比较这对很多加密投资者来说,都是一项全职工作毫无疑问,要掌握它们并不简单

为揭开这些“共識算法”的神秘面纱,不少人做了很多工作但是,对于普通人来说它们太过于技术化。一些概念例如同步、安全/活性证明、不可能結果,这些有助于人们通局了解不过,在我看来对于大多数人来说,完全理解并不特别重要

本文重点是区块链的共识算法,而没有提及更大的也是超级复杂的分布式系统领域为了简单易懂,还会放弃一些技术概念

本文结束时,你应该理解PoWpos和powS的区别了解BFT的意思,朂重要的是当考虑在哪个区块链上构建你的应用时,你应该知道它们的权衡是什么

什么是共识?为什么很重要

简单来说,区块链是┅种公共数据库其中用户就什么是正确的达成一致。比特币是记录所有交易的公共数据库保留了货币系统的完整性。有两个主要问题需要理解:

我们需要有人提议然后让其他人选择,直到达成某种形式的共识就区块链的情况,我们需要有人提议区块然后需要剩余節点接受区块。

4个人尝试并安排共同的时间来做事每个人提出其可用时间(空白格)。可以看到有两个共同可用的时间段,下午2点和6點他们如何达成共识?在他们提出可用时间前他们同意一个特定规则:每个人必须选择最早的共同可用时间。在这种规则下这意味著,他们将会在下午2点而不是下午6点见面由此,他们达成了共识

按照这种框架,我们将它类比扩展到比特币区块链:

人们就区块数据達成共识区块中包含有效的比特币交易。在比特币中任何人都可以提议区块,只要他们率先解决一个计算谜题(PoW)

人们同意接受最長链上的区块。例如如果链A的高度为100,而链B的高度为200如果你收到链A上的区块101和链B上的区块201,你必须接受区块201有人在更短的链上添加區块,可能是因为他们没有意识到更长的链但“最长链规则”确保一旦区块在整个网络中传播,每个人最终就相同的事情达成共识

该框架支持所有共识算法。不同算法可以采用不同的方法来提议区块也可以使用不同的方式来对区块达成共识。

考虑区块提议时最大的問题是谁来提议区块。如果任何人随时都可以提议区块会很难达成共识,因为这类似于人们不停地相互交谈必须以某种方式选出代表,这样剩余的人可以一次看到一个提议

最幼稚的方式是让协议随机选择一个人来提议新区块。然而在互联网上,一个人可以通过运行楿同程序的一百个实例来伪装成一百个人因此,我们需要创造某种形式的稀缺性以抵抗女巫攻击。(蓝狐笔记注:女巫攻击主要是指網络中的少数节点控制多个虚假身份并利用这些身份控制网络中大量正常节点的攻击方式。)

因此,这个游戏必须能够抵挡单一黑客操纵很多人的攻击这正是PoWpos和powS给你带来的:一种让计算机受到某些资源限制的方式。(蓝狐笔记注:也就是说通过设立门槛,比如PoW的算仂投入pos和powS的代币投入通过竞争性的方式,解决了谁有资格提议区块并由此获得奖励的问题)

PoW如下:为获得提议区块的权利,你必须率先完成计算密集型的任务模拟一个虚拟的计算机抛硬币任务,直到它得到连续100次的虚拟硬币的正面这是计算密集型的,没有人能伪装荿一百人因为这受制于其算力。

然而通过采用这种“抗女巫攻击”机制,人们已经建立了数千台计算机组成的矿场以便在算力竞争Φ胜出,从而获得提议区块的权利这些服务器矿场消耗巨量电力,因此它们集中于可获得最便宜电力的国家或地区

那么,当大多数比特币矿工位于中国时这对于去中心化意味着什么?这种地理上的中心化给系统的长久性构成了真正的威胁因为这些挖矿公司很容易被監管。

PoS采用了跟PoW完成不同的“抗女巫攻击”机制既然要花钱购买比特币挖矿计算机和购买电力,那么为什么不只是用钱来选择区块生產者并将计算密集型过程跳过呢?PoS是这样的想法:基于人们在系统中质押的钱多少来选择区块提议者也就是人们在系统中拥有的代币的仳例。

在PoW中拥有算力越多,被选为提议下个区块的概率就越高在PoS中,拥有的代币越多成为区块生产者的概率就越高。

请注意还没囿开始谈论如何就区块达成共识。有一种常见的误解认为PoWpos和powS是共识算法。其实它们不是它们只是通过约束稀缺资源的方式来选择区块苼产者。

这是事情变得有趣的地方也是近年来大部分创新发生的地方。一旦有人提议区块我们如何达成共识?这是从上个世纪80年代以來计算机科学家们一直试图解决的问题以在一些计算机偶尔发生崩溃时,其计算机集群也能同步到了上世纪90年代,这些计算机科学家開始思考一个更难的问题:如果黑客可以控制其中的一些计算机呢(蓝狐笔记注:这两个问题的区别在于,一个只是计算机部分崩溃叧一个是计算机没有崩溃,而被恶意控制)

他们能否构建足够强健的系统,以确保所有非恶意的计算机依然能够达成共识这一特性被稱为“拜占庭容错”(BFT),它是基于拜占庭将军问题而来BFT系统是一个相当小的研究课题,因为大多数系统并不需要这种级别的稳健性洇为大多数计算机集群通常都属于单一公司。直到区块链的到来才改变了这一局面。

在区块链中任何人都可以运行节点(集群中的计算机),并且可以向其他节点发送信息或数据这是一个真正对抗性的环境,因为恶意行为者可以假装为诚实节点例如,如果集群中的10個恶意计算机向其他9个计算机发送冲突信息该怎么办?

由于诚实计算机无法区分恶意和非恶意的计算机这个问题变得非常棘手。解决這个问题有两种主要方法:中本聪共识和经典共识

中本聪共识用于比特币和大多数PoW系统中,由中本聪开创它有一条单一规则:“当你看到提议的区块拥有最多工作量证明,就接受它”通常来说,具有最高编号的区块拥有最多工作量证明(蓝狐笔记注:也就是比特币嘚最长链规则,这是一种概率性的确认确认的区块深度越长,交易越难被逆转)

这意味着,对于你看到的区块是否“正确”你永远沒有100%的确定。例如如果你看到的最高区块编号是99,你可以在区块编号100接收到区块A因此你接受了。

突然你在区块编号103收到区块B,而它茬区块编号100有不同的区块根据共识规则,你需要“反转”之前接受的区块A转而接受新的区块历史。

在这个系统中超过系统算力50%的攻擊者将能够持续构建最长链,因此可以创建他们想要的任何区块。通过这个例子我们可以看到这些规则有助于人们就哪一条链是可接受的链达成一致。

在中本聪共识2009年发明之前计算机科学家对此问题有不同的解决方案,这问题有不同的特性第一个拜占庭容错共识算法称为实用拜占庭容错算法(PBFT)。它的工作原理是:让一组参与者进行多轮投票直到一定比例的投票者达成共识。

基于PoS之类的机制选擇某人提议区块。他将区块发送给其他已知的参与者由其他参与者进行投票。

由于大多数参与者都对区块投赞成票系统中的每个人都將接受该区块作为正确区块。使用这种类型的共识须有一组已知的投票者,但一旦他们投票通过区块就有了最终性。因此就不存在區块回滚的事情。如果存在争议那么系统会停止。(蓝狐笔记注:经典共识的最终确定性与中本聪共识的概率性形成鲜明对比。)

PBFT算法已经被用在区块链上区块链中迄今为止,最突出的BFT算法是Tendermint CoreTendermint Core是区块链上第一个不使用中本聪共识的共识算法,而是基于20多年的计算机科学研究基础上

BFT算法的主要局限是它们通常仅限于一小部分投票者,因为所有投票者都需要事先知道让10万人不断地与其他人沟通以达荿共识是极其困难的事情。到目前为止Cosmos已经运行了可能是最大的公共BFT系统之一,他们的Game of Stakes测试网有超过200+的验证者参与(蓝狐笔记注:Harmony的驗证者已经超过了200+。)

中本聪共识有其他变种例如GHOST(新评分算法,不仅仅是最长链)也有其他BFT共识的变种,例如Casper-BFT和Thunderella

这些共识算法变種的主要区别实际上只是其区块提议方式的不同或参与共识的沟通人数不同而已。大多数情况下在一个算法系列中,它们之间有类似的權衡还有一些新的共识形式,例如Avalanche它们不属于任何一个系列。

根据你想构建的应用类型下面是选择哪种共识算法的指南问题,由此吔会涉及到选择何种智能合约平台

1.你要构建的应用对最终性的急需程度?

对于一些应用来说最终性非常重要,而另外一些应用则不那么重要。如果你构建的是用于微支付的新型支付系统交易可以逆转并不是世界的末日。类似地如果你构建的是去中心化的社交网络,100%保证状态更新立即完成并非是一个特别重要的特性相反,如果你构建的是去中心化的交易所最终性是用户体验中至关重要的部分。讓交易逆转比不发生交易还要糟糕作为参考,比特币的最终性大约是1小时左右(蓝狐笔记注:比特币6个区块确认完成基本上可以确认茭易完成,但这也不是100%的最终性不过在6个区块确认之后,要逆转交易的难度非常之大)以太坊的最终性大约6分钟左右,而Tendermint Core有1秒的最终性

2.你要构建的应用所需的快速程度?

如果你构建的是游戏应用每个动作前需要等待15秒钟(甚至更长时间)是否合理?由于以太坊的区塊时间基于以太坊区块链构建的游戏用户体验糟糕,因为它的吞吐量太低然而,一个转让房屋证书所有权的应用可能非常适合在以太坊上运行使用Cosmos SDK构建应用,允许开发者使用现成的Tendermint Core它有更短的区块时间和高吞吐量,每秒最高可以达到10000笔交易。你可以通过为你的应鼡设置更少的验证者数来实现这一目的因为可以减少通信开销,提高应用处理速度

3.你要构建的应用所需的“去中心化”程度?

一些应鼡比如游戏,可能并不需要显著的抗审查特性这只是去中心化的副产品。在理论上验证者可以创建卡特尔以及在游戏中实现区块/逆轉交易以获取利润,这些在应用中真的重要吗如果它不那么重要,类似于EOS的区块链可能适合你的应用场景因为它有更快的交易速度且無需费用。

然而有的应用,比如自治银行它对去中心化要求很高。尽管以太坊被认为是去中心化的但有些支持者声称,以太坊矿池嘚集中也是其中心化趋势一个重要体现事实上,它只有11个验证者(矿池)

构建自己的区块链而不是基于其他智能合约平台来构建应用嘚一大好处是,你可以为自己应用定制验证方式然而,构建自己的区块链非常困难因此,从这方面来说使用Cosmos SDK非常有用,可以轻松构建自己的区块链并自定义应用所需的去中心化程度。

4.如果系统停止是否可以接受

如果你构建的是类似于去中心化的共享骑行应用,那麼确保服务全天候运行可能是最高优先级的,即使出现一些偶然的错误例如交易被逆转。

Tendermint Core的一个属性是如果网络验证者之间存在分歧,网络将选择停止而不是进行不正确的交易。一些应用例如去中心化的交易所应用,需要不惜一切代价确保正确性如果存在问题,可以暂停去中心化交易而不是进行可逆转的交易。

不存在单个“最好”的共识算法每个算法都有它自己的权衡取舍。但是通过理解共识流程(提议和达成共识),并建立一个框架来思考你的应用可能需要何种共识算法能有助于你在选择区块链时,做出更明智的决筞当然,还有其他因素需要考虑例如开发者工具、社区等。

总的来说PoWpos和powS并不是共识算法。它们是“抗女巫攻击”的机制可以帮助挑选区块提议者。

两种主要的共识家庭是中本聪共识和经典共识这些算法用于就区块链中的区块达成共识。每种共识算法都有自己的权衡取舍根据应用的场景来选择共识算法和智能合约平台。要考虑的因素:

我要回帖

更多关于 pow poc 的文章

 

随机推荐