以太坊最新技术路线深度解析
来源:    发布时间: 2023-12-30 18:45   44 次浏览   大小:  16px  14px  12px
在 HashKey Capital 制作的《Hash Out 42》首期播客节目中,imToken 首席科学家陈昶吾和 HashKey Capital 高级技术研究员 Zeqing Guo 将继续围绕上海升级,结合此次升级的背景、目的和技术路线,深度思考上海升级可能会对以太坊生态带来的影响。

DVT 分布式验证器技术、提升 BLS 签名效率将有效降低以太坊质押门槛


主持人:Siya(HashKey Capital)


嘉宾:陈昶吾(imToken 首席科学家)、Zeqing Guo(HashKey Capital 高级技术研究员)


整理:Peng SUN,Foresight News


在 HashKey Capital 制作的《Hash Out 42》首期播客节目中,imToken 首席科学家陈昶吾和 HashKey Capital 高级技术研究员 Zeqing Guo 将继续围绕上海升级,结合此次升级的背景、目的和技术路线,深度思考上海升级可能会对以太坊生态带来的影响。


Siya:上海升级对质押者或 stETH 质押代币的持有者有什么风险?在此期间需要注意哪些方面?


Zeqing Guo:我就是一个质押者,所以也很关注上海升级可能会造成的影响。我认为大多数质押者最关注的是提款地址的更新。在上海升级之前,以太坊质押协议的质押地址使用 BLS 地址,它跟以太坊地址完全不同,需要手动保存对应的公私钥对。但是以太坊经过几轮迭代后,产生另一种地址,质押者可以把质押的以太坊解除质押提款到一个以太坊正式存在的地址,即 0xAA 类型地址。


因此,现在以太坊的质押协议上存在这两种地址。第一种 BLS 的地址现在已经不建议使用,如果当时质押填的是 BLS 地址,那么有一次机会把它从 BLS 地址升级成一个正常以太坊地址,如果不升级,可能无法提币。如果升级时输错以太坊地址,那么币也会丢失。当然,这并不是必须要在上海升级前完成,随时都可以升级,但只有一次机会,这个是我作为质押者最关心的一件事。


其次,作为质押者,要及时更新客户端。如果没有升级到最新的客户端,可能会造成一些比较严重的后果,譬如跟不上网络等等。其三,对于 stETH 持有者还有一层风险,一些 stETH 大户担心解除质押之后,很多人提币会导致以太坊价格下跌,因此他们会选择在这个时间点把自己手上的 stETH 全部卖成以太坊,这就可能导致 stETH 汇率下跌很多。这对小散户可能没有什么影响,但如果对一些持有 stETH 的机构来讲,实际上就相当于它的代币在浮亏。这就是价格方面的风险。


陈昶吾:我同意郭老师的观点。首先,我认为对于所有的质押者来讲,上海升级之后提款地址更新是最重要的一件事。从整个系统实现来看,这叫做 BTEC(BLS To Execution Change)message。那么,为什么会有地址需要改变?在当年以太坊生态的路线图中,以太坊 2.0 当时被认为是一个新的网络,所以在设置这个地址时有两个不同的方向,因为未来究竟如何并不确定,所以设置的不是 EOA 地址。回到当下,The Merge 之后,以太坊主网与过去以太坊 2.0 现在是同一个网络,并且执行层上又是一个 EOA 地址,所以这时我们需要把地址重新设回到 EOA 可提领的地址,因此导致了这次的升级。


关于提款地址,大家接下来要小心三个方面。第一是刚刚郭老师提到的,整个设置只有一次。由于刚刚提到 BTEC message 不需要支出任何的交易手续费,所以如果允许任何人都可以任意更改地址或允许无限次更改地址,网络可能会面临被二次攻击的风险,基于这一原因,地址设置只有一次。其次,提款地址设置好以后,可以在 beaconcha.in 等浏览器上看到提款地址,地址开头是 0x01,如果开头是 0x00,需要从 BLS 当年派生的这个地址更换成 EOA 地址。第三是可以观察的现象点。以太坊 PoS 质押中包含 Withdrawal Key 与 Validator Key。


