深度丨全面探究以太坊 2.0

加密谷Live
加密谷Live 机构得得号

May 07, 2020 每天更新你不可错过的区块链事件、项目及投资资讯

该文章已上链

摘要: 本文我们重点研究最早将于2020年7月份推出的以太坊2.0(倘若无其他原因推迟)。然而,以太坊2.0的推出也许并不能算是一个极为重大的事件。

作者 | BitMEX Research
摘要:本文我们重点研究最早将于2020年7月份推出的以太坊2.0(倘若无其他原因推迟)。然而,以太坊2.0的推出也许并不能算是一个极为重大的事件。起初以太坊2.0将主要作为新权益证明共识机制(PoS)的测试网络运行。大部分的经济活动和智能合约仍将保留在原有以太坊网络上,且原有以太坊网络将作为以太坊2.0的平行链继续存在。前后版本之间将会有一个单向通道,即以太坊1.0可以转移至以太坊2.0,但反之则不能实现。鉴于以太坊目前决定通过分片(sharding)进行扩展,我们相信以太坊一定会经历一段复杂且较长的过渡期(transition)。
  

                     

概要

 
以太坊正试图将其整个数字经济转移到一个新的网络——以太坊 2.0上。这种过渡其实是高风险且十分复杂的,并且需要相当长的时间。在我们看来,以太坊推出2.0版本的主要动机是可扩展性(scalability)。事实证明,以太坊网络自推出以来就很受欢迎,其网络上交易量大幅增长。为了让这种增长势头持续下去,全节点运营商和共识代理(无论是PoW还是PoS)都需要运行越来越强大的计算机(这同样意味着相关成本会更加昂贵)。这最终会导致其越来越中心化,由此可能会降低系统的抗审查特性,若一直延续下去会最终使得网络变得毫无意义。
 
面对这个问题,比特币(BTC)选择了链下扩容方案(如lightning),而比特币现金(BCH)似乎更愿意假装这个问题并不存在(至少在某种程度上是这样)。但对于以太坊来说,它在面临该困境的解决方法也越来越明晰——分片(sharding)。
 
分片的核心问题在于它意味着以太坊经济模式的改变。举例来说,如果说以太坊是一个不可阻挡的单一世界计算机,而将其分解成多个分片(多个计算机)的话可能就无法满足所有用户的期望。如果分片1(shard 1)上的智能合约想要与分片2上的智能合约进行交互,由于分片之间需要对一系列事件达成共识且做到信息的共享,在这个过程中将会产生很多摩擦,至少与同一分片上的两个合约进行交互时相比,体验将是不同的,因此,在某种程度上,以太坊2.0的推出会逐渐瓦解之前所谓“单一世界计算机”的愿景。有些人认为以太坊和分片是对立的概念。但还有人认为以太坊网络可能正在介入某些利基领域(niche cases),即如果不同细分用户对不同类型的应用感兴趣的话,那它们之间几乎就不需要什么交互。在以太坊网络上,分片也许是具有一定意义的,它能够保证不同细分用户在共享同样的底层以太坊代币的同时,提高整个网络的灵活性。
 
事实上,分片代表着以太坊的运作方式发生了根本性的变化,这也就解释了为什么向分片过渡其实是一个超越人们所想而更具颠覆性的变化。现有的智能合约不能简单地转移到分片网络中。新的以太坊网络意味着原有网络的智能合约也同样需要适应新的环境重新构建一次。这种过渡将是一个长期且痛苦的过程。在以太坊2.0的初始阶段,它将作为一个平行链与以太坊1.0并存,而在未来的某个时候这两条链将重新合二为一。
 
在以太坊还没有推出之前实际上是计划采用PoS而不是以PoW作为共识机制的。而由于从PoS向PoW的过渡比预想的更加困难(与分片相同),因此其时间安排也就推迟了。随着以太坊向新的网络过渡,以此为契机同时推出PoS是具有一定道理的。以太坊虚拟机将升级到新的版本,此次升级将使得相关技术和对以太坊的监测经验向前推动超过5年。
 

过渡期的三个阶段

 
如下图所示,向以太坊2.0的过渡将分三个阶段进行:
 


单向通道

