EVM至今用一条二次方公式给合约内存计价,被批评为沿袭上世纪的防御设计。EIP-7923提议改用线性的按页计费:每页4096字节,首次触碰收100 gas,全交易上限64MB。本文拆解新账本的算法、动机里给出的历史包袱,以及它对合约语言的松绑效果。
汇总与「智能合约」相关的文章,帮助你系统了解该主题。
EVM至今用一条二次方公式给合约内存计价,被批评为沿袭上世纪的防御设计。EIP-7923提议改用线性的按页计费:每页4096字节,首次触碰收100 gas,全交易上限64MB。本文拆解新账本的算法、动机里给出的历史包袱,以及它对合约语言的松绑效果。
Geth可在eth_call中用state override临时改写账户余额、nonce、代码或存储。本文说明参数位置、state与stateDiff差异及模拟结果边界。
EIP-3155 给 EVM 执行轨迹定了统一的 JSON 字段表:程序计数器、操作码、剩余燃料、栈深度,每一步一行。本文拆解这份格式的字段含义、它想解决的客户端差异问题、和排查交易失败时怎么用上逐行轨迹,以及它和轻量事件日志的分工。
eth_getLogs 是应用最常用的事件查询接口,但它的回复来自 RPC 节点,本身不带可验证性。EIP-7792 提议让每条日志按地址、主题等维度累积进一个专用合约的存储,使查询结果可以被密码学证明。本文拆解其存储布局思路、与 EIP-6466 的依赖,以及为什么现在还停在搁置状态。
EIP-7791 提议在 EVM 里加一条 GAS2ETH 指令:合约执行消耗的 Gas 可按交易gas价折算成 ETH,直接打给指定地址,且不动区块奖励账本。本文拆解它的预算机制、想解决的合约变现难题,以及草案阶段就要面对的博弈。
EIP-7543 提议给 EVM 加一组任意精度十进制浮点指令:DECADD、DECMUL、DECEXP、DECLN、DECSIN 等,用系数加指数精确表示小数,把科学计算器级别的初等函数变成一条指令。本文解释为什么二进制存不下0.1、合约里的幂运算为什么贵,以及这份提案停摆的原因。
以太坊合约不会自己醒来,定时任务今天全靠链外 Keeper 敲门。EIP-7833 提出 OFFERCALL 操作码,让合约向出块者竞价、把函数排进下一个块。本文按提案原文拆解它的调度规则、烧 ETH 的设计动机与目前的停滞状态。
EIP-7906 设想一枚新操作码,让合约在执行中读取本次交易结束时的账户状态差异,并据此提前中止。钱包与协议可以给一次授权立字据:只接受某种状态变化,否则整笔撤销。本文拆解机制、用途与草案阶段的争议。
CosmWasm 不在链上装 EVM,而是给 Cosmos SDK 链加一个 x/wasm 模块,用 Rust 写合约、在 Wasm 虚拟机里执行。本文解释它与 SDK 模块、IBC 的关系,以及用户最容易弄错的三件事。
EIP-3541 禁止新部署的合约代码以 0xEF 字节开头,这是 2021 年 8 月伦敦升级带出的共识规则。这个字节被预留给未来的可执行格式做魔数,防止未经校验的旧代码被误认成格式有效的对象。本文讲清这条规则改了什么、没改什么,以及它对普通用户意味着什么。