Ethereum learning path · 04.02

外部账户 EOA:谁能让以太坊执行你的意图?

从一把永不应上链的私钥开始,沿着地址、签名、nonce 与 Gas, 看懂一个账户如何把“我想做什么”变成全网可验证的状态改变。

  • 04 · 02 账户模型
  • 55 MIN 阅读与实验
  • 2026 含 EIP-7702

Core idea

EOA 不是钱包界面,也不只是一个地址。它是一套授权关系: 谁能为这个地址产生有效签名,谁就能支配这个账户的根权限。 链上保存状态,链外保管秘密,签名把两者连接起来。

01 · Essence

先把 EOA 放对位置

EOAExternally-Owned Account 的缩写,常译作“外部账户”。 “外部”不是指它在以太坊之外不存在,而是指它的根授权来自协议外部保存的私钥; 与之相对,合约账户的行为由链上代码决定。

以太坊协议不认识你的姓名、邮箱、Face ID 或钱包品牌。节点只处理密码学事实: 某个交易签名能否恢复出一个发送者地址;这个地址当前的 nonce 是否匹配;余额是否足以支付 转账金额与 Gas;交易按照协议执行后会得到什么新状态。所谓“你拥有这个账户”, 在最底层就是“你能产生它接受的授权”。

Interactive · trust boundary

链外秘密与链上状态,分别在哪里?

选择一侧观察边界

链外 · 你必须守住的秘密

  • private key直接产生签名的 256 位秘密数
  • signer软件钱包、硬件钱包或托管系统中的签名器
  • recovery material助记词、备份或其他恢复材料
signature
可公开验证

链上 · 所有人可验证的状态

  • address20 字节账户标识符
  • nonce下一笔交易应使用的顺序号
  • balance以 wei 计量的原生 ETH 余额

私钥永远不应进入交易、区块或网页。钱包只用它在本地生成签名;网络得到的是可以验证的签名,不是秘密本身。

账户安全的第一条边界:链能帮你验证授权,却不能替你保管、撤销或找回经典 EOA 的私钥。

“可以主动发起交易”到底是什么意思?

以太坊区块中的顶层 transaction 需要一个发送者。经典路径中, 发送者由 EOA 的交易签名恢复出来,所以 EOA 能成为状态转换的外部入口。 合约账户不能自行在某个时间醒来并凭空发出顶层交易;它只能在一笔已发起交易的执行过程中, 被 EOA 或其他合约调用,再产生内部的消息调用。

一句话模型: EOA 提供“谁授权这次状态改变”,交易提供“这次想做什么”, EVM 与协议规则决定“这件事能否做、做完后的状态是什么”。

学完本课,你应该能做到

01 / separate

分清对象

不再把钱包 App、助记词、私钥、公钥、地址和链上账户混成一件东西。

02 / inspect

读懂状态

知道 nonce、ETH balance、codeHash、storageRoot 各自表达什么。

03 / trace

追踪交易

从构造、签名、广播、入块到执行,解释发送者如何被验证。

04 / update

更新旧认知

理解 EIP-7702 为什么让“EOA 永远没有代码”不再是可靠的绝对判断。

02 · Vocabulary

六个词,六个不同层次

大多数账户误解,不是密码学太难,而是日常产品把多个层次折叠成了一个“钱包”按钮。 先拆开名词,后面的签名、交易和安全才会自然。

钱包应用
帮助你生成或导入密钥、展示余额、构造交易、请求签名并连接 DApp 的界面。换一个钱包应用,不等于换了链上账户。
助记词 / 种子
钱包恢复与派生体系常用的根材料;一个种子通常能确定性派生出许多私钥。它不是地址,也不应输入陌生网页。本课只界定角色,密码学细节留到第五章。
私钥
能够为特定 EOA 生成有效签名的秘密数。谁复制到私钥,谁就复制了经典 EOA 的控制能力;链上没有“修改密码”按钮。
公钥
由私钥通过 secp256k1 椭圆曲线运算得到,可用于验证签名。公开公钥不会让人实际反推出私钥。
地址
公钥经过 Keccak-256 后截取 20 字节得到的账户标识,通常显示为 0x 加 40 个十六进制字符。地址可以公开收款。
链上账户
以地址为索引的协议状态。它可能持有 ETH、拥有 nonce,并在现代规则下可能带有代码或代码委托。钱包只是读取与操作它的工具。
一个助记词 → 多个私钥 → 每个私钥对应公钥与 EOA 地址
钱包应用 ⇄ 读取地址状态 + 请求签名
地址 ≠ 私钥 | 钱包 ≠ 账户 | 显示余额 ≠ 保管资产