以太坊2.0推出之后将会有两个以太坊网络并行运行(以太坊1.0和以太坊2.0)。起初,我们可以将以太坊1.0上的代币(下面简称为Eth1)兑换为以太坊2.0上的代币(Eth2),但反向操作是不可行的。因此理论上,Eth2的交易价格应该小于或等于Eth1的价格。然而,在过渡的早期阶段,Eth2甚至不太可能会有价格,或不能得到交易所的支持,因为该币可能不会被用于除staking之外的其他用途,甚至基本的交易活动都不能实现。
 
如果要使Eth1转成Eth2,用户必须使用Eth1上的存入合约。该合约会本质上销毁Eth1,且此次销毁会被当作为发行新Eth2的依据。因此Eth1就基本上被永远销毁了(尽管有可能通过硬分叉协议的改变来恢复Eth1链上的代币)。转为Eth2的代币会自动进入PoS的验证器池。正如我们在2018年有关PoS的文章中所解释的那样,PoS背后的想法是,归属于共识代理的投票与奖励权重是由用户存入代币的数量决定的。在Eth2规范中,每个staking代理需要32个ETH。如果向合约发送超过32个ETH,那么staker也不会从这些额外的币中获得收益,如果发送的ETH少于32个ETH,staker就不会激活手中的Eth2。因此,如果要使得Eth1转为Eth2,应该以32个ETH为一批成批发送,每一批ETH都可以认为是一个独立的staking代理。
 

代币发行

如上文所述,以太坊网络将有两个平行系统同时存在。原有以太坊将继续作为PoW链运行,而以太坊2.0将在新的PoS系统下运行。在此期间,共识代理的两方,即矿工和持股者,都需要激励。因此以太坊的通胀率会增加,直到两个系统最终合并。目前来看这可能会被认为是一个缺陷,但为了确保能够成功过渡到以太坊2.0,它也是值得付出的代价。
 
至于Eth2的通胀计划而言,其发行率将取决于参与staking的Eth2的发行量。每年的发行计划将基于以下算法:

上式中Eth2是转移到PoS的代币数量。该公式背后的想法是,Eth1转入Eth2的数量越多,发行的新币就越多,然而,可获得的投资回报率会下降,因为被押注的币越多,可获得的投资回报率就会下降。我们可以从下图中看到通胀率的变化。
 
(来源:BitMEX Research)
(注:需要至少16000Eth2才能启动信标链)
 
(来源:BitMEX Research)
上述发行时间表是基于激励而言的,而激励应该确保最初有一个很大的动机将代币转移到Eth2中并stake。这种转移的激励会越来越低,因为如果Eth2已经十分成功,那么Eth1的需求量就会减少。这样可以确保有足够的代币转移至Eth2,由此以来新网络的规模就会很大,而如果Eth2的确非常受欢迎的,该种代币的发行量也不会太高。
 
当然,随着所有这些新币的发行,有些人可能会问这种机制将如何匹配以太坊最初的"永久线性通胀(permanent linear inflation)"计划?
 
“永久线性供应增长模型(permanentlinear supply growth model)降低了一些人如BTC中财富聚集(wealth concentration)的风险,让生活在现在和未来的个人有公平的机会获得数字货币,同时也阻止了ETH的贬值,因为随着时间的推移,‘供应增长率’仍然趋向于零。”
(来源:以太坊白皮书)
 
另外还有一些潜在的因素可以拉低潜在上升的通胀率:
 
    • 在阶段1中,费用系统预计会涵盖两个要素,一个是基础费(base fee,其中代币被销毁),另一个要素是溢价费(premium,作为对stakers的奖励)。这些被销毁的代币将降低通胀率。

    • 如果验证者未能参与验证过程,例如是由于节点崩溃或与网络断开连接的原因,则staking奖励会下降。

  • 验证者行为不当会受到惩罚,这些代币也会被销毁。

上述机制会导致Eth2的销毁从而抑制通胀率上升的影响,然而我们很难预测每个因素抑制的幅度如何,因此Eth2的发行率存在着很大的不确定性。
 
值得一提的是,我们不确定任何一部分交易费用被销毁的效力。从经济学的角度来看,共识代理和用户的利益是一致的,用户需向共识代理支付一定的服务费。如果共识代理的资金完全由用户支付的费用而不是区块奖励来提供,那么两方的冲突可能就不那么容易发生。同时,与将其交给费用市场相比,试图任意决定正确的奖励时间表可能会导致效率低下。当然,BTC在这一点上也还没有成功,区块奖励仍然很可观。至于以太坊而言,从长远来看,所有的交易费都归到验证者手中可能更具有可持续性,以此降低通胀计划,以抵消其影响。毕竟验证者只是为了保证用户活动的安全(如果用户不做任何事情,他们就不需要安全性),这可能会使安全和通胀之间的艰难权衡变得更加容易。
 