Withdrawal Key 最重要,因为这是质押者真正用来提取本金与奖励的密钥。Validator Key 主要是客户端用来参与共识机制(不管是投票还是出块)签署链上操作所需要的密钥。两年多以来,一定会有用户遗忘密钥,或当初保管密钥的方式不够好,而这次 BTEC 信息只有一次设置机会,因此有些黑客在 Epoch 生效之后会比原先质押的用户更快地升级地址。因此,如果当年密钥没有保管好,或者认为自己密钥的助记词可能遗失或泄露,建议在 Epoch 之后尽可能快地更换地址,因为只能换一次,如果被黑客换了,风险就会在自己身上。


Siya:自从上海升级这个概念出来以后,很多人都在讨论 Staking、LSD 这些新风向。两位认为上海升级是否会催生出更多的新项目或新生态?


陈昶吾:上海升级之后会催生出一些新项目和新生态,这是毋庸置疑的。对比一下过去 PoW 网络与现在 PoS 网络,PoW 网络有矿池、矿机,有很多围绕着 PoW 共识算法衍生出来的项目、生态或角色。同样,在 PoS 之后,一定也会衍生出一些围绕着 PoS 的新项目、新生态。从共识奖励来看,假设上线率或客户端的可用性基本上都正常的情况下,目前一个稳定质押者的年报酬率大概是 4%,这是基于目前 56、57 万左右的质押人数计算而成的。回到 PoS 共识算法的经济模型,要思考的问题是如何提高区块奖励或质押奖励。


第一种情况是 MEV 机器人,在 MEV 状态下,出块者有权对交易进行排序,产生 MEV 收益,这些中间的交易手续费会归于质押者所有。换言之,质押者不仅可以获得原本 4% 的收益,还可以因出块而获得额外的交易手续费奖励。所以,围绕 MEV 的模型,未来一些专业的套利者与区块构造者 Builder 可能会组成联盟,大家相互合作,在对交易进行排序之外,榨取出利益。


其次是如何让客户端的稳定性变得更好。假设你本来就是一个开发者,你也很熟悉如何跑这个软件,但如果服务器无法稳定出块或投票时,就会遇到我们刚刚谈到的一些惩罚性的行为。就此而论,除了让小散户可以用更少的 ETH 参与到 PoS 网络的机制之外,还要确保客户端的稳定性,所以我们认为未来会出现很多实现去中心化验证节点的机制。在 The Merge 之后,Vitalik 所提到的路线图也有提及这一点。


其三是再次提升 BLS 效率。因为 BLS 签名方案的最优点是能够支持签名聚合,而聚合的好处是假设有 100 个签名,过去每一个签名都要验证一次,其实这是非常耗费时间与机器运算的。但是如果能够把 100 个签名聚合成一个签名,相较于原本要验 100 次而言,现在只需要验一次,而且这一次的背后代表是 100 张的投票,实际上处理信息的效率就提高了,信息效率的提高会影响到共识层信息的交换或验证的效率。为什么过去设置 32 枚 ETH 限制?


因为出块时间是 12 秒,但是用来构造区块与用来验证每一笔交易里的签名都需要时间,譬如网络传输的时间、签名校验的时间、验证交易的时间等等。从物理时间来看,出块时间必须要小于 12 秒。如果效率不高,100 个签名会消耗 1 秒,也就无法提升能够处理的信息数量。因此,如果能够提升 BLS 签名的效率,我们就可以把 32 枚 ETH 准入往下再降一级,这样就有助于提升更好的门槛。