“创建账户”为什么通常不需要上链?

生成一个 EOA 的核心动作只是:在本地安全地产生私钥,再计算公钥和地址。 这个过程不需要向主网登记,不消耗 Gas,也不需要节点批准。地址空间足够巨大, 因此钱包可以先生成地址,别人随后向它转入 ETH。

更精确地说,刚生成的地址只是你掌握了某个潜在账户标识的签名能力。 只有当该地址在世界状态中拥有余额、nonce、代码等非空状态时,节点才需要保存相关状态。 这不影响它先接收转账,也不改变私钥可以为它签名的事实。

钱包卸载不等于账户消失。 链上状态仍由全网保存;真正决定你能否恢复控制的是密钥或恢复材料是否还在。 反过来,截图保留地址却丢掉密钥,也无法支配账户。

03 · Anatomy

链上账户的四个字段

从协议视角看,世界状态把一个 20 字节地址映射到一份账户状态。 传统模型中它包含四个核心字段。EOA 与合约账户使用同一账户框架, 差异来自这些字段的值以及谁能触发行为。

Diagram · account state

地址 0x7A3f…91C2 的链上记录

公开 · 可由节点验证
nonce scalar 已纳入的发送顺序

经典 EOA 每有一笔交易被纳入区块,无论执行成功或回滚,账户 nonce 都会前进。

balance wei 原生 ETH 余额

1 ETH = 1018 wei。它用于转移价值、支付执行费用和满足交易的余额检查。

storageRoot 32 bytes 持久化存储承诺

经典 EOA 没有合约存储;EIP-7702 委托代码可在该账户上下文中使用存储,因此旧的绝对判断需要更新。

codeHash 32 bytes 代码内容的哈希

经典 EOA 对应空代码哈希;EIP-7702 可让账户保存 23 字节委托指示符,指向另一处实现代码。

私钥、公钥、钱包名称、助记词和交易历史列表都不在这四个字段里。区块浏览器通过链上数据和索引服务把它们组织成更友好的视图。

ETH 余额与代币余额不在同一个地方

原生 ETH

直接记录在账户的 balance 字段中。发送 ETH 会改变发送者和接收者的账户余额。

ERC-20 / NFT

通常记录在各自代币合约的存储映射里。钱包查询合约并汇总展示,因此 EOA 的 ETH balance 字段不包含这些代币。

这一区别能解释一个常见现象:某地址明明有很多稳定币,却可能因为没有原生 ETH 而无法在主网上支付普通交易 Gas。 代币余额属于某个合约的账本记录;协议层默认费用仍以原生 ETH 结算。 费用代付等体验需要额外的账户抽象或赞助机制,而不是把代币自动当作 ETH。

账户“拥有资产”是一种状态关系

ETH 不像文件那样装在钱包里,也不是某枚硬币放进地址。更准确的表达是: 全网认可的当前状态中,地址对应的 ETH balance 是某个数;代币合约的映射中, 该地址对应的余额或 NFT 所有者记录是某个值。私钥让你能够授权改变这些关系, 并不把资产从链上搬到设备里。

04 · Derivation

地址如何从私钥得来

私钥、公钥和地址是一条单向推导链。它让任何人都能验证“签名来自这个地址的控制者”, 又不会要求控制者公开私钥。

Diagram · one-way derivation

四步得到 EOA 地址

示意值,不可用于真实资产
01 / entropy

安全生成私钥

从 secp256k1 曲线阶允许的范围中,均匀选择一个不可预测的非零整数。

0x8f2a…d91b
02 / elliptic curve

计算公钥

使用椭圆曲线标量乘法得到公钥点。正向计算容易,反向求私钥在现实中不可行。

x || y = 64 bytes
03 / keccak-256

哈希公钥

对未压缩公钥的 64 字节坐标部分做 Keccak-256,得到 32 字节摘要。

keccak256(pubkey)
04 / last 20 bytes

截取地址

取哈希最后 20 字节,并加上 0x 前缀;可再按 ERC-55 混合大小写显示校验。

