State Update Auction

What is a State Update Auction?

Any transaction on the Ethereum network updates some piece of state.

These updates could be the addresses own balance, the price of an asset on a DEX, the price of an asset on a oracle etc.

There is value in these state updates, arbitrage opportunities, liquidations that can be captured by sophisticated actors in the transaction lifecycle.

For most users their transactions are currently released to the Mempool (made public) exposing them to negative externalities such as front-running & sandwiching. In addition to this any non malicious value within the transaction via arbitrage is lost.

The "State Update Auction" enables transactions to bypass the Mempool protecting them from front-running and run a "State Update Auction" in alloted block time. This enables us to recover this non-malicious value for users without delaying their transactions.

What is a State Update Auction?

Every Ethereum transaction results in some form of state update. These updates could involve:

  • Changing an address’s balance,

  • Adjusting the price of an asset on a decentralized exchange (DEX),

  • Updating asset prices on an oracle, and more.

These state updates often hold value, creating opportunities for arbitrage or liquidations that sophisticated actors in the transaction lifecycle can capture.

However, most user transactions are released to the public mempool, exposing them to risks such as front-running and sandwich attacks. In addition, valuable opportunities like arbitrage within the transaction are lost to other actors.

The State Update Auction solves these issues by allowing transactions to bypass the mempool and execute an auction for the state update during the block's allotted time. This protects users from front-running while recovering non-malicious value without delaying the transaction.

Benefits of a State Update Auction

  • Protection from Front-running: Prevents transactions from being manipulated or exploited by external actors.

  • Value Recovery: Captures potential arbitrage or other value within the transaction flow, returning it to the user.

The Blink transaction flow works as follows:

  1. A user sends a transaction through an originator, such as a Web3 wallet.

  2. The originator forwards the transaction (either via eth_sendRawTransaction or eth_sendPrivateTransaction) to Blink.

  3. Blink immediately passes the transaction to block builders, bypassing the public mempool to minimize latency.

  4. Simultaneously, the State Update Auction is run in parallel, where searchers place bids on the transaction’s state update.

  5. These bids (bundles) are forwarded to the builders.

  6. The transaction is then included on-chain either via a winning bundle bid or as a private transaction.

This process ensures the transaction is both protected and optimized for value recovery without compromising speed.

Last updated