The Gas Network is a decentralized network designed to bring accurate cross-chain gas estimation data on-chain.
It aims to create an ecosystem of actors incentivized to coordinate on the network's success, enabling composable access to transaction fee data across chains.
The core of the Gas Network is the Gasnet Chain containing gas estimates for all supported chains and a Pull Oracle contract to add desired estimates to any chain.
By making quality cross-chain gas estimations available on-chain, the Gas Network helps users and protocols avoid overpaying or risking failed transactions due to underpaying transaction costs in cross-chain scenarios. This not only reduces costs and risks of cross chain transactions, but also enhances the user experience.
This document outlines the functionalities, actors, and economic model of the Gas Network. The high-level design is captured in this sequence diagram, showing the roles and flows of the Gas Network.
sequenceDiagram
participant Provider
participant Gasnet
participant Consumer
participant Consumer Chain
%% Step 1: Provider Submits Estimate
Provider->>Gasnet: Submit gas estimation
%% Step 2: Aggregation and Storage
Gasnet->>Gasnet: Aggregate estimations
Gasnet->>Gasnet: Store aggregated data on-chain
%% Step 3: Consumer Accesses Estimations
Consumer->>Gasnet: Retrieve latest gas estimations
Consumer->>Consumer Chain: Update chain with estimate
Consumer Chain-->>Consumer Chain: Use estaimte in transaction
<aside> 💡
Over the next few months, GasNet will include all the data from our existing permissioned Gas Platform API.
You can also access all Blocknative gas data via the permissioned API and Blocknative’s browser Gas Extension. See our docs at https://docs.blocknative.com/gas-prediction.
</aside>
Gasnet is a private, permissioned chain acting as the system of record for current and past gas estimation and prediction data.
In the future, we plan to support external validators to progressively decentralized this chain.
Providers, entities that estimate gas on various chains, update the state of Gasnet to reflect their most current and accurate estimates. Since estimates may be updated at least as fast as the block speed of the chain they are estimating, Gasnet must be a fast chain.
<aside> 💡
Gasnet devnet-0 is an Arbitrum Orbit L3 with a block speed of 250ms. Future devnets and testnets may uses different technology stacks as the team optimizes Gasnet’s operational characteristics.
</aside>
Providers are whitelisted to use smart contracts on Gasnet to update their data.
In the future, the Gasnet chain will also host aggregation functions that combine data from multiple providers. This enables accurate gas data without relying on a single Provider. See Future Research below.
Gas Network uses signed price estimates over standard RPC calls to transport from Gasnet to target chain Oracle.
Consumers are entities that want to access gas estimation data on their Consumer Chain. They do this by fetching gas estimation data from Gasnet via an RPC call and submitting the data to their Consumer Chain using the Gasnet Pull Oracle. This oracle ensures the validity of the data by checking an attached ECDSA digital signature and provides read methods composable into other contracts on the Consumer Chain. The digital signature uses the EIP-712 standard for signing and on-chain verification of complex typed data, guaranteeing message consistency as it moves across chains.