0x7A3f…91C2
PUBLIC地址可以公开,用于收款、查询状态和作为合约参数。
ONE-WAY从地址不能实际反推出公钥,更不能反推出私钥。
NO REGISTRY推导在本地完成,不需要向某个中心机构申请编号。
地址只有 20 字节,而公钥信息更长;地址是公钥哈希的截断结果,不是公钥本身。交易签名可让节点恢复并核对发送者。

ERC-55 大小写不是装饰

十六进制地址在数值上不区分字母大小写,但 ERC-55 使用大小写模式加入轻量校验信息。 因此 0x5aAeb… 这类混合大小写地址能帮助软件发现一部分手工输入错误。 全小写地址通常仍可被解析,却失去了这层错误检测。无论是否有校验, 大额转账都应核对完整地址或使用可信的名称解析与地址簿。

“地址碰撞极难”不等于“界面不会骗你”。 地址投毒会利用首尾相似的另一个地址污染转账历史;剪贴板恶意软件会替换复制内容。 密码学保护的是签名与地址关系,不会替你判断屏幕上那个接收者是不是你真正想找的人。

05 · Transaction

EOA 如何发起一笔交易

交易不是“把私钥发给网络”,而是把明确的交易字段编码后取哈希, 再用私钥签名。节点从签名恢复发送者,验证状态条件,然后才决定是否接受与执行。

先看一笔常见 Type 2 交易装了什么

Diagram · transaction envelope

意图字段 + 密码学授权

EIP-1559 dynamic-fee transaction
chainId交易面向哪条链;参与防止同一签名跨链重放。
nonce发送者的顺序号;同一账户每个有效位置只能消费一次。
to + value目标地址与发送的原生 ETH 数量;部署合约时目标字段可为空。
data可选字节数据;调用合约时通常包含函数选择器与编码参数。
gasLimit本次执行最多允许消耗多少 Gas 单位,不是最终必然用量。
maxFee + maxPriorityFee每单位 Gas 的总价上限与优先费上限。
yParity + r + s对规定签名载荷生成的 secp256k1 签名。发送者地址由验证过程恢复,而不是信任一个可随意填写的 “from” 文本。
钱包显示的“确认”页面,本质上是在请你批准这些字段。界面是否完整、是否正确解码 data,直接影响你能否理解自己签了什么。

Interactive · transaction journey

从点击确认到状态改变

逐步查看每一层的职责

钱包把用户意图翻译成交易字段。此时尚未签名、未广播,也没有任何链上状态改变。

广播成功只代表节点收到了候选交易;进入交易池不等于已确认;进入区块后仍要区分执行成功与回滚,并等待所需确认或最终性。

执行失败,签名和费用并不会“没发生”

交易被纳入区块后,发送者 nonce 会被消费,执行成本也要支付。 如果合约逻辑 revert 或执行发生异常,调用造成的普通状态修改会回滚, 但为已经完成的计算所付 Gas 不会退回,nonce 也不会回到原值。 这能防止同一已签交易被无限重试,也让节点为实际做过的工作获得费用机制保护。

类型主要能力与 EOA 的关系
Type 0传统 legacy 格式,使用单一 gasPrice。仍可使用,但缺少现代动态费用字段。
Type 1EIP-2930 access list,预声明访问的地址与存储键。由 EOA 签名发起,费用仍采用传统 gasPrice。
Type 2EIP-1559 动态费用:maxFee 与 maxPriorityFee。普通钱包交易的主流格式。
Type 3EIP-4844 blob-carrying 交易,为 L2 数据提供独立费用市场。通常由 rollup 基础设施账户提交。
Type 4EIP-7702 set-code 交易,附带代码委托授权列表。让 EOA 在保留地址的同时获得可编程行为。

06 · Nonce

账户的顺序闸门

Nonce 是发送者账户的单调计数器。它把来自同一 EOA 的交易排成不可跳过的序列, 同时让一份已经执行过的签名无法在同一条链上再次消费。

假设链上 nonce 是 8,意味着下一笔可执行交易需要 nonce 8。 nonce 9 可以先被某些节点暂存,却要等 8 先落地;nonce 7 已经过期; 两笔 nonce 都为 8 的交易不能都成为该账户的规范历史——最终只能有一个占用这个位置。

Interactive · sequence gate

同一个 nonce,不同的命运

当前链上 nonce = 8
账户 0x7A3f…91C2 state nonce 8

nonce 8 被纳入后,账户 nonce 变为 9;随后 nonce 9 才具备执行条件。每个位置按顺序前进。

