关于以太坊ETH2进展和Layer2扩容,你需要知道点技术背景

This article is not available in the current language yet. Showing the original version.
熟悉以太坊,帮你在审视其它公链时找到一个“锚点”

之前PANews在文章《为什么说模块化是必然的?以及它对我们的启示》中介绍了公链的模块化趋势,有了这些知识的铺垫,现在终于可以和大家聊一聊以太坊自己的模块化了,或者换个说法——聊聊ETH2,和它当前的进度。

相信对以太坊发展史了解较多的读者,早在2018年的时候就对以太坊的POS计划有所耳闻。坦白讲这项计划最开始,也对模块化公链将信将疑,然而这三年多的时间里发生了很多事,消除了很多不确定性。在以太坊最后一个POS测试链即将发布的当下PANews从历史的重要事件出发,围观以太坊这场旷日持久的模块化升级之路,并展望以太坊2022年的进展。

ETH2.0路线图与Layer2扩容

对于今年之前的事,本文阐述关键的部分2018年,以太坊核心开发人员王小伟在台北交流会上公布了著名的以太坊2.0的路线图,这件事在当时的主要意义是将POS与分片的概念合并到了一起。分片很有趣,详细说来大有可讲,它涉及到的分治思想,在非常多的行业中有体现。大家可以关注PANews后续为大家专门带来的分享。)而要让分片开始工作,就必须要有一个“总节点”能像云计算里面的MapReduce那样为分片分配任务,也充当分片的索引。对应到以太坊2.0第一阶段的任务,就是让“信标链“上线,信标链可以承载所有分片的映射,且能够执行验证,相当于分片的“火车头”。随后是加入分片,让分片保存数据。直到第三步,在分片上部署虚拟机(注意是VM,不是EVM),使每个分片都能够执行计算,而不仅仅是储存。彼时的分片还颇受争议,有很多人并不支持第二、三阶段的设想。

于是从2018年到2020年底这段时间,以太坊基本是在一边建设信标链,一边探讨如何用现有的EVM链替代分片的作用。这对以太坊上的应用是好消息,POS迁移不用麻烦它们了。另外其中还有一项重点是对POW的修修补补,比如沉淀一些冷数据,好腾出一些执行空间。这些讨论最终没有没执行,但为后面的Layer2打了些基础。毕竟,一方面以太坊的采用率越来越高了,一方面以太坊2.0的计划还需要执行很多年。

时间来到2020年底,那时的信标链即将启动,无状态分片(不能计算的分片)的进展也不错,可要想让分片从普通火车变动车(还记得上文提到的火车头么),需要解决的问题还有一大堆。首当其冲,就是如何让VM替代EVM,这在中心化的系统中不是问题,但在去中心化系统中,VM要做到的不仅仅是虚拟机的分治与运算,还要对这个过程建立共识,以防有节点作恶。林林总总的困难加起来少,哪怕有人说以太坊2.0能在两年内实现,在当时都像是在吹牛,然而时间不等人,以太坊交易费很快初具规模,扩容的压力与日俱增。

于是Vitalik在那时发了一篇长文,来说明Layer2扩容是当前最重要的事。他呼吁开发者们把分片放到一边,抓紧时间让Rollup接入主网。从逻辑上说,只有Layer2代表的执行层成立,信标链提供的共识层,和分片提供的数据可用性才能派上用场。

如上文所说,这种想法已经铺垫了近两年,所以Vitalik的提议很快受到了大家的认可,并带来的新的发现,如果Rollup可以被作为一个模块拿出来提前实现部分以太坊2.0的功能,那信标链和以太坊目前的POW主网不也是个模块么?而且有了Rollup提供的执行能力,以太坊现在就可以把信标链用起来,而不必等分片上的虚拟机被建成。于是the merge计划被顺理成章的提出并采纳,这项计划将允许信标链作为安全层,承载共识,并直接接入主网,让现有的以太坊主网和Layer2构成执行层。于是从2021年初起,以太坊就可以质押挖矿了

