New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Why are cross chain auctions so hard? -Tarun Chitra

Ethereum DenverMon, Oct 9, 2023, 12:00 AM

One of the unsung heroes of the cryptocurrency space is the humble auction. Auctions rule many things in DeFi, consensus, and NFTs, with everything from MEV auctions at Flashbots to on-chain NFT auctions relying on this core mechanism. As Ethereum evolves to have to handle multiple domains (e.g. many L2s and rollups), the set of auctions that users and developers have to interact with is set to grow dramatically. There have even been proposals (e.g. Proposer-Builder separation) to add auctions directly to the main protocol. But how safe, hard, and/or challenging will this increase in auction complexity be? In this talk, we'll talk about the nature of auctions in the cryptocurrency space and provide some examples for how the auction landscape will change in the coming months and will impact everything from the economics to the UX of the chain. We'll focus on how cross-chain auctions will become ubiquitous (based on the current Ethereum roadmap) and discuss some of the challenges with the design and implementation of such auctions. We'll end with a description of some new mathematical results that can help influence how protocol and application developers interact with auctions. https://twitter.com/tarunchitra Tarun Chitra CEO Gauntlet Floating through the Ether, reading math papers, writing DeFi research @GauntletNetwork, techno lover.

Transcript

foreign [Music] thank you [Music] uh this is going to be a very different talk than the last talk so apologies but uh you know one thing I think that is becoming much more clear in the multi-roll-up world is uh is that auctions are a lot harder in in crypto and one question is how do you actually design these in uh second okay should I just use a dongle instead okay cool um yeah so uh cross chain auctions hard sort of mechanisms design uh so let's kind of see why so cryptos had a very long standing tradition of being intertwined with auctions uh whether they're off chain or on chin the very brief history of famous auctions in crypto uh of course the Silk Road Bitcoin was maybe one of the first big auctions the second was you know gnosis had on-chain Dutch auction polka dots Ico had a Dutch auction that was you know used by hundreds of thousands of people flashbots January 2021 uh for the first bundle and then nft auctions have had a bunch of intensive changes in design since then so a natural question is why are auctions important in crypto uh well they're mechanisms for for Price discovery of scarce Goods so you might say why do auctions or how do auctions facilitate price Discovery uh and you know the the simplest explanation is that if we look at the social welfare of all Market participants so that's all the buyers that's all the sellers it's maximized when the person who wins sort of pays a cost equivalent to the externality they cause on all the other users so you know if uh you know the winning bidder by winning the item causes you know someone else to have to have sort of like a loss in utility they have to compensate them for it and auctions are actually it turns out one of the unique mechanisms for for achieving that but the real hard part in designing these is that you don't really know everyone's utilities so I can't exactly say how to compensate for these negative externalities moreover they're they're quite adversarial the buyers and sellers are incentivized to to be duplicitous so you know if you look at Value that exists on the internet right now one of the largest sort of places that you see Financial transactions are in auctions whether it's online ad auctions whether it's sort of collectible auctions notice the the the thing I have here ends in 2019 so it's obviously a lot higher now with nfcs on the other hand centralized NDS are very famous for manipulating their auctions so this is directly from the Department of Justice's case against Google from you know a few weeks ago about how Google basically front-round people on their own auction uh and you know it was a case that took 10 years to prove partially because you have to figure out that people are manipulating the auction indirectly from observing you know many years of interactions it's not it wasn't obvious that it's like hey they have a big red button that says manipulate uh and so it's a very complicated case but one of the most interesting things is that the centralized auctions are often you know really really manipulated so one question is you know where you know when we think about things like Mev which you know is one of the most used auctions on in crypto you might ask is there a way to get around some of these problems and can we have the same volume of value transfer uh but without actually having to deal with some of these issues with centralized players and what we're going to kind of explore today a little bit is a in a world with many many domains or chains uh the types of auctions you can build are quite complex but with uh you know using newer Technologies whether it's uh zero knowledge proofs homorphic encryption we can actually get to a place where these auctions are you know in in a very concrete sense fair and hard to manipulate and in a lot of ways the goal of of you know technology and cryptocurrencies to reduce these negative externalities okay so I'm assuming sort of a more General audience so I many of you may already know about the the main on-chain auctions in crypto but I figured we'll give a quick summary so the the the main auctions on chain are liquidations within D5 so when you have underwater debt positions that need to be cleared out uh large transactions like when a dow wants to sell a large portion of its Treasury nft secondary sales of course that's sort of a famous example and then minor extractable value maximum extractable value another question you might ask is what types of auction formats are used uh so you know you have your Mev auctions with Slash Bots first price auctions you have Dutch auctions uh so you know for instance some D5 protocols use Dutch auctions for for clearing Dutch auctions or descending price auctions um and you know are named due to the Tulips uh in the 19th century uh the third type of auction format you see on chain is sequential auction so that's editions of nfts sequences of nfts um and the fourth which is the one that I think we're just we're starting to see uh our combinatorial auctions which are order flow auctions so the title of the talk said why are cross-chain auctions hard so now that we've sort of walked through where the auctions are I think it's worth trying to understand explicit examples of where cross chain auctions are significantly more difficult than single chain auctions and we're going to go through one example which is cross-chain Bid splitting so the way this works is suppose we have two chains let's say I don't know optimism or an arbitrum and we're trading the asset you're paying gas in and on one chain we have a version of the Native asset X and the synthetic asset why uh and on the other chain we have a synthetic version of X and the underlying true version of Y and someone observes a sort of dexarb so there's a price of uh you know X to Y on chain X and there's a price of x to Y on chain y now remember on chain X you pay for gas and X chain y you pay for gas and why so you have these sort of two parallel universes those are supposed to be synchronized by Arbitrage so how do you actually get to to sort of the optimal Arbitrage so you may say okay I'll sell some unit set of unit some amount of x uh to get synthetic y I take the synthetic y to the other chain and I get some amount of real units of Y and then I go backwards so we you close the Arbitrage by by going backwards the ideas on chain X you incur the slippage defined by this function a on chain y you incur the slippage to find this function B so think of those as like the price impact function so in uniswap for instance the price impact function is one over the reserves minus the trade size squared so now you say okay well how is this profitable so the key thing when actually thinking about the auction design here is that you have to include many factors first factor is ask costs that's GX and G the second factor is the actual bids and this is where this gets quite complicated do I bid in X units do I bid on optimism for the right to do the Arbitrage do I bid on arbitrum or do I bid on them separately and it turns out that all three of these give you different outcomes so what I mean by that is you can actually write out the profit expected profit for for these two things so on the optimism to arbitrim lag and the arbitrary and optimism leg but there's this very very weird thing when you execute your trade you're actually causing the gas price on the remote chain to change implicitly relative to the input token so I you know I sell op I get some well non-existent RB and I push the arbitrary price up now the question is how much should I bid for that because I've actually made my Arbitrage more expensive in some sense and so you can design an auction where you bid on each chain separately like I have a flash plus auction for optimism a flashbots auction for arbitrum or you could have a sort of Consolidated one over their shared validator set or shared sequencer you may bid on the whole bundle and so a natural question asked is is it better to bid in two auctions for each leg separately or for the the optimism side and the arbitrum side or should you actually bid on both simultaneously and the the most interesting answer is that it actually very much depends on the particular market makers and the the slippage you have there's no unique best auction so what this says is that in the cross chain world if I tried to design an Mev auction that's meant to have certain properties say maximizing revenue for validators or is efficient to clear like it's it's easy for people to figure out how to participate then it depends on the actual applications for each application a particular auction format will work best this is sort of a an impossibility result they're sort of not a unique best optimal cross-chain auction because you can always construct these examples where on one chain you're actually impacting the gas price on the other chain and then you get this feedback loop between them and the ox it's not clear how to actually design the best auction so you might say okay this is a pretty bad result in some ways it means that there's not like a perfect setup but the difference is you know you can actually have pretty good auctions by by having the single auctions on each chain uh there's a certain sense in which they approximate what the optimal revenue is uh but the real question is what happens if the auctioneer the validators the sequencers are actually manipulating the outcome of the auction and so one other sort of desirable property for cross-chain auctions is that the validators the sequencers cannot manipulate the actual outcome of the auction so in a normal Mev auction say on flashbots you could imagine that we have a bunch of different people with different value distributions so you know we have the this first individual to the bottom left they have sort of this bell curve value distribution for their transactions we have the second person uh whose value is sort of uh this kind of decaying value and then we have the third person who has sort of these like fat tailed values and the idea is each person's you know for for how much they want to bid in the auction they draw a value and then they submit their bid and maybe they'll get the Milady here so what it means for an auction to be credible is that the auctioneer actually runs the mechanism so that's first price auction second press auction clock auction whatever it is and even if they add fake bids or they lie or they manipulate the auction they can only decrease their revenue they can never increase the amount of money they make by spoofing bids or wash trading or adding in fake transactions and you might say okay this is a great property in crypto this is in fact the thing that the Department of Justice accuses Google of doing which is front running everyone on their own auction so if you can actually achieve that in in crypto that's a unique value proposition that you just don't have in the centralized web where you actually know for a fact that an Auctioneer who you're buying something from is not front-running you and so you know two papers that kind of came out very recently one says censorship resistance uh in these types of auctions requires multiple proposers this probably doesn't come as a big surprise to anyone who who is a Critic of the fact that there's only one sequencer on arbitrary and optimism right now on the other hand uh the other paper from us shows that if you use DK proofs if you use commitments you can actually achieve this credible credibility property which is extremely important which means that even if you know someone does front run you or sandwich attack you in flashbots you can actually have a ton of proof that the person who's running it the validator is not cheating uh in exactly the same way that Google was cheating in the Department of Justice is sort of accusing them of so I think you know to to keep this short blockchains they're great public broadcast mechanisms and these public broadcast mechanisms are actually really good ways to ensure that market participants aren't cheating you and that publicly you can validate that they're not treating you this sort of means that all these properties that people have wanted from certain types of mechanisms like Fair auctions can only sort of happen uh in blockchains uh and the real question is can we actually get all of these properties we want we want credibility the auctioneers can't cheat we want them to be sort of roughly Fair across different chains we want High Revenue uh and we're just not you know these are kind of the the main open questions left um so with that I actually have a lot of time for questions so if anyone wants has any questions that is the end I'll repeat your question once you actually I think he's gonna get you how do you ensure credibility in gradual Dutch auctions ah yeah um good question uh there's a way to do that uh I basically the idea in those auctions is you want you need the auctioneer to have no incentive to basically buy early auctions push the price up and then Force everyone to buy above that floor and the way you do that is you force the auctioneer to hold inventory so they have to actually be holding Goods which means they're holding risk and if the price goes down then they actually are take the loss so there's sort of this risk reward trade-off between the auctioneer and the buyer for those those auctions so if if it's not then what are some of the interesting auctions that you're looking at now yeah so um you know I think one of the kind of uh interesting things to look at is you know the order flow auction in flashbots which is sort of a way of matching people who are you know say wallets who want to sell order flow to Searchers and then split some of the profits with them these order flow auctions are significantly more complicated than the current set of auctions whether it's single block auctions like block that block Builders participate in or whether it's sort of these you know the traditional like I send you a bundle and you know we see the validator finds a way of sequencing the bundle the reason for that is these order flow auctions are extremely high dimensional it really depends on a lot of different factors because you're matching many different types of Searchers with validators and you can have these very weird Loops where one person actually does aggregate all the order flow in them so making them incentive compatibles really hard um so I think that's going to be one of the biggest problems in Mev in the next six months is that order flow auctions are sort of this thing that is really complicated but actually will help wallet ux a lot and definitely help wallets have sustainability uh how do you think erc4337 bundlers are going to play into ofas yeah that's a good question um I think there's sort of a question of like what other types of Transaction what other types of signature encodings you can use so for instance if I was able to actually have four three three seven bundles that were encrypted prior to execution I could encrypt it in a certain way like like these commitment type of schemes you can hopefully avoid some of the Dos vectors and centralization vectors of the bundlers uh you know sorry to give to to give a bit more context in eip4337 uh bundlers take transactions from users and submit them on their behalf in a way that that they can't they can't really change them but it allows the bundler or the application to pay gas for the user so it sort of makes a large ux shift um one question you might ask is well what how does Mev work in that case you know do those bundlers participate in these auctions or do they just forward it to Searchers and I think you you need to come to a a place where the bundlers actually don't provide all the information to the Searchers they just say like here's some metadata of this set of transactions and you can bid on it but I'm not actually giving you the full set of transactions prior to uh inclusion in the order flow auction otherwise the bundlers can get front run themselves quite a bit and you yeah it might not work out super well uh there's a bunch of people who've analyzed these dos vectors against 4337 I think that's it man with 38 seconds left [Music] thank you

Automatic transcript — names and jargon may be misspelled.