Overview
ETHGas is a marketplace to source and trade blockspace commitments, alongside the Base Fee itself. It operates as a hybrid exchange - a centralized venue, where the central limit orderbook (CLOB) matches buyers with sellers, alongside a non-custodial smart contract where the collateral is held to backstop validator commitments. ETHGas is a neutral party offering end-to-end privacy.
Blockspace commitments come in three forms
Whole Block where the buyer has the exclusive right to sequence and include any valid transactions up until ~36mm gas units. The buyer has the option to subdivide and sell a combination of Inclusion Preconfirmations or Execution Guarantees (coming soon). Whole block market open at most 64 slots in advance.
Inclusion Preconfirmations (or Inclusion Guarantees) where trades are guaranteed to be included in a block up to a specific maximum number of gas units. Validators ‘create’ Inclusion Preconf markets by providing an initial sale. From then on, secondary trading of such instruments may occur between various parties. Inclusion preconf market opens 32 slots in advance.
Execution Preconfirmations (or Execution Guarantees, coming soon!) where trades are additionally guaranteed to have a specific state or result attached to them. These markets are structured as a progressive auction. While we have looked at other auction mechanics (e.g. VCG and other forms of GSP) further research is warranted to optimize this for both parties accordingly.
Base Fee Markets: (coming shortly)
Block Construction: By the 2 second mark before the start of the slot (subject to Validator Timing Adjustment), each Buyer is required to have submitted their trades to be included alongside their Preconfirmations, at which point the Builder will request to get a list of Preconf transactions.
The Block Builder will then construct and optimize any remaining portions of the block accordingly including, amongst others, private transactions and public mempool trades accordingly. These Blocks will then propagate via the ETHGas Relay and onto the Proposer accordingly.
See more details in the Inclusion Preconf Flow in the Architecture section
Last updated