“加速”或“取消”通常不是修改已经签出的交易,而是用同一个 nonce 广播一笔费用更有竞争力的新交易。节点的替换门槛属于交易池策略;链上规则只会接受一个最终版本。

Nonce 同时解决三个问题

ORDER

固定账户内顺序

同一 EOA 的交易按 nonce 串行消费,避免余额和合约调用出现无法解释的本地顺序。

REPLAY

阻止链内重放

旧 nonce 一旦消费,截获的旧签名不能再次在同一账户状态上执行。

REPLACEMENT

定位待处理交易

钱包可以用同一 nonce 提交替代候选;最终只有一个候选占据该顺序号。

ADDRESSING

参与合约地址计算

EOA 使用 CREATE 部署合约时,创建者地址与相应 nonce 参与新合约地址的确定。

Nonce 不是全网交易编号,也不是时间戳;每个账户都有自己的序列。 两台钱包或两个自动化程序若同时控制同一私钥,就必须协调 nonce,否则会互相卡住或替换交易。 对跨链重放,现代交易还把 chainId 纳入签名域;nonce 与 chainId 解决的是不同层次的问题。

07 · Fees

余额、Gas 与真正付出的费用

EOA 发起交易时,不仅要授权状态改变,还要为网络执行设置资源上限。 交易的“最多愿意付多少”与“最后实际付多少”是两个不同数字。

入场余额要求(简化) ≥ value + gasLimit × maxFeePerGas
effectiveGasPrice = min(maxFeePerGas, baseFee + maxPriorityFeePerGas)
actualFee = gasUsed × effectiveGasPrice

Interactive · EIP-1559 fee

拖动参数,看预留上限与实际费用

示例计算 · 不代表实时主网价格
有效 Gas 单价13.5 gwei
实际总费用0.0002835 ETH
其中销毁 base fee0.000252 ETH
其中给验证者的优先费0.0000315 ETH

当前 max fee 足以覆盖 base fee + 优先费;实际单价为 13.5 gwei,未用到的上限不会被无条件扣走。

计算器把 gasLimit 视作不低于实际用量的合理上限。真实交易还会受到退款规则、访问模式、calldata、合约逻辑与区块环境影响。

Gas limit 不是预算金额

gasLimit 以 Gas 单位衡量最多允许做多少计算, maxFeePerGas 以每单位 Gas 的 ETH 价格限制支付意愿。 二者相乘得到最大费用预留。普通 EOA 向普通地址发送不带 data 的 ETH 转账, 基础消耗通常是 21,000 Gas;调用合约则取决于实际执行路径。

如果 Gas limit 太低,执行可能耗尽 Gas 并回滚;如果设得足够高但实际只用了一部分, 未使用部分不会作为执行费被消费。Type 2 交易中,base fee 被协议销毁, 有效优先费交给区块提议相关方;max fee 高于实际有效单价的差额也不是验证者自动收入。

余额检查的实用结论: “账户有足够 ETH 支付最终看起来很低的费用”仍可能不够; 发送时还需满足交易金额与最大费用预留的有效性检查。 钱包通常会自动估算并避免设置矛盾参数。

08 · EIP-7702

EOA 还“没有代码”吗?

经典教材常说“EOA 没有代码,合约账户才有代码”。这曾是好用的入门近似, 但自 2025 年 5 月 Pectra 升级在主网激活 EIP-7702 后,它不再是无条件成立的协议事实。

EIP-7702 引入 Type 4 set-code 交易。EOA 可以签署授权元组, 让协议在其代码字段中写入一个 23 字节的委托指示符: 0xef0100 || implementation_address。 它不是把整份合约复制进 EOA,而是指向一个已经部署的实现地址。 当相关调用以该 EOA 为目标时,客户端加载所指实现的代码,并在该 EOA 的上下文中执行。

Interactive · classic vs delegated

同一个地址,两种行为模式

地址与原私钥不必迁移
no delegation
implementation · 0xB61d…40A8 已部署的账户逻辑

可实现批处理、赞助、子权限、恢复等能力;安全性完全取决于具体实现与钱包集成。

经典 EOA 的代码为空;私钥直接授权交易。不要把这个经典模型误写成 Pectra 之后永远不变的账户分类规则。

委托是持久的,直到由有效授权替换或清除;它不是只在当前交易中临时生效。EOA 的原私钥仍是关键根权限,能够授权设置、替换或清除委托。

