EIP-4844 Economics #1: A Closer Look at the Fee Mechanism
This post walks through the fee mechanism under EIP-4844.
Writer:Jason, ETHconomics Research Space
Translation by Franci, ETHconomics Research Space
Table of Contents
Introduction
Type 3 Transaction Fees
EVM Dimension
Blob Dimension
Multidimensional Resource Pricing
Problems Solved by Multidimensional Resource Pricing
Blob Base Fee Update Algorithm
Adaptive Nature of Blob Base Fee
Cold Start Process of Blob Base Fee
Fluctuation Range of Blob Base Fee Between Adjacent Blocks
The relationship between the update algorithms of Blob Base Fee and EIP-1559
Will Blob Base Fee Be Burned?
Does Blob Have a Priority Fee?
Rollup Data Availability Strategy
Conclusion
References
Introduction
EIP-4844 is mainly divided into two parts: introduction of blob transactions (Type 3 transactions) and a dedicated fee market for blobs. The former is more about architectural design and implementation, thus garnering more attention from developers. In fact, the mechanism design and details of the latter are vital and fall within the domain of Ethereum economics. The EIP-4844 economics series mainly offers an in-depth analysis of the latter, hoping to convey the fascination of Ethereum economics to readers.
EIP-4844 Economics Series:
EIP-4844 Economics #1: A Closer Look at the Fee Mechanism (This Article)
EIP-4844 Economics #2: Deep Dive into Rollup Data Availability Strategy
EIP-4844 Economics #3: Insights into Multidimensional Resource Pricing
EIP-4844 Economics #4: Strategies for Type 3 Transactions Inclusion
Type 3 Transaction Fees
Let's start by examining a Type 3 transaction to intuitively understand the EIP-4844 fee mechanism. As of this writing, EIP-4844 has not been deployed on the Ethereum mainnet, with a scheduled launch date of March 13, 2024. Therefore, we analyze a Type 3 transaction from the Sepolia testnet as an example.
The cost of a Type 3 transaction is divided into two distinct components: the fees associated with the Ethereum Virtual Machine (EVM) and those specific to the blob data.
Type 3 transactions, like other types of transactions, have the ability to trigger EVM execution, with the EVM dimension fee covering that cost.
Unlike other types of transactions, Type 3 transactions can carry blobs, with the Blob dimension fee covering that cost.
EVM Dimension
Using Etherscan, we can understand how the EVM dimension fee is calculated, which is similar to that of other types of transactions:
Although this transaction appears on Etherscan as a 0 ETH transfer (Gas: 21,000), it is actually a Type 3 Blob transaction, identified by the
Txn Type
field marked as3
.The fees shown on Etherscan only cover the EVM dimension.
Blob Dimension
Observing the Blob component of a Type 3 transaction requires a different platform, blobscan, due to its distinct nature.
The fee market for the Blob dimension operates independently from that of the EVM dimension.
Similar to Type 2 transactions (EIP-1559), Type 3 transactions can specify
max_fee_per_data_gas
to prevent excessive Blob dimension costs.The Data Gas in Type 3 transactions is unrelated to EVM Gas, making them incomparable.
Likewise, the Data GasPrice in Type 3 transactions is unrelated to EVM GasPrice, also making them incomparable.
Multidimensional Resource Pricing
The two-dimensional pricing model introduced in the preceding sections represents a unique approach for Ethereum. Typically, the introduction of a new resource like Blob would involve simply setting a reasonable Gas price for it.
However, EIP-4844 marks a significant milestone towards a more nuanced pricing model for multiple resources within Ethereum:
It distinguishes between Blob data resources and current resources priced in EVM Gas (such as computational and storage resources).
The price of Blob data resources is determined solely based on their supply and demand.
Problems Solved by Multidimensional Resource Pricing
Multidimensional resource pricing solved several issues inherent in the unified Gas system:
The need for frequent adjustments in the relative Gas costs between different resources, which require an EIP and a hard fork to implement, leading to inaccuracies and inefficiencies in updates.
The coupling of different resources can lead to unintended side effects. For example:
For instance, an increase in demand for storage resources (like the use of SSTORE) causes a rise in GasPrice, thereby increasing the cost of storage resources.
Consequently, even if the demand for computational resources (such as using ADD) remains stable, their costs would also increase due to the rising GasPrice.
Ideally, the cost of computational resources would remain stable while the cost of storage resources adjusts according to demand.
Under a multidimensional resource pricing model,
The Gas costs for different resources are priced independently of one another, eliminating the need for adjustments.
The pricing of resources is solely determined by their own supply and demand curve, leading to a more rational pricing mechanism.
Blob Base Fee Update Algorithm
Similar to EIP-1559, EIP-4844 introduces a Blob Base Fee determined by network supply and demand for blobs, utilizing an exponential EIP-1559 update algorithm. The Blob Base Fee for block n is calculated as follows:
Where:
m represents the
MIN_DATA_GASPRICE
.En−1 denotes the cumulative excess of Data Gas consumed up to block
n-1
.Notably, En−1≥0, meaning that if cumulative Data Gas falls below the target, Data GasPrice will be set to
MIN_DATA_GASPRICE
.
s is the
DATA_GASPRICE_UPDATE_FRACTION
, serving as an update magnitude factor to limit the fluctuation in Blob Base Fee between adjacent blocks.
Adaptive Nature of Blob Base Fee
The Blob Base Fee applies an adaptive rule similar to that of 1559:
If Data Gas consumption consistently exceeds the target, the Blob Base Fee will rise exponentially.
Conversely, if Data Gas consumption consistently falls below the target, the Blob Base Fee will decrease exponentially until it reaches
MIN_DATA_GASPRICE
.
Cold Start Process of Blob Base Fee
In EIP-4844, MIN_DATA_GASPRICE
is set to 1, meaning the Blob Base Fee will remain at the minimal non-zero integer of 1 whenever cumulative Data Gas consumption is below the target.
On one hand, research within the EIP-4844 Fee Market Analysis found that historical demand for Rollups was actually below the target. Under this assumption, the Blob Base Fee would consistently stay at 1, without initiating any price discovery process.
On the other hand, Rollup operators anticipate a significant demand for blobs post-EIP-4844 implementation, likely exceeding the target (3 blobs).
The real outcome will be revealed post-EIP-4844 launch, and we can continue to monitor the Blob Base Fee's cold start process.
Fluctuation Range of Blob Base Fee Between Adjacent Blocks
Based on the above update algorithm, the fluctuation range of Blob Base Fee between adjacent blocks can be determined.
According to EIP-4844 specifications:
MAX_BLOB_GAS_PER_BLOCK
is 786,432, representing the Data Gas consumed by 6 blobs.TARGET_BLOB_GAS_PER_BLOCK
is 393,216, representing the Data Gas consumed by 3 blobs.DATA_GASPRICE_UPDATE_FRACTION
is 3,338,477.
This allows calculation of the upper and lower limits of Data Gas consumption between adjacent blocks:
Since MAX_BLOB_GAS_PER_BLOCK
is twice TARGET_BLOB_GAS_PER_BLOCK
, we have:
The rate of change in Blob Base Fee between adjacent blocks, denoted as the ratio, is:
Thus, the upper and lower limits of the ratio are:
The variation in Blob Base Fee from one block to the next mirrors the Base Fee adjustments in EIP-1559, maintaining within a 12.5% range. However, unlike the symmetrical adjustment in EIP-1559, where increases and decreases are capped at 12.5%, the Blob Base Fee's adjustments are based on an exponential EIP-1559 mechanism, leading to its distinct behavior.
The relationship between the update algorithms of Blob Base Fee and EIP-1559
In fact, the exponential EIP-1559 mechanism and the current EIP-1559 mechanism are interrelated.
Attempting a Taylor series expansion of exp(x), when x is sufficiently small, exp(x) approximates x+1, thus deriving the existing EIP-1559 mechanism:
Under this approximation, the rate of change between adjacent blocks is symmetric.
Will Blob Base Fee Be Burned?
Just like the Base Fee in EIP-1559, the Blob Base Fee in EIP-4844 is also designed to be burned. This occurs before the execution of Type 3 transactions within the EVM. Importantly, even if execution within the EVM fails, the Blob Base Fee is not refunded.
At present, platforms such as Etherscan and Blobscan do not offer details on the burning of Blob Base Fees. Nevertheless, insights into the burning process can be accessed via sites like beaconcha.in.
Does Blob Have a Priority Fee?
In EIP-1559, the Gas Price is composed of a Base Fee and a Priority Fee:
In drawing a comparison with EIP-1559, one might anticipate blobs to also incorporate a Priority Fee. Yet, in practice, blobs lack a distinct Priority Fee and are exclusively priced according to the Blob Base Fee:
Intuitively, Priority Fees serve as an incentive for block proposers, as they would otherwise lack motivation to include transactions since the Base Fee is burned.
Yet, blobs do not require a Priority Fee. Even in the absence of a Priority Fee, there are mechanisms to incentivize block proposers:
Under the PBS architecture, Rollup operators could use private transaction services (like Flashbots) to directly transfer allowances to builders, achieving the same effect as Priority Fee.
When selecting Type 3 transactions for inclusion, builders or proposers need strategies different from those used for other types of transactions, considering:
Type 3 transactions involve fees in two dimensions, each with its own constraints and cost-effectiveness, requiring comprehensive consideration.
The blobs in Type 3 transactions are susceptible to block reorg due to propagation delays.
Future articles will delve deeper into these aspects.
Rollup Data Availability Strategy
Rollups require tailored strategies when using blobs as data availability solution. This is partly because blobs adopt a container-like charging model. For Rollups, this entails a trade-off between:
When a blob is fully utilized, the cost per data is lowest.
Achieving full utilization of a blob also results in the highest data latency cost, marking the longest waiting period before submission to the Layer 1 network.
Moreover, blobs as a data availability are not inherently superior to Calldata:
The cost per byte for Calldata remains constant, without the need to wait for data to reach a certain volume to reduce costs, thus allowing for faster propagation and lower data latency costs.
It is expected that rollups with lower transaction volumes might favor using Calldata, given the considerable data latency costs involved in fully utilizing a blob.
For rollups, maintaining two separate mechanisms is too costly.
Calldata itself is not designed for data availability.
After restricting the use of Calldata, it's expected that Rollups will predominantly use blobs. Joint publication of blobs can effectively address the issue of high data latency costs associated with blobs. The real world's shipping containers aren't limited to carrying goods from a single company. However, the infrastructure required for joint publication of blobs requires time to develop.
Furthermore, joint publication implies that rollups must share costs. An intuitive distribution scheme to distribute costs is by allocating them according to the data volume each rollup contributes to a blob. However, this may not be the most equitable approach, as smaller Rollups, compared to larger ones, have a greater need for and derive more benefit from joint publication of blobs and should, therefore, bear a greater share of the costs.
Future articles will provide an in-depth analysis of these topics.
Conclusion
The EIP-4844 fee market presents several interesting research points: the exploration of multidimensional resource pricing, the integration of an exponential EIP-1559 mechanism, strategies for tipping mechanism and inclusion of Type 3 transactions, Rollup data availability strategies, and the new market for joint blob publication. Join the ETHconomics Research Space for further discussion and research.
References
EIP-4844 spec
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters
Exponential EIP-1559
https://dankradfeist.de/ethereum/2022/03/16/exponential-eip1559.html
EIP-4844 Fee Market Analysis
https://ethresear.ch/t/eip-4844-fee-market-analysis/15078
Sources for transaction screenshots in the article
https://sepolia.etherscan.io/tx/0x818a970a060796a9426acd7dfc4245edfe24d398bfab9a7e7fc4be23851bb04a
https://sepolia.blobscan.com/tx/0x818a970a060796a9426acd7dfc4245edfe24d398bfab9a7e7fc4be23851bb04a
https://sepolia.beaconcha.in/block/5216786#overview
Source for Vitalik's comment
https://x.com/VitalikButerin/status/1750183998523871561?s=20
RollCall #2.1 Breakout - 4844 Testing