区块链的体系中有两个核心的组成“部件”,一是密码学,一是共识机制。
在一个分布式的场景下,“链”上的各个节点如何达成一致性,这需要有一个共识机制来解决。
换句话说,就是如何让一个公链上的所有人,快速对一个事实达成共识的方法。
目前主流的共识机制一共有三种,分别是:PoW机制、PoS机制和DPoS机制。
这三种共识机制分别扮演着不同的角色,他们或以公平取胜、或以去中心化见长、又或以确认速度快被普遍认可。
究竟孰优孰劣?我们又应该根据什么来做出评判?
今天COBO钱包创始人神鱼,将以他多年的“挖矿”经验,来深度解答这个问题。
神鱼早在2011年就进入数字货币领域,开始尝试投资比特币和显卡挖矿。还撰写了大量的挖矿教程,带领国内早期矿工参与比特币、莱特币挖矿。
他建立的比特币、莱特币矿池F2POOL(鱼池矿池),是全球最大的综合性矿池。
2011年一个偶然机会,我看到了一份白皮书,放佛打开了新的世界,一开始在上面挖矿。
2013年,我休学创办了中国第一家比特币矿池——“鱼池”,当时拥有全国1/3的算力。
2016年推出了中国第一家以太坊矿池,2017年年初,我们因为计算+外部因素+阿里云内网的问题,导致我们发生了一次巨大的技术意外,造成8000个以太坊的损失。
我们通过技术分析发现,一个庞大的群体在针对数字货币持有者,做着很多的攻击,这种情况下,就很难保证大家安全地使用数字资产。
我们痛定思痛,才推出的COBO钱包,来保证安全。
1
区块链发展现状
区块链的发展,一定要从互联网的早期说起,因为区块链是建立在互联网之上的一个技术。
90年代初,互联网的早期基础协议还在准备阶段,基础协议出来之后,随后便出现了上层建筑——浏览器。
浏览器经历了几大版本的更迭,后来出现了搜索引擎、门户网站,以及出现的一些大规模应用。
然后我们经历了从PC互联网时代到移动互联网时代。
2008年的一些白皮书,就已经提出了区块链技术应用的思想,在数字货币之前有很多先例,也做了很多探索,但都因为很多原因,无法解决核心的关键问题。
比特币的出现,其实背后的重要意义是,区块链思想解决了双重支付的问题。
在互联网时代,将文件发送给另外一个人,只是将文件附本发送给对方,并不能保证文件数据的唯一性。
比特币也好、区块链也好,通过技术巧妙地保证了区块的唯一性,也就是保证了双重支付的问题。
2011年比特币底层出现了一个分布式的域名解析系统,使区块链像其他互联网上的应用一样,有了比较早期的应用。最后是应用的爆发、以太坊出现,以及其他数字货币和智能合约的出现。
2017年随着以太坊的普及,智能合约的概念已经基本被大家接受。区块链技术的发展,更多集中在智能合约的迭代和更新,其他数字货币也在逐步发展。
目前区块链(或者说比特币)是处在一个价值互联网的早期,还没有形成一个完整的、统一的标准基础协议的一个阶段,如果类比互联网早期,现在大概是90年代初的阶段。
2
主流公有链共识机制
回头看2008—2018年的十年,区块链具体的大应用主要有几大类:
第一类是货币类。比如比特币,毋庸置疑是解决了价值存储等一系列的问题。比特币上面有简单的智能合约,是对智能合约做了一些阉割,只专注做货币类。
在细分领域更好地解决了私密性的问题,而分叉币或者其他币,解决了场景的问题。
第二类是像以太坊提出的智能合约概念。利用区块链的去中心化方式,链上可追溯的链,解决合约生产的关系问题,主要以以太坊、EOS为主。
第三类是分布式存储。2018年下半年,分布式存储可以将数据应用链和底层协议都逐步完善。
目前区块链能落地的,主要是这三大类。
那这三大类在共识机制上有什么不一样的地方?目前来说:
第一大类是PoW机制(工作量证明机制),主要以货币类为主,比如比特币、数字货币,它们需要更严谨地处理数据的一致性问题。
第二大类是PoS机制(股权证明机制),以以太坊、EOS为主。
第三大类是DPoS机制(授权股权证明机制)。
01、PoW机制
PoW从2009年诞生之初到现在,该共识机制解决的核心问题在于:分布式系统里怎么解决一致性的问题。
一致性有两种:
第一种是由于网络延时或者故障导致一部分节点没法正常沟通、通信。
第二种是由于一些节点处在恶意、攻击状态误导整个区块链。
在这个情况下,PoW机制采用的是一种简单的算法,比如通过工作量来证明。
在数字货币早期,比如比特币算法,通过不停地运算,然后找到随机数,也就是我们常说的挖矿。
挖矿的原理就是:暴力破解下一个区块的nonce值,通过不停获取随机数,直到找到这个随机数,生成区块、获取区块,最终形成完整的区块链。
挖矿这个行业这些年经历了怎样的过程?
2009年,比特币刚刚诞生的时候,早期挖矿采用的是非常通用的CPU算法。
2010年初到2011年前后,大家发现GPU里有大量的并行运算核心,于是就到了GPU挖矿的时代。
2012年大家发现,既然GPU采用并行的架构,那么电路里有一个FPGA,可以通过软件的方法模拟,实现GPU的功能。
GPU的单元耗电量很大,而且很多单元对计算没有用处,把这些单元去除掉,在FPGA实现以后,发现性能差不多,而且耗电很低。
所以,FPGA的出现,证明了专用的定制电路,可以通过芯片来生产。于是整个2012年,大家都在探讨怎么做出芯片。
2013年初第一台ASIC的出现,标志着比特币进入了ASIC挖矿时代。
随着ASIC不断演进,逐渐进入了ASIC大规模集群挖矿的时代,通过规范设计保证了热的隔离,实现了稳定、高效的运转。
目前PoW已经实现了超大规模集群式的挖矿,随着一些其他方向的发展,我们发现PoW里面还是有一些弊端。
①追求比较低的能源成本,势必会导致算力集中在能源供应比较丰富的地域,比如新疆内蒙的火电、四川的水电能源,大量能源没办法输送出来,所以这些矿场会集中在这些地方。
②ASIC芯片的垄断。全球有两家大的CPU企业,形成了ASIC芯片的垄断。
笔记君说:
PoW机制全称Proof of Work,即工作量证明机制。我们可以理解为按劳分配。
它是第一代的共识机制,是比特币的基础。为什么说他是按劳分配,因为在PoW的共识机制下,我们付出了多少工作量,就会获得多少报酬,报酬就是比特币等加密货币。
在区块链的世界里,劳动就是你为网络提供的计算服务(算力x时长),而提供这种服务的过程就是“挖矿”。
也就是说,提供得到计算服务越多,获得的加密货币报酬就越多。
PoW机制的优点在于:
① PoW机制本身的很复杂,有很多细节因素,比如:挖矿难度自动调整、区块奖励逐步减半等,这些因素都是基于经济学原理设置的,能吸引和鼓励更多人参与。
② PoW机制,可以吸引很多用户参与其中,特别是越先参与的人,获得会越多,这就促使加密货币在初始阶段发展迅速,节点网络迅速扩大。比如比特币吸引了很多人参与“挖矿”,就是很好的证明。
③ 通过“挖矿”的方式发行新币,把比特币分散给个人,实现了相对公平。
PoW机制的缺点在于:
① 算力是计算机硬件(Cpu、Gpu等)提供的,需要耗费大量的电力。
② PoW机制逐渐发展,算力的提供不再是单纯的CPU,逐步发展到GPU、FPGA、ASIC矿机。
许多用户也从个人挖矿发展到大的矿池、矿场,算力集中越来越明显,这与去中心化的方向背道而驰。
③ 比特币区块奖励每4年减半,当挖矿的成本高于挖矿收益时,人们挖矿的积极性降低,会有大量算力减少。
02、PoS机制
现在挖矿还被大家质疑的一点,就是能源消耗很高,相当于是一个小型国家的耗电水平。
于是很多人就在探索,既然要解决一致性问题,是否还有其他办法?
2012年,就有人提出了PoS的想法,PoS现在有一些具体的映射,比如从货币的时间价值,来让货币的时间价值充分认同。
并且产生PoS的门槛持续降低,因为原来持有一种数字货币,一天只能产生一个币,现在产生的时间在缩短,门槛在降低。同时也满足了其他性能上一些良好的方向。
共识机制里有一个出名的“不可能三角形”,就是要同时满足去中心化、安全、环保。
这就形成了一个悖论,因为大部分只能满足两点,而不是三点,所以需要看有更优化的方案。
最早是PPC采用了PoS的共识机制。
笔记君说:
PoS机制全称Proof of Stake,即股权证明机制,是PPC(点点币)创新的机制。
在PoS机制下,没有挖矿的过程,而是在创世区块内写明股权分配比例,之后通过转让、交易的方式,逐渐分散到用户手里,并通过“利息”的方式新增货币,实现对节点的奖励。
简单来说,就是根据用户持有货币的多少和时间(币龄)发放利息。
PoS的机制的优点在于:
①节能,因为不用挖矿,所以不需要消耗大量的电力和能源。
②更加去中心化。相对于PoW,PoS机制对计算机硬件没有过高要求,人人可挖矿,而且不用担心算力集中导致中心化的出现。
PoS的缺点在于:
①纯PoS的加密货币,只能通过IPO的方式发行,导致“少数人”获得大量成本极低的加密货币。
②PoS机制的加密货币,信用基础不够牢固。
所以多采用的是PoW+PoS双重机制,通过PoW挖矿发行加密货币,使用PoS维护网络稳定。或者采用DPoS机制,通过社区选举的方式,增强信任。
3、DPoS机制
第三大类是基于DPoS机制的共识机制,通过把币进行扩展,将权利通过投票的形式转移给一些代表,类似于现在的董事会制度和议会制度选出一定代表,通过大家的投票形成共识。
DPoS机制的优势是选出代表,这些代表的性能更好,而且共识机制下,代表不会特别多,一般是三位以内。优势在于性能特别棒,能耗特别低。
PoW节点是3万量级,形成一次共识需要非常长的时间,而DPoS只需要三秒钟或者几秒钟,甚至在网络通常的情况能达到毫秒级的优势。
当然它也有弱点:
DPoS有一个比较大的痛点是:每个民众怎么去投票产生这个代表?也就是董事会制度、议会制度,大家应该怎么去参与?大家缺乏一个明确的判断标准。
COBO钱包目前在DPoS里做了一些措施和模型,其中有一款公益钱包,大家将投票权委托给我们,我们来帮大家投票,经过筛选实现一个稳定理想的方式。
COBO钱包目前在DPoS比较成熟的是LBTC,我们搭建的节点,有节点的预算,目前有40—50个节点(全国是100个)。
另一种方式是Masternodes方式。用匿名信通过资金池,将每一个节点通过一定的数字货币抵押形式,形成超级节点。
我们提出Masternodes的概念,好处是维持价格稳定。Masternodes同时需要抵押较多的数字资产,并且有良好的性能节点,所以去中心化程度相对更好一点。
Masternodes比较大的痛点是需要较多的数字货币抵押,而且需要稳定的节点。
笔记君说:
DPoS全称Delegated Proof of Stake,即授权股权证明机制,这是比特股最先引入的机制。
PoS机制的加密货币,每个节点都可以创建区块,并按照个人的持股比例获得“利息”。
DPoS是由被社区选举的可信帐户(受托人,得票数排行前101位)来创建区块。为了成为正式受托人,用户要去社区拉票,获得足够多用户的信任。
类似于股份制公司,普通股民进不了董事会,要投票选举代表(受托人)代他们做决策。
这101个受托人可以理解为101个矿池,用户可以随时通过投票更换这些代表(矿池)。
DPoS机制的优点在于:
① 能耗更低。因为节点数量只有101个。
② 更加去中心化。比特币的算力目前都集中在几个大的矿池,而每个矿池都是中心化的,就像DPoS的一个受托人,因此DPoS机制的加密货币更加去中心化。
③ 确认速度更快。每个块的时间为10秒,一笔交易大概1分钟,完整的101个块的周期大概需要16分钟。
DPoS机制的缺点在于:
① 绝大多数持股人从未参与投票。
② 社区选举不能及时有效的阻止一些破坏节点的出现,给网络造成安全隐患。
这是目前主流的几大类共识机制,一类是PoW的机制,二是PoS机制,也有的是纯PoS机制,比如PPC。
基于PoS演化,形成的第一大类是DPoS,目前主要是在LVCUS上采用,优势性能非常棒,但去中心化程度非常弱。当然,还有出现的一些其他的创新模式。
所以,未来的共识机制会是什么样的?
共识机制一方面解决了一致性的问题,但在保存安全和一致性的情况下怎么去平衡效率、去中心化程度以及如何选择控制机制?
这需要选择具体的数字货币、区块链的应用场景。
目前来看,区块的链应用场景在不断扩展,数字货币未来的共识机制,要看具体某个场景选择所倾向的方向。
所以,未来的共识机制在哪里?还需要看这些链的具体应用场景在哪里,以及如何做到不同性能之间的平衡。
所以:
内容来源:4月27日,由节点财经与BEECOOL主办的“节点共生 GBA全球区块链技术应用大会·2018”上,COBO钱包创始人神鱼所做主题演讲。区块笔记侠作为合作方,经主办方审阅授权发布。
来源:区块笔记侠