lucifer

在 L2(比如 Arbitrum、Base)上转一笔账,手续费只要几分钱;同样的动作放到以太坊主网,动辄几美元。差出上百倍的价格不是 L2 在做慈善,而是一个叫 blob 的东西在 2024 年 3 月悄悄改写了”数据怎么上链”的规则。这篇文章就把这本账算清楚:blob 是什么、它凭什么便宜、为什么 18 天后会”消失”,以及它和 Rollup、Plasma 的生死有什么关系。

上一篇《Web3 的 Anti MEV:深入剖析“夹”与反制之道》我们抓了个现行:攻击者扫 mempool、插抢跑交易、夹走 40 USDT,全程都在“矿工”的眼皮底下完成。但你可能隐约察觉到一个时代错误——那篇文章里的主角,叫矿工。

问题是,2022 年 9 月以太坊合并(The Merge)转入 PoS 之后,链上已经没有矿工了。出块不再靠算力硬拼,改成“押 32 ETH 押金,每 12 秒摇号抽一位验证者当值”。于是两个更尖锐的问题冒了出来:现在到底谁在排序交易?三明治们攫取的 MEV,又被谁分走了?

一句话剧透:排序权被拆成了一条四个工种的流水线——Searcher 蹲点捕猎、Builder 打包报价、Relay 中转担保、Validator 签字收钱,每 12 秒办一场拍卖决定这个 slot 归谁。以前夹你的是一个矿工,现在夹你的是一条流水线。顺带说一句,你常听说的 blob——让 L2 转账只要几分钱的那位——和这套流水线共享同一个”稀缺资源交给市场拍卖”的思想,但那是另一篇的主角(见文末相关阅读),本文只讲流水线。

老规矩,代码驱动:本文用一段可直接运行的 Python 模拟,把一场 MEV-Boost 拍卖的分账跑给你看。

先说一个很多人都遇到过的尴尬:钱包里躺着几百 USDC,想转一点给朋友,界面却弹出一行字——“ETH 余额不足,无法支付 gas”。你明明有钱,却连手续费都交不起,像揣着一沓现金站在只收硬币的售货机前。更绝望的是另一种场景:抄助记词的那张纸丢了。没有”忘记密码”,没有客服,没有申诉入口,链上资产从此变成一座纪念碑。

这些尴尬不怪钱包 App 做得烂,怪以太坊账户模型的”出厂设置”。《Web3 的入口 - 区块链钱包》里介绍过的私钥账户叫 EOA(Externally Owned Account,外部账户),你可以把它理解成一把钥匙管一切的旧式机械门锁:一把钥匙就是全部,丢了就完了,没有挂失,没有备用方案。而账户抽象(Account Abstraction,AA)想干的事,说白了就一件:把这把旧门锁换成智能门锁——账户从”一把私钥”升级成”一段可编程的合约”,”怎么验身份、怎么付 gas、怎么执行”,全由代码说了算。

熟悉我的朋友应该知道,我经常从零实现一些东西帮助理解,本文照例代码驱动:先用 Python 模拟 ERC-4337 里一个 UserOperation 从提交到结算的完整生命周期,再模拟社交恢复与 guardian 串通攻击,中间穿插 EIP-7702 的机制讲解,所有输出均为真实运行结果,纯标准库,复制即可跑。

Gas:链上一切行为的价格标签

  |  

在《从零开始构建区块链》里,我们亲手搓过一条玩具链:转账、挖矿、查余额,全程免费,转账像发微信消息一样轻快。但那条链有个没说破的”作弊”:真实链上不是这样的。你在以太坊上哪怕只转 0.001 ETH,也得先掏一笔手续费;赶上牛市高峰,一次 DeFi 操作的 gas 费够吃顿火锅,部署合约更是”豪门消费”。

很多新手第一次被 web3 劝退,不是因为看不懂钱包界面,而是被 gas 吓退的:为什么转个账还要钱?为什么贵的时候一笔要几十美元?这笔钱到底给了谁?为什么不干脆免费?

这篇文章就把 gas 掰开揉碎讲明白:它是什么、怎么定价、EIP-1559 之后钱包里那三个数字(base fee、priority fee、max fee)到底是什么意思,以及为什么有一部分费用会被当众”烧掉”。老规矩,最后用 Python 把整个机制模拟一遍,所有输出都是真实运行结果,欢迎对着敲。


博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Material X 作为主题 。
载入天数...载入时分秒...