From c2243e6755b0a9f1036b5ce6da8c218c86b90404 Mon Sep 17 00:00:00 2001 From: offgridauthor Date: Thu, 22 Aug 2024 12:25:55 -0700 Subject: [PATCH 1/3] add to kb what happens during preconf --- images/preconf-process.svg | 12 ++++ ...at-happens-during-an-execution-preconf.mdx | 67 +++++++++++++++++++ mint.json | 2 +- 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 images/preconf-process.svg create mode 100644 knowledge-base/what-happens-during-an-execution-preconf.mdx diff --git a/images/preconf-process.svg b/images/preconf-process.svg new file mode 100644 index 00000000..7f758d41 --- /dev/null +++ b/images/preconf-process.svg @@ -0,0 +1,12 @@ +BlockchainProviderBidderBlockchainProviderBidder1. Submit preconf bid2. Notify of commitment3. Propose block with tx4. Transaction confirmed \ No newline at end of file diff --git a/knowledge-base/what-happens-during-an-execution-preconf.mdx b/knowledge-base/what-happens-during-an-execution-preconf.mdx new file mode 100644 index 00000000..bda49ea1 --- /dev/null +++ b/knowledge-base/what-happens-during-an-execution-preconf.mdx @@ -0,0 +1,67 @@ +--- +title: What Happens During An Execution Preconfirmation? +sidebarTitle: What Happens During A Preconf? +description: "Learn about what happens behind the scenes during an execution preconfirmation." +--- + +Let's say you're a searcher or solver looking to execute a complex MEV strategy on Ethereum involving multiple DeFi protocols. + +## Problem + +Currently, when you send a transaction bundle: +- You define your maximum slippage tolerance for each trade (eg. 1%) +- You broadcast your bundle to one or more block builders. +- You wait about 12 seconds (1 block) or more for it to be included. + +During this time, you have no guarantee that: +- Your entire bundle will be included in the next block. +- The transactions won't revert due to changing conditions. +- Other MEV actors won't push your transaction toward your slippage limit + +As a result of these factors: +- You might miss your target prices. +- You might pay gas for failed transactions. +- Your bundle may not get included, which is especially problematic for single-shot opportunities in DeFi. Some arbitrage opportunities only exist for a very brief window, and missing this window means losing the entire opportunity. + +## Using an Execution Preconfirmation + + + +Instead of blindly sending your transaction, you can use an execution preconf. Here's how: + +**Note**: In the near future, you'll be able to add your transaction payload directly to your bid, which streamlines the process even further. + +1. Setting up your mev-commit bidder node + + - Follow the Quickstart guide to set up your mev-commit bidder node and fund your account. + +2. Prepare your transaction + + - Identify your MEV opportunity. Craft your bundle and send the signed transaction to block builders as per usual. + +3. Submit a preconf bid + + - Create and submit a bid for the transaction from your mev-commit bidder node (following the bid structure here), supplying the hash of the transaction you just sent. + - When you submit a bid, it goes to multiple providers by default. + - If a provider accepts your bid, it will generate a cryptographic commitment to execute your transaction. These are typically sent in milliseconds. + - Your bidder node automatically verifies each commitment it receives. + - Aim to receive commitments from all registered providers. If you don’t, consider increasing your bid amount to make it more attractive to all providers. + +4. Execution + + - Your transaction is now guaranteed to be executed as per the preconf terms for that provider (or else that provider will be slashed). + - The transaction will execute in the specified block. + +**Benefits** + + - Real-time confirmation of future execution, translating to reduced risk for transacting + - Ability to secure a specific execution slot at a better price + - Even in the event of being frontrun, your transaction parameters will remain within your defined slippage, or else not execute + - Instant transaction UX for searchers + - Predictable gas costs + +By using a preconf, you've eliminated the uncertainty of the 12-second wait, secured your execution parameters, and protected yourself against potential MEV exploitation, all in real-time. + +Unlike simple inclusion preconfirmations (which might still result in reverted transactions), execution preconfs ensure your bundle executes as intended. This leaderless, multi-provider approach offers superior guarantees that improve your chances to capture time-sensitive MEV opportunities. + + diff --git a/mint.json b/mint.json index 90bcc4bd..04d038b9 100644 --- a/mint.json +++ b/mint.json @@ -111,7 +111,7 @@ "knowledge-base/what-is-foundry", "knowledge-base/why-is-cast-necessary-for-mev-commit-chain-interactions", "knowledge-base/why-do-i-receive-the-same-commitment-when-resending-a-bid", - "knowledge-base/what-is-execution-preconfirmations", + "knowledge-base/what-is-execution-preconfirmations", "knowledge-base/what-happens-during-an-execution-preconf", "knowledge-base/eigenlayer-operator-registration" ] }, From 5fb74f28a810457c3f1417e8c4aff693c8dfc755 Mon Sep 17 00:00:00 2001 From: offgridauthor Date: Fri, 23 Aug 2024 12:29:48 -0500 Subject: [PATCH 2/3] add kb blob preconf --- .../what-happens-during-a-blob-preconf.mdx | 60 +++++++++++++++++++ mint.json | 4 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 knowledge-base/what-happens-during-a-blob-preconf.mdx diff --git a/knowledge-base/what-happens-during-a-blob-preconf.mdx b/knowledge-base/what-happens-during-a-blob-preconf.mdx new file mode 100644 index 00000000..25cd83e0 --- /dev/null +++ b/knowledge-base/what-happens-during-a-blob-preconf.mdx @@ -0,0 +1,60 @@ +--- +title: What Happens During A Blob Preconfirmation? +sidebarTitle: What Happens During A Blob Preconf? +description: "Learn about what happens behind the scenes during a blob preconfirmation." +--- + +## Background + +EIP-4844 introduced blob-carrying transactions to Ethereum, providing a more cost-effective data availability solution for Layer 2 rollups. Blobs are ~125 KB data containers using KZG commitments, stored off-chain for approximately 18 days. The blob space operates on a separate fee market from regular gas, using a blob base fee that adjusts based on demand, similar to EIP-1559. + +## The Problem + +The fixed (large) size of blobs creates unique challenges: +- Limited flexibility compared to regular transactions +- Potential for extreme price volatility +- Uncertainty in inclusion for time-sensitive L2 operations +- Vulnerability to censorship by block builders + +These factors can lead to suboptimal MEV extraction opportunities and unpredictable L2 state updates. + +## Using a Blob Preconfirmation + +Blob preconfirmations on mev-commit provide a way to secure blob inclusion in advance, which reduces uncertainty and volatility in the blob market. Here’s how: + + + + +Bidders create a blob transaction (containing up to 6 blobs) and submit a bid on mev-commit including: +- Transaction hash +- Target slot (typically N+1) +- Bid amount +- Bid Evaluation + +Preconf providers analyze bids considering things like: +- Bid amount +- Potential impact on block propagation +- Available space in the target block +- Possible MEV opportunities within the blob data + + + + +If a bid is accepted, the provider generates a commitment. This commitment is sent back to the bidder, typically within milliseconds + + + + +The bidder's node automatically verifies the received commitment, and the blob is now guaranteed to be included in the specified block as per the preconfirmation terms + + + +## Benefits + +Blob preconfirmations offer significant advantages for MEV searchers, rollups themselves, and the broader Ethereum ecosystem, particularly: +- By providing advanced knowledge of future blob content, preconfirmations enable MEV searchers to develop more sophisticated cross-domain strategies that span multiple blocks, both between L2s and between L2s and L1. +- The reduced uncertainty from preconfirmations allows for tighter latency optimization in MEV extraction. Searchers can more accurately time their strategies because they know when specific blobs will be included. +- With guaranteed inclusion, Layer-2 sequencers can adopt more aggressive strategies, which in turn may lead to new forms of MEV specific to L2 systems. +- Preconfirmations allow for collaborative building of type3 blockspace, which creates a pricing basis for a robust futures market. Such a market offers more reliable inclusion and price stability for rollups and other blob posters. +- These benefits collectively contribute to a more efficient, predictable, and opportunity-rich environment for MEV extraction, while also supporting the overall stability and functionality of Layer-2s. + diff --git a/mint.json b/mint.json index 04d038b9..9f0247be 100644 --- a/mint.json +++ b/mint.json @@ -111,7 +111,9 @@ "knowledge-base/what-is-foundry", "knowledge-base/why-is-cast-necessary-for-mev-commit-chain-interactions", "knowledge-base/why-do-i-receive-the-same-commitment-when-resending-a-bid", - "knowledge-base/what-is-execution-preconfirmations", "knowledge-base/what-happens-during-an-execution-preconf", + "knowledge-base/what-is-execution-preconfirmations", + "knowledge-base/what-happens-during-an-execution-preconf", + "knowledge-base/what-happens-during-a-blob-preconf", "knowledge-base/eigenlayer-operator-registration" ] }, From a5fc9dcf57ff19a7c83a143c24f50159f12eea54 Mon Sep 17 00:00:00 2001 From: offgridauthor Date: Tue, 27 Aug 2024 19:09:36 -0700 Subject: [PATCH 3/3] address techgangboss comments --- .../what-happens-during-a-blob-preconf.mdx | 14 ++++---- ...at-happens-during-an-execution-preconf.mdx | 35 +++++++++---------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/knowledge-base/what-happens-during-a-blob-preconf.mdx b/knowledge-base/what-happens-during-a-blob-preconf.mdx index 25cd83e0..4781d240 100644 --- a/knowledge-base/what-happens-during-a-blob-preconf.mdx +++ b/knowledge-base/what-happens-during-a-blob-preconf.mdx @@ -16,7 +16,7 @@ The fixed (large) size of blobs creates unique challenges: - Uncertainty in inclusion for time-sensitive L2 operations - Vulnerability to censorship by block builders -These factors can lead to suboptimal MEV extraction opportunities and unpredictable L2 state updates. +These factors can lead to suboptimal mev extraction opportunities and unpredictable L2 state updates. ## Using a Blob Preconfirmation @@ -35,7 +35,7 @@ Preconf providers analyze bids considering things like: - Bid amount - Potential impact on block propagation - Available space in the target block -- Possible MEV opportunities within the blob data +- Possible mev opportunities within the blob data @@ -51,10 +51,10 @@ The bidder's node automatically verifies the received commitment, and the blob i ## Benefits -Blob preconfirmations offer significant advantages for MEV searchers, rollups themselves, and the broader Ethereum ecosystem, particularly: -- By providing advanced knowledge of future blob content, preconfirmations enable MEV searchers to develop more sophisticated cross-domain strategies that span multiple blocks, both between L2s and between L2s and L1. -- The reduced uncertainty from preconfirmations allows for tighter latency optimization in MEV extraction. Searchers can more accurately time their strategies because they know when specific blobs will be included. -- With guaranteed inclusion, Layer-2 sequencers can adopt more aggressive strategies, which in turn may lead to new forms of MEV specific to L2 systems. +Blob preconfirmations offer significant advantages for mev searchers, rollups themselves, and the broader Ethereum ecosystem, particularly: +- By providing advanced knowledge of future blob content, preconfirmations enable mev searchers to develop more sophisticated cross-domain strategies that span multiple blocks, both between L2s and between L2s and L1. +- The reduced uncertainty from preconfirmations allows for tighter latency optimization in mev extraction. Searchers can more accurately time their strategies because they know when specific blobs will be included. +- With guaranteed inclusion, Layer-2 sequencers can adopt more aggressive strategies, which in turn may lead to new forms of mev specific to L2 systems. - Preconfirmations allow for collaborative building of type3 blockspace, which creates a pricing basis for a robust futures market. Such a market offers more reliable inclusion and price stability for rollups and other blob posters. -- These benefits collectively contribute to a more efficient, predictable, and opportunity-rich environment for MEV extraction, while also supporting the overall stability and functionality of Layer-2s. +- These benefits collectively contribute to a more efficient, predictable, and opportunity-rich environment for mev extraction, while also supporting the overall stability and functionality of Layer-2s. diff --git a/knowledge-base/what-happens-during-an-execution-preconf.mdx b/knowledge-base/what-happens-during-an-execution-preconf.mdx index bda49ea1..b6440fa0 100644 --- a/knowledge-base/what-happens-during-an-execution-preconf.mdx +++ b/knowledge-base/what-happens-during-an-execution-preconf.mdx @@ -4,7 +4,7 @@ sidebarTitle: What Happens During A Preconf? description: "Learn about what happens behind the scenes during an execution preconfirmation." --- -Let's say you're a searcher or solver looking to execute a complex MEV strategy on Ethereum involving multiple DeFi protocols. +Let's say you're a searcher or solver looking to execute a complex mev strategy on Ethereum involving multiple DeFi protocols. ## Problem @@ -16,7 +16,7 @@ Currently, when you send a transaction bundle: During this time, you have no guarantee that: - Your entire bundle will be included in the next block. - The transactions won't revert due to changing conditions. -- Other MEV actors won't push your transaction toward your slippage limit +- Other mev actors won't push your transaction toward your slippage limit As a result of these factors: - You might miss your target prices. @@ -28,30 +28,29 @@ As a result of these factors: Instead of blindly sending your transaction, you can use an execution preconf. Here's how: + + -**Note**: In the near future, you'll be able to add your transaction payload directly to your bid, which streamlines the process even further. + - Follow the [Quickstart guide](/get-started/quickstart) to set up your mev-commit bidder node and fund your account. + + -1. Setting up your mev-commit bidder node + - Identify your mev opportunity. Craft your bundle and send the signed transaction to block builders as per usual. + + - - Follow the Quickstart guide to set up your mev-commit bidder node and fund your account. - -2. Prepare your transaction - - - Identify your MEV opportunity. Craft your bundle and send the signed transaction to block builders as per usual. - -3. Submit a preconf bid - - - Create and submit a bid for the transaction from your mev-commit bidder node (following the bid structure here), supplying the hash of the transaction you just sent. + - Create and submit a bid for the transaction from your mev-commit bidder node (following the [bid structure here](concepts/bids/bid-structure)), supplying the hash of the transaction you just sent. - When you submit a bid, it goes to multiple providers by default. - If a provider accepts your bid, it will generate a cryptographic commitment to execute your transaction. These are typically sent in milliseconds. - Your bidder node automatically verifies each commitment it receives. - Aim to receive commitments from all registered providers. If you don’t, consider increasing your bid amount to make it more attractive to all providers. - -4. Execution + + - Your transaction is now guaranteed to be executed as per the preconf terms for that provider (or else that provider will be slashed). - The transaction will execute in the specified block. - + + **Benefits** - Real-time confirmation of future execution, translating to reduced risk for transacting @@ -60,8 +59,8 @@ Instead of blindly sending your transaction, you can use an execution preconf. H - Instant transaction UX for searchers - Predictable gas costs -By using a preconf, you've eliminated the uncertainty of the 12-second wait, secured your execution parameters, and protected yourself against potential MEV exploitation, all in real-time. +By using a preconf, you've eliminated the uncertainty of the 12-second wait, secured your execution parameters, and protected yourself against potential mev exploitation, all in real-time. -Unlike simple inclusion preconfirmations (which might still result in reverted transactions), execution preconfs ensure your bundle executes as intended. This leaderless, multi-provider approach offers superior guarantees that improve your chances to capture time-sensitive MEV opportunities. +Unlike simple inclusion preconfirmations (which might still result in reverted transactions), execution preconfs ensure your bundle executes as intended. This leaderless, multi-provider approach offers superior guarantees that improve your chances to capture time-sensitive mev opportunities.