Tonight, Fusaka goes live and Ethereum updates its blob pricing mechanism with a blob reserve price (a price floor) via EIP-7918. Here are three reasons why EIP-7918 ties the reserve price to the execution price, and the trick that made it all come together on the final submission day. Three reasons for tying the reserve price to the execution price Reason 1: to retain control over demand Ethereum adapts the gas price with demand. If more blobs are used than the target, the price rises; if fewer, the price falls. Due to this automatic pricing, users do not need to guess how much to pay for inclusion. However, the pricing system only works when the price actually influences demand. If the blob base fee is 1 wei, users hardly notice the fee even if it increases 1,000-fold. Since the blob base fee can at most increase by 12.5% every slot, it may take several hours until it is sufficiently high to produce a target consumption of blobs. During that time, users may want to buy more blobspace than what is available, but it can be hard to know how much to pay (via tips) for it. Where is that inflection point where users begin to care about the blob base fee? Presumably, since users also need to pay for the blob-carrying transaction with execution gas, they only start caring once the cost of the blob gas is some relevant fraction of the execution cost. Therefore, by tying the reserve price to the execution base fee, we can ensure that users always care, at least a little, about the blob base fee. This idea is also explained in a children's book.
12/3/2025In the discussion phase for EIP-7918, Ben Adams has suggested that we compute the minimum blob base fee based on the cost of POINT_EVALUATION_PRECOMPILE_GAS, as opposed to using the TX_BASE_COST with amortization across blobs. The design idea seems worthwhile, and I will here analyze it, based on discussion with—and feedback from—Ben, Francesco D'Amato, Justin Traglia, Toni Wahrstätter and Marius Van Der Wijden. Summary There would still be just two lines of code, with the threshold in the if-clause changed by switching constants. The original constants established a low minimum blob base fee that still ensures a functioning fee market. The new constants would raise the minimum blob base fee by charging closer to the workload that blobs impose on nodes, still also ensuring a functioning fee market. The rest of this document just discusses the underlying rationale and implications, illustrating the total workload imposed by blobs on nodes relative to the workload of one point evaluation. Background EIP-4844 (Dencun) EIP-4844 introduced the first phase of Ethereum's data availability sampling (DAS) roadmap. Validators on the consensus layer (CL) verify that the KZG commitments in the payload correspond to the provided blobs by cryptographically verifying the accompanying KZG proofs. Furthermore, execution layer (EL) nodes must also validate the tx_payload_body and verify the wrapped data (blobs, commitments, and proofs) for every blob entering a node's tx pool. MEV-boost also performs similar checks on blobs via the flashbots_validateBuilderSubmission endpoint when they are included in the payload (at least in Nethermind). The computational requirements for verifying a KZG proof for an entire blob are slightly higher than those for verifying a KZG proof for a single point on that blob; the latter is the specific operation covered by the POINT_EVALUATION_PRECOMPILE_GAS (50000) charged to smart contracts. While blobs arriving directly via MEV-boost do not subject EL nodes to the burden of this p2p verification, MEV-boost is an out-of-protocol solution. The protocol should ideally charge users according to the regular (worst-case) scenario of blob txs propagating p2p. This is also the most common behavior today given limited MEV in blobs.
12/2/2025This is a write-up on an idea first suggested by Mark on Discord here. Key considerations in ePBS are the time allowed for block execution and the time allowed for propagation. Positioning the payload timeliness committee (PTC) vote earlier allows more time for execution and positioning it later allows more time for propagation. A short time for propagation of blobs is particularly unfortunate, given the amount of data that must be propagated before the deadline. However, it turns out that we actually do not need to strictly compromise between either propagation or execution, because the PTC can be instructed to have dual deadlines. The PTC first observes the timeliness of the payload, ensuring it arrives early in the slot, allowing time for more execution. At a later point in the slot, the PTC also checks if the blob data is available (for example in custodied columns, depending on the state of DAS), and casts a positive vote if both deadlines were met. Figure 1 illustrates the design. Note that time indications are tentative and subject to change. Figure 1. A dual-deadline PTC vote in ePBS. The design enforces that the payload is available early in the slot to allow time for execution, but leaves room for blob data to propagate over a longer time. As shown in Figure 1, by staggering the deadlines, the majority of the slot can be used for: execution of the payload, propagation of blobs,
6/27/2025EIP-7918 introduces the constant BLOB_BASE_COST, constituting the reserve price for a blob expressed in EL gas. The reserve-price design fulfills two separate functions: To ensure a functioning fee market, by keeping the blob base fee in a range where its adjustment affects the demand for blobspace. To charge at least a fraction of the cost for the compute imposed on nodes, at the prevailing market rate. The preliminary setting is: BLOB_BASE_COST = 2**14 # 16384 This means that the blob reserve price is slightly below the cost of a simple tx and that the reserve blob base fee is 1/8 (2**14/2**17) of the execution base fee. The setting balances the two stated goals of the EIP, where (1) is ensured already at a lower setting (e.g., $2^{11}$ or $2^{12}$) and (2) can be satisfied with an even higher setting (e.g., $2^{15}$). During the SFI decision, we left the door open to adjust BLOB_BASE_COST after testing the core functionality in devnets. I will here outline why the preliminary setting was selected and the range of settings that could be considered.
6/19/2025