The proposal introduces a Ethereum Improvement Proposal (EIP) for the inclusion of a BLOBBASEFEE opcode in the Ethereum Virtual Machine (EVM). This opcode is specifically designed to retrieve the value of the blob base-fee for the current block in execution. The objective is to enhance the capabilities of smart contracts by providing them with a mechanism to programmatically access and account for blob base-fees, fostering innovative use cases within the Ethereum ecosystem.
In the evolving landscape of decentralized applications on the Ethereum blockchain, smart contracts often lack a direct mechanism to access and account for the costs associated with blob data transactions. This limitation impedes the development of innovative solutions such as trustless accounting for blob data usage costs and the implementation of blob gas futures. Without a dedicated opcode, smart contracts face challenges in efficiently interacting with and responding to the dynamic costs introduced by blob data.
The proposed solution introduces the BLOBBASEFEE opcode, designed to address the a forementioned limitations. This opcode facilitates the retrieval of the blob base-fee for the current block within the Ethereum Virtual Machine (EVM). By providing a direct mechanism for smart contracts to access this crucial information, the BLOBBASEFEE opcode enables trustless accounting for blob data usage costs and empowers the implementation of blob gas futures. The solution aligns with established opcode conventions, ensuring seamless integration with existing Ethereum functionality while offering a valuable tool for the dynamic and programmable management of blob data costs within the Ethereum ecosystem.
Use Cases -
Trustless Accounting for Blob Data Usage Costs:
Enabling contracts, particularly rollup contracts, to independently calculate and manage costs related to blob data transactions.
Implementation of Blob Gas Futures:
The opcode serves as a foundation for the development of blob gas futures, allowing users to strategically navigate and mitigate the impacts of blob data costs.
The BLOBBASEFEE opcode is precisely defined with the following specs :
Gas Cost: 2
The opcode functions by returning the output of the get_blob_gasprice(header) -> int function, a concept detailed in EIP-4844 §Gas accounting.
Gas Cost Rationale for BLOBBASEFEE Opcode:
The decision to assign a 2-gas cost to the BLOBBASEFEE opcode is rooted in its specific function and its alignment with established gas cost conventions within the Ethereum protocol, notably the BASEFEE opcode as defined in EIP-3198.
Inherent Nature of the Opcode:
The BLOBBASEFEE opcode serves a singular purpose: to extract information regarding the blob base-fee directly from the block header. Unlike operations that involve complex computations or storage manipulations, the opcode's function involves reading an already available piece of data. This simplicity translates to a lower computational overhead, justifying a modest gas cost.
Availability of Data Before EVM Code Execution:
Crucially, the value of the blob base-fee is not calculated or derived during EVM code execution. Instead, it is a pre-existing parameter contained within the block header. As a result, the required information is readily accessible, and the opcode does not incur additional computational expenses to generate or manipulate the data.
Consistency with BASEFEE Opcode (EIP-3198):
The decision to set the gas cost at 2 aligns with the precedent set by the BASEFEE opcode introduced in EIP-3198. The BASEFEE opcode similarly accesses information from the block header, specifically retrieving the current base fee for block inclusion. By maintaining consistency in gas costs for operations that share a similar nature—retrieving information from the block header—the Ethereum protocol ensures a predictable and uniform economic model for participants.
Minimizing Complexity and Read/Write Operations:
A 2-gas cost not only reflects the straightforward nature of the BLOBBASEFEE opcode but also emphasizes the Ethereum protocol's commitment to efficiency. The opcode's design avoids introducing unnecessary complexity or additional read/write operations, further justifying the selected gas cost.
Contribution to Smooth EVM Operation:
The gas cost assignment for BLOBBASEFEE supports the overall operational efficiency of the Ethereum Virtual Machine. By setting a reasonable and consistent cost, the opcode can be seamlessly integrated into smart contracts without disproportionately impacting their execution costs.
Assuming calling get_blob_gasprice(header) on the current block’s header returns 7 wei, executing BLOBBASEFEE should push the value 7 (left-padded byte32) to the stack.
Bytecode: 0x4900 (BLOBBASEFEE, STOP)
No known backward compatibility issues are associated with the introduction of the BLOBBASEFEE opcode. Its inclusion is designed to seamlessly integrate with existing Ethereum functionality.
The addition of the BLOBBASEFEE opcode to the Ethereum Virtual Machine introduces a valuable tool for smart contracts to manage and account for blob data costs. The proposal aligns with existing opcode conventions, ensuring smooth integration and minimal impact on backward compatibility. The opcode's low gas cost reflects its efficiency in providing access to essential information from the block header.
For Press Releases, project updates and guest posts publishing with us, email to email@example.com.
Subscribe to EtherWorld YouTube channel for ELI5 content.
Share if you like the content. Donate at avarch.eth or Gitcoin
You've something to share with the blockchain community, join us on Discord!