先建立一张总地图
先问“它负责什么”,再问“它如何实现”。否则五个名词很容易被误当成五种并列软件。
打开钱包、点下“发送”、等待交易成功,看起来只有三步。网络内部却要回答三个完全不同的问题: 这条指令是否合法?执行后世界状态应该变成什么?许多候选区块里,哪一条才是大家继续追随的历史?
第一个和第二个问题主要属于执行,第三个问题主要属于共识。 EVM 给执行层一套精确、可复现的计算规则;智能合约是按这套规则运行的程序;主网则是这些规则 承载真实经济价值的公共生产网络。把这五者拼起来,才得到今天的以太坊。
能把主网、执行层、共识层、EVM 和智能合约放在正确层级,而不是背五句定义。
能从钱包签名开始,追踪交易直到区块被验证、选择并最终确定。
能判断签名无效、合约回滚、区块竞争与迟迟不最终分别发生在哪一层。
- 一句话模型
- 主网是共同运行场域;共识层决定“承认哪段历史”;执行层决定“这段历史算出的结果是否有效”; EVM 定义“怎么算”;智能合约定义“算什么”。
顺序不是简单的“执行完再共识”。提议者先让本地执行客户端构造执行载荷, 共识客户端把载荷装入区块;其他节点收到后再独立重执行并验证。执行与共识通过接口往返协作, 而不是一条只走一次的流水线。
主网:共同状态真正发生的地方
“主网”首先是一个彼此连接、遵守同一协议并维护同一条规范链的公共生产网络。
如果把以太坊比作一座城市,主网不是市政府的一栋楼,而是整座城市共同使用的道路、产权记录、 规则与正在发生的经济活动。任何单一组织都不能靠修改自己的数据库,替全网改掉你的余额。
Ethereum Mainnet 是唯一的以太坊公共生产主网,通常用 chainId = 1 标识。
这里的 ETH、合约状态和资产承载真实经济后果。遍布全球的节点运行兼容客户端,参加点对点网络,
下载并验证交易与区块,然后在本地维护自己认可的链头与状态。
主网不是以下任何一个东西
ethereum.org 是信息网站;主网不会因为网站下线而停止。钱包界面和区块浏览器也只是入口。
没有一台“以太坊总服务器”保存唯一真相。节点各自验证,再通过协议收敛。
EVM 是执行语义;主网是使用这套语义、共识和网络规则的具体生产网络。
切换网络,不是换一个查看页面
同一私钥在不同 EVM 网络上通常推导出同一地址,但每个网络的余额、nonce、合约代码和历史彼此独立。 你在 Sepolia 获得的测试 ETH 不会出现在主网;同一地址在两个网络上甚至可以部署完全不同的代码。 钱包展示的“网络切换”,本质上是在切换状态宇宙与验证规则上下文。
公共生产网络;真实价值、真实费用、真实不可逆风险。
chainId 1公共测试网络;用测试 ETH 验证合约、客户端和协议升级。
独立状态开发者在本机或私有环境启动;可重置、可调试、可快速出块。
独立历史chainId 不只是标签。它进入交易签名域,用来抵御交易在另一条链上被原样重放。 因此提交交易前,钱包要求你确认网络,是安全边界的一部分。
五个部件,不在同一个层级
主网包含整套运行系统;执行层与共识层是协议分工;EVM 是执行层内部运行时;智能合约是被运行的程序与状态。
最常见的概念错误,是把“执行层、EVM、智能合约”说成三台轮流工作的服务器。 实际上它们更接近“操作系统中的进程、虚拟机和程序”之间的嵌套关系。
SELECT A COMPONENT
点选一个部件,查看它的职责边界
运行场域
Ethereum Mainnet
唯一的公共生产以太坊网络。许多节点通过 P2P 网络交换数据,按共同协议独立验证, 共同维护承载真实经济价值的规范历史与状态。
兼容客户端、已签名交易、区块、验证者证明与网络升级规则。
不是基金会服务器,不等于某款客户端,也不等于一台 EVM。
共识:有效候选区块 + 验证者加权投票 → 当前规范链头与最终检查点
这里有一个关键逻辑:“有效”不等于“规范”。两个区块都可能各自符合执行规则, 但在短暂分叉中只能有一条成为当前规范历史。执行层先判断候选结果有没有违反状态转换规则, 共识层再在有效候选之间决定节点应该追随哪一个链头。
执行层:把交易算成新的世界状态
执行层回答的核心问题是:从状态 S 出发,按区块给定顺序执行这些交易,结果是不是唯一且有效?
余额不会因为验证者“宣布 Alice 多了 1 ETH”而改变。每个执行节点都要拿到同一批交易, 按协议重做计算,并核对自己算出的状态根、收据根、gas 使用量等承诺。
执行客户端持续做四类工作
检查交易封装、签名、chainId、nonce、费用能力等,并维护本地交易池。
tx pool在执行层 P2P 网络与同伴交换待处理交易,让潜在提议者能够看到它们。
EL gossip在 EVM 中执行转账、合约创建和消息调用,计算 gas、日志、收据与新状态。
EVM保存当前执行状态和必要历史,通过 JSON-RPC 为钱包、DApp 与工具提供查询和提交入口。
JSON-RPC给定完全相同的前置状态、交易顺序和区块上下文,正确实现必须得到相同的后置状态。
区块不携带一整份“新数据库”
提议者提供的是执行载荷:其中含有按顺序排列的交易以及 stateRoot、
receiptsRoot、gas 等密码学承诺和元数据。接收节点不会直接相信这些结果,
而是让本地执行客户端重放交易。只有本地结果与载荷承诺一致,载荷才通过执行有效性检查。
无效交易与执行失败,是两件事
签名错误、nonce 不合规则等交易通常进不了有效区块;若硬塞进去,会使整个执行载荷无效。
交易被收录,调用完成,允许的状态变化、日志和费用结果都进入新的执行状态。
交易可以被收录却显示失败;调用状态回滚,但已用 gas 仍收费,发送者 nonce 仍被消耗。
再精确一层:REVERT 首先回滚当前调用帧。若外层合约捕获内部调用失败并继续,
整笔顶层交易仍可能成功。不要把“某次内部调用失败”一概写成“整笔交易全部回滚”。
共识层:让有效历史收敛为规范历史
共识不是替 EVM 算余额,而是让分散节点对区块顺序、当前链头和最终检查点达成加密经济意义上的一致。
网络有延迟,两个节点可能在同一时段看到不同候选区块。如果没有共同的选择规则, 两边即使都“算对了”,状态也会沿着不同历史永久分叉。
以太坊 PoS 把时间划成 12 秒一个 slot,32 个 slot 构成一个 epoch, 即 6.4 分钟。每个 slot 安排一名区块提议者,但 slot 可能被错过,因此不能把它说成 “保证每 12 秒一定出块”。活跃验证者通常每个 epoch 参加一次证明,而不是每个 slot 都投票。
被选中的提议者把执行载荷、证明和其他共识操作装入 Beacon Block 并签名广播。
per slot其他节点核对共识规则,并把执行载荷交给本地执行客户端验证。
EL ↔ CL验证者对自己看到的链头以及 source / target 检查点签署证明,票权按有效余额加权。
weighted检查点获得连续的超级多数链接后,较早检查点成为 finalized,回滚将触发严重罚没条件。
Casper FFGGasper 是两个机制的组合
用验证者最新消息的加权结果选择当前链头,解决“现在沿哪条分支继续”。
让 epoch 边界对应的检查点 justified / finalized,解决“过去退到哪里代价极高”。
把分叉选择与最终性组合成以太坊 PoS 的核心共识机制。
“看到区块”“成为当前链头”“获得更多确认”“justified”“finalized”是不同状态。 用户通常在最终性之前就能看到交易被包含,但只有进入 finalized 检查点之前的历史, 才获得明确的加密经济最终性。
最终性不是物理定律。它的保证是:若要制造相互冲突的最终历史, 大量质押权重必须违反可证明的签名规则并暴露于罚没。网络极端故障时仍可能需要社会协调, 所以准确说法是“加密经济最终性”,不是“宇宙级绝对不可修改”。
EVM:让不同电脑得到同一个答案
EVM 不是网络里唯一的一台虚拟机,而是一套由每个执行客户端实现的确定性状态转换语义。
上海的一台 ARM 机器、纽约的一台 x86 服务器,只要从同一前置状态执行同一交易序列, 就必须对每一步操作、gas、异常和结果达成一致。EVM 就是这份跨机器的“计算契约”。
合约源码通常先由 Solidity、Vyper 等编译器变成 EVM 字节码。执行时,EVM 读取字节码, 按 opcode 一步步改变栈、内存、持久存储和调用上下文。主网节点真正执行的是字节码, 不是区块浏览器上展示的 Solidity 源文件。
后进先出的 256 位字栈;多数 opcode 从这里取操作数并把结果压回。
depth 1024当前调用帧的临时字节数组;执行结束后不持久保留,扩展会增加 gas。
temporary合约地址下的持久键值状态;读写昂贵,成功提交后进入世界状态。
persistent调用者提供的只读输入,常含函数选择器与 ABI 编码参数。
read-onlyMICRO EXECUTION TRACE
五条指令,怎样把 5 写入持久存储?
BYTECODE · TEACHING TRACE
- 01PUSH1 0x02
- 02PUSH1 0x03
- 03ADD
- 04PUSH0
- 05SSTORE
before start
[]
{ }
为什么必须有 gas
EVM 支持条件与循环,无法只看代码就保证程序何时结束。每条操作都会消耗一定 gas; 交易提供 gas 上限,耗尽时执行异常结束。gas 因而同时承担计量计算资源、限制最坏工作量、 防止无限执行与网络滥用的职责。gas 是工作量单位,真正支付的 ETH 费用还要乘以有效 gas 价格。
确定性也意味着主动放弃一些能力
合约不能直接读互联网、文件系统或节点本机时钟,否则不同节点可能得到不同答案。 它能使用的是交易输入、链上状态和协议定义的区块上下文。现实世界数据必须由预言机或其他参与者 以交易方式带入链上;“随机数”也需要专门的可验证设计。
智能合约:驻留在地址上、等待被调用的程序
它首先是代码与状态,不是自动理解意图的法律机器人,也不会自己按时醒来。
一个典型合约账户包含余额、运行时代码和持久存储。用户或另一个合约发起调用时, EVM 才加载这段代码并执行。没有触发,就没有计算;没有交易,就没有新的主网状态。
部署过程也分两段
合约创建交易先执行 initcode。initcode 可以读取构造参数、初始化存储, 最后返回 runtime bytecode;真正长期保存在新地址、供后续调用执行的是 runtime bytecode。 因此“部署源码到链上”是方便说法,精确说法是“执行创建代码并保存其返回的运行时字节码”。
READ OR WRITE
同一个函数,读取与写入为何走不同路径?
节点本地模拟
钱包或应用通过 JSON-RPC 请求某个节点,在指定区块状态上执行一次 EVM 调用。 结果直接返回给调用者。
规范状态不改变
没有签名交易、没有进入交易池、没有被区块收录。节点做了计算,但这次计算不会成为全网历史。
eth_call 通常不需要用户支付链上费用,因为它只是某个节点的本地模拟;
节点服务商仍可能限制调用资源或收取服务费。
合约能做什么,又不能做什么
按确定规则转移资产、更新状态、验证签名、发出日志,并在同一交易中调用其他合约。
不能直接访问网页、私有数据库或文件,也没有原生 cron 定时器让自己自动运行。
链外数据需要预言机;定时任务需要外部 keeper;升级通常依赖代理与治理权限。
“部署后绝不可能改变”需要拆开说。某个地址上的运行时代码通常不能被直接覆盖,
但代理合约可通过 DELEGATECALL 把逻辑指向新的实现。对用户而言,应用行为仍可能升级,
所以必须检查管理员、升级延迟与治理权限。
2026 校准:Pectra 引入 EIP-7702 后,EOA 可设置指向既有代码的 delegation indicator, 同时私钥仍保有最终控制。于是“EOA 的 code 永远为空”与“有代码的地址必定是传统合约账户” 都不再是可靠判断。账户模型将在第四章展开。
一笔交易的八站旅程
现在把五个部件放回同一条时间线上:发送 1 ETH 与调用复杂合约,走的是同一套外部骨架。
钱包里的“已发送”只表示交易离开了你的设备;“已包含”表示它进入当前规范链; “已最终确定”则表示它落在加密经济上极难回滚的历史之中。三种状态不能混为一谈。
END-TO-END TRACE
点选步骤,观察执行与共识如何接力
构造意图、选择网络、请求用户签名。
验证交易、执行合约、计算载荷与状态承诺。
封装区块、传播、投票、选头与最终确定。
01 · 钱包签名
钱包根据当前网络构造交易,包含接收方、金额或 calldata、nonce、gas 参数与 chainId。 私钥只在本地签名;节点收到的是可公开传播的已签名交易,不需要也不应该得到私钥。
你在区块浏览器里看到的几个时间点
某个节点看到了交易并放入本地交易池;不同节点的池内容可能不同。
not canonical交易进入某候选区块并执行;它可能暂时成为链头,也可能遇到短重组。
in a block后续区块和投票提高其留在规范链上的置信度;具体产品口径可能不同。
confidence所在历史被 Casper FFG 最终确定;若要冲突回滚,需要严重共识失效与可罚没行为。
economic finality双客户端、双状态与 Engine API
The Merge 合并的是执行历史与 PoS 安全体系,不是把所有软件重新揉成一个进程。
今天运行一个普通完整节点,至少需要执行客户端和共识客户端。它们各自连接不同的 P2P 网络, 各自维护不同状态,再通过本机上的 Engine API 把“有效执行”与“规范顺序”锁在一起。
TWO LINKED STATES
同一个节点里,为什么要维护两类状态?
世界状态
- 账户余额与 nonce
- 合约运行时代码
- 合约持久存储
- 交易收据与日志索引
- 以 state root 作密码学承诺
信标状态
- 验证者注册表与有效余额
- 证明、奖励与惩罚
- justified / finalized 检查点
- RANDAO 等共识信息
- 规范链头与分叉选择上下文
Engine API 的三个核心动作
共识客户端告知执行客户端当前 head / safe / finalized;携带构造参数时启动新载荷构建。
CL → EL提议者一侧的共识客户端取回执行客户端构造好的执行载荷,准备装入 Beacon Block。
CL ← EL接收区块的共识客户端把载荷交给执行客户端验证,得到 VALID / INVALID / SYNCING 等状态。
CL → ELEngine API 通常是节点本机或受控内部网络上的 JWT 认证接口,不应和面向钱包、DApp 的公共 JSON-RPC 混为一谈。前者协调节点内部两颗“大脑”,后者让外部应用读取状态、模拟调用和提交交易。
| 通道 | 主要参与者 | 主要数据 | 典型边界 |
|---|---|---|---|
| 执行层 P2P | 执行客户端 ↔ 执行客户端 | 待处理交易等执行网络数据 | 互联网 P2P |
| 共识层 P2P | 共识客户端 ↔ 共识客户端 | Beacon blocks、attestations 等 | 互联网 P2P |
| JSON-RPC | 钱包 / DApp ↔ 执行客户端 | 查询、模拟、广播已签名交易 | 用户或服务接口 |
| Engine API | 共识客户端 ↔ 执行客户端 | 分叉选择状态、载荷构造与验证 | 本机 / 受控内部接口 |
版本不要死背。Engine API 方法会随网络升级分别版本化,并通过
engine_exchangeCapabilities 协商能力。截至本课校准日,主网已于
2025-12-03 激活 Fusaka(共识侧 Fulu、执行侧 Osaka);基础心智模型不变,但精确字段与方法版本应查当前规范。
验证者客户端是可选的第三个角色
没有质押身份的共识客户端仍能接收区块、运行分叉选择并跟随规范链。只有当运营者加入验证者客户端与 激活的验证者密钥,节点才会被分配提议、证明等签名职责。因而“运行节点”不等于“必须质押”, “验证区块”也不等于“作为验证者投票”。
出错时,究竟是哪一层说“不”?
把错误归到正确层,才能理解“交易失败”“区块无效”“没有最终性”为什么不是同一件事。
同一个红色感叹号,可能意味着钱包连错网络、RPC 没响应、签名交易无效、合约主动回滚, 也可能只是区块尚未最终确定。系统思维的第一步,是先找拒绝发生在哪条边界。
签名 / nonce 无效:执行客户端拒绝交易;它通常不会进入有效执行载荷。
条件不满足:合约触发 revert;交易可被收录并收费,调用状态按语义回滚。
状态根不匹配:本地重执行不同意载荷承诺,执行客户端返回 INVALID。
两个有效候选:共识层用加权证明选择当前链头;落败分支可被重组出去。
票权不足:链头可能继续前进,但检查点暂时不能最终确定。
界面或提供者错误:不一定代表协议失败;换节点、核对 chainId 与链上数据。
共识权重不能把错误答案投成正确
分叉选择并不是“票多者可以修改规则”。诚实节点只会在通过共识与执行有效性检查的区块上工作。 如果载荷里某账户凭空多出余额、本地重执行却算不出来,执行客户端会把载荷判为无效。 再多正常投票也不能把错误的状态转换变成有效协议结果。
再解决规范性:多个有效分支中,当前追随哪一条?哪一段已经最终确定?
RPC 结果也有信任边界。钱包显示的余额通常来自某个节点的 JSON-RPC。 如果你使用第三方节点,你把查询可用性、部分隐私与回答正确性外包给了服务商; 自己运行节点或使用能验证证明的轻客户端,才能缩小这条外包边界。
主网、测试网、本地网与 L2:别把地图叠在一起
共享 EVM 兼容性不代表共享状态、共享安全边界或共享资产。
“都能用 MetaMask”“地址长得一样”“合约都是 Solidity 写的”,只能说明工具或执行环境相似, 不能证明它们属于同一条链。
| 环境 | 状态与历史 | 价值 / 风险 | 典型用途 | 与主网关系 |
|---|---|---|---|---|
| Ethereum Mainnet | 唯一生产主网状态 | 真实 ETH 与资产风险 | 生产应用、结算、质押 | 本体 |
| Public testnet | 独立链、独立状态 | 测试 ETH 不应有经济价值 | 合约与协议测试 | 模仿规则,不继承状态 |
| Local devnet | 可重置的私有历史 | 无真实价值 | 快速开发与调试 | 开发工具 |
| Ethereum L2 | 有自己的执行历史与状态 | 依具体桥、排序与证明机制 | 更高吞吐、更低用户成本 | 向主网提交数据 / 承诺并结算 |
L2 不是“主网执行层里的一个文件夹”。Rollup 通常有自己的排序与执行流程,再把数据、状态承诺或证明 提交到以太坊。它利用主网提供的结算与数据可用性等保障,但跨层移动资产需要桥接协议, 最终安全性还取决于具体 L2 的证明系统、升级权限和逃生机制。
实用检查:每次签名之前至少看四项:当前 chainId、接收地址、调用方法 / calldata、 预计资产变化。地址相同不能替你证明网络正确,界面里写着“ETH”也不能替你证明它是主网 ETH。
九个常见误解,一次拆开
能纠正这些说法,就说明你已经开始用架构而不是口号理解以太坊。
“Ethereum 就是 ETH。”
Ethereum 是网络与协议体系;ETH 是主网原生资产,用于费用、质押与经济安全等。
“主网就是那台全球 EVM。”
EVM 是执行语义;主网还包含 P2P 网络、PoS 共识、客户端、状态与真实经济参与者。
“世界上只有一台 EVM 在计算。”
许多执行客户端各自在本地实现并运行 EVM;它们靠确定性规则得到同一结果。
“共识层会执行 Solidity。”
共识客户端把执行载荷交给执行客户端;EVM 执行字节码,Solidity 只是常见源码语言。
“提议者宣布的新余额就是新状态。”
提议者提交交易与状态承诺,其他节点独立重执行。承诺对不上,整个载荷无效。
“智能合约会自己定时运行。”
合约需要交易或交易内消息调用触发;定时自动化依赖链外 keeper 等参与者。
“交易失败就不会上链,也不收费。”
执行回滚的交易仍可被收录,已用 gas 收费且 nonce 消耗;协议层无效交易则不能进入有效载荷。
“同一地址在所有网络上代表同一资产。”
地址可以相同,状态却完全隔离。主网、测试网和 L2 上的余额与代码必须分别核对。
“The Merge 后还有 ETH1 与 ETH2 两种币。”
执行层与共识层共同组成同一个以太坊主网;用户不需要兑换所谓“ETH2”。
把整课压缩成八句话
先顺着逻辑复述,再用六道题检查你是否真的能定位每个部件。
- 主网是唯一承载真实价值的以太坊公共生产网络,不是某个网站或服务器。
- 执行层验证交易并通过 EVM 计算状态转换、收据、gas 与密码学承诺。
- 共识层用 PoS、分叉选择与最终性,让节点对规范区块顺序收敛。
- EVM 是每个执行客户端实现的确定性运行时,不是一台远程中央虚拟机。
- 智能合约是地址上的运行时代码与持久状态,必须由交易或消息调用触发。
- 合并后的完整节点至少同时运行执行客户端与共识客户端,两者通过 Engine API 协作。
- 交易“有效、执行成功、被当前链收录、最终确定”是四种不同判断。
- 测试网、本地网和 L2 可以共享工具与 EVM 兼容性,但各自拥有独立状态与风险边界。
现在检查你的理解
01. 哪个说法最准确地描述 EVM?
EVM 在许多节点本地运行;分叉选择属于共识层。
02. 接收节点重执行某个执行载荷,算出的 state root 不一致,会怎样?
共识权重不能覆盖执行规则;错误状态承诺过不了有效性门槛。
03. 通过 eth_call 读取合约,通常发生什么?
读取可在指定状态上本地模拟;只有被收录的状态变化交易才改变主网历史。
04. 同一私钥在主网与测试网上得到同一地址,意味着什么?
地址是由密钥推导的标识;余额、nonce、代码与历史属于具体网络。
05. 智能合约想每天上午 9 点自动执行,最准确的说法是?
合约不会自己醒来;自动化服务负责触发,合约负责验证与执行规则。
06. 一笔合约交易触发顶层 revert 后,哪项仍可能成立?
执行失败与协议层无效不同;失败交易仍可以是有效区块中的一条收据。
术语与一手资料
协议会升级,字段会扩展。本课用官方文档与规范校准到 2026 年 7 月 25 日。
- Mainnet · 主网
- 承载真实价值与生产状态的唯一以太坊公共主网络,chainId 为 1。
- Execution Layer · EL
- 处理交易、运行 EVM、维护世界状态并生成执行结果的一层。
- Consensus Layer · CL
- 处理 PoS 区块、验证者证明、分叉选择与最终性的一层。
- EVM
- 定义字节码、opcode、gas、调用和状态转换的确定性虚拟机语义。
- Smart contract
- 驻留在地址上的运行时代码、余额与持久状态,由调用触发执行。
- Execution payload
- 共识区块携带的执行数据与承诺,包括有序交易、状态根、收据根和 gas 等。
- World state
- 执行层维护的账户、余额、nonce、代码与合约存储的整体状态。
- Beacon state
- 共识层维护的验证者、有效余额、检查点、随机性和其他共识信息。
- Engine API
- 共识客户端驱动并查询执行客户端的本地 JWT 认证接口。
- JSON-RPC
- 钱包、DApp 与工具查询执行状态、模拟调用和提交交易的常用接口。
- Slot / epoch
- PoS 时间单位;主网每 slot 12 秒,每 epoch 32 slots。
- Finality
- 检查点获得 Casper FFG 超级多数链接后形成的加密经济最终性。
- Revert
- EVM 调用失败语义;回滚相应调用状态,但已执行工作仍可能消耗 gas。
- Chain ID
- 进入交易签名域的网络标识,用于区分链并降低跨链重放风险。
官方资料
-
01
ethereum.org · Networks 主网、测试网、私有网络与开发网络的官方边界说明。
-
02
ethereum.org · Node architecture 合并后的执行客户端、共识客户端、验证者客户端与 Engine API 架构。
-
03
ethereum.org · Ethereum Virtual Machine 分布式状态机、EVM 栈、内存、存储、opcode 与执行模型。
-
04
ethereum.org · Introduction to smart contracts 合约代码、状态、地址、部署与用户交互的官方入门。
-
05
ethereum.org · Transactions 已签名交易、字段、网络广播与状态变化。
-
06
ethereum.org · Proof-of-stake slot、epoch、提议、证明、重执行与最终性的官方说明。
-
07
ethereum.org · Gasper LMD-GHOST 分叉选择与 Casper FFG 最终性的组合。
-
08
Ethereum Execution APIs · Engine API forkchoiceUpdated、getPayload、newPayload 与各次升级的规范原文。
-
09
Solidity docs · Introduction to smart contracts 合约创建、调用、存储、消息调用和 EVM 行为的语言官方文档。
-
10
ethereum.org · Fusaka 当前主网 Fulu-Osaka 升级与执行层 / 共识层同步升级的说明。
-
11
EIP-7702 · Set EOA account code Pectra 后 EOA 代码委托语义,校准传统“EOA 无代码”心智模型。
-
12
Ethereum Consensus Specs · Fork choice 规范层的链头选择、justification 与 finalization 数据结构和过程。
时效说明:slot / epoch 等主网常量和本课核心分层截至校准日仍成立; 客户端列表、网络升级、Engine API 方法后缀、gas 价格与容量参数会继续变化。 做运维或开发决策时,应再次核对官方规范与客户端发布说明。
到这里,你已经能从“主网在哪里”一路讲到“合约如何在 EVM 中执行、执行结果如何被共识层承认”。 下一课会追问更深一层:为什么把相同程序交给全球许多节点重复执行,仍能被称为一台“全球计算机”?