以太坊交易类型演进:Legacy到Blob的协议定义与字节前缀
以太坊交易格式通过EIP-2718实现类型化,不同交易类型对应特定字节前缀,从Legacy到Blob的演进支持了费用市场与Layer 2扩容等新特性。
交易类型化与字节前缀机制
以太坊交易通过EIP-2718协议实现了类型化结构,交易被定义为TransactionType与TransactionPayload的组合。TransactionType是一个0x00至0x7f之间的数字,代表128种可能的交易类型。在序列化过程中,交易类型被编码为字节前缀,直接附加在交易载荷之前。这种设计允许在不破坏旧格式兼容性的前提下,引入新的交易类型和字段。例如,Legacy交易类型为0x0,而Blob交易类型为0x3,这些类型标识符在RLP编码后的交易数据开头即可识别。
Legacy交易类型:原始格式与限制
Legacy交易类型(Type 0)是自以太坊启动以来使用的原始交易格式。它不包含EIP-1559引入的动态费用计算或智能合约访问列表等特性。在RLP编码中,Legacy交易以字节0xf8开头,表明其类型。该格式包含nonce、gasPrice、gasLimit、to地址、value、data、v、r和s等字段,所有字段均被RLP编码。由于其缺乏类型前缀,Legacy交易在序列化后无法直接区分其类型,必须依赖字段内容或上下文推断。
Blob交易类型:EIP-4844与Layer 2数据可用性
Blob交易类型(Type 3)由EIP-4844协议引入,作为Dencun升级的一部分。该交易类型以字节0x03开头,专门用于高效处理二进制大对象(Blob)数据。Blob交易包含blobVersionedHashes、maxFeePerBlobGas和blobGasPrice等字段,旨在降低Layer 2扩容方案发布数据的成本。通过将Blob数据与执行数据分离,Blob交易显著提升了以太坊的数据可用性和扩展性,同时保持了与现有交易格式的兼容性。
资料与延伸阅读
你可以通过以下原始资料核对文中概念,并继续深入阅读。