以太坊上存在一批历史遗留地址:没有代码、nonce 为零,存储里却有值。它们源自 EIP-161 之前的创建规则,让合约创建可能撞进一段旧存储。EIP-8253 在 2026 年 5 月提出一次性收尾:在指定分叉区块,把一份固定清单上这些账户的 nonce 直接改成 1,让任何 CREATE 或 CREATE2 在 EIP-684 前置检查阶段就失败,作为 EIP-7610 运行时存储检查路线的替代方案。本文解释幽灵地址从哪来、为什么用改 nonce 这种不规则状态转换,以及它的代价。
汇总与「智能合约」相关的文章,帮助你系统了解该主题。
以太坊上存在一批历史遗留地址:没有代码、nonce 为零,存储里却有值。它们源自 EIP-161 之前的创建规则,让合约创建可能撞进一段旧存储。EIP-8253 在 2026 年 5 月提出一次性收尾:在指定分叉区块,把一份固定清单上这些账户的 nonce 直接改成 1,让任何 CREATE 或 CREATE2 在 EIP-684 前置检查阶段就失败,作为 EIP-7610 运行时存储检查路线的替代方案。本文解释幽灵地址从哪来、为什么用改 nonce 这种不规则状态转换,以及它的代价。
脚本less 脚本用密码学协议代替脚本语言:适配器签名、脚本less 原子交换、MuSig 聚合,让多条件支付在链上只呈现为一笔普通转账。比特币与门限签名的许多现代方案都走这条路。本文解释它与传统脚本路线的分工、几个代表构造,以及各自的工程前提。
Sui 合约读的链上时间来自创世建在 0x6 的唯一共享对象 Clock,时间戳随每次共识提交推进,读它的交易必须走共识。本文按 Sui 官方文档拆解这份时间的更新节奏、快路径分界与纪元时间戳的粗粒度替代。
EIP-7705 提议给 EVM 增加 NONREENTRANT 与 REENTRANT 两条操作码,用协议级开关代替合约里逐手写下的重入锁。本文讲清这两条操作码各自做什么、标志位的作用域与回滚语义,以及这份 2024 年提出、目前处于停滞状态的提案距离主网还有多远。
在 EIP-684 之前,规范没有明确禁止在一个已有代码的地址再次执行合约创建。EIP-684 规定:创建目标地址只要已有非零 nonce 或非零代码,创建必须立即像首字节非法一样抛错,并追溯适用于所有既有区块。本文讲这个「部署碰撞回滚」规则的来龙去脉,以及它和后继提案 EIP-7610 的关系。
EVM 规定 JUMP 与 JUMPI 只能落在不处于 PUSH 立即数之中的 0x5b 字节上,为此每个被跳转的代码都要先做一次线性扫描。EIP-7921 提议取消这层歧义检查。本文讲清这条校验从哪来、它挡住什么又拖累什么,以及为什么这份提案停留在 Stagnant。
合约调用合约时,EVM 会为每一次调用新开一个帧:各自的栈、各自的内存、共享的世界状态。CALL、DELEGATECALL、STATICCALL 的区别就在于新帧里『我是谁』和『用谁家的存储』怎么填。本文拆解调用帧的资源划分、gas 传递规则、返回数据缓冲区和 revert 如何在帧间传播。
Chia 系的脚本系统 CLVM 是 LISP 家族的最小方言:程序和资金一起被执行,没有账户、没有全局状态、没有区块高度可查,输出是一份条件清单告诉节点这笔花费是否合法。本文讲它的求值哲学、条件系统与 EVM 的本质分野,以及 puzzle 加 solution 的花费模型。
EIP-8337 提议给字节码加一个 MAGIC 前缀:带前缀的代码在部署时做静态验证,保证控制流完全静态、每个返回都有对应调用、数据栈深度可静态证明不会下溢。本文解释这套静态合约与 EOF 的关系和实际意义。
智能合约里一次余额更新要读、算、写三步,并行执行引擎很难判断两次更新能不能同时跑。EIP-7519 提议加两个原子存储操作码 SCREDIT 与 SDEBIT,让协议自己完成加减并检查上下溢。本文解释这种并行原语解决什么、边界在哪。