1/30 V神最近更新了ETH路线图,里面有些【有趣的点】和【隐含的密码】给大家解读下:
一共分为六个阶段(黑框),每个阶段有若干里程碑(蓝框),每个里程碑完成需要依赖若干项技术和提案(绿框)
2/30 第一阶段Merge的A里程碑“转PoS”顺利完成,PoW退出了历史舞台。而Staking的提现(withdrawls)功能,看进度条已完成80%,开放提现估计快了,期待“上海升级”。
3/30 Merge的B里程碑“单区块最终确认(SSF)”是新加的。什么是区块最终确认?举个不恰当例子,过去PoW时代,交易所上账一般要12个区块,但这只是个宽松的需求,仍有超低概率分叉可能。而转PoS后,理论上32个区块就会最终确认,绝对不可逆转/分叉。
4/30 SSF常翻译为“单槽”最终确认,但我觉得说成“单区块”比较顺口。顾名思义,就是1个区块就能完成最终确认,把确认时间从32区块(6.4分钟)降低到12秒。
Paths toward single-slot finality - HackMD
https://notes.ethereum.org/@vbuterin/single_slot_finality
5/30 这很难,要知道传统BFT共识中,虽然单次共识每次都不可逆,但它无法支持很多节点。一旦节点多了,对节点设备性能要求会指数上升;而传统PoW共识虽可容纳很多节点,却需要很长时间才能实现99.99%不可逆。
6/30 而SSF“既要又要还要”。既要节点参与数量多,又要节点参与门槛低,还要单区块即可快速确认。
这要依赖签名技术的进步(例如BLS),这样一堆节点都可以一起签名节约带宽,再加上委员会机制,然后单区块确认才有了希望。不过看进度条,仍然任重道远。
7/30 第二阶段Surge挺有意思,加一个非常直观的KPI:TPS要到100,000。但是又稍显心虚地加了小括号说rollups也算哈哈。其中A里程碑是完成rollup初步扩容,而这完全依赖于EIP-4844提案。
8/30 EIP-4844即proto-danksharding被明确放入路线图。4844是danksharding前置方案,这个难度小。简单来说是先给ETH主网外接blobs,这样rollup数据全部存blob不要存主链。类似于物流仓库喜欢建在昆山而不是上海。这样可以接更多rollup,同时让每个rollup费用降低。https://www.eip4844.com/
9/30 另外,由于4844是个简易版,所以blob还是由PoS节点来管理。这样原计划的16MB会让节点扛不住,所以改成1MB的blobs。当然1MB也不错,让rollup降费很多。进度条大概60%,进展算是顺利的。
10/30 第二阶段的B里程碑是rollup全面扩容。重点在DA层,DA层也是存数据的。
不恰当的比喻是,有些数据让ETH亲自来存有点大材小用,所以ETH决定找外包。那么为了防止这个外包的数据层(DA)不作恶,还需要数据抽样调查(DA sampling),这要引入很多密码学算法,进度感人,大概还在理论论证阶段哈哈。
11/30 另外,从ETH官方的视角来看,ZK的技术成熟度才堪堪1/3,OP系也就1/2,也就是说一个上了幼儿园,一个还在蹒跚学步,远没到理想的地步。因此,可以理解即将上线的几个ZK系,基本都是抢时间上线的产物,大概做了很多中心化假设和妥协吧。
12/30 第三阶段Scourge是新加的,上个路线图是没有的!这个小僵尸头像代表了这个阶段是主要针对MEV的,非常欣慰ETH这么重视这一点。MEV is bad。Nansen给我一个地址贴的标签是,重度链上交易者和三明治攻击受害者,我每天交易头都被夹爆了,没有用户喜欢MEV。
13/30 然而,MEV对于PoS节点却是好个生意。低情商的说法是:PoS节点接入MEV,实际就是在链上“与民争利”。回到路线图,幸好,ETH还是认为交易打包需要中性(neutral)。目前选出的方案是用PBS来降低MEV的影响。
14/30 PBS即出块者和排序者分离。排序者只负责排序不管上链,出块者不管交易,直接选排序者打好的包上链。这样贿赂链条就变长了,多少会好一点。但是并不能治本,只能是“缓解”。毕竟PBS只是削弱节点的权力,让报价公开化。
15/30 另外路线图里留了几个小问题,可能是接下来的研究方向:比如能不能App直接帮你预确认(pre-confirmations)?例如Uni帮你内部预约了交易成功;或者App是否可以公开禁止三明治来保护用户呢(frontrunning-protection)?例如Uni禁止三明治机器人。
16/30 Btw,PBS的工作基本上都只开展了20-40%。只有一个完成了,那就是外部MEV市场,这个估计说的就是flashbot吧。
17/30 第四阶段Verge(老路线图的第三阶段)变化不大。主要里程碑是建立Verkel树。这个东西如果开发好,验证区块会很快、很丝滑。这个工作是有些进展的,甚至比上一阶段PBS进度更快。
18/30 不过有一个变化,之前ETH还只是认为完全ZK化(fully SNARKEed ETH)是个有趣的课题,现在,L1 ZK化则明确地加入Verge路线图之中。注意,不是L2哦,是L1也要ZK化。当然,关于它相关工作的开展还未开始。
19/30 另外,前四阶段也都轻微涉及到了抗量子算法(quantum safe),不过量子破解这东西…目前还在非常早期的实验室阶段,属于重要但不紧急的事项。
20/30 Purge,第五阶段,代表Emoji是个扫把。这一阶段最重要的就是完成一些早些年欠下的“技术债”(technical debt),这词儿真的接地气。早年间,ETH很多架构都没想太清楚,例如历史记录&状态记录的保存问题,现在决定一口气都完善一遍。
21/30 相比过去的变化是,EIP-4444被明确写入Roadmap。EIP-4444的核心要义,要求客户端必须修剪一些没有意义的历史数据,比如1年之前的数据。注意,这里不是说直接砍掉区块链账本,而是一些臃肿的历史数据。区块链账本是根基,永远不能动的。
22/30 有个好玩的事:EIP-4444官方要求,它的发音必须(MUST be)是“four fours”。
EIP-4444: Bound Historical Data in Execution Clients
https://eips.ethereum.org/EIPS/eip-4444
23/30 过期状态也一样。其实,理论上只要有个账本,每个账户的一切交易都是可以反推的。但是实操的话,每次都反推那就太慢了。所以,以太坊还维护了一个状态树,比如说某时某刻,A账户有多少钱,B账户有多少钱,这样查起来会快很多。
24/30 但是“快”的代价是ETH的状态数据太多了,几个TB的状态数据让很多节点吃不消。让更多家用级节点接入,永远是ETH(以及BTC)的最大追求。所以为了完成这个目标,状态必须得砍。状态过期(State expiry)就是要做这个,不过我理解,目前方案嘛…其实还不太明确,还没怎么动工。
25/30 此外,在第五阶段,还要做一些EVM优化的工作,例如禁止自毁,这是某种退还GAS的机制,再例如优化gas模型等等。
26/30 最后的第六阶段,Splurge,目标特别意思:修复一切(fix everything else)。比如说EVM,很多东西要优化;比如说VDF,让链上也能产生真正的随机数。VDF其实之前的路线图也有,不过看样子实现VDF需要硬件配合(划重点)。
27/30 另外,EIP-4337也是这次路线中的新提案。账户抽象很多人已介绍过,这里再简单说:过去智能合约只能用于链上交易,现在也希望智能合约直接用于你的钱包。
比如说:
-通过社交媒体直接恢复钱包
-项目方帮你垫付gas费
-USDT作为gas等。
28/30 实现它的路径是需要一个新的特殊交易内存池。那些垫付交易全发在这里,由其他人垫付。你发现了么?这个不需要改造ETH。4337方案当年替代方案其实蛮多,但是最终击败其他提案的关键就是它无需修改共识层。大家都喜欢贴补丁,硬分叉对于区块链来说伤害太大。
ERC-4337: Account Abstraction Using Alt Mempool
https://eips.ethereum.org/EIPS/eip-4337
29/30 账户抽象其实是蛮好的一件事,虽然这个名字太抽象了,很多人不好理解。但是,这才是mass adoption的关键。没有这个东西,ETH绝对无法突破到千万用户级的瓶颈。不过,其实应该把它放到更前面的阶段才好,虽然整体是平行开发的,但是优先级显然有区别。
30/30 Endgame! 以太坊的Endgame是什么样呢?$ETH将是一个非常高性能、安全、节点众多、且具有一定程度抗审查的公链,同时,它还有非常易用的前端和后端,而这个也许会带领我们离开这个遍地依赖信任的黑箱世界。期待那一天。