双链合并

 
在我们看来,最终计划的实施——即将原有以太坊与以太坊2.0合并可能还需要几年的时间。它可能通过使原有以太坊成为以太坊2.0内部的分片来实现。这样一来就可以在分片之间进行代币的双向转移,直至两种代币实现最终合并。根据计划,目前发生在原有以太坊上的大部分活动现在可以在以太坊分片内继续进行。
 
下一步可能就是共识机制的合并。以太坊2.0中原有以太坊的分片可以逐渐过渡到PoS机制。起初PoW机制可以存在,但在设定了一定数量的区块之后,例如每100个区块,区块的共识可以由PoS来决定。PoS会逐渐发展直至取代PoW成为主流共识机制,但在这些PoS的检查点(checkpoints)中仍实行PoW。如此下去,最终PoW以及其区块奖励将完全被淘汰。这将给以太坊用户和投资者提供更多通胀计划的确定性。
 

网络提议的常数

 
下表是我们认为以太坊2.0说明中一些最重要且最具有意义的一些常数
 

(来源:BitMEX Research,以太坊2.0 Specs)
 

PoS

PoS是根据累积最多的stake(即投票给最多币的链)来选择分叉规则的一般思路。当然我们还面临着如何构造投票过程的问题。以太坊2.0投票系统背后的核心原则与2018年以太坊提案所说明的并没有变化,它仍然是基于Casper Friendly Finalty Gadget的想法。但是,基于CasperFriendly Finalty Gadget和the Latest Message Drivent Greedy Heaviest Observed Subtree Fork选择规则(即CasperFFG & LMD GHOST Fork选择规则)的结合,这个系统已经更新了。
 
我们将通过将投票系统分解成几个组成部分来解释投票系统的基本机制。首先要考虑的是我们有一个大的stakers池,每个staker最多代表32个ETH(激活一个staker需要32个ETH,这个数字可以低至16个ETH直到停用为止)。这个池子不直接对区块进行投票,而是被安排进各种投票委员会中,其成员从更大的池子里随机抽取。
 
设立委员会的原因是,不是每个staker都可以参与每个区块的投票,否则区块链上会包含太多的投票数据,而且无法扩展。委员会也有助于将投票数据聚合成可管理的数据块(chunks)。因此会选择一个随机子集的staker在这些委员会中投票。Eth2规范将每个委员会的目标人数定位128,这是一个比较理想的最小值。我们认为实际上是存在区块选择的概率保证的。签署投票的签名可以进行聚合以减少所需的区块空间,确保网络可以扩展。
 

实际上情况还要比上图所展示的更复杂一些。在第0阶段,每个slot最多可以有64个验证者委员会(而不是像上图展示的那样只有一个)。因此,如果每个委员会有128个成员,那么每个epoch最多可以包含多达262,144个stakers(约840万ETH)。
 
每个staking代理被分配到一个委员会中,stakers越多,委员会的规模就越大。委员会最大的规模为2048个,大致相当于每个epoch使用的以太坊供应总量(64个委员会*32个ETH*32个sllot*每个委员会2048个stakers=1.342亿ETH),因此无论有多少人选择stake,委员会中总会有足够的空间。下图说明了委员会的数量和每个委员会的成员数量是如何随着staking池中的ETH数量的变化而变化的。它表明随着staking池的增加,委员会的数量首先增加到64个,然后(当staking池大约为840万ETH时),委员会的规模开始增加。
 
要确定哪个区块的票数最多,我们需要将所有委员会的投票数相加。如果投票者表现良好,那么他们可以从新发行的以太坊池中获得奖励。另一方面,如果投票者进行了某些类型的恶意行为,则他们就要获得惩罚,并损失一部分权益。这些对恶意行为的惩罚是为了防止诸如一个投票者投票给两个冲突区块等事情的发生。然而,在某些情况下,为冲突区块投票可能是合法的,因此惩罚规则并不是直观意义上的惩罚规则,我们在后面的报告中会讨论这些规则。
 

最终化(Finalisation)

