In the mev-commit auction for transaction bundles, bidders submit their bids to providers and their goal is to receive a confirmation that the bundle they bid for will be included in the next block produced by the provider. Bidders aim to receive confirmation for their bundle as soon as possible since early confirmations tend to be more valuable to the bidders. However, providers may want to wait until the last moment to issue confirmations in order to build the most valuable block possible without missing out on any late bids.

Therefore, it’s essential to have a mechanism that encourages providers to confirm bids as early as possible. This is where a bid decay mechanism comes into play, which reduces the value of a bid based on the time elapsed since it was issued.

Mechanism Description

Every bid has two timestamps attached to it: (1) a timestamp indicating the exact time of dispatch of the bid, and (2) an expiry timestamp, marking the moment when the decay for this bid reaches 100%—essentially, the point in time beyond which the bidder is unwilling to pay anything to a provider for a commitment.

The timestamp is specified in Unix milliseconds. For example, a timestamp of 1633046400000 represents October 1, 2021 00:00:00 GMT.

When a provider decides to commit to the bid, they must issue a commitment and also assign a “commitment timestamp” to it. This commitment is then sent to the mev-commit chain for inclusion. The mev-commit chain will include the commitment into the chain, however the commitment will only be considered valid if the commitment timestamp supplied by the provider is not “too old” in comparison to the block timestamp where the commitment was included, or more formally, their difference is within some time interval Δ\Delta.

This time parameter Δ\Delta is set to be 500500ms, and its goal is to account for the latency in message delivery among nodes and the discrepancy between the commitment and block timestamps. More precisely, for validation of a commitment it is required that tbtcΔt_b - t_c \le \Delta, where tct_c denotes the commitment timestamp and tbt_b denotes the timestamp of the block where the commitment was included. Note that even when tc>tbt_c > t_b, i.e., the commitment timestamp was set to be greater than the timestamp of the block that it was included, the commitment is still considered valid.

Computing the Bid Decay

Once the commitment is included in the chain it can be publicly determined if the commitment is valid, and if so, what is the exact value that the bid has decayed.

The bid’s value decreases linearly from the moment it is issued until its expiry deadline is reached. Below we show a diagram of how providers can use the timestamps to first compute the proportion to which a commitment has decayed. Once the proportion has been computed the value of the bid can be decayed accordingly.

For example, if the decay proportion is 1/21/2 as in the example above, the bid’s value decays by 5050%.

Analysis of the Mechanism

The security of the mechanism comes from the fact that the participating parties have conflicting incentives. In particular, we note that there is no incentive for the bidder to manipulate the choice of the bid’s timestamps; if the bidder includes a timestamp in the future, then the provider essentially gets less decay (i.e., the bidder pays more). If the bidder includes a timestamp that is too old, then the provider can choose to not commit as the decay is too high (then the bidder gets no commitment). Moreover, we note that this would have the exact same effect as the bidder changing the price of its bid prior to the submission of the bid. Similarly, the commitment timestamp set by the provider must not be too old, as otherwise, it won’t be valid when included in the mev-commit chain.

In many network-based systems, including our decay mechanism, faster connections often provide better opportunities, such as quicker access to information or response times. This situation is similar to high-frequency trading in financial markets, where traders with faster connections can outperform others. In our system, any advantage due to a faster connection is bounded by the parameter Δ\Delta.

Properties of the Mechanism

Our decay mechanism design achieves the following properties:

1. Predictability of Decay: The providers can accurately compute how much their decay will be for a commitment.

2. Public Verifiability of Decay: The decay mechanism offers public verifiability, as the decay amount can be calculated using the public timestamps from the bid and the commitment.

3. L1 Synchrony Independent: Our decay mechanism maintains independence from the L1 actual slot time, ensuring that the decay mechanism functions correctly regardless of whether the L1 block confirmation occurs more quickly or experiences delays.

4. Just in time (JIT) Awareness of Bid: JIT awareness of a bid ensures that the decay mechanism operates independently of the bid’s submission time within the network, meaning a bid can be sent at anytime during a slot and experience correct decay. This is achieved by specifying the onset of decay and its deadline directly within the bid’s structure, thus guaranteeing the mechanism functions as designed, irrespective of the bid’s dispatch time.