分析师|李雪婷编辑|郝方舟编者按:再过不到10小时,以太坊将于7080000区块高度上激活君士坦丁堡/圣彼得堡网络升级。这次升级无疑是区块链世界近期最为关注的事件,它不仅牵动着数字货币市场背后的巨额利益,也是公链技术探索的又一个里程碑。带领区块链进入“2.0时代”、并已“走过长路”的以太坊经由本次分叉,将进一步从PoW共识机制过渡向PoS共识机制。Odaily星球日报研究院希望从共识机制的角度,带大家稍微回首下历史,总结共识层的进化规律,着重比较主流的PoW和POS的变种,并阐述为什么我们认为“POS+”混合共识机制会是公链后期发展的一个出路。区块链是一种去中心化的分布式账本系统,由于点对点网络下存在较高的网络延迟,各个节点所观察到的交易事务先后顺序不可能完全一致。因此,区块链系统需要设计一种机制对在一定的时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。共识机制在去中心化的思想上解决了节点间互相信任的难题,使得区块链在信息传输的过程同时可以完成价值转移。但是,在一个去中心化的系统里,要达成一致性算法并非易事。中本聪提出了基于PoW(ProofofWork,工作量证明)的共识机制,可以说是迄今为止最安全可靠的公有链共识算法。后来,又陆续出现了PoS机制,以及PoS机制的一些变种,如DPoS机制等。这些共识机制各有优势,但也都被证实有其不足之处。也因如此,在区块链领域,人们从未停止过对更优共识机制的探索和创新,如下图所示。PoW问题凸显PoW,是一种按劳分配模式,即矿工凭借工作量的大小,来争取记账的权利,工作量越大对应矿工的算力越大,矿工获得记账权的概率越大。PoW共识在比特币中的应用具有重要意义,也是最早和迄今为止最安全可靠的公有链共识算法。然而,PoW共识存在明显缺陷:1.资源浪费
PoW共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决SHA256哈希和随机数搜索,实际上并不产生任何有效际的社会价值。随着加密数字货币的日益普及和专业挖矿设备的出现,加密数字货币生态圈已经在资本和设备方面呈现出明显的“军备竞赛”态势,逐渐成为高能耗的资本密集型行业,进一步凸显了资源消耗问题。根据Digiconomist的数据显示,如果把比特币加以太坊看做一个国家,其挖矿消耗的总电量已经超过阿尔及利亚、以色列和希腊等国家,在全球排名第45位。单看以太坊,其挖矿消耗的总电量超过马其顿、洪都拉斯和安哥拉等国家,每年耗电约8.63万亿瓦时,占全世界用电量的0.04%。2.算力集中
中本聪设计PoW共识机制的前提是算力和计算节点的均匀分布。但随着比特币数量减少,对算力的要求则越高,人们开始通过联合挖矿加速比特币的获取,从而催生了矿池挖抗的新玩法。矿池的出现,一定程度上破坏了比特币等加密数字货币体系的平衡,马太效应逐渐显现。根据btc.com数据显示,过去一年矿池算力份额排名前五位的BTC.com、AntPool、SlushPool、ViaBTC和BTC.TOP,占据比特币总算力份额的数据是64.6%。理论上来看,这五大矿池联手,确实具备了发起51%算力攻击的能力。虽然实际上,这些矿池为掌握全网51%算力所需的成本投入远超成功实施攻击后的收益,但51%攻击的安全性威胁始终存在,引发人们对算力集中的担忧。3.缺少“最终一致性”
PoW支持分区容忍性(可以分叉),即放宽对最终一致性确认的需求(可以回滚),约定好大家都选择已知最长的链进行确认。在这种情况下,系统的最终确认只是概率意义上的存在。4.业务处理性能低下
PoW共识算法虽然投入了大量的能源支持系统的运行,但这些能源消耗绝大部份是用于工作量证明中的哈希运算,区块链网络处理交易业务的性能则非常低,比如比特币每秒只能进行大约1*1024*1024/250/(10*60)=6.99笔交易。PoS的提出和点点币的实践
PoW问题的逐渐凸显,引发人们对这种机制的质疑和思考。PoS开始登场。PoS共识机制的提出最早源于人们对挖矿中“公地悲剧”问题的辩论。“公地悲剧”由1968年英国加勒特·哈丁教授(GarrettHardin)在《Thetragedyofthecommons》一文中提出。他指出公地作为一项资源,有很多使用者,每个使用者都知道资源将过度使用而枯竭,但并没有权利阻止其他人使用,结果是每个人都倾向于过度使用从而加剧事态的恶化。2010年11月,挖矿公地悲剧(Disturbinglylowfuturedifficultyequilibrium)由Vandroiy指出并引发广泛讨论。讨论的重点是比特币系统需要消耗大量算力来维持系统的安全性和稳定性,但随着比特币不断被挖出,区块获得的奖励减少,越来越多的节点会退出系统,攻击成本随之降低,比特币网络系统则会出现“公地悲剧”。2011年7月,数字货币爱好者QuantumMechanic在比特币论坛首次提出PoS权益证明共识机制的概念(Proofofstakeinsteadofproofofwork)。权益证明共识机制概念一经出现便得到很多人的青睐。人们意识到权益证明可能就是挖矿“公地悲剧”的解决方案。与PoW物理挖矿不同,PoS共识是将让整个挖矿过程虚拟化,并以验证者取代矿工。其运行过程如下:验证者必须锁定一些他们拥有的token作为保证金。在此之后,他们将开始验证区块。同时,当他们发现一个他们认为可以被加到链上的区块时,他们会通过下注来验证它。如果该区块成功上链,验证者就将得到一个与他们的注成比例的奖励。2012年8月,SunnyKing发布点点币,PoS首次得到实践。PoS由系统中具有最高权益而非最高算力的节点获得记账权,其中权益体现为节点对特定数量货币的所有权,称为币龄或币天数。点点币将PoW和PoS两种共识算法结合起来,初期采用PoW挖矿方式将Token分配给矿工,后期随着挖矿难度增加,系统主要由PoS共识算法维护。不过,在PoS的后期阶段,投资者能够通过手中的资本囤积并垄断点点币,使得点点币的流通性降低。举例说明:每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000。当一个新的区块产生时,其他想获得记账权的节点也需要计算哈希值,得出满足条件哈希值的难易与难度值有关,这个难度值这里与币龄成反比,即你的币龄越大,得出符合条件的哈希值的概率就越大,同时你的币龄被清空,记账后系统会给予你相应“利息”,你每被清空365币龄,获得利息为:3000*利率/365,点点币的利率为1%,即0.08个币。再之后,PoS衍生出更多变种,每个变种往往会涉及区块链代币经济模型的改动。比如,ReddCoin、Slimcoin等都推动了PoS的发展,处于PoS研究前沿的还有以太坊、Cardano、Fractal等,下文将会具体阐述。PoS并非完美的替代方案
客观来讲,PoS机制的诞生确实解决了PoW的部分弊端:1.以PoS机制开发新区块在一定程度上避免了资源浪费,同时系统区块的自动产出缓解了由于数字资源有限性而产生的通货紧缩。2.PoW机制下,矿池通过规模经济效应来提高产量,降低长期平均成本。而PoS共识机制弱化了中心矿池规模经济的需求,算力集中垄断的情形也得到了缓解,个体竞争力差别相对减小。3.就51%攻击而言,PoS共识机制发起一小时攻击的成本远大于比PoW共识机制。以比特币为例,目前比特币的流通供给量是17,551,500BTC,若该共识算法是PoS,那对其进行51%攻击需要持有8,775,750BTC,折合市值34,906,510,958美元,而在PoW情况下通过租用算力仅需242,051美元左右。其他数字货币针对PoS51%攻击所需成本与针对PoW进行1小时的51%攻击花费的对比如上表1所示。那么PoS共识机制是完美的吗?答案是No。第一,PoS本身实现起来比较困难。1)Token发行的问题。一开始的时候,只有创始区块上有Token,只有将Token开采权分散才能让网络壮大。但在目前多国禁止ICO的环境下,合规又均衡地分散Token成为了一个难题。2)确定记账节点数量困难。大部分PoS依赖于PBFT算法,但是PBFT需要确定节点数量,才能选举出区块生产者。而在PoS机制下,节点可以随时参与或者退出挖矿,这样无需门槛的后果是选举的总数目无法确定,1/2或者2/3的通过率更是无法测算。不仅如此,记账节点的不确定还会增大网络分区的概率,从而导致分叉。此外,一个PoS系统需要一个高度安全的网络来抵抗各种类型的黑客攻击,目前并没有一个公链被证明有这样的实力,即使是以太坊也经常发生黑客攻击事件。第二,被动演化为非预期的中心化的结果。对于一个采用PoW共识机制的公有链来说,它的出块和安全性主要依赖于算力的分散。任何人只要拥有显卡和网络就可以成为矿工,这样降低了用户使用门槛,促进更多人参与挖矿,实现早期算力的分散。只要超过51%的算力来自于诚实的矿工,区块链的交易就是相对安全不可逆的。然而,对于一个采用PoS共识机制的公有链,主网上线伊始,创世块中分配的Token绝大多数属于数量有限的项目方和私募投资人。区块链的出块权只能由这些玩家决定。如果这些人合谋对区块链进行攻击,则完全可以成功的实现双花攻击(Doublespendingattack)。尽管开发者和投资人的利益完全体现在Token的价值中,出于利益考虑不会参与恶意行动,但PoS公链也无可避免的在主网上线后就被这些人垄断和支配。更糟的是,如果出块可以获得大量奖励和交易费用,这些垄断者就会将大量股权牢牢控制在自己的手里,使得PoS公链成为一个本质上由巨头控制的网络。第三,NothingatStake问题。在PoW机制中,当区块链出现分叉时,矿工必须选择一个方向进行挖矿。而在PoS机制下,PoS矿工往往会两个方向都挖,以争取实现利益最大化。因为分叉并不会消耗任何资源。矿工可以在最长链上挖矿的同时,创造一个只在自己的区块上挖矿的分支。除此之外,其他验证者也乐于接受分叉,他可以同时在两条链上“挖矿”,因为在上面“挖矿”没有任何损失,反而如果不在上面“挖矿”,万一这条链被接收了,就会遭受损失,于是,即便是诚实验证者,他也会倾向于在所有链上同时“挖矿”。尽管他们知道这种尝试会造成整个Token的价值降低,但是他们的钱很少,他们并不在乎,这就是所谓的平凡人悲剧。我们可以这样理解这个名词:主席台上有十个候选人,下面很多人给这十个候选人投票。如果你投票的话,你可能会对这个主席台上十个人都分别投一票,也就一个人投十票给每个人投上一票。这样,无论台上哪个候选人成为最终的获胜者,你都会得到好处。PoW+PoS混合机制更接近理想
几乎所有的共识机制都有其独特的优势,但也有其弊端,没有一种共识机制可以完美解决区块链“不可能三角”问题。因此,人们开始思考是否可以将两种共识混合,从而做到融合两种共识的优势,又能规避某些弊端呢?于是就有了“混合共识”。在“混合共识”中,PoW+PoS混合机制是其中最热门也应用得较为成功的一种共识算法。2014年4月,拉里·雷恩(LarryRen)在《Reddcoin白皮书》中提出了权益-速度证明共识机制。PoSV算法前期使用PoW实现代币分配,后期使用PoSV维护网络长期安全。PoSV将PoS中币龄和时间的线性函数修改为指数式衰减函数,即币龄的增长率随时间减少最后趋于零。因此新币的币龄比老币增长地更快,直到达到上限阈值,这在一定程度上缓和了持币者的屯币现象。2014年5月发行的Slimcoin基于PoW和PoS提出了燃烧证明(ProofofBurn,PoB)共识机制。其中,PoW共识被用来产生初始的代币供应,随着时间增长,区块链网络累积了足够的代币时,系统将依赖PoB和PoS共识来共同维护。PoB共识的特色是矿工通过将其持有的Slimcoin发送至特定的无法找回的地址(燃烧)来竞争新区块的记账权,燃烧的币越多则挖到新区块的概率越高。2014年12月提出的行动证明(ProofofActivity,PoA)共识也是基于PoW+PoS,其中采用PoW挖出的部分代币以抽奖的方式分发给所有活跃节点,而节点拥有的权益与抽奖券的数量即抽中概率成正比。2015年提出的Casper是以太坊计划在其路线图中称为宁静(Serenity)的第四阶段采用的共识算法,尚在设计、讨论和完善阶段。目前Casper总共有两个版本,即由VitalikButerin带领实现的CasperFriendlyFinalityGadget(CFFG)和VladZamjir领导的CaspertheFriendlyGhost(CBC)。CasperFFG是一个混合PoW+PoS共识机制。它是被设计来缓冲权益证明的转变过程的。设计的方式是,一个权益证明协议被叠加在正常的以太坊版工作量证明协议上。虽然区块仍将通过工作量证明来挖出,每50个区块就将有一个权益证明检查点,也就是网络中验证者评估确定性的地方。CasperCBC协议中有一个预估安全预言机,在设定提出一个合理估计的错误的例外情况下,列出所有在未来可能发生的错误,在给定区间内,其正确性是由其建构过程来保证。CasperFFG是PoW+PoS共识,而CasperCBC则是明确的PoS共识。同时,PoS共识的两个主要原理分别是基于链的PoS和基于拜占庭容错的PoS。CBC是基于链的PoS设计,而CFFG则是两者的结合。Casper与其他PoS共识的不同之处在于:Casper实施了一个进程,使得它可以惩罚所有的恶意因素。验证者押下一定比例的他们拥有的以太币作为保证金。然后,他们将开始验证区块。也就是说,当他们发现一个可以他们认为可以被加到链上的区块的时候,他们将以通过押下注来验证它。如果该区块被加到链上,然后验证者们将得到一个跟他们的注成比例的奖励。但是,如果一个验证者采用一种恶意的方式行动、试图做“无利害关系”的事,他们将立即遭到惩罚,他们所有的权益都会被砍掉。事实上,以太坊之所以从PoW转变为PoS,是出于多方面的考虑。有迫于性能的压力,有真实存在的算力威胁,也有其他公有链竞争的挑战。但总而言之,目前以太坊提出“先过渡到PoW+PoS,再彻底抛弃PoW”的路径也是一种共识机制的创新。不过现实是,这个路径实施相对缓慢。这是因为以太坊是一个庞大的社区,更改共识机制使得社区中充当生产者的矿工部分利益并不一致,然而PoW机制的以太坊中,矿工才是区块链的决策者,从PoW直接过渡到PoS必然艰难。总之,以太坊的升级并不是技术问题,而是社区难以达成共识,如果直接升级做硬分叉,则可能造成社区的分裂,大部分以太坊上的生态也会分裂。为什么不直接转换成PoS?VitalikBurterin的回答简明直接:“从PoW机制转变到PoW+PoS交易混合机制,这样做的转变很小,能够更快捷,更安全,相比较而言对用户更有利。因为我们要避免机制转变带来的危险性,等到整个系统更安全以后,才能进行更大的投入。”2017年8月Cardano提出的Ouroboros共识是基于PoS且具有严格安全性保障的区块链协议,其特点是运用一种新的奖励机制来驱动PoS共识过程,使诚实节点的行为构成一个近似纳什均衡,用来有效地抵御区块截留和自私挖矿等由于矿工的策略性行为而导致的安全攻击。综上所述,在一个公链项目的早期阶段,如果使用PoS协议会则会带来很多问题,而这些问题在PoW协议下是可以避免。去使用PoW协议启动主网的区块链则可以实现分散的共识,从而避免这些问题。当PoW公链经过一段时间的发展,股权分布相对分散以后,可以选择“PoS+”共识机制。参考文献:
1.袁勇,倪晓春,曾帅,王飞跃.区块链共识算法的发展现状与展望.自动化学报,2018,44:2011-2022.2.什么是以太坊Casper协议?https://ethfans.org/posts/ethereum-casper3.PoS为什么比PoW更能避免51%攻击?https://www.odaily.com/post/51356704.从PoW到PoS,以太坊的进化之路https://mp.weixin.qq.com/s/yw5jeCdB8g3hSABJTCio3A5.20ProofofStake,available:https://en.bitcoin.it/wiki/ProofofStake,April11,20186.SchwartzD,YoungsN,BrittoA.TheRippleprotocolconsensusalgorithm,available:https://ripple.com/flles/rippleconsensuswhitepaper.pdf,April10,20187.Bitshares.DelegatedProofofStake,available:http://docs.bitshares.org/bitshares/dpos.html,April10,20188.LamportL.Paxosmadesimple.ACMSigactNews,2001,32(4):18?259.RenL.Proofofstakevelocity:Buildingthesocialcurrencyofthedigitalage,available:https://assets.coss.io/documents/whitepapers/reddcoin.pdf,April10,201810.Proofofburn,available:https://en.bitcoin.it/wiki/Proofofburn,April10,201811.BentovI,LeeC,MizrahiA,RosenfeldM.Proofofactivity:Extendingbitcoinsproofofworkviaproofofstake,available:http://eprint.iacr.org/2014/452,April10,201812.DuongT,FanL,ZhouHS.2-hopblockchain:Combiningproof-of-workandproof-of-stakesecurely,available:https://eprint.iacr.org/2016/716,April10,201813.KwonJ.Tendermint:Consensuswithoutmining,available:https://tendermint.com/static/docs/tendermint.pdf,April10,201814.BlogE.IntroducingCasper“theFriendlyGhost",available:https://blog.ethereum.org/2015/08/01/introducing-casper-friendlyghost/,April10,201815.DavidB,GaˇziP,KiayiasA,RussellA.Ouroborospraos:Anadaptively-secure,semi-synchronousproof-of-stakeprotocol,available:http://eprint.iacr.org/2017/573,April10,201816.GoodmanLM.Tezos-aself-amendingcrypto-ledger,available:17.https://www.tezos.com/static/papers/positionpaper.pdf,April10,201818.MillerA,XiaY,CromanK,ShiE,SongD.Thehoneybadgerofbftprotocols.In:Proceedingsofthe2016ACMSIGSACConferenceonComputerandCommunicationsSecurity.Xi’an,China:ACM,2016.31?4219.ZamflrV.IntroducingCasper“theFriendlyGhost”,available:https://blog.ethereum.org/2015/08/01/introducingcasper-friendly-ghost,April10,2018推荐阅读:
以太坊君士坦丁堡分叉,你想知道的一切都在这里
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。