2026年10月6日周二

标签:智能合约

汇总与「智能合约」相关的文章,帮助你系统了解该主题。

有存储却没代码的地址怎么办:EIP-8253 给零 nonce 账户统一盖一个戳
加密货币百科
有存储却没代码的地址怎么办:EIP-8253 给零 nonce 账户统一盖一个戳

以太坊上存在一批历史遗留地址:没有代码、nonce 为零,存储里却有值。它们源自 EIP-161 之前的创建规则,让合约创建可能撞进一段旧存储。EIP-8253 在 2026 年 5 月提出一次性收尾:在指定分叉区块,把一份固定清单上这些账户的 nonce 直接改成 1,让任何 CREATE 或 CREATE2 在 EIP-684 前置检查阶段就失败,作为 EIP-7610 运行时存储检查路线的替代方案。本文解释幽灵地址从哪来、为什么用改 nonce 这种不规则状态转换,以及它的代价。

无脚本脚本是什么:不改共识规则,把合约逻辑藏进签名里
加密货币百科
无脚本脚本是什么:不改共识规则,把合约逻辑藏进签名里

脚本less 脚本用密码学协议代替脚本语言:适配器签名、脚本less 原子交换、MuSig 聚合,让多条件支付在链上只呈现为一笔普通转账。比特币与门限签名的许多现代方案都走这条路。本文解释它与传统脚本路线的分工、几个代表构造,以及各自的工程前提。

链上时间从哪来?Sui 的 Clock 对象与共识时间边界
公链与 Layer2
链上时间从哪来?Sui 的 Clock 对象与共识时间边界

Sui 合约读的链上时间来自创世建在 0x6 的唯一共享对象 Clock,时间戳随每次共识提交推进,读它的交易必须走共识。本文按 Sui 官方文档拆解这份时间的更新节奏、快路径分界与纪元时间戳的粗粒度替代。

合约地址不能被「再创建」覆盖:EIP-684 堵上的部署碰撞漏洞
加密货币百科
合约地址不能被「再创建」覆盖:EIP-684 堵上的部署碰撞漏洞

在 EIP-684 之前,规范没有明确禁止在一个已有代码的地址再次执行合约创建。EIP-684 规定:创建目标地址只要已有非零 nonce 或非零代码,创建必须立即像首字节非法一样抛错,并追溯适用于所有既有区块。本文讲这个「部署碰撞回滚」规则的来龙去脉,以及它和后继提案 EIP-7610 的关系。

跳转点的歧义:EIP-7921 为什么想让所有 0x5b 字节都算合法 JUMPDEST
加密货币百科
跳转点的歧义:EIP-7921 为什么想让所有 0x5b 字节都算合法 JUMPDEST

EVM 规定 JUMP 与 JUMPI 只能落在不处于 PUSH 立即数之中的 0x5b 字节上,为此每个被跳转的代码都要先做一次线性扫描。EIP-7921 提议取消这层歧义检查。本文讲清这条校验从哪来、它挡住什么又拖累什么,以及为什么这份提案停留在 Stagnant。

EVM 调用帧:一笔交易里合约互相喊话时谁记得谁的账
加密货币百科
EVM 调用帧:一笔交易里合约互相喊话时谁记得谁的账

合约调用合约时,EVM 会为每一次调用新开一个帧:各自的栈、各自的内存、共享的世界状态。CALL、DELEGATECALL、STATICCALL 的区别就在于新帧里『我是谁』和『用谁家的存储』怎么填。本文拆解调用帧的资源划分、gas 传递规则、返回数据缓冲区和 revert 如何在帧间传播。

CLVM:钱上贴的程序,跑完只答『可以花吗』
加密货币百科
CLVM:钱上贴的程序,跑完只答『可以花吗』

Chia 系的脚本系统 CLVM 是 LISP 家族的最小方言:程序和资金一起被执行,没有账户、没有全局状态、没有区块高度可查,输出是一份条件清单告诉节点这笔花费是否合法。本文讲它的求值哲学、条件系统与 EVM 的本质分野,以及 puzzle 加 solution 的花费模型。

链上代码先过静态审查:EIP-8337 的 Validated EVM Code
加密货币百科
链上代码先过静态审查:EIP-8337 的 Validated EVM Code

EIP-8337 提议给字节码加一个 MAGIC 前缀:带前缀的代码在部署时做静态验证,保证控制流完全静态、每个返回都有对应调用、数据栈深度可静态证明不会下溢。本文解释这套静态合约与 EOF 的关系和实际意义。

把自增自减交给协议:EIP-7519 的 SCREDIT 与 SDEBIT
加密货币百科
把自增自减交给协议:EIP-7519 的 SCREDIT 与 SDEBIT

智能合约里一次余额更新要读、算、写三步,并行执行引擎很难判断两次更新能不能同时跑。EIP-7519 提议加两个原子存储操作码 SCREDIT 与 SDEBIT,让协议自己完成加减并检查上下溢。本文解释这种并行原语解决什么、边界在哪。