一文说透以太坊2.0基本框架与参与机会
以太坊2.0的上线将成为加密社区的重大里程碑事件,一定程度上会决定区块链行业的发展走向,其中也将诞生许多参与机会,对整个加密生态的影响非常巨大。
本文将试图从参与者的角度理解以太坊2.0的一些基本框架,以及展望一下随之而来的市场机会。
以太坊的发展阶段概要
以太坊的发展阶段分成四个部分,分别是:
Frontier前沿-2015年7月上线;
Homestead家园-2016年3月上线;
Metropolis大都会-第一阶段拜占庭2017年10月上线,第二阶段君士坦丁堡2019年2月;
Serenity宁静–预计2020年底上线。
以太坊的主网第一阶段上线时,各方面功能都不完备,所以每一个阶段的发展都试图解决某一些问题,如可用性、性能提升,图形界面优化等。前三个阶段均使用PoW型共识,而到了Serenity宁静阶段,将转为PoS型共识。Serenity宁静阶段近两年来被业内称为以太坊2.0,代表了一次非常重大的升级。
以太坊2.0的升级和前几次的升级最大的不同,是在于这次升级不是一次传统意义上的硬分叉,而是从Ether从1.0链向2.0链的迁移开始。用户迁移是自愿的,所以会同时存在两条链,一个是PoS的Beacon链,一个就是现在这条ETH1.0链。根据路线图,两条链将分别继续开发,然后会最终合二为一,是一种巧妙也是比较现实的方法(也是考虑到ETH1.0巨大生态的可持续性的无奈之举)。
Beacon链主要的是完成PoS和分片的实现,解决扩展问题,1.0链要继续进化到1.x, 到完成无状态以太坊的实现,解决状态爆炸问题。最终,是为了以太坊实现扩展性,如Vitalik所说,ETH2.0 is all about scaling。
Consensys描述的ETH2.0的三个阶段:
以太坊1.0到1.X
2.1 以太坊1.0的归宿-以1.x状态成为2.0的分片链
ETH1.0的留存目的之一继续作为当前以太坊生态的基础链继续存在。2.0的升级过程中首要考虑的因素是,目前还有大量的Dapp在1.0链上,还有大量的开发者围绕着1.0进行各类产品/优化/底层/扩容的研究和开发。
而2.0的Beacon链在一开始是没有办法进行Ether转账的,转账只能发生在分片链上,而分片在2.0的Phase1才可以实现,在Phase2上才会重启智能合约,所以这些智能合约只能在Phase2阶段迁移过来。因此1.0也是保证以太坊目前的生态发展不受影响。
另一方面,1.0将会继续进化到1.x,这样以太坊的两条链在分别完成自己的任务之后,将开始合并。所以完整的ETH2.0,既包括了宁静阶段的三个Phase,也包括了当前ETH1.x的研发结果,直至合二为一。
目前的方案是,ETH1.x作为2.0的一个分片链而被合并,状态则完全迁移到2.0上,这样现在的生态可以不受影响的直接迁移。
2.2 以太坊1.x肩负无状态以太坊的研发
以太坊使用的是MPT( Merkle Patricia Trie)数据结构,但是随着区块的增加,其次存储数据量也在不断增加,以后势必造成状态爆炸的状态。
每一笔新的交易,都需要去遍历一遍MPT树,这对于扩展性来讲负担较重。所以无状态的概念被提了出来,就是当客户端节点可以不保存状态,但是仍然可以验证交易。而之前的状态通过状态见证者就可以得到实现。
所以在1.x,将会出现有两类重要角色,一类是区块见证者(block proposer),包含了交易信息,和之前交易需要访问的所有状态和见证信息。另一类是状态见证者(state provider),保存了所有之前状态的信息,用以提供交易的验证。
新的角色需要新的激励,以太坊基金会研究员Sam Wilson 及 Ansgar Dietrichs 一起探讨了状态见证者的三种激励模型,还比较早期,这里把三类模式的探讨列在此处:
除了无状态以太坊,开发者也讨论过状态租金的模式,以限制过于庞大的状态增长,但是开发者也讨论过状态租金的模式,但可能对现有的智能合约和Dapp影响较大(不交租金将导致合约停用),需要硬分叉实现,会引发较大争议,所以目前对状态租金的研究已经搁置,资源导向了还是无状态或者半无状态的开发。
简要而言,无状态以太坊的研究不仅是1.x的问题,最后也会变成以太坊2.0的的通用模式,以太坊基金会就认为未来以太坊2.0的分片链一定是无状态的。
以太坊2.0要解决的问题
以太坊2.0有四个需要解决的问题:分叉选择、最终性、分片、验证者责任。并分别用不同的技术和制度手段去实现。
3.1 分叉选择-保证安全性
以太坊2.0使用LMD GHOST (“Latest Message Driven Greedy Heaviest-Observed Sub-Tree”)作为分叉选择。这里面包含了两个协议:LMD和Ghost:
Ghost是一个在PoW链上就非常应用成熟的协议,是一种最长链的原则,和BTC上的最长链原则相比,Ghost选择子树最多的协议,所以最长的链未必是Ghost所选的链。相比最长链原则,Ghost原则可以做到:1收敛;2抗51%攻击;3 TPS和最长链差不多,但是安全性没有下降。Ghost协议也是目前以太坊1.0所使用的协议。
LMD是在2.0新加入的分叉原则,和Ghost一起构成了LMD GHOST。LMD就是指最新的消息。由于在2.0中采用PoS加入了验证者的角色,最新的消息就是指更多验证者的证明,就是在Ghost原则里,再加入更多验证者的证明(attestation),这就使得最长的链变成权威链(canonical chain),根据Casper协议拥有最终确定性。
3.2 最终性问题-不会被逆转,解决长程攻击
以太坊2.0的最终性由Casper协议来解决。
PoS类型的共识有三类:中本聪类型的共识、PBFT基础的共识(Tendermint,Casper FFG)和以链为基础的共识(Casper CBC)。但是只有后两种可以达到最终性。
所谓最终性就是当一个区块被确认过以后,就基本不会被逆转。而中本聪类的共识,是依靠概率去“确定”最终性的,就是还可以被小概率事件所推翻。而PBFT类或者CBC类的最终性,即是100%概率的最终性,除非1/4(CBC)或者1/3(PBFT)以上的验证者站出来去反对,才可以翻转这个结果。
Casper FFG对PBFT进行了改良,继承了PBFT的优点,并针对PBFT不可抵抗共谋进行了设计,并加入了抽象的共识机制、抗长程攻击、灾难性崩溃等机制的设计,并开始整合分片方案,成为ETH2.0 phase0阶段的共识机制。
Phase0 会开始采用一个修改后的FFG,最终在Phase2或以后部分完成CBC的转换,CBC拥有更高的安全性和理论性质,但复杂度和效率较低,实现起来难度大。
3.3 分片是2.0实现扩展的基本设计
为什么要分片?共识协议改变成PoS是对扩展性是没有提升的,扩展性依靠的是分片。分片是计算机术语,数据库的分片已经久已存在。分片的难点在于维护安全性,因为一旦分片,每个分片的安全性就要自己维护。
2.0的主要做法是,通过洗牌Shuffle,通过伪随机来选择一批验证者,随机给分片链进行投票。如果没有随机,那可能大量的恶意验证者被分配的到一个随机验证委员会,这样通过洗牌,可以确定的是即便有1/3恶意攻击者存在的情况下,对分片链的攻击成功概率仍然很低。
除了分片以外,Layer2一直也是扩展的主要途径。2.0下Layer2仍然必要。目前来看2.0下若分片可以顺利实施,则Layer2的必要性可能不大。但关键在于分片实现的时间和稳定性。
Vitalik自己都对以rollup为代表的Layer2的方案都很积极,分片的实现还需要好几年,目前Layer2就可以直接在1.0上使用,那扩容在今后几年都需要依靠Layer2,所以这是非常必要的一个方向。即便2.0分片实现,Layer2变得可能没有那么必须,但仍是可选方案,彼时其相比分片将非常成熟。
3.4 验证者责任
验证者validator在Phase 0阶段有三项任务:
在每一个epoch验证attesting信标链;
收集同一委员会验证者证言attestations;
被随机选入验证者队伍后,对信标链上出块。
以太坊里的时间间隔有两个单位:一个slot为12秒,一个epoch为32个slot=6.4分钟。1个epoch中,验证者以验证者委员会的方式去进行出块,每一个验证者委员会将以委任一个slot。
委员会里面的验证者验证信标链的链头并进行广播。出块者proposer将从委员会中随机选出。被随机选上的验证者将负责出块并获得奖励,若是违反了出块规则(如二次投票或者循环投票),或者不在线,则会被罚没slashing。
关于slashing的讨论我们放在下一部分。
以太坊2.0的staking问题
以太坊2.0对于参与者来说最重要的特性就是可以进行staking了,而且可以从Phase 0就开始,这其中涉及质押回报、长期锁仓、经济奖惩等诸多问题,本部分尝试就重要方面进行讨论和解答。
4.1 Beacon chain质押参与率
就32个Ether就可以迁移到Beacon chain这个限制,目前已经有接近11.7万个超过32个Ether的地址。虽然数量一直在增加,但是从斜率上看,增加的速度已经维持了2年没有什么变化,而不是因为近期以太坊2.0上线的消息。
因为转移是自愿的,用户无非就是考虑几个事情:
锁仓收益率;
操作难度(奖惩机制);
流动性风险;
机会风险;
锁仓收益率并不完全确定,而是根据参与人数量最终确定,Vitalik给过一个锁仓收益率的测算,大概如下:
如果是最低限度的人参与质押,即刚刚好524,288个Ether(或持有至少32个Ether的16,384个账户)参与抵押,那收益率将非常高。但这似乎很难做到的,如上所示超过32Ether的地址已经多达11.7万个,仅这样计算,就高达3,740,000个ether要进行抵押。
(补充:以太坊2.0的Phase1则需要至少262,144个账户或8,388,608个ether参与)
当然采取观望态度的人会很多,但单地址中多于32ether的用户也会很多,很多大户持有的Ether量非常大,用户可以进行多账户分配参与抵押,所以我们预计质押Ether突破300万个并不困难,收益率很有可能下降到10%以下(根据Vitalik的测算表)。
另外就是那些不足32个的想参与质押服务的,可以通过staking服务商的类似“合并账户”的服务进行质押,所以最终的质押率不会太低。Consensys做了份调查,那些愿意自己做validator的用户,预期自己跑的节点数量,可见一个用户跑多节点的情况会很常见。
4.2 操作难度-奖惩机制
以太坊2.0引入了惩罚机制,还细分成slashing(罚没)和inactivity leak(不作为惩罚)两类。
Inactivity leak要求验证者持续在线,不然会导致不作为惩罚。如果验证者出现了双重投票或者循环投票,那可能被罚没,如果罚到低于16eth,会被踢出验证者队伍。
所以惩罚机制是抵押最关心的问题,这也使得很多用户退而求其次,选择staking provider,但即便如此,还是对slashing最为关心。
用户最关心的三大功能:1)非托管钱包;2)罚没机制;3)复合收益率
因为惩罚和罚没机制存在,ETH2.0也提供对应的正向奖励,下面进行一下介绍:
4.2.1 反向惩罚
不在线罚没inactive leak:
不在线罚没主要是针对验证人不在线的情况,基本是两种模式:
1)单纯的错过了一些出块的验证,这样只是失去应得的出块奖励,正常的比如线下维护是可以接受的;
2)还有就是以太坊2.0需要全体2/3验证者(资金)在线的需求,是为了保证整个网络的安全性。所以当有大规模的验证者在线下的时候(比如超过1/3),这样系统就会自动减少不在线验证者的资金余额,直到线上验证者的资金余额超过全网2/3,这种情况可能发生,但是概率不大,比如出现世界灾难的情况;
3)还有一种极端情况,是不在线和退出-加入的情况,可能会引发类似Cosmos第一次slashing一样的惩罚,即两个验证者分别验证不同的交易或块,虽然并非故意,还是遭遇到了系统的slashing。
惩罚slashing:
重复投票double target vote。重复投票的极端情况可以变成PoW型公链的双花问题。主要是指验证者在一个epoch中分别投票给了不同的区块,会造成一下出两个块的的情况。如果是一个验证者用一个Ether分别交易两次,然后分别投票给两个区块,这就会变成双花问题。但是防止二次投票主要不是为了双花问题,而是防止被攻击。
重复提议double proposal。重复提议是指提议者proposer在一个slot里提出了两个不同的区块。
循环投票surround voting。循环投票有一些类似,但是可以是不在一个epoch,比如一个投票者在一个epoch投给了一个链,但是在之后epoch投给了另外一个链,表示他同时认同几个链的事实。循环投票将导致长程攻击的出现。这两类惩罚在Phase0就会出现,之后会根据分片出现更多的奖惩机制。
4.2.2 正向激励
正向奖励也分成三种,前两种和slashing相关,第三种分成五类,为一般验证者奖励:
举报者奖励:
当一个验证者可以提供其他验证者违规行为(该行为并被判定为slashing行为)
出块者奖励:
那些验证者会被随机选为proposer,以获得出块奖励。可以优良中获取奖励的方式:
加入有效举报的证明;
加入其他验证者的新的验证attestations。举报的奖励会按照7/8和1/8分别分配给举报者和出块者,但是在Phase 0阶段,全部奖励只会分配给出块者。
举报的奖励
证明者奖励:
证明者奖励是指一个验证者同意一个2.0中的决议,这类奖励也分成五类:
包含所有验证;
指定正确的检查点验证;
制定正确的区块链头验证;
链上迅速验证;
在指定分片中指向正确的区块。
这五类奖励都和基础奖励base reward挂钩, 基础奖励的计算方法如下:
其中有效余额为每个验证者有效抵押余额,基础奖励因子为一常数,总余额为所有验证者有效余额之和,单epoch基础奖励也为一常数并反映了一个epoch内的奖励之和。每种奖励具体计算可参加CodeFi报告。
为什么需要惩罚和罚没?
Slashing是ETH2.0中争议比较大的一个设置,但是以太坊基金会在阐述CBC Capser时也明确提到,启用Slashing的意义在于以下两点:
抵御攻击。Slashing让51%的攻击要消耗大量成本,而且攻击后可以迅速恢复。这样让攻击者的成本提升到比获得更多,让攻击者选择去做验证者。
客服验证者困境。验证者的不作为是是验证者困境中的最大的问题,对错误事项进行签名进行惩罚可以有效缓解。
4.3 长期锁仓的风险和解决办法
长期且时间不确定的Ether锁仓是妨碍用户质押ether的一个比较重要的原因。在2.0的Phase 0阶段,Beacon链的质押是一种单向不可逆的过程,用户质押的32个Ether将无法交易,虽然可以有staking的补偿,但是用户没有办法自由转账,所以这也会妨碍大众转入Beacon链的意愿,因为这关乎Beacon的启动是否可以以最低限度开始16,324个验证者或者524,288个ether的抵押。
Consensys的研究提到目前有像liquidity staking working group这样的组织在研究流动性质押的课题,将可以应用到Beacon chain质押上,但是会面临价值的可分离性,质押/流动比率,和验证者转换风险等问题,这都是值得探索的方向。
Liquidity staking,就是指用户可以在staking的同时,可以获得staking资产的流动性,并且可以把staking作为一种质押资产。将有两类方式进行流动性的质押,一类是中心化的方式,包括矿池、钱包或者交易所等,通过大量质押完成流动性的切换,用户可以直接在场内就完成流动性的管理和交易。另一类就是去中心化的方式,通过智能合约完成,也就是到Phase2才可以实现。所以目前来看中心化的方式先发优势很大。
当然中心化矿池或者交易所如果做大,过于中心化也比较有问题,比如交易所利用质押Token去做一些合约用户意愿相反的方向的投票,甚至大的矿池联合贿选等(到了Eth2.0 的CBC阶段才有反贿选的机制)。反倒是去中心化的方案基于Eth2.0,属于生态内的一部分,有可能会受到社区的支持,只是看用户到底选择经济利益还是治理权力罢了。目前大部分用户更关心经济(这也是目前区块链治理的困境),但是不代表以后治理层面的因素不重要。
我们了解到目前可以解决流动性锁仓的方法基本上只有一种,就是在Ether锁仓的时候,托管方(可以是验证者也可以其他合作方)同时发一个流动性的Token,将以太坊挖矿的权益赋予到这个Token中,这个Token也可以流通。因为将有很长时间的BETH锁定期,所以这个新发Token的活跃时间会很长,不仅具备期货属性,还具备一定的债券属性,类似一种2年到期的国债期货(以BETH的超级信用来讲),将成为一个很大的市场。
从服务的全面性来讲,中心化的服务仍然是最有可能跑出的。会涉及到发Token、流转、回收、对付以及staking服务,所以中心化的交易所、钱包或者托管方,最有可能把这些服务集成起来,是相当大的一块新增份额。
也有一些去中心的项目开始做2.0的相应的流动性服务,比如Rocketpool,通过智能合约,发行代表BETH的Token,连接用户和node operator。相当于基于智能合约的一个流动性的插件,用户和staking provider都可以接过来,获取Token奖励。但由于只有到2.0才可以实现智能合约,所以市场节奏并不占优。
以太坊2.0的商业意义和机会
以太坊2.0的上线对于整个区块链生态,都是一件积极的事情:
第一,以太坊2.0将实现更高的安全性和可用性(理论和实践层面),证明了区块链可以作为世界计算机去承载应用。以太坊的商业模式一旦证明是成熟的,整个区块链将进入主流商业社会,VC/PE的融资将加速。
第二,目前没有看到以太坊达到2.0以后还有什么计划,宁静或许就是最终的阶段。因为开发时间周期长,为整个区块链提供了详细的参照样本,后起的新链可以持续吸取经验。
第三,互操作性的链可以和以太坊直接交互,大规模的资产迁移和应用迁移成为可能。
第四,分片链有更大的包容性,各类链也可以选择成为以太坊生态的一部分。
对于以太坊本身来讲,可以实现更多商业层面的实现:
第一,DeFi将可以在用户层面和CeFi竞争一下了。目前DeFi各个方面的表现,仍然不可能和CeFi相比,原因确实是底层太慢,导致应对极端事件不利,而且易用性还达不到互联网产品的门槛。
第二,之前火过的Dapp可以重新登上舞台了,甚至可以从分片链的角度重新建立专属的应用链。
第三,以太坊2.0可以变成资产上链的最佳选择,绝对安全、全球通用的平台。预计以太坊上承载的链上资产将爆发,很大概率超过以太坊的市值本身。
第四,以太坊的状态变得宝贵,可能会出现新的租赁业务模式。
虽然目前在这个阶段还看不到具体的很有希望的方向,真正有想象力的是当多类别、高价值资产开始在链上运作时,生态系统会开始量变引起质变,比如AMM类型的交易市场可能会从中心化交易所那里拿到更多的份额。
另一个要思考的问题是,区块链的互操作性会否造成造成虹吸效应,比如说链上的资产通过跨链都集中在以太坊上,这可能对一些二线的公链影响比较大。实际反映是市场更喜欢流动性更好的映射资产而不是实际资产本身,因为映射资产处于更安全,更去中心化,流动性更好的市场,以太坊2.0可能会变成了一个多资产类别的交易市场。