EVM 按被触碰的最高地址给内存算账,编译器只能把变量塞得尽量紧。EIP-3336 提出按固定大小的页来计费:用了哪几页付哪几页的钱,地址空间随便分配。这份 2021 年的提案解释了计费规则如何反过来塑造合约代码的形态。
汇总与「以太坊」相关的文章,帮助你系统了解该主题。
EVM 按被触碰的最高地址给内存算账,编译器只能把变量塞得尽量紧。EIP-3336 提出按固定大小的页来计费:用了哪几页付哪几页的钱,地址空间随便分配。这份 2021 年的提案解释了计费规则如何反过来塑造合约代码的形态。
以太坊上最常用的一步算术是乘一个数再除一个数,但EVM里做全精度乘除要靠基于mulmod的几十条指令模拟。EIP-5000提议给EVM加一条MULDIV指令,用512位中间精度一次算完。本文拆解它的规格、那个特殊的除零约定,以及它为什么停在Stagnant。
EOF格式把合约字节码装进带数据段的容器,旧的CODECOPY读码指令被弃用,读数据段需要新工具。EIP-7480提出DATALOAD、DATALOADN、DATASIZE、DATACOPY四条指令。本文逐条拆解它们的语义、Gas定价和越界补零规则。
信标链的验证者名单和新存款只做追加、从不回收,退出的人越多名册越长。EIP-6914提出让完全提款且过了安全等待期的验证者索引重新上岗。本文解释这条名册为什么会无限生长、回收要满足什么条件、以及它为何止步于Stagnant。
账户树里不存在的地址绕过缓存,攻击者可以用它把节点的磁盘查询次数拉满。EIP-2583提出对命中不了任何账户的树查找加收罚金Gas。本文拆解幽灵地址攻击的原理、罚金的账,以及这份2020年提案停在哪里。
EVM 的 gas 是整数,ADD 这类最便宜的指令至少收3,砍到1就是地板。EIP-2045提出一个更细的记账单位——粒子,1 Gas 等于一万粒子,让便宜指令的成本可以继续往下探。本文讲清这套双计数器账本的算法与它的止步原因。
以太坊的历次升级有时按区块号生效,有时按epoch,有时按时间戳。EIP-6953把这套触发机制从工作量证明时代一路整理到合并后,并解释了为什么执行层后来必须改用时间戳。本文按这份信息性文件复盘触发方式的演化逻辑。
长期运行的测试网会积累状态膨胀、资金枯竭和共识事故。EIP-6916给出一种反向设计:网络跑满一个固定周期就整体回滚到全新创世,链上历史一笔勾销。本文拆解这份Final级提案的迭代生成规则与安全前提。
以太坊同步协议曾经允许节点按状态哈希逐条索要trie节点和合约代码,这条GetNodeData消息最终被EIP-4938从eth/67里删除。本文讲清这条消息原本干什么、为什么效率问题大到必须取消,以及删掉之后节点靠什么补齐缺的数据。
把状态树换成新结构之前,每个节点必须保存好自己产生过的哈希对应的原文,否则转换时无从对账。EIP-6873给执行层下达了一份限时保存原像的义务清单。本文解释原像是什么、为什么换树离不开它,以及这份文件挂在哪个升级计划下。