Zeqing Guo:我从两个方面来分享我的看法。第一个方面就是从以太坊的集体收益来讲,集体收益是什么意思?如果大家经历过 DeFi Summer,可以意识到过去整个以太坊上 DeFi 的创新,其基底很大程度上都是 Curve 的稳定币收益。什么是 Curve 的稳定币收益?这里有两个点,其一是 Curve 代币经济模型会不断地给 Curve 稳定币的池子空投代币奖励。譬如,在里面存入 1 万美元代币,每一个区块会得到 0.001 个 Curve,奖励会随着区块往上增加,这是一个很稳定的收益奖励,当时的收益率至少有 10%。


其二,因为这是一个稳定币池子的收益奖励,稳定币都是 USDT、USDC,相比一些高波动的资产,收益非常安全。这两个点决定了后面 DeFi Summer 之后各种各样的创新,它们的底层基本上都是 Curve 的稳定币收益。因为在别的协议做一些创新时,会考虑协议的安全,以及协议如何给用户更多的收益,这两点考虑下来能选的协议只有 Curve。因为 Curve 既安全,又有一个基底很稳定的固定收益。


举例而言,开启 DeFi Summer 黄金时期的协议 YFI 就是在 Curve 上在做了一层,2021 年最出名的几个协议,譬如 Mean、Convex、Olympus 等实际上都跟 Curve 息息相关。后来 DeFi 创新的熄火主要也是因为 Curve 的熄火,Curve 的币价一直涨不上去,增发也在慢慢减少。目前,Curve 上持有的稳定币收益可能已经在 1% 以下,再在上面做创新也给不了用户很高的收益率,从而导致整个 DeFi 的熄火。


以太坊的上海升级之后有什么好处呢?我们可以对比一下 Curve。其一是稳定的集体收益。包括 3.5% 左右的共识层收益与 1% 左右的 MEV 收益,总计 4.5% 左右的集体收益比现在 Curve 高很多。这还是熊市期间的收益,牛市时可能会更高。其二是足够安全,像当年 Curve 的稳定币池子一样,由以太坊共识来保证以太坊的存取,用户可以存入以太坊,上海升级之后又可以取出来。因此,我认为以太坊上海升级具有与当时 Curve 诞生 DeFi Summer 进行对比的意义,在这上面会出现很多的套娃和增强收益的产品。


除了收益,还有如何保证以太坊网络的去中心化,它可能催生什么新项目,这一点刚刚昶吾老师也提到了很多。我们认为,现在以太坊的质押模型不够去中心化。其一是 Lido、Coinbase 等大的质押商,无论是公司还是 DAO,都是将用户的资金拿去链上质押,用户资金的调配由 Lido 和 Coinbase 控制。


其次,Rocket Pool 这类去中心化协议存在很大的资金利用率问题,即每个 Rocket 运维节点都需要存入 16 枚 ETH 与 10% 的 LP,这样才可以运行一个节点。可能整个地球上有质押运维能力的人很多,但是有 16 枚 ETH 与对应数量 LP 的人并不多,因此很难实现网络扩容以满足用户在该协议中进行质押的需求。除了这两种路线的话,暂时还没有看到第三种。那么,这里就存在很大的问题,即如何能够降低运维节点的成本,譬如一个持有 1、2 枚 ETH 的小码农可以运行一个节点参与共识,并且能够给 Lido 提供质押服务。如果能够实现,网络的去中心化能力会比现在大大增强。


这不仅对以太坊网络有好处,同时对 Lido 或者 Coinbase 这些协议本身也有好处。因为不是去中心化的协议首先会受到很大的监管压力,其次还会面临很强的社区压力,因为社区会质疑这种将用户资金聚集起来的像矿池一样的中心化模式。这些协议其实面临着双方的压力。


因此,无论从网络安全方面的需求还是项目方本身的压力,我都觉得这个方向会产生很多新的项目。现在有两个能够看到的方向,一个是 DVT 分布式验证器技术,这是一个可以帮助持有 1、2 枚 ETH 的用户完成质押的关键技术。还有一个很重要的点是 BSL 聚合签名,能够让每一个质押节点不用再存入 32 个以太坊。


Siya:最后,可以展望一下以太坊下一次重大升级——坎昆升级,两位老师认为有哪些值得我们留意的看点?


