以太坊 / 主题阅读

以太坊交易类型演进:从Legacy到Blob的协议定义

以太坊通过EIP-2718引入交易类型前缀,将交易数据结构标准化为类型与载荷的组合。本文解析类型0至类型4的具体协议定义及其字节标识。

以太坊Merkle Patricia Trie数据结构示意图,展示树形结构节点与哈希值关系
主题资料配图,非新闻现场照片 · 配图:ethereum mpt(merkle patricia tries)详解-腾讯云开发者社区-腾讯云

交易类型前缀与EIP-2718结构

以太坊引入EIP-2718协议,将交易数据结构标准化为类型与载荷的组合。交易被编码为TransactionType || TransactionPayload,其中TransactionType为0x00至0x7f之间的单字节数值,TransactionPayload则由具体交易类型定义。这种结构允许在不影响旧格式兼容性的前提下扩展新功能,是交易类型演进的基础。

类型0与类型1:基础交易与访问列表

类型0交易为Legacy格式,自以太坊启动以来使用,不包含EIP-1559动态费用或访问列表等新特性。类型1交易在柏林升级中引入,增加了accessList参数,用于指定交易将访问的地址和存储键,旨在优化复杂智能合约交易的gas消耗。类型1交易还包含yParity参数,标识签名中y值的奇偶性。

类型2与类型3:费用市场与Blob数据

类型2交易即EIP-1559交易,在伦敦升级中成为标准,将费用拆分为基础费用和优先费用,提升费用可预测性。类型3交易在Dencun升级中引入,专为处理二进制大对象(blob)数据设计,包含blobVersionedHashes等字段,显著降低了Layer 2数据发布的成本。

类型4:账户抽象与EOA委托

类型4交易在Pectra升级中引入,旨在支持账户抽象。它允许外部拥有账户(EOA)通过authorization_list参数临时委托给智能合约账户,从而在不改变EOA原始功能的前提下扩展其行为能力。

资料与延伸阅读

你可以通过以下原始资料核对文中概念,并继续深入阅读。

  1. Transactions | ethereum.org
  2. 配图:ethereum mpt(merkle patricia tries)详解-腾讯云开发者社区-腾讯云
← 更多以太坊文章返回顶部 ↑