作者:星主,CryptoMaid,Mumu,CryptoJJ,Crypto_Quinine,Bella_research
出品:OpenBlock运营部
为什么上海升级很重要。因为实际上ETH 15年发布的路线图中的四个阶段:前沿、宅基地、大都会、宁静,历经15次升级,在上一次巴黎升级中已经全部完成了,有遗憾,但是整体大大超预期。
ETH2.0新时代路线图的一大特点是更新频繁,在eth1.0阶段。每次大更新间隔在1~2年的测试才能上马。而ETH2.0当中,现在看来每半年就会进行一次大升级。
而上海升级是新路线图六个阶段的第一次升级,其身上的重担不言而喻。就像四年前看eth路线图觉得贼画饼一样,现在我们看新路线图也是这种有点梦幻的感觉,又要多少年才能梦想照进现实?
说点粗俗的,可以预见的将来,市场马上就会开始热炒,能蹭上这次上海升级概念的代币了。
那为了解答这个粗俗的问题。我们的文章会分为三个部分。
1. ETH2.0 的新格局
2. 上海升级的具体内容
3. 上海升级,潜在的后续影响
ETH2.0的新格局,这是一个属于MEV的时代
为什么这次上海升级如此急迫呢?巴黎升级后仅仅2月,就要定案囊括哪些EIP呢?
在ETH2.0当中”验证者“替换了从前”矿工“的角色。MEV收益取代了原来GAS费的角色。 Liquid pool,staking pool,cex staking 三类矿池取代了从前pow矿池的角色。
1.验证者取代了矿工
ETH2.0主网合并后以太坊网络上的所有交易将不再由能源密集型的“矿工”验证,而是由已存入或质押大量ETH的个体和组织“验证者”进行验证。任何人只需质押 32ETH以上, 即可满足最低要求,验证节点成为**“验证者”。**
2.MEV收入取代了GAS费
web3.0从业者必须尽快普及的一个概念:MEV。我们可以这样阐述,ETH1.0 围绕pow展开的gas分配游戏,而ETH2.0 围绕MEV展开的套利gas消耗游戏
MEV(Miner Extractable Value),矿工可提取价值,也有译为最大可提取价值(Max Extractable Value),最早由 Phil Daian 在 Flash Boys 2.0 这篇论文中提出。
我们都知道,链上所有动作都以「交易」形式存在,而所有交易由用户发起后,都会进入「内存池(mempool)」中等待被矿工打包,出于利润最大化原则,矿工会按照 gas 费高低来确定打包顺序,这就是MEV产生的基本条件,也催生了链上机器人的出现,他们通过高gas设置(PGA)来抢跑池子中的交易进行套利。
具体来讲,目前已开发的MEV套利,主要是三类:1.三角套利2.夹子(三明治攻击.)3.借贷清算。
而实际套利捕捉,目前仅仅能实现理论套利的20%左右。这一块儿的套利策略开发和套利规模,会随着eth的代码完善,性能增强,行情变化逐渐增大。
这样放在地上白捡的利润自然被不少人盯上,据统计数据,自2020年至今,全网累计捕获 MEV 金额高达 6.8 亿美金。这同时也造就了一代新星的兴起——Flashbot,帮助节点捕获MEV的工具。以及MEV捕获赛道的一众花式竞争者,包括但是不限于:KeeperDAO,ArcherDAO,Automata,mistX,BackRunMe
MEV所产生的巨额利润,一直都被圈在矿工和链上机器人的圈子里,最早作为矿池的一种灰色收入被民间戏称”贿赂节点收入“,”最小的51%攻击“。这种情况一直到2022年的伦敦升级和以太坊合并才有所改变。
伦敦升级中通过的EIP1559大大改变了矿工们的收入结构
由从前的收全额 gas 费变成燃烧+收小费的模式,而以太坊合并也标志着它彻底改变为POS共识机制,**“验证者”代替原先比较佛系的“矿工”**参与MEV价值瓜分,ETH2.0的节点网络成为一个竞争更激烈的、生态更丰富的MEV乐园。这也大大增加了Flashbot客户数量,截至目前,近 90%的以太坊验证者都在运行其 MEV-boost 客户端。
从此MEV彻底取代了gas费成为了以太坊“验证者”主要收入,从此gas费被用来燃烧,造成了ETH的长期通缩预期。以目前的数据来说因为MEV-boost的引入,以太坊“验证者”的收入从年化3%左右提升到了接近10%的水平。在ETH通缩的前提下,“节点”收入甚至不输于减半之前,为ETH的网络稳定打下了基础,和其他pos链之间形成了天险一般的壁垒。
3.新时代的矿池
虽然如同前文介绍过的,在eth2.0当中只需要30多个eth就能成为验证者,个人验证者成功获得奖励平均要两个月一次还是非常困难的。尤其现在涉及到mev-boostz这样需要频繁维护的技术活,个人验证者总是捉襟见肘。因此对于除了极少数巨鲸,以及孤勇者以外,加入矿池依旧是主流方案,目前的矿池有三类:Liquid pool,staking pool,cex staking
市场份额如下:
1.流动性矿池:
中心化程度中等,业务模型以市场份额88.67%的Lido为例。矿池收益归属Lido项目方,矿池奖励用户$Lido挖矿奖励,用户存款凭证为stETH,因为stETH具有流动性,因此被称为流动性矿池。维护stETH-ETH交易对的流动性,是该类矿池的主要竞争力壁垒所在。
2.交易所矿池:
中心化程度比较高,矿池收益具体分配方案,管理费用,甚至是抵押ETH的来源,都比较不透明。优势是交易所强大的业务背书和商务团队。
3.矿池:
中心化程度极低,基本是去中心的,模式就是没有什么模式。自由抵押,公平分配,管理费相对透明。
劣势是,在此次上海升级之前,受限于ETH2.0的阶段性局限,目前锁仓的ETH,都处于坐牢状态,无法赎回。可预见,该类型矿池会成为上海升级之后的主要受益方。
基于以上新经济模型,验证者质押ETH可以生成和收集新的ETH(MEV),这些所谓的“新ETH”就是他们证明验证交易和保护网络的奖励。
但目前的以太坊,只能存入ETH但不能提取ETH,质押总价值接近 235 亿美元,都被“被困”在以太坊网络上。
如果不尽快开放解除质押功能,则质押ETH的吸引力将大打折扣,后续也就不会有那么多人进入以太坊网络,这无疑会对以太坊的未来发展和网络安全产生巨大影响。而在POS世界,pos的抵押量就是正义,维护抵押量是维护区块安全的第一共识。
而这一次上海升级将为链上锁定着的230亿美金的POS质押ETH提供解锁能力,还伴随有对GAS优化的诸多EIP融入。
上海升级的具体内容
非常可惜,原定上海升级中非常重要的EIP-4844最终被确认推迟了。它是ETH 分片的第一步,可以极大的降低eth的gas费用。部分操作可以节省gas一百倍。
最终被确认更新的提案只剩下十二个提案中的九个。其中第八条最为重要。
1.EIP-3540: EVM Object Format (EOF) v1
EOF优化
此EIP为EVM引入了可扩展和版本化容器的预留格式。此预留格式可以实现代码和数据分离优势,从而可以在未来轻松引入各种变化。这一变化依赖于EIP-3541所引入的预留格式。
目前,链上部署的EVM代码不包含预留格式。代码通常在客户端每次运行前都要进行JUMPDEST分析验证,导致了额外的消耗,且无助于代码的更新迭代。本EIP中描述的革新引入了一个简单的、可扩展的预留格式,对客户端和编码的要求都相对较低。此预留格式提供了识别并分离代码和数据的分离的功能。这种分离功能对于链上的代码验证器(如Optimism等第二层扩展工具所使用的验证器)特别有利。
2.EIP- 3651: Warm COINBASE
节省了ERC20相关的无意义gas消耗
EIP-3651 于 2021年 7月 12日由 William Morriss (wjmelements) 提出。此提案已经通过并会纳入到上海升级中。这是一个影响激励的交易类型的提案。此提案中提到的 COINBASE 并非大型交易所 Coinbase,而是矿工用于在网络上获取新代币的软件名称。这个概念最初来源于比特币,区块中的第一笔交易被称为创币交易或者 COINBASE 交易,这是一笔特殊交易,用于矿工打包收集挖矿的 gas 小费。执行交易前是否有预先加载被定义为“温暖”或“寒冷”。在 EIP-2929 中,目标不在 accessed_addresses 中时将收取冷账户访问成本(COLD_ACCOUNT_ACCESS_COST),此时的首笔交易为未预先加载(寒冷)的,收取的 gas 费用会偏高,而预先加载后(温暖)的交易,gas 费用则会降低。
William Morris 在提案中提出现阶段在平台上的每笔新交易都必须与 COINBASE 软件进行多次交互, 由于软件需要“预热”,第一次 gas 成本会更高,随着交互次数的增加,gas 费用会逐渐降低。 Williams Morriss 在 EIP-3651 中提出可以将 COINBASE 软件从一开始就保持“温暖”的状态(预先加载),并在accessed_addresses 中包含 COINBASE (0x41) 返回的地址,从而改变矿工插入的首笔交易的 gas 费用,并以此鼓励ERC20代币的支付方式。此提案的好处在于 EIP -3651 推出后矿工打包的交易可以用于更多的用途,gas 费用成本会降低。同时在 EIP-3651 推出前更倾向于使用 ETH 支付,而推出后将更鼓励使用 ERC 20的支付方式。上海升级中通过的另一项提案 EIP-3855 也是一个用于降低无意义的 gas 消耗的提案,两项提案的实施都将很大程度上降低以太坊 gas费用的成本。
3.EIP-3670: EOF - Code Validation
EOF优化
配合 EIP-3540 合约创建时引入代码验证。拒绝未定义指令的合约。这样在合约创建时,就可引入代码验证。拒绝包含截断的 PUSH-数据或未定义指令的合约。
4.EIP-3855:新增PUSH0 指令
是一个降低无意义的GAS消耗的提案
对于EVM即以太坊虚拟机(执行合约代码的系统)中,设计有多种指令,但是之前缺少设计了push0即针对0这个数值的压入堆栈的操作指令,而此EIP则新增了PUSH0( 0x5f) 指令,它将常量值 0 压入堆栈,该指令的需要 2 gas
原先没有push0时导致的是,有一些依赖于0做偏移量的操作,比如远程call调用与返回,则有很多参数是0,原先要操作0,只能使用指令PUSH1 0(即压入一个数字,数字为0),这个操作要消耗3个gas,其次push1 和0各占一个初始化代码的字节存储,导致的是部署此合约的成本也高了2*200gas
该EIP还统计了因此的gas损失:在现有账户户中,有 340,557,331 字节浪费在PUSH1 00指令上,意味着部署损耗达68,111,466,200 gas
5.EIP-3860: Limit and meter initcode
提高智能合约系统上限以及降低gas
通过引入 initcode 的最大大小限制 (MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152),扩展了 EIP-170。即将 initcode 的最大大小限制从24576提升为 49152,即翻倍。同时为每 32 字节的 initcode chunk 引入2个gas 费用,以表示 jumpdest-analysis 的成本。
目的:在合约创建过程中,客户端必须在执行 initcode 之前对初始化代码执行 jumpdest-analysis。所执行的工作随 initcode 的大小线性扩展。基于 EIP170 是限制了 initcode 大小为 24576,而如今则是将 initcode 的最大大小限制提升为 49152 。原先的临时解决方案都是分多个合约部署,然后互相相互调用,但显然跨合约引用是个高gas成本的事情。显然,更大的代码容量,就意味合约大小可以扩展一倍,合约开发者可以部署更丰富的功能。简言之,EIP-3860 目的是支持更大型的 Dapp。
6.EIP-4200: EOF - Static relative jumps
优化EOF,节省gas.
引入了三个新的 EVM 跳转指令(RJUMP、RJUMPI 和 RJUMPV),它们将目标编码为带符号的立即值。这些在大多数(但不是全部)用例中都很有用,并且可以降低成本。
7.EIP-4750: EOF - Functions
优化EOF,节省gas.
引入了两个新的操作码 CALLF 和 RETF 来调用这样的函数并从中返回。此外,还引入了 JUMPF 指令来执行到函数的跳转。不允许使用动态跳转指令。
EIP-4200 引入了静态跳转指令,它消除了大多数动态跳转用例的需要,但并不是所有的事情都可以用它们来解决。
该 EIP 旨在消除动态跳转的需要并禁止动态跳转,因为它提供了最重要的功能:调用函数和从函数返回。
此外,它旨在通过对每个给定函数的输入和输出数量进行编码并隔离每个函数的堆栈(即函数无法读取调用者/被调用者的堆栈)来提高分析机会。
8.EIP-4895: Beacon chain push withdrawals as operations
本次上海升级的核心: 支持验证者通过新的“系统级”操作类型从信标链提款到 EVM
此EIP将引入一个系统级“操作”来支持从信标链“推”到 EVM 取款。目前有约1400万枚 ETH 任被质押在信标链中。此提款操的运行将意味着以太坊信标链质押提款功能将被激活。
目的:这个 EIP 为信标链上的验证者提款提供了一种进入 EVM 的方法, 从而实现质押ETH 的提款操作。实现方式是基于信标链共识信息,系统无条件地直接控制指定地址的 ETH 余额。在此方法下不产生gas费消耗,且无需再用gas来防止dos 攻击**。总而言之,EIP-4895 的目的就是实现质押提款功能。**
ETH 上海升级 解锁质押方案
流失限制系数(Churn Limit Quotient)
根据社区的最新提案,验证者可进行部分提款和全部提款,且出于安全性考虑,提款数额和验证者的退出速率会受到限制。提款的每个Epoch最大可提取数量被设定为512笔,按照现有的验证者数量,他们可4天(验证者总数/(512*225)提取一次奖励。按当前验证者近33.9 ETH的平均余额来算,以太坊市场每天最大面临的平均抛售压力为23万枚ETH,4天累计数额为92.1万枚。
其中,全部提款中的退出速率则会受到限制,退出机制引入了“流失限制系数”(Churn Limit Quotient),ETH提现的限制为每天X/ETH,其中X为验证者总数量/65536,目前每个Epoch仅能激活7名验证者被允许退出,即每天(225个Epoch)1575名验证者。若按每名验证者均持有32 ETH,则每天流出的ETH超5万枚。当然,提款速率还会根据质押的ETH总量进行调整,以防止大量资金外流及攻击者进行罚没攻击。而部分提款则没有具体的提款次数限制。
需要注意的是,验证者的有效质押余额需在32 ETH以上,如果低于这个数额将无法获得全部质押奖励,或余额低于16 ETH时还将被逐出验证者行列。当前,验证者待定的提款方案分为部分和全部提取质押金,其中部分提款允许验证者提取超过32 ETH的部分,全部提款则提取所有质押金后退出质押行列。
不过,近期开发者Potuz提出新方案称可取消处理提款队列
即取消在区块内全部和部分提款队列的逻辑,建议使用验证者index来处此问题。原因在于以太坊上的每个验证者在信标链上被激活的时都会被分配到一个号码,在不使用上述排队退出的情况下,信标链可根据一个区块可以处理的提款上限数来扫描验证者,然后按照验证者的index号码的升序排列处理每个验证者的提款请求。目前,开发者们正对此方案作为备选方案进行研究。
9.EIP-5450: EOF - Stack Validation
EOF优化
引入代码段的扩展验证,以保证在执行验证合约期间不会发生堆栈下溢
当前现有的 EVM 实现对每条执行的指令执行大量有效性检查,例如检查堆栈溢出/下溢、是否有足够的GAS等。此更改旨在通过在部署时验证来最大程度地减少运行时所需的此类检查的数量-没有异常情况发生的时间,并防止在可能发生的地方部署代码。
特别是,这种扩展的代码验证消除了对每条执行的指令进行 EVM 堆栈下溢检查的需要。它还会阻止部署可静态证明需要超过 1024 个堆栈项的代码,但在某些情况下仍有可能超过该限制,因此无法完全消除溢出检查。
EIP-4844: Shard Blob Transactions
EIP-1153: Transient storage opcodes
EIP-2537:Precompile for BLS12-381 curve operations
后续影响:
我们可以看到本次升级的主要目的是做EOF的细节优化,降低gas,以及释放beacon链锁仓的ETH。不在这条主线上的EIP-4844,1153,2537尽管也非常重要,但是都被推迟延后了。
• 那么长期直接收益的还是那些被gas卡脖子类的复杂合约赛道。ETH的pos抵押量最终会长足增长。
• 中期收益的是围绕着验证者规模为中心的一些mev相关整个生态链,尤其是传统矿池。
• 短期收益不知道一些能蹭到“上海”概念的meme能不能有偷鸡的机会。随着ETH抵押的释放,一些坐牢了好几年的ETH可能会对市场产生一些潜在的短期抛压。
OpenBlock 钱包作为面对C端,一直贴合区块链发展趋势的新一代免私钥,高安全的链上mpc钱包赛道领军者。也会持续关注ETH的后续更新,帮助用户寻找能参与到MEV游戏的低门槛渠道,欢迎下载体验。MPC本来就是一个能够解决新时代矿池的潜在问题关键技术,并且区块链是一个愿意奖赏尝鲜用户的行业。如果你期待更多关于区块链行业的思考,请务必加入我们的discord综合社区,进行深度交流。
参考资料:
EIP-3860: Limit and meter initcode
EIP-4895: Beacon chain push withdrawals as operations
EIP-3540: EVM Object Format (EOF) v1
EIP-4844: Shard Blob Transactions