代码委托改变了什么,又没改变什么?

维度经典 EOAEIP-7702 委托 EOA独立合约账户
根来源私钥签名原私钥授权委托;委托逻辑再定义操作规则部署代码及其存储规则
地址迁移不适用原地址可保持不变通常有独立合约地址
代码空代码保存指向实现的委托指示符保存自身部署字节码的哈希
发起顶层交易可以带有效委托指示符时仍可发起不能凭空发起;由外部交易触发
可编程能力很有限由委托实现提供批处理、赞助、权限等由合约代码原生定义
关键风险私钥泄露、盲签私钥风险 + 恶意或有漏洞的委托实现合约漏洞、升级权与签名策略风险

为什么这是账户抽象的一步

经典 EOA 把“谁能授权”固定成单一 secp256k1 私钥签名,把“谁付 Gas”通常固定在交易发送者。 可编程账户希望把这些策略抽象出来:例如一次确认完成 approve + swap, 让赞助者付 Gas,给临时会话密钥限定额度,或用多种凭证恢复账户。 EIP-7702 让已有 EOA 地址可以委托这类逻辑,不必先把全部资产迁移到新合约钱包。

委托目标几乎拥有账户级能力。 不要把 DApp 弹出的“设置委托”当作普通登录签名。 恶意或设计不安全的实现可能近乎完全控制账户资产;安全钱包应对可委托实现进行严格审核, 而不是让任意网页诱导用户粘贴一个地址。

EIP-7702 还打破了若干旧的开发假设:不能再仅用“某地址 code size 是否为零”判断它是不是用户控制账户; EOA 的 nonce 在特殊委托执行中也可能出现比经典模型更复杂的变化。 入门时仍可用经典 EOA 建立主干,但写安全合约或钱包时必须以当前协议规则为准。

09 · Security

签名权就是风险边界

密码学能证明“这份数据得到某把私钥授权”,却不能证明“签名者真正理解界面、 目标合约安全、接收地址正确,或这笔操作符合签名者长期利益”。

先分清三类常见签名请求

交易签名

直接提交链上状态转换,包含目标、value、data、nonce 与费用字段;被纳入后通常消耗 Gas。

检查 chain / to / value / function
普通消息签名

签名动作本身不上链、通常不花 Gas,但可用于登录、证明所有权,也可能被某系统当成授权凭证。

检查 domain / statement / expiry
EIP-712 类型化数据

把结构化字段与域信息呈现给签名者;可用于 permit、订单、投票或委托等,后续可能由他人提交上链。

检查 spender / amount / nonce / deadline
EIP-7702 授权

允许账户设置代码委托,能力远超普通登录;目标实现、链 ID 和授权 nonce 都是安全关键字段。

只信任钱包审核过的实现
KEY

密钥隔离

私钥与助记词不输入网页、不通过聊天发送;日常小额与长期储备使用不同账户,缩小一次失误的影响面。

DISPLAY

核对可信显示

硬件钱包能隔离密钥,但若你确认了错误的目标或恶意 calldata,它仍会忠实签名。设备屏幕与可读解码同样重要。

ALLOWANCE

区分转账与授权

ERC-20 approve 改的是代币合约中的额度;后续 spender 可能无需你再次签名即可在额度内转走代币。

BLAST RADIUS

限制权限与余额

不为未知合约给无限额度;定期检查授权、委托与连接;高价值操作先用小额或模拟确认路径。

把常见误区逐一拆掉

误区 1:ETH 存在我的钱包 App 里。

ETH 余额存在以太坊世界状态里,钱包只是读取状态并使用密钥授权交易。换手机或换钱包软件不会移动链上 ETH。

误区 2:只要别人知道我的地址,就能花我的钱。

地址本来就设计为公开标识。控制权来自私钥或账户认可的授权机制;知道地址只能查询公开状态和向它发送资产。

误区 3:交易回滚,所以我既不付费,nonce 也不变。

被纳入区块的普通交易即使执行回滚,发送者 nonce 仍被消费,已经使用的 Gas 仍需支付;只有执行造成的普通状态修改回滚。

误区 4:两笔相同 nonce 的交易可以先后都执行。

它们竞争同一个账户顺序位置。最终规范链只能接受一个;另一笔会因 nonce 已经过期而无效。

误区 5:某地址 code.length 为 0,就一定是人类的 EOA。