陈昶吾:我觉得坎昆升级中比较重大的应该是 EIP-4844,它主要是针对接下来的 Layer2、特别是 Rollup。Rollup 分为 ZK Rollup 与 Optimism Rollup。Optimism Rollup 需要把二层网络的数据写回到主网上,ZK Rollup 也是一样,但是在 calldata 上的成本还是相对比较高,因为过去的主网不是为了写这些数据而使用的。EIP-4844 会引入一种新的 Blob transaction,这是一种新类型的 data,主要就是存放由 Layer2 特别是 Rollup 存入的一些 data,如果未来要去校验整个状态的一些计算时,有资料可以使用。


这会带来一些改变,这些改动可能就包含 Layer2,可能大家会认为 Layer2 交易已经足够便宜,可是相较于主网,整体成本还是不够低。如果 Rollup 要更普及,或是让大家更容易接受,势必就要像过去的网络一样,当频宽越高、成本越低时,才会加速普及。因此,我们认为 EIP-4844 引入后会降低 Layer2 成本,成本的降低就会反映在接下来的生态运行中。


譬如,大家最近经常听到 EIP-4337 账户抽象,账户抽象在引入新的 Rollup 之后,因为账户抽象本身属于合约账户,而每个智能合约最主要的开销就是合约上计算的这些计算量的 Gas 有多少,相较于原本一般的交易,也就是 21000 gas,合约交易一定是比较高的。但是在引入 EIP-4844 以及 data 成本大小降低之后,合约账户的成本就更低。


这不是指它在主网上会变得更好,而是指在 Layer2 上,从钱包或账户上来看,或从 Layer2 接下来的整体生态以及整个系统的元件构建来看,它都会变得比以前更好。因为 Layer2 过去的成本还可以,不是太好,只能说合理,但有了 EIP-4844 之后,如果可以实现大幅度降低成本,接下来 Layer2 上面的生态普及与落地会变得更加简单。


Zeqing Guo:我主要关注的也是 EIP-4844,可以补充一下这方面的内容。刚才讲的内容总结一下,EIP-4844 最重要的点就在于它让 Rollup 成本可能会降到现在的 1/4,这个数字是随口说的,但确实可以大幅度降低成本。


它是如何降低成本的?首先,Rollup 往链上传的数据实际上是 Rollup 在 Layer2 网络上压缩完的交易数据,这些压缩的交易数据存放在 Layer1 网络可以做一些验证工作。因为如果这是一个实时需要使用的数据,它不仅仅需要做验证,而且下一个区块都要根据整个 Rollup 中的交易数据来计算出哈希值。如果高频使用,则不能压缩数据。


之所以可以压缩,就是因为这个数据不常使用,可能写上去一次之后,在很久远的时间点,如果大家要去做一个验证,再把这个数据解压缩去验证一下。所以,EIP-4844 认为,反正这个数据在读取它的时候是个不平凡的事件,那么不仅可以做压缩,还可以做绝一点,把它存入一个开销很小的存储单元中。


譬如,能不能把它存在硬盘内而不是内存里,尽管之后访问这个数据会变得很慢,但同时存储成本也会降低很多。想象一下,电脑内存只有 16G,但是打个游戏,笔记本电脑的存储空间可能有 1T,1T 相比 16G,至少有 16 倍以上的增长空间。


因此,如果我们不把压缩过的交易数据放在内存,而是放在硬盘中,那么整个存储成本就会大大降低。这样做的主要原因就是读取这个数据时是不平凡的,既然已经把它压缩了,那么存放在慢点的地方也无所谓。


这就是 EIP-4844 的基础想法,个人认为这个想法还是挺巧妙的,确实是对整个以太坊协议的很大改进,现在主要是给 Rollup 使用,但我认为未来会给一些跨链桥使用,甚至做一些更加复杂的生态应用。总体来说,我觉得 EIP-4844 升级的意义非常大,可能不亚于以太坊支持提款的意义。