当委员会成员对某一区块进行表决时,他们不仅要对某一区块提案进行表决,而且还必须引用和表决某一历史上的检查点区块。或者更准确地说,引用从一个检查点区块向另一个检查点区块的过渡(一个源检查点和一个目标检查点)。正是这种机制才有助于保证投票过程有效且可信。因此,本质上有两种PoS投票过程发生(一个在另一个之内)。下图展示了该两种投票类型,以及这些投票可能被存储在哪个区块中。
 
如果在某一阶段的所有委员会中,有一个核对点模块建立在该模块之上,并且有三分之二以上的委员会成员在投票中提到该核对点,那么该模块就是 "确定的"。最早在一个epoch的三分之二的时候就可以实现。下一个阶段是最终化(Finalisation),当区块链一个区块之后包含两个确定区块,该区块就被最终化了(finalised)。因此,在大多数情况下(由于强大的通信渠道,三分之二的投票阈值可以很快实现),用户需要等待大约一个epoch(6.4分钟)的时间来验证区块,而最终化则需要等待两个epoch(12.8分钟)的时间。如下图所示。
 

惩罚条件

如上文所述,惩罚条件(slashing conditions)并不是明晰指出的,不能因为投票者投了两个矛盾的区块,就简单地惩罚他们。因此,有以下三种情况下可以对投票者进行惩罚。
 
可以惩罚的条件:
    •  一个区块生产者在其分配的slot内提出两个冲突的区块提案。

    • 产生两票,其中包含相同高度(height)的检查点区块过渡引用的冲突引用。

    • 产生两票,其中包含重叠的检查点区块块过渡引用。例如,一个引用了从检查点区块1到检查点区块4过渡的投票,和一个投票引用从检查点块2到检查块3的过渡的投票。人们可能会认为这个规则应该被一个更明显的规则所取代,即所有的块过渡引用应该是按顺序进行的,然而,一个诚实的节点可能会错过一个检查点区块,而不按顺序的投票可能是合法的。这种行为如下图所示。

 

对于PoS过程的评估

 
在最终确定后,可以肯定的是用户们交易肯定不能被双花。但是,这些系统的评估难度非常大,在评估收敛(convergence)和最终化(finalisation)的程度时,是非常困难的。
 
这整个过程中的投票委员会、投票委员会的索引、参考检查点块过渡和等待两个epoch的最终化的过程可能是一个不必要的抽象。它只是将PoS系统分解成不同的部分来增加复杂性,混淆了安全模型的根本性破绽──权益问题。另一方面,也许将PoS过程分解成这些子部分确实会真正增加网络的安全特性。在概率的平衡上,我们认为这些投票过程可能在一定程度上提高了安全性和。投票过程中的复杂性(比如说在各轮投票过程中的staking)确保了改变staking客户端到任何利润最大化的非交易行为在技术上很可能是非常具有挑战性的,这在一定程度上增加了安全性。但这是否会使系统足够强大以使其长期生存和发展,在我们看来这确实是一个有待商榷的问题。然而,我们想在评论和分析中说明一下,我们对这一系统的理解是不完整的。
 
请注意,我们上面的描述只是对这一过程的一个基本轮廓,其中有很多我们没有提到的内容,还有制度的许多疏漏等方面。例如,我们没有涉及到进入或退出staking池,如何计算每个staker的奖励和惩罚,举报人如何标记不良行为,所有投票数据占据多少区块空间,以及如何汇总和计算staking投票等问题。
 

分片(sharding)

 
在第一阶段中,分片被添加到系统之中。原计划是一开始有1024个分片,现在已经缩减到只有64个。信标链仍然被认为是主链或父链,只是现在它也包含了与分片的链接。由于有64个分片,因此信标链可以链接到64个分片,假设在正常运行下,每个信标块可以链接到每个分片。
 
这样就有了两种引用方式,分片链区块引用信标区块(用信标区块的哈希值),信标区块可以引用信标链区块(这叫交叉链接)。有可能在某些信标区块中遗漏掉一些分片引用,但是每个分片链区块都必须链接到信标链。
 
(来源:BitMEX Research)
(注:蓝色箭头代表一个区块的哈希,每个区块中都必然包含有哈希。灰色箭头代表一个交叉的分片引用,它可能包含在信标块中,也可能不包含在信标块中。如果漏掉了一个分片则可以在下一个信标块中包含一个引用,如图中右侧所示)
 
