以太坊交易类型演进:从Legacy到Blob的协议定义
以太坊通过EIP-2718引入交易类型前缀,将交易数据结构标准化为类型与载荷的组合。本文解析类型0至类型4的具体协议定义及其字节标识。
交易类型前缀与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原始功能的前提下扩展其行为能力。
资料与延伸阅读
你可以通过以下原始资料核对文中概念,并继续深入阅读。