EIP-7516: BLOBBASEFEE instruction Ethereum Improvement Proposals AllCoreNetworkingInterfaceERCMetaInformational 📢 Last Call Standards Track: Core EIP-7516: BLOBBASEFEE instruction Instruction that returns the current data-blob base-fee Authors Carl Beekhuizen (@carlbeek) Created 2023-09-11 Last Call Deadline 2024-02-15 Requires EIP-3198, EIP-4844 This EIP is in the process of being peer-reviewed. If you are interested in this EIP, please participate using this discussion link. Table of Contents Abstract Motivation Specification Rationale Gas cost Backwards Compatibility Test Cases Nominal case Security Considerations Copyright Abstract Add a BLOBBASEFEE (0x4a) instruction that returns the value of the blob base-fee of the current block it is executing in. It is the identical to EIP-3198 (BASEFEE opcode) except that it returns the blob base-fee as per EIP-4844. Motivation The intended use case would be for contracts to get the value of the blob base-fee. This feature enables blob-data users to programmatically account for the blob gas price, eg: Allow rollup contracts to trustlessly account for blob data usage costs. Blob gas futures can be implemented based on it which allows for blob users to smooth out data blob costs. Specification Add a BLOBBASEFEE instruction with opcode 0x4a, with gas cost 2. Op Input Output Cost 0x4a 0 1 2 BLOBBASEFEE returns the result of the get_blob_gasprice(header) -> int function as defined in EIP-4844 §Gas accounting. Rationale Gas cost The value of the blob base-fee is needed to process data-blob transactions. That means its value is already available before running the EVM code. The instruction does not add extra complexity and additional read/write operations, hence the choice of 2 gas cost. This is also identical to EIP-3198 (BASEFEE opcode)’s cost as it just makes available data that is in the header. Backwards Compatibility There are no known backward compatibility issues with this instruction. Test Cases Nominal case Assuming calling get_blob_gasprice(header) (as defined in EIP-4844 §Gas accounting) on the current block’s header returns 7 wei: BLOBBASEFEE should push the value 7 (left padded byte32) to the stack. Bytecode: 0x4900 (BLOBBASEFEE, STOP) Pc Op Cost Stack RStack 0 BLOBBASEFEE 2 [] [] 1 STOP 0 [7] [] Output: 0x Consumed gas: 2 Security Considerations The value of the blob base-fee is not sensitive and is publicly accessible in the block header. There are no known security implications with this instruction. Copyright Copyright and related rights waived via CC0. Citation Please cite this document as: Carl Beekhuizen (@carlbeek), "EIP-7516: BLOBBASEFEE instruction [DRAFT]," Ethereum Improvement Proposals, no. 7516, September 2023. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-7516. Ethereum Improvement Proposals Ethereum Improvement Proposals ethereum/EIPs Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.