需要注意的是,在第1阶段,分片系统和分片过程变得相互关联。从第0阶段开始,每个slot的多个验证者委员会现在被映射到了分片上。因此,每个分片都有了自己的分层投票委员会,在每个提案人委员会期间都会发生变化。与信标链的方式一样,委员会中的一名成员然后被给定在一段时间slot中产生一个区块的任务,而其余的委员会成员然后对每个提案进行投票。需要考虑的一个关键点是,当信标链通过交叉链接引用分片区块时,所有这些投票信息都包含在信标链中。
 
下图说明了一个stakers对分片链的一个可能分配方案。在第1阶段中,staking代理被随机分配,要么分配到信标链,要么分配到特定的区块链。如果少于840万ETH,则没有足够的staking代理来完全服务于所有的分片,因此分片可能会有一定程度的缩减现象。
 
因此,信标链每个槽位只剩下一个验证者委员会。每个分片区块都包含一个最新的信标区块的哈希值,并且。信标区块可能包含了所有的投票数据,这些数据来自于分片(交叉链接)。
 
因此,所有区块链上的投票和staking也可以用于主信标链的分叉选择规则计算和最终化的过程中。PoS的工作原理和以前一样,只是信标链上的投票信息不是包含在一个委员会索引中的投票信息,而是包含每个分片的投票信息。
 
在各个分片链内没有检查点区块,也没有证明或最终化过程。相反,要想在区块内部获得交易最终确定的保证,必须等待信标链。一旦信标链中的相关区块最终化完成,那么分片链中的用户就可以获得分片内交易的确定性。
 
因此,交叉连接有三个功能:
    • 使区块链委员会中的staker投票能够被计入主信标链上的投票,以及

    • 验证分片链区块且使其最终化。

  • 关于所有其他形式的跨分片通信,如跨分片传输ETH或其他资产,据我们所知,这方面的机制还没有完全解决。虽然这个话题可能要到第二阶段才会出现,但这很可能是另一个在可扩展性和可用性之间造成不完美妥协的领域。人们甚至可以说,这里的挑战是如此之大,以至于整个分片模型都会受到质疑。

分片结构为希望运行节点的人提供了灵活性。人们可以运行一个节点来处理一切,信标链和每个分片。人们还可以只运行信标链,其中包括一些分片区块的区块头。还有第三种选择,即运行一个节点来验证信标链和选定的分片子集。如果一个人选择不运行一个节点处理每一个分片,那么他就是依靠其他人来检查这些分片中的进程的真实性,然而这样做的想法是,有些用户会选择验证这些分片,因此他的保证程度在概率上是很高的。
 

结论

以太坊持有者喜欢尝试新的复杂系统,无论是The DAO、ICO、Maker,还是现在的DeFi。然而一些以太坊社区的成员向我们表达了这样的担忧:以太坊技术已经有5年的历史了,也许已经落后了。因此以太坊2.0满足了一个热衷于尝试新想法的社区需求。所以我们预测,将会有相当多的资金会涌入以太坊2.0赚取staking奖励,该奖励则可能是价值数十亿美元的ETH。
 
很多人问我们,以太坊 2.0的推出会对现在ETH的价格产生什么影响。当然在短期内,大量的ETH可能会被锁定在信标链内部,被新的区块链赚取奖励的能力所吸引。这一方面可能会限制市场上的ETH供应量,推动价格上涨,另一方面可能只是吸引其他被视为锁定的合约的ETH。然而,真正的问题是以太坊是否会推动长期价值,为此,供应不仅需要限制,还需要有可持续的需求。
 
要想让以太坊2.0网络取得成功,权益证明和分片系统需要发挥作用,并且有足够的吸引力来让原有以太坊生态中具有经济意义的部分加入到以太坊2.0中。智能合约和DeFi系统将需要选择哪种分片适合他们,并投资升级他们的技术,以适应分片化系统的复杂性和局限性。因此,以太坊生态系统中相当一部分人还需要很多年的时间才能实现这一转变。以太坊2.0是一个令人难以置信又雄心勃勃的项目,我们同样觉得它并不会在不经受重大挫折的情况下取得成功。
 
在写这份报告的过程中,有一件事着实吸引了我们的注意力:以太坊异常复杂。有这么多的委员会、分片和投票类型,似乎一不小心很有可能会出错,甚至可能会有进一步的延期。然而,尽管有这些潜在的问题,以太坊2.0仍然值得一试。如果它真的成功了,潜在的回报是非常可观的。

BitMEX Research   作者
子铭   翻译

子铭   编辑

 

   

 作者:加密谷live;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 加密谷Live 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信