Effect Of Revert Protection On PGA chains
EthCC[8] · 1 Jul 2025 · 20:28
Xin Wan and Brad Bachu examine transaction revert protection on Unichain through roll-up-boost. They analyze the game-theoretic effects of this protection on transaction competition.
Speakers
Topics
From EthCC[8], hosted by Ethereum France.
Transcript
I can start. Okay. All right. Hi everyone. Uh my name is Shin and I'm on the research team at UNISOP Labs and today I'll explain um the new feature of uh Uni Chain which is uh a rollup that we're building and uh the economic implication of this this feature. It's called reverse protection. Um most of the results or all of the results that I'm going to present are included in this paper called quantifying the value of revert protection. You can find this paper on archive. So if you're curious to read through the proof or uh just to reference, you can find it online.
So um just for context, I think people are familiar with revert. But um to be explicit, it it means um when when your transaction uh failed to execute on chain and it failed halfway through the execution, you as the user still have to pay uh some non-zero cost. And revert protection simply means that you are protected from this cost. And it usually is implemented at the block builder or the sequencer level where this party would simulate your transaction and they would exclude it um from the block if it sees that your
transaction would fail in simulation. So uh essentially your transaction disappears instead of revert uh in a block. Now you can do this in different settings. Uh the most the setting that most people are familiar with is the mainet sort of bundle auction setting where uh searchers submit a bundle of transactions to the builder and the builder out of a handshake agreement uh simulates these bundles and in the case of a revert they exclude the transaction.
Um the second setting which is what we're modeling today is a setting in which the layer 2 sequencer uh commits to providing this service to its users and the commitment can be again uh in a handshake as it occurs in L1 setting or it can be done a little bit differently as we're trying to do for uni chain which uh in a TE but regardless the economic concept is the same which is uh we simulate your transaction and if it fails we exclude it from the from the block.
So um you can find this table in our paper and it it summarizes um different settings across different sort of chains and ordering rules and how this model could apply. And note that in our in our analysis uh the degree of revert protection is parameterized by uh two different parameters R1 and R2 and they simply express the cost of revert as a fraction of the of a successful transaction. So if you set both Rs to zero, it means you're fully protected. If you set them to whatever value they occur on L1, uh it means there's no revert protection.
So we we don't express it as a binary outcome but rather as a continuous spectrum. So when I was first uh informed of this uh potential design I was intrigued because in my mind it goes like this. We have developers who are building union chain and they're like oh you don't have to pay uh for reverted protections ever. Uh and in my head I was like are we just giving up money that we could have made? Um but uh it turns out to be not the case and I want to convince you why that's true even if everyone is sort of behaving rationally.
So in our model uh we have end users and you can think of these users as arbitrageers. So we don't we're not modeling um a retail user here. we're just modeling someone who is trying to uh make as many much money as they can. Um and what they do is they they arrive at the chain and they observe um a common value v. So everyone agrees that there's a opportunity of value v that uh they can capture but only one of them can capture one out of n um and then they can join this auction.
Uh and here it's important to mention that uni chain is uh following priority uh ordering rule. So within each block the ordering of the transactions is basically whoever pays the highest priority fee um gets the highest um place in the block. So here the user has a couple of things they can choose. They can choose whether to join this auction. So when they see uh an opportunity of value v they can wave their hand and see and say that you know it's too small I'm not going to bother or they can decide to join. Once they join uh they must pay a base fee. So the base fee is
non-negotiable condition on them joining but they can also choose a priority fee and that priority fee in the context of other people's priority fees determines their position in the block. And because we're modeling a sex x arbitrage, whoever has the first position out of this end users uh will get that opportunity uh will get that v and everyone else will pay a revert cost and that revert cost is basically um the cost of participation and um the v is the reward.
So as an example on mainnet if you have a reverted transaction usually you pay between 10 and 20% of an otherwise successful transaction. So you can interpret this as R1 R2 being set at between 0.1 and point 2. So yeah this is a strategy space. um we show that there doesn't exist a so-called static strategy. So they can't uh what that means is they can't close their eyes and say I will always participate or I will always participate with a fixed bit. What they must do is
they must first randomize between participate or not participate or participating or not participating and condition on participating. They also have to randomize their priority fee. So they can't have a strategy that goes I'm going to participate with 50% probability but if I participate I always bid V or half V or something. they have to randomize their bid so that other people can't react to their fixed strategy. Um but anyways uh I will skip over most of the derivation and get to the results because I think those are more interesting.
Um so basically in a uh in a in an equilibrium in a mixed strategy equilibrium um the players must be indifference between different strategies because you know if they prefer one over the other they can just throw away the one that's dominated. So in here uh they must um their payoff because it's competitive it must be zero and that's the first condition and then you can solve for uh the free parameters that they're choosing which is the chance of participating and then this like cumulative distribution of their priority fee condition on participation.
Okay results. So I want you to first only stare at the left graph. Um and the x-axxis is R1. So that is the fraction of the base fee you have to pay if you revert. It goes from zero to one. So it goes from you don't have to pay any base fee to you have to pay the full G uh base fee. And then the y axis is the expected auction revenue.
So just focus on the direction of the lines. What this chart says is according to this model as you offer more and more reverse protection which is moving the x-axxis to the left because R1 R1 gets smaller you pay less fraction that's more protection. uh the sequencer would generate higher and higher revenue from arbitrageers. Well, that's good for us because we are offering revert protection and we are making sequencing fees. So, uh it's good news in the sense that we are not doing this thing out of altruism but rather uh we're incentive aligned.
And then the second thing uh I want you to look at is now the right graph. So it's the same x- axis but the y- axis is now the expected number of transactions uh submitted given an opportunity. And you can see that uh here we run into some problems because if you offer full revert protection then you expect everyone to always participate and that creates somewhat of a spamming problem that we'll deal with uh later
on. So right now I'm going to do an extremely big handwave and say don't worry about it. uh let's worry about the left side first. So I want to highlight um I guess a couple of things. One is um you you don't have to look at the the formulas but just look at the first line. Uh the total revenue collected by the sequencer can be split into two components. That's the fee we make from base fee and the fee we make from priority fees.
And it turns out that we can think about these two separately. Uh which is good. And if you look at all of these expressions, there's no R2 in it, which means the um degree of revert protection we offer on the priority fee has no impact on the expected sequencer revenue. Now that that might seem pretty convoluted to think about uh but I'll just note that uh there is a mechanism that we're using right now on uh uni chain uh called uh MAV tax um it's a mechanism design proposed first by
paradigm and we're using it right now for uh order auctions but later on might be for other things and that mechanism essentially uh is just tweaking this R2 parameter And so what this shows is whatever we do uh on the R2 site, it doesn't affect the total amount of revenue we collect from this auction. It only affects the distribution of that uh auction revenue and we can discuss more about that later.
The second result is auction revenue uh decreases monotonically in R1 and that means we want R1 to be as low as possible and in our case zero um and let me let me just explain uh maybe I have too too many words here but let me explain the intuition Um so the intuition and you don't have to look at this you can just listen to me. Uh the intuition is uh because there is only one common value V and
that will be how much value there is for everyone to share. And now because the arbitrageers are competitive in the long term you can expect their competitive environment to give them a profit of zero. So that means whatever value is being auctioned uh will be passed on to whoever is running the auction which is the sequencer. Now when would the value not realize that would be when nobody is participating.
So the result says that if you want to maximize revenue x to auction near you want to maximize participation and in our model participation is basically affected by the cost of a failed participation. If you make that zero, everyone will always participate and that's how you maximize auction revenue. Okay. Um one other note I want to mention is uh even though um the um you have the spamming problem as we
mentioned but in the case of uh infinite amount of of um participants you still have a finite limit for the revenue. And that's because as the number of participants grew uh they will they will choose a strategy that's less aggressive and that effect offset the increase in number of participants and your expected revenue converge to a finite amount and I think block space and mempool usage something that's heavily affected by the expected number of transactions
submitted And here um we basically show that meoo usage is what we need to worry about as we offer stronger and stronger revert protection. But it has the upside of saving block space for other usage. Okay. So now we go back to that big hand wave that I did uh which is um I was offering completely free uh revert protection and that means as the number of participants go to infinity so does the expected number of transactions.
What are the things we can do um to realistically handle that problem? So um one way to think about it is to think of the cost of offering this service on behalf of the sequencer. And so what does it take us to offer that service? For every transaction that we would consider include or including we have to simulate it. And we can think of that as kind of a small computational cost.
and we can call that C per transaction. Now knowing that there is a C, the sequencer as the designer of the policy can choose one of two actions. The first action is to internalize that cost. So the sequencer would basically plug C into all the math that we just did and say now solve for the best R1 and R2 given there's a C for every transaction submitted.
The second course of action is to pass that uh cost uh directly to users and let the users decide what their strategy should be given the C. And this extension tries to find out which course of action is more efficient. So uh the first one is we as the sequencer tell the user hey don't worry you just submit your transaction and I'll tell you the R1 R2 but no extra cost for revert protection after that.
So you can think of it as like a partial revert protection meaning revert protection sorry reverts on uni chain will look just like reverts on other chains but a lot cheaper as a percentage of the total gas. Um and the second will look like more like a pay as you go service. So every time you submit to this revert protected endpoint uh you would pay a flat fee and after you pay the flat fee uh that service is offered to you completely and um that's it.
Which one's better? uh in this model where there's only sex arbitrageers um the um the result is intuitively the first one uh when we internalize both R1 and R2 will have a nonzero optimal value meaning uh we don't we would we would never be able to fully we will never be able to offer full reverse protection when we don't pass on the cost uh otherwise guys will have a basically uh expected amount of um submitted transactions going to infinity. Uh under scheme two
uh you would want R1 R2 go to zero. And what that C does is it essentially creates some kind of a a floor um where and and people participate much less. Um and the the expected number of transactions are bounded or rather sorry uh in the case that it's not bounded we can still afford the cost. One minute okay uh to simulate those transactions.
So the implications are um we must first think about how we're going to communicate up with our users and then solve the best R1 R2 under those um and I you know since everyone is here I just want to encourage you to think about um where all these hypo hypotheses and conditions we have uh set out to assume do they hold and does any of these features help you know the the outcome metric that we um that we want to achieve. And so these are just questions so I'll skip them.
That's it. Thanks everyone. [Applause]