但这对于散户来说,门槛依旧不低。首先你要下载一个客户端,每个客户端都包含两个软件。第一个是节点软件,它负责处理网络共识,与外部世界连接,并发送和接受区块。第二个是验证者客户端,它与你的节点连接,并负责证明与提议区块。每个验证者客户端上都可以有多个质押了32ETH的验证者。但是在The merge实现之前,你每运行一个POS节点,都必须同时运行一个POW节点,并且在无法在POW节点被最终停用之前,取消自己的ETH质押。POS质押还有很多罚没规则,客户端设置有误,网络延迟,或是供电不稳,都可能让你遭受损失。所以本文会跳过对各种客户端优劣的对比,建议大家如果考虑质押挖矿,优先选择代理质押,下文会给出一些参考。


以太坊计划用信标链和主网的融合来完成从
POWPOS的过度,那么过度的时间点怎么确定呢?这就是难度炸弹解决的问题,相信大家都听过这个概念,就是当POW节点一旦发现了超过难度炸弹的区块,节点就会进入过渡状态,并开始从信标链获取对这个区块的共识,一旦共识被确认,这个区块就将是最后一个由POW生成的块,以后所有的新块都将由POS,也就是信标链产生。节点中质押的ETH和验证奖励,也就可以被解锁了。但这个难度炸弹并不是合并的前置条件,它只是一个用来完成合并的工具,而工具听人的指挥,以太坊的开发者可以让它提前,也能让它延后。

去年一整年,以太坊的开发团队细化了上述方案,并且先后发布了三版测试环境,用来探讨信标链与主网合并之后的样子,可以看出此时以太坊还是计划让安全层来兼容数据可用性,执行层需要上传完整的数据到安全层的全节点里做验证,这是对安全层性能的浪费,是为数据可用层的解耦埋下的伏笔。当时的这些设想,被信标链负责人Danny Ryan绘制成示意图,并作为NFT发售,其售卖收入将用来给开发团队发红包。


发布最新版测试环境,给Layer2“开小灶”

在元旦之前,以太坊发布了最新版的测试环境 Kintsugi ,这是首个允许外部用户体验的测试环境。以太坊上个月也终于考虑给Layer2开小灶了,经过优化之后的Rollup将不必和Layer1上的其它应用竞争资源,其成本可能会降到之前的五分之一。与之关联的是EIP-4488,以太坊上海升级的一部分。是的,现在Layer2运行的不错,The merge的进度也没太多好担忧的,以太坊的开发者终于有精力想想他们之前的计划了。

由于Kintsugi对所有人开放,上个月也出过一次问题。这得归功于Marius和推特上的#TestingTheMerge 大军,前者发布了一个名为Fuzzer的东西用来生成一些特殊的随机数据,随后这些数据被志愿者们用来制造一些奇怪的用例,导致部分客户端由于验证区块的方法不同,出现了一些问题,虽然很快被修复了,但还是造成了一些影响。这些客户端的开发团队事后解释说,反正是测试链,可以不那么急着修复故障,让子弹飞一飞,看看是不是能引出更多他们没注意到的威胁。

无独有偶,ETH2去年的测试网Pyrmont,弃用之后被Nimbus客户端团队中的程序员拿来“瞎玩”,今年他突发奇想,用了一种POS独有的网络攻击(类似于POW中的51%攻击)。大家有兴趣可以去这里看看https://twitter.com/jcksie/status/1485574681688223745 , 这次攻击让测试环境产生了一个分叉,叫Insecura,并且由作恶的节点主导,有点鸠占鹊巢的意思。不过要想在现实世界复制这种攻击,其成本可以高到难以想象。但至少,它提醒了我们要注意一个致命的问题——ETH2的客户端多样性。

这个问题在近两年被以太坊开发者无数次高高举起,又轻轻放下,所有开发者都对“一个客户端掌握了三分之二的验证人权重”感到不安,却也感到无可奈何。以太坊在设计时,有多个相互独立的团队,以不同的语言,开发和维护了一系列客户端。其目的是为了分散风险,减少单个客户端被攻克时,对主网造成的影响。然而,这需要以每个客户端都均匀的获得用户数量为前提。可现实很残酷:


Prysm上个月控制了60%以上的ETH2总质押代币(现在是66%),也就是说,只要它想,它可以对以太坊的共识层做出毁灭性打击(双花,然后所有诚实节点会损失最多16ETH,再被踢出验证队伍),开发人员在这些错误的交易数据被永久的记录在以太坊之前,只有13分钟的响应时间。而如果这个占比能被降到50%,则开发人员有3~4周的时间挽回结果。可即便挽回,也要付出不少代价,这件事短期内怕是没法解决。(对多样性感兴趣的朋友,可以到这里了解https://clientdiversity.org/

本文应该会在2月下旬发稿,也就是说Kintsugi的V2版本应该就在这几天内发布,我目前还没看到具体的命名在此之后再过上几周,可能最多也就两个月,ETH2的最后一个(希望是)测试环境Klin就该上线了。

以太坊的难度炸弹,应该会在今年7月出现,如果开发团队能在此之前完成The merge,当然是皆大欢喜。这从工作量上来看,也并非完全不可能,只是会压榨掉所有的缓冲时间,Klin链的测试必需一气呵成,事实上以太坊的开发团队也确实是这样计划的。可我们作为普通的旁观者,乐观来估计,这次的难度炸弹怕是至少再推迟一次。

可能为了督促各个客户端团队加快进度,大家现在有两份进度表可以查看,一份是以太坊如何关闭POW的勾选单(https://github.com/ethereum/pm/blob/master/Merge/mainnet-readiness.md),大部分的空位都已经被勾上了,关于压测和执行层的进度落后也能够理解。另外一个是Klin的进度表(https://notes.ethereum.org/@timbeiko/kiln-milestones#Milestone-tracker),6步中的前3步都是在为新的测试环境制定规则,后三步才开始下场做事,最后一步是把节点和客户端发布出来。目前是执行层的客户端比较拉胯。从以太坊的路线图来看,现在的执行层,也就是以太坊主网,最终会变成信标链的核心部分,所以它的客户端表现也必然会影响到共识层,希望落后的进度可以被尽快追赶上来。

除此之外,扩容解决方案Dank sharding这个概念也是最近提出来的。PANews此前转载过一篇文章,专门介绍这件事《“Danksharding”是什么?为何值得V神在情人节科普在原先的分片设计中,每个分片都需要独立向信标链上的验证者发布和自己有关的任务,就连作为他们数据索引的“信标块”也是一样。这些数据会被拆成碎片,单独分发给负责认证数据可用性的委员会成员,像BT下载一样安全、高效。但这个过程同样也会给矿工带来收益,发布任务的矿工,同时会负责出块。这样一来,那些成熟的矿池会获得非常多的机会来发布任务。可如果我们把出块权和任务发布解耦,验证者就可以挑选那些出价最好的矿工来出块。为了实现这个目标,Dank 提议把一个“信标块”关联的所有分片“Rollup”到一起,打着包去找验证委员会,负责打包的新角色可以有很多,而且会严格服从命令(有技术手段)。我不得不为这种别出心裁感到佩服,真是万物皆可Rollup。同时这种设计也兼具“模块化”特点,首先无论是验证者还是执行层现在都可以在一个打包好的模块中,找到它们所需的一切数据。这就好比搬家问题,有的时候你知道自己要穿的某件衣服在哪个箱子里,但为了把这件衣服拿出来,你先是需要调整箱子的顺序,然后在把箱子里的东西都倒出来,好找到自己的衣服。你搬家的箱子越多,每个箱子的容量越大,这个过程就越复杂。而让信标块把分片打包起来,无疑可以减轻这个工作量。同时由于纠删码的存在,你可以在模块内删除掉多余的重复数据,让模块变小,优化带宽和计算资源的占用。最后,别忘了Dank分片也是分片,所以他可以让验证者仅靠数据样本就能完成数据可用性的证明,后期以太坊的开发者可以利用这种特性搭建起轻节点+欺诈证明的模块化结构,也可以兼容ZKRollup,后者甚至可以做到从执行层到数据可用层的瞬间同步。

我有种感觉,Layer2是执行层的过渡状态,信标链是共识层的过渡状态,而现在这个Dank sharding是数据可用层的过渡状态。以太坊几乎给所有ETH2能带来的好处都找到了过渡状态,却迟迟没有发布ETH2,让人有些感慨。

感谢所有能看到这里的读者,我接下来说一个大家都关心的问题,ETH2会不会带来费用的变化,首先来看官方回答


简单说,官方认为ETH2是以太坊的共识层,而共识层虽然是POS,但不会处理你的交易,所以在ETH1ETH主网在合并后并不会消失)上的交易并不会受到价格影响,但将数据可用层和安全层转向ETH2的的方案,会在这方面大大节约成本(因项目而异)。此外由于合并后的以太坊出块速度会从13秒变成12秒,这可以带来一些肉眼难以观察到的费用降低。

如此看来,想要让执行层的费用变低,还得靠Layer2

索性除了上文中提到的EIP-4488,以太坊还有更多步骤来优化Rollup。我们已经看到 Optimism 1 月份将交易费用降低了 30%,不久将再降低 30%Arbitrum 也在 1 月份削减了费用,Arbitrum Nitro 估计将费用削减 50%。随着Layer2上的交易越多,它的手续费会变得越来越便宜。L1虽然还是那么贵,但已经不重要了,就算几年之后以太坊真的做到了它所说的ZK-EVM,也还是要比L2贵。Dank sharding的作用就像是以太坊原生的Celestia,和L2搭配起来有多强,可以参考PANews之前对Celestia的报道。总之在不久的将来,我们也许会突然想到几年前在加密世界中还曾经存在过Gas fee这个概念,那时的我们会在怀念与释然的氛围中,对这个想法付之一笑。

其实ETH2杂七杂八的小进展真的很多,比如对秘钥的优化,数据冗余的优化,但我想这些过于底层的东西对大家而言意义不大,以后有机会在说吧。

关于ETH2 staking的小贴士

首先回答两个问题:

Q: 要不要自己运行节点?在质押池里质押与运行节点分别有什么风险与好处?

A: 在质押池里质押的好处就是你不需要履行任何职责。风险还是那句老话控制不了你的密钥就控制不了你的币。

Q: 有没有去中心化的第三方运营方案?

A: 有,但所有的第三方托管方案都要求你信任第三方。举例,如果第三方托管了你的验证私钥(你保留自己的取款私钥),你还是必须信任该第三方会妥善运营验证者,不会导致你被罚没(所以你跟第三方之间必须实现分配好责任)。如果你直接把钱交给第三方,连取款私钥都不保留,则信任程度更甚(与把钱存入中心化交易所等同)。

如果你选择运行属于自己的节点,可以在以太坊官网找到详细的中文引导。如果你选择质押池来委托,请注意质押池有两种:

中心化质押池:一般指交易所的质押池,优点是使用方便,无论进出都没有难度,因为交易所本身就有ETH的储备池,以满足立即提款的需求,类似于银行T+0。甚至它还能拿用户提供的ETH赚取更多资金沉淀的收益,类似小黄车。现阶段因为其中心化的托底能力(对抗一切意外),对用户来说很有吸引力。但收益通常较低,虽然它不会额外收取费用,但也没有额外的DeFi收入了,并且交易所因为对商誉的考虑(吃相),不会把以太坊的MEV压榨到极限。大家可以在stakingrewards查询相关数据,由于这些数据有一定时效性,所以在文章中不额外提供参考。

去中心化质押池:StakewiseRocket PoolLidoSSV Network都是这方面的佼佼者。这是以太坊开发者们最推荐的参与方式,虽然这可能是因为有不少以太坊的开发者,本身也是这些矿池的开发者,但真心不建议大家这样去考虑问题。去中心化的质押池,最大的不同在于它可以为你创造DeFi收益,参与质押的用户,可以用ETH换取一种质押凭证,而这个质押凭证,可以被用来抵押、交易或是借贷,大家把它当做一种衍生品就好了。衍生品的流动性越强,质押的机会成本就越低,也就能吸引更多人去质押,如此一来,以太坊的POS机制也会越安全。对于普通用户来说,你可以以质押者的身份参与,也能以节点运营商的身份参与,目前Stakewise的开箱体验有了很大提升,而且随着DAO的成熟,这种模式对秘钥管理也有的更新的解决方案。充提同样也很灵活,可我觉得还是没有中心化的方便。

此外,Teku的产品经理曾在自己的日志中多次推荐过beaconcha.in的移动端质押App,我想这背后的苦心,应该是尽可能拉低参与质押的门槛,让ETH2的客户端多样性逐渐建立起来。最后建议大家关注EthereumPools ,实时了解关于质押池的最新变化。

Share to:

Author: 李策

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: 李策. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together
PANews APP
All three major U.S. stock indexes closed lower, with COIN falling more than 7.48%.
PANews Newsflash