一文说透以太坊2.0改进、Staking机制与商业机会

转载
1566 天前
10516
Hashkey Hub

来源:Hashkey Hub    作者:郑嘉梁


以太坊 2.0 的上线将成为加密社区的重大里程碑事件,一定程度上会决定区块链行业的发展走向,其中也将诞生许多参与机会,对整个加密生态的影响非常巨大。

本文将试图从参与者的角度理解以太坊 2.0 的一些基本框架,以及展望一下随之而来的市场机会。

以太坊的发展阶段概要

以太坊的发展阶段分成四个部分,分别是:

  1. Frontier 前沿-2015 年 7 月上线;
  2. Homestead 家园-2016 年 3 月上线;
  3. Metropolis 大都会-第一阶段拜占庭 2017 年 10 月上线,第二阶段君士坦丁堡 2019 年 2 月;
  4. 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 (无状态以太坊的开发)

以太坊 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 上,这样现在的生态可以不受影响的直接迁移。

以太坊 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 有四个需要解决的问题:分叉选择、最终性、分片、验证者责任。并分别用不同的技术和制度手段去实现。

分叉选择-保证安全性

以太坊 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 协议拥有最终确定性。


最终性问题-不会被逆转,解决长程攻击

以太坊 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 拥有更高的安全性和理论性质,但复杂度和效率较低,实现起来难度大。

分片是 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 变得可能没有那么必须,但仍是可选方案,彼时其相比分片将非常成熟。

验证者责任

验证者 validator 在 Phase 0 阶段有三项任务:

  1. 在每一个 epoch 验证 attesting 信标链;
  2. 收集同一委员会验证者证言 attestations;
  3. 被随机选入验证者队伍后,对信标链上出块。

以太坊里的时间间隔有两个单位:一个 slot 为 12 秒,一个 epoch 为 32 个 slot=6.4 分钟。1 个 epoch 中,验证者以验证者委员会的方式去进行出块,每一个验证者委员会将以委任一个 slot。

委员会里面的验证者验证信标链的链头并进行广播。出块者 proposer 将从委员会中随机选出。被随机选上的验证者将负责出块并获得奖励,若是违反了出块规则(如二次投票或者循环投票),或者不在线,则会被罚没 slashing。

关于 slashing 的讨论我们放在下一部分。

以太坊 2.0 的 Staking 问题

以太坊 2.0 对于参与者来说最重要的特性就是可以进行 staking 了,而且可以从 Phase 0 就开始,这其中涉及质押回报、长期锁仓、经济奖惩等诸多问题,本部分尝试就重要方面进行讨论和解答。

Beacon chain 质押参与率

就 32 个 Ether 就可以迁移到 Beacon chain 这个限制,目前已经有接近 11.7 万个超过 32 个 Ether 的地址。虽然数量一直在增加,但是从斜率上看,增加的速度已经维持了 2 年没有什么变化,而不是因为近期以太坊 2.0 上线的消息。

因为转移是自愿的,用户无非就是考虑几个事情:

  1. 锁仓收益率;
  2. 操作难度(奖惩机制);
  3. 流动性风险;
  4. 机会风险。

锁仓收益率并不完全确定,而是根据参与人数量最终确定,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 的用户,预期自己跑的节点数量,可见一个用户跑多节点的情况会很常见。


操作难度-奖惩机制

以太坊 2.0 引入了惩罚机制,还细分成 slashing (罚没)和 inactivity leak (不作为惩罚)两类。

Inactivity leak 要求验证者持续在线,不然会导致不作为惩罚。如果验证者出现了双重投票或者循环投票,那可能被罚没,如果罚到低于 16eth,会被踢出验证者队伍。

所以惩罚机制是抵押最关心的问题,这也使得很多用户退而求其次,选择 staking provider,但即便如此,还是对 slashing 最为关心。


用户最关心的三大功能:1)非托管钱包;2)罚没机制;3)复合收益率

因为惩罚和罚没机制存在,ETH2.0 也提供对应的正向奖励,下面进行一下介绍:

反向惩罚

不在线罚没 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 就会出现,之后会根据分片出现更多的奖惩机制。

正向激励

正向奖励也分成三种,前两种和 slashing 相关,第三种分成五类,为一般验证者奖励:

举报者奖励:

当一个验证者可以提供其他验证者违规行为(该行为并被判定为 slashing 行为)

出块者奖励:

那些验证者会被随机选为 proposer,以获得出块奖励。可以优良中获取奖励的方式:

  1. 加入有效举报的证明;
  2. 加入其他验证者的新的验证 attestations。举报的奖励会按照 7/8 和 1/8 分别分配给举报者和出块者,但是在 Phase 0 阶段,全部奖励只会分配给出块者。


举报的奖励

证明者奖励:

证明者奖励是指一个验证者同意一个 2.0 中的决议,这类奖励也分成五类:

  1. 包含所有验证;
  2. 指定正确的检查点验证;
  3. 制定正确的区块链头验证;
  4. 链上迅速验证;
  5. 在指定分片中指向正确的区块。

这五类奖励都和基础奖励 base reward 挂钩 , 基础奖励的计算方法如下:


其中有效余额为每个验证者有效抵押余额,基础奖励因子为一常数,总余额为所有验证者有效余额之和,单 epoch 基础奖励也为一常数并反映了一个 epoch 内的奖励之和。每种奖励具体计算可参加 CodeFi 报告。

为什么需要惩罚和罚没?

Slashing 是 ETH2.0 中争议比较大的一个设置,但是以太坊基金会在阐述 CBC Capser 时也明确提到,启用 Slashing 的意义在于以下两点:

抵御攻击。Slashing 让 51% 的攻击要消耗大量成本,而且攻击后可以迅速恢复。这样让攻击者的成本提升到比获得更多,让攻击者选择去做验证者。

客服验证者困境。验证者的不作为是是验证者困境中的最大的问题,对错误事项进行签名进行惩罚可以有效缓解。

长期锁仓的风险和解决办法

长期且时间不确定的 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 可能会变成了一个多资产类别的交易市场。