即使在经典模型中,这种判断也无法证明背后是人还是自动程序;EIP-7702 又允许 EOA 带委托指示符,因此基于代码长度的账户身份假设更不可靠。

误区 6:签名不花 Gas,所以任何消息签名都没有风险。

签名本身可能不上链,却可成为 permit、订单、登录或委托的有效授权。风险取决于被签数据将被谁、在何处、以什么规则使用。

误区 7:EIP-7702 把 EOA 永久变成了无法撤销的合约。

委托本身会持续存在,但原 EOA 的有效授权可以替换目标或通过委托到零地址清除指示符。危险在于错误委托可能在你修复前造成损失。

10 · Recap

把整课压缩成两条链

一条链解释“身份如何出现”,另一条链解释“状态如何改变”。 能把两条链完整说出来,就真正掌握了 EOA。

安全随机数 私钥 公钥 Keccak-256 后 20 字节 地址
交易字段 私钥签名 恢复发送者 检查 nonce / 余额 / Gas 执行 新状态

最终心智模型: 私钥是链外授权根;地址是公开索引;账户是链上状态; 钱包是操作界面;签名是授权证据;nonce 是顺序与重放闸门; Gas 是执行预算;EIP-7702 让 EOA 可委托代码,但没有让私钥风险自动消失。

现在检查你的理解

1. “ETH 在钱包里”最准确的修正是什么?

2. EOA 地址如何得到?

3. 两笔交易使用同一发送者、同一 nonce,会怎样?

4. 一笔普通合约调用进入区块后 revert,哪项仍然发生?

5. 某 EOA 的 ERC-20 余额通常存在哪里?

6. EIP-7702 对 EOA 做了什么?

11 · Sources

术语与一手资料

本课按 2026 年 7 月的主网语义核对。入门段落保留经典 EOA 心智模型, 同时用 EIP-7702 修正“EOA 一定没有代码”等已经失效的绝对表述。

核心术语

EOA
Externally-Owned Account,由链外密钥授权的账户;传统上能发起顶层交易。
authority
能够对某账户操作产生有效授权的实体或地址;EIP-7702 规范也用它指授权账户。
nonce
账户顺序计数器,约束同一发送者交易次序并防止链内重放。
wei
ETH 的最小常用单位;1 ETH = 1018 wei。
sender recovery
节点依据签名载荷与 secp256k1 签名恢复发送者公钥/地址的验证过程。
effective gas price
交易实际每单位 Gas 支付的价格,受区块 base fee、优先费上限与 max fee 共同约束。
delegation indicator
EIP-7702 写入账户代码字段的 0xef0100 || address 指示符。
account abstraction
把认证、批处理、费用支付、恢复等账户策略从固定 EOA 规则中抽象为可编程逻辑。

官方一手资料

  1. 01
    ethereum.org · Ethereum accounts 账户类型、四个账户字段、私钥到地址的基础关系。核对:2026-07-25。
  2. 02
    ethereum.org · Transactions 交易字段、签名、交易类型、Gas 与状态转换概览。核对:2026-07-25。
  3. 03
    ERC-55 · Mixed-case checksum address encoding 十六进制地址大小写校验编码的规范与测试向量。
  4. 04
    EIP-155 · Simple replay attack protection 将 chain ID 纳入传统交易签名域,防止简单跨链重放。
  5. 05
    EIP-1559 · Fee market change Type 2 交易、base fee、priority fee、max fee 与费用销毁规则。
  6. 06
    EIP-2718 · Typed Transaction Envelope 现代交易类型封装的通用框架。
  7. 07
    EIP-7702 · Set Code for EOAs Type 4 交易、授权元组、委托指示符、交易发起与安全注意事项。
  8. 08
    ethereum.org · Pectra 7702 guidelines EIP-7702 的授权结构、钱包集成与用户安全指南。核对:2026-07-25。
  9. 09
    Ethereum Foundation · Pectra Mainnet Announcement Pectra 主网激活时间与 EIP-7702 带来的账户能力说明。
  10. 10
    Ethereum execution-specs 执行层协议的可执行 Python 规范与分叉版本实现。

Before the next lesson

你现在可以用一个问题判断账户类型

不要只问“它有没有代码”,而要问: 这个地址的根授权来自哪里,谁能让它发起或响应状态改变,当前是否存在委托或其他可编程规则? 下一课讲合约账户时,我们会把“由代码控制”这半边模型补完整。