ETHKL April 2021: Shedding Light on the Ethereum Dark Forest
Ethereum Malaysia·Sat, Oct 9, 2021, 12:00 AM
Alejo, Director of Research at Flashbots, walks us through what MEV is and why its extraction can be bad for the ecosystem. --- Timestamps: 00:00 Announcements & Monthly Roundup 05:02 Flashbots: Mitigating the Cost of MEV Extraction 53:14 Fireside Chat on MEV & Flashbots --- Guest: Alejo Salles is a researcher helping Flashbots achieve its mission of reducing the negative externalities of MEV extraction. He was formerly leading research at OpenZeppelin, and a research scientist in academia before that. Flashbots is a research and development organization working on mitigating the negative externalities of current MEV extraction techniques and avoiding the existential risks MEV could cause to state-rich blockchains like Ethereum. Their primary focus is to enable a permissionless, transparent, and fair ecosystem for MEV extraction. --- Target audience: Anyone looking to learn more about MEV and the Ethereum Dark Forest!
Transcript
hello everyone uh good evening uh this is the april uh community meetup for ekl uh today we are very lucky to be hosting uh alejo who is from flashbots who are i'll alejo explain a bit more about what they do but if you've ever been interested in maximum extractable value or mev or you've heard of dark forest and front-running backgrounding sandwich attacks this is a very good topic for you to be listening to before we get started from alejo though we will first have our normal monthly roundup uh this month we'll get iman to share that roundup so iran please feel free to share your screen yep thank you all right can you guys see my screen yes all right cool so some of the um rundowns that we have for this meetup days so unisport victory launch date is announced um it is launching uh in may and they will also be releasing the l2 solution on optimism and the main theme for install v3 this time around is capital efficiency so there are new things that they are introducing such as concentrated liquidity and also so i will be including a link to unisonop's blog posts and also freedomatics video for those who are interested to know more about how it works next is um so visa will set the usb coin transaction on ethereum that's pretty big so um visa completes a first test transaction you know using crypto.com where they send it um to visa's address using anchorage crypto currency custodial service so if any of you guys here have the link for the test transaction it'll be pretty cool i couldn't find it so yeah it should be interesting to see how this develops in the next few months and years and london hard fork is scheduled in july with eip1559 included um so finally after intense uh conversation it turns back and forth we are including eip1559 in the london um change and also a few network changes um happening in april as well and cryptocurrency market cap tops 2 trillion earlier this week so i thought i want to highlight this as well because i read that it took almost a decade for for the market cap to reach 1 trillion but around just 2 to 3 months which 2 trillion so it'd be interesting to see how this um evolved in the near future and the financial action task force uh releases to currency guidance so i actually um had to check that like what does it stand for so basically what what it is is it's a it is a global intergovernmental organization and its machine includes most of major nation states and the eu and they are pretty clear about their purposes which is the global money laundering and terrorist financing watchdog so yeah they're coming and there's an analysis that um commented on the draft cryptocurrency guidance where they are highlighting some things that they think are not really productive such as surveillance obligations for non-custodial entities such as your own private wallets a more scrutiny of peer-to-peer transactions and privacy enhancing technologies such as the privacy coins and also customer counterparty identification where if this is implemented exchanges must must know who uh the people receiving payments from their users so yeah this is pretty big um and monthly roundup for our local news so i actually just found out because harif told me so lunos malicious and bank account is blocked so if you are a lunar user you will remember before it got blocked the way you deposit your money was a little bit different so now you can only send it to fbx and and and yeah so apparently that's why whenever i deposit my money in lunar i use fbx um so yeah and ripple acquires 40 stick in triangle which is a cross-border payment specialist so that's uh that's pretty big um and finally is i just want to highlight this cool article that i read by the can southeast asia about southeast asia's burgeoning crypto art movement where they interviewed some artists in southeast asia about how they are using nft's crypto arts to do a living and one of the things that they highlight is the very very expensive guest fee um when they are setting up this crypto arts so um because even a hundred dollar gas fee if you live in southeast asia you can do a lot of things um so yeah if you are interested to read this um this this article do send me a message because he has a pay wall but i'm sure we can figure it out so yeah so that's all that i have uh back to you all right thanks iran and uh oh actually iran you can just show the next slide i think yeah so so now it's time to welcome alejo alejo's the director of research of flashports and he was previously the head of research at open zeppelin uh he's calling in from argentina early in the morning so please give him your wrapped attention because he's kindly sharing his time uh welcome alive thank you so much harry for the warm welcome and for all the organizers uh for having me here so we're excited uh i were just chatting before i we have in buenos aires also a a meet up where i i've participated sometimes i haven't given talks here and yeah it's it's it's an honor to be in one in the other side of the globe so yeah i guess one of the advantages of moving life online right so thank you all right let me find my slides we'll see how how it goes about this sharing thing let's see um okay can you see my screen now um yes yes good uh i i i cannot see you at the same time so if you have questions feel free to feel free to stop me all right so i'm gonna tell you uh a little story about the the theme blockchain and and how it works i'm gonna use a lot of emoji to tell this story hopefully um it's it's sort of pretty or not pretty but peculiar at least so uh so you know we use the the blockchain for many things and in a typical day you'll see a lot of trading tokens going in and out if going in and out you'll see a lot of lending different protocols uh compound ave and so on for for landing and there's all this regular uh activity lots of it these days is defy and there's some other activities that have uh that are necessary for for this whole thing to work one of them is for instance arbitrage right we have many uh exchanges uh decentralized exchanges in particular that are there and and they have different prices so there's people uh taking care that that this that these prices are actually the same right and that that the notion of price actually makes sense and how that works it's like um so that's like a a a very bad representation of what the blockchain looks like we have some transactions there and at some point uh perhaps one will see that there's uh some order uh in the blockchain in some in some decks or some decentralized exchange uh so what one actor might figure it out is that the price uh it's it's it's a big order so the price for a certain asset will go up in that in that exchange so they say oh what if i uh go and buy that asset in another exchange and then sell it in this exchange where the price has just moved and then make money out of that right and that's what's what what arbitrage is essentially they equalizes the prices between these two exchanges right so i can craft a transaction that does this thing buy and sell and i post it to a blockchain and punk i make a difference and everybody is happy because i i now the two exchanges have the same price and i have a useful notion of an asset price right um another thing that happens uh more related to the lending is liquidations again i have my blockchain there and then i see one transaction and it's actually an oracle update right and most of these liquidation protocol lending protocols have uh oracle systems which tell you what the price is so i took a a loan for instance in dai but i put if as collateral so if the price of fifth goes down too much then i i start being under collateralized right and the way to know that is through an oracle so perhaps i see an oracle transaction that i know will change the price so i say i can i can look at the the loans the outstanding loans and i can figure out there if there's a loan that's that's gone under water right because now the price is is no longer sufficient to um to cover for the for the the amount i took out so uh so i say okay this is gonna go underwater so i can pay back the the debt and take part of the collateral right and so this is how a liquidation works so i see this oracle boom i pay back the thing and i get the manual right this is the liquidation and this is useful because uh all these systems depend on liquidations right otherwise there would be unhealthy positions and people could learn for free and and defraud the system essentially sorry and this is part of the normal of course the one that's been neglected is typically not very happy but it's our necessary part for the system to to work well right let's take a final example of activities that can go on a happy day in the blockchain world so i can like inspect the blockchain and look at the contracts that are lying there perhaps i'm a security researcher i know a lot of soli and i figure out there's a hole right in one of the these systems i'm looking at there's a there's a problem a security thing and i can figure out that i can take money out of the the contract so i'm a white hacker so i say okay the hat is black in that picture but i couldn't find an emoji with a with a white hat so okay i say okay i'm gonna take the money out and then give it back to its rightful owner and become a hero right so so this is what white hackers do um white hat hackers do so i post my my transaction taking the money and then everybody's happy and and i can return the money to the rightful owner okay so this again are typical things going on in the in the ethereum blockchain every day and this could be the end of the talk and say okay every everything is happy all these useful um things uh going on and this is a super happy world if it were not for something you might be aware about which is the dark forest right so so the dark forest is a a an alternative name for the ethereum mempool right and so what is the ethereum mempool the ethereum mempool is the place where transactions live before they get mined into a block right so let's look at it i did how it how it works a little bit so again perhaps i see this this opportunity for for arbitrage right i see that someone is trying to to buy a lot of money so i say okay i send my transaction that buys and and and sells uh this oh yeah i see this this message area this comes from a sci-fi author that's that's a great comment uh actually read the the one and three valley problems so yeah um that's a a good analogy where everything when if you if you move uh then you are detected right so the only way not to be is not moving right so what happens here is is analogous and i have my my transaction that tries to perform an arbitrage buying cheap and selling more expensive after a price update um so then there's another people of course i'm not the only one and in particular these are bots right so there's a bot that's looking at the mempool and they see that i'm trying to benefit from an arbitrage opportunity right but they figure that that money i can take out is not uh permission in the sense that i'm not taking moving my money between accounts but there's money that's free to take for anybody that does this transaction right i just need to like buy an asset in one exchange and sell it in this in a separate exchange right and so they say okay i see this transaction trying to do that they're gonna make a lot of money so i'm willing to pay even more for the gas right and these two little uh money bags represent the gas price this board is willing to pay in order to get their transaction included uh before the opportunity is gone in particular before mine right and then there's another stronger bot that says okay i'm gonna i'm going to pay even more than that because uh again there's money being made here so i still can pay more gas to get my transaction mine first and and i will extract this this opportunity right so the miner comes along looks at the mempool and sees all this mess of people trying to extract the same opportunity and of course what's best for them is to take the opportunity that's paying uh the most right so this is the one offering most guys to the to the minor so they will include that but then of course there's other opportunities that also pay right even if it's not good for the boat and perhaps the thing will revert there's still something going on there and this is some gas that will go to a minor so they go and include all the transactions there after the one that actually will do the extraction which is again the one that paid more so this is this is called uh pgas or priority gas auction essentially is a it's an auction uh by paying more gas right the one that pays more uh gets included first and this is also called front running right because i the the one again that pays more gets uh before gets it before the other so i put my transaction and i get front run by abouts and there's this fight between the bots um trying to uh to actually um beat each other to the opportunity right so again this is one example of how regulations actually take place as opposed to our first cartoonish picture where everything was happy and nice and okay it's actually a bit more tricky than that and and yeah so let's see uh a little uh another example so this this leads to a lot of gas being burnt right because there's like this two second transactions include after the winning one do not make much sense any longer for the bots extracting the opportunities so they're kind of pointless but they're still included they're bloating the chain they're burning gas so that's not good for anybody right and they're raising the gas prices for all users so let's see another example let's see example of the liquidations right we have a i'm looking at the mempool and i see that there's an oracle update going on right paying some gas price and that they will change the the the price of an asset and this will bring a loan position to be under-collateralized right so underwater so i say okay i need to get included i need to get my transaction included where i pay back the loan and i get the part of the collateral right but in this case i don't want to get my transaction included before that one because i need to first have the oracle update take place right so i'm not paying more as the other case but i'm paying exactly the same gas price as the oracle so i know miners will have a chance of including me right after the oracle update so again there's other bots looking at what i'm doing and what the the the the the mempool looks like and they say okay no i want that opportunity and i'm also gonna pay the same gas price and then there's other bots that do the same thing right so when the miner comes along they say okay what should i do with this mess again i have like four transactions here paying all the same gas price which one i should include first and what like nodes do by default in these cases is rank them randomly so they will first take one of them say my transaction then they will take another one perhaps the oracle then the bot and then this second board right so if they included in this order i showed my transaction will no longer be able to link within the position because it will come in before the oracle update right so the price hasn't changed so uh the position is still not under collateralized then the oracle update comes in and then this the the first bot the what above got its transaction in so then they will benefit from the liquidation and then there comes another bot and the opportunity is no longer there so again the the it's not useful the last transaction from the from the last body it doesn't really work so after all these transactions only the the one from the robot above uh took the the the benefit of the liquidation and the rest is wasted gas and and wasted a blocked space right so this is called back running because my intention is to run my transaction right after the the oracle update and again it's up to uh randomness which one of these transactions will get in uh right after that right so again a lot of gas burn a lot of bloated chain due to this activity and to give you a flavor of how sophisticated this this competition between bots fighting in the mempool hub has gotten first say hacker a sends a a profitable transaction um but instead of calling uh the target uh the target contract directly like uh bots are monitoring of course uh the the addresses of interesting contracts to see if there's calls happening i will uh build an intermediate contract so i don't get detected by by by other bots trying to copy my transactions right so what another hacker does is okay i don't care that you don't call the the the directly the the contract that has the opportunity i will go ahead and copy the blockchain state for for the blockchain and simulate my trans your transaction of change or of chain and see where there's some internal calls to that contract right to any kind interesting contract and if i do that i can figure out you're exploiting an opportunity so what the hacker a does is oh you want to try to simulate me okay i will then check if i'm in a simulation before i do the call and if i i'm in a simulation i won't do the call that extracts the mav and how i do that is by checking some parameters like gas limit or things like that that are not typically emulated in in in a proper way so they have like artificial values when you run this in a simulation environment um so what hacker b does then it's okay i will use a modified environment i will actually fork geth or whatever node software i'm using to trick your simulation to think that you actually are in the blockchain context right so this is and super crazy what like bots are doing these days fighting against each other and trying to beat these ridiculous auctions and and of course this is again bad for everyone right because the gas price goes up we all know that the guys has been prohibitive lately so again this is uh quite a problem right so yeah so let's go back to our our our picture of the of the the mempool right and and and it gets a little bit even worse because the miners seeing all these mess and people trying to beat each other in in ordering the transaction they can actually have an idea and say okay i actually don't need this uh thing they're all fighting and paying me for the opportunities but i actually am the one that has the the right of deciding what the ordering of transactions is i'm the proposing and the proposer of the block and i can build the block so what a miner could do is say okay i don't i won't include all these transactions extracting value from the blockchain because i can do it myself so then okay i will perform the white hat myself i will go ahead and perform the arbitrage myself i will then include this oracle update and i will then perform the liquidation myself right and i will discard all these other transactions that are lying there i don't have like any any reason to include them or i can include them later and they will perhaps pay me some fee but i will exploit all these these opportunities myself right and and miners could perfectly do this if they if they were looking at the mempool and trying to replay the transactions people make so that's why this whole phenomenon of extracting value from the blockchain and permissionless value not value from the tokens you have in some system but the value that's lying around there in due to how the mempool is constructed this is called a minor extractable value or this was originally called minor extractable value because it's uh it's miners who have the ultimate privilege to extract it right and most recently we've been using maximal extractable value to avoid confusion because it's often the case that it's not miners extracting this value but rather searchers or bot operators that are are doing the extraction but in principle again it could be miners if they wanted as they have the ultimate right to a transaction ordering in in the blockchain right so why is this bad okay i mentioned a couple of things it clogs the network right it it has like a lot of bots sending transactions all the time it clocks a chain because it uh fills blocks with useless transactions that are not like so there's one that wins and but there's others that don't win and then this becomes a problem and perhaps for first and foremost it increases gas prices for users because bots are out beating each other and all these price artificial price inflation ends up being bad for users because when you do when you want to do one completely unrelated transaction you have to pay more because the miner is concerned with including all these these transactions trying to extract mvb as opposed to just including your transaction and that has nothing to do with this war going on right okay so so this is a phenomenon that's ultimately hurting users right all this this wild extraction of mav in the um it gets a little bit uh worse so do stop me if you have questions at any point here i i'm happy to to respond so and i cannot see if you raise hands or anything so so do stop me scream or something so yeah so let's look at another another case that makes it even worse i would say let's look at a chain that has a some extracted opportunity already mine in one block and there's one this one little bag lying around in the mempool for future extraction right so what a miner can do uh i what i showed you before is like they could take this um one little bag lying around in the in the main pool but they could actually do something worse right they could actually uh so this would be like the standard minor thing they they see an opportunity they take it themselves and they build a chain on top of that right they could actually do something worse that is okay what if i instead of mining on top of the last block i rewind the chain one block i take the opportunity myself uh that opportunity that was already mined in that previous block i take it myself and i leave some uh incentive around lying in the mempool for the next miner to come along and take it right so if i take the upper path here the next miner that comes with instead of see seeing one little bag out in the main pool they will see three bags so they will have more incentive to mine on top of the upper chain right so this essentially is uh is inducing a fork in the chain where the miners are instead of doing what they're supposed to be doing right and ensuring consensus and building up on the longest chain they will try to fork the chain and rewind it where they can extract an opportunity for themselves because this can become more uh more beneficial to them right and they can leave an incentive out for other miners to build up on this four chain as opposed to the original one so this is quite bad right this is these are called time bandit attacks because they go like again back in time and they lead to consensus failure we change chain re-orgs and and then again it's a problematic for everybody involved right and this also has led to permission infrastructure where miners open a privileged channel to searchers right and they say okay if you i charge you for you to send me a transaction which i won't um share with the with the rest of the network and and i will include it for a fee right and and you have to pay for this service so again it's miners not doing their job of openly receiving transactions from anyone but only receiving it from people that pay a fee right which is against the spirit right of what we're trying to build here if you have to pay for participating in the ethereum network right uh so the idea is that this is open to anybody not just that have a private check communication channel with the miners right so okay this is another big reason why all this phenomenon can be super helpful uh to the to the system right and why is this why is this why is people talking about the mev now why is this a problem these days right well there's a few reasons why this is getting worse and one is that there's more and more contract interact interactions right as opposed to uh if transfers so perhaps before a big majority of network activity was uh sending if back and forth but now uh now we're more operating at a higher abstraction level where most of the activity going on is um in terms of interacting with smart contracts one a way to to see this say same thing is seeing that the token market cap now exceeds the heath market cap right so the the the soft money on top of ethereum is is now larger than the the lower layer um money which is east right uh so again more opportunities there there's no mov extraction opportunities for east transfers the opportunities arise when there's more complex contract interactions like the ones i show you arbitrage and so on um now transaction fees our fees are exceeding block rewards right you know that miners get a reward for mining a block that's standard part of the protocol at least until eap one five five nine which is a separate question here but uh so they do uh earn a reward but now they're getting most of the reward um by transaction fees right so again uh this uh hints that there's a lot of money lying around at this this higher abstraction uh layer there's generalized front runners now and by generalized front runners i mean these bots that are just looking at the blockchain and when they they analyze all that's going on there and when they see an opportunity that's making money they will go and copy and replace it themselves no matter what it is so they don't have to understand what's going on they just replicate the the opportunity and take the money themselves and this there's the the arising of these permission mempools again what i was saying before of miners providing a private channel to searchers for extracting these these opportunities right so all these points to an impending enemy crisis where where this is uh becomes like super problematic for the network again consensus problems and and so on so uh so it's looking bad and and it's it's a threat to ethereum and its users so so we we really want to we really want to solve that so enter flash watts which is our approach to trying to mitigate this impending um nav extraction crisis so flash foods is a is a i i don't know how to describe it but perhaps i'm like a hacker collective we use a an an analogy of a pirate ship uh actually harith introduced me at the director of research and i have to say that's not my that's perhaps accurate but that's not my official title my official title is sailing master which which i like so so yeah we have this analogy of a pirate ship and it's a this pirate ship trying to accomplish this this this goals right so we want to illuminate our forest providing um information and insight about what's uh what's going on and there uh we want to democratize any extraction and to keep up with the the proposal of ethereum being being open and and and then fair for everyone i'm going to try to distribute those benefits ultimately if it were at least for not um not being users not being heard by this increase in gas prices right so i'll i'll do a quick tour of uh how this looks like in the three the main goals that we have at flashbacks so first uh looking at illuminating the other forests there's a lot of uh um things out there that i look at chain data right um well ether scan which i didn't mention which is of course the first one we all look at um when when when looking at network data but there's others that also try to do some uh that have some insight into this type of things like the blog tune analytics like this is a this is one plot i think from the blog that it's like it's your minor revenue right and and again this is very uh limited what they do in terms of looking at this this mba extraction they're they're barely scratching the surface um there's one project from me which was introduced when the first concept of meb was introduced a couple of years ago by phil dayen and company in the original flash voice paper and that has some insight on on things but it's a little bit outdated and if you see the ux is not really useful to understand how extraction is taking place nowadays so one of the things we we have at flashbots is mav explorer which is a dungeon with mev inspect which is an analyzer of all this extraction process right and there's if you go to explore.flashbots.net you can see this this this is a screenshot i took from there it tells you how much extracted nav has taken place uh last 24 hours as 3.6 million dollars in extracted mvv in the last 24 hours and how this is this is growing and how this looks there's several uh statistics there to try to see the the extent of this of this phenomenon right and we also look at how this mev is split across protocols and then by type arbitrage versus liquidation and and and and yeah so this is all um and an incomplete approach it's very hard to uh or perhaps even impossible to try to quantify all extraction um so what we try to do is uh try to incorporate more and more inspectors as we call them that look at the chain and try to figure out when extractions are taking place and and uh yeah try to quantify those those to include it in the in the in the dashboard so this is all again open source and open to contributions so you if you're curious about data and and would like to to contribute there we would be more than happy to uh guide you uh uh to the code base and and and and help you get started with it there's several issues there we have some misclassifications too that are good for getting started started so anyway this is a again all of what we do at flash roads is open source so this is an open source project and we we we really mean it to be a community effort so so yeah welcome all contributions on that front um and and do check the the dashboard we have online for for summaries of how nav is taking place this day um second big goal of flashbots is democratizing mvv extraction uh and for this we have uh medgath right so what we do here is uh we have a fork of of uh guest the the node software uh that opens a way for uh for sending transactions and and where the the the this auction this priority gas auction i was telling you about doesn't take place in the mempool but of chain right so what happens here is say there's one opportunity in the mempool some order that will change some price so the miner instead of looking at the main pool for including uh extracting transactions they talk directly with the searchers and they say okay there's one bot that's offering this much money share with the miner to get their transaction included there's a perhaps it's different both offering more right and then the the miner will say okay i will include the one that's paying more but i won't include the other transaction right so what this what this uh means is that the the losing transaction will not be included on the chain and this gas auction is not gonna going to be seen by all users of the network and and so it's gonna be better for everybody because it's not this this gas war will not blow the the the will not will not uh be done in the actual mempool and so it will not affect regular users right so this is essentially how mev geth works right opens a channel for searchers and miners to do this negotiation of chain um it's open and it has as i said less negative externalities for other users of the network to take another example let's go back to our oracle update right there's an oracle update and hence perhaps an a liquidation opportunity coming up so so what searchers can do is order transactions in what we call bundles transaction bundles so there's one bot that offers a a a some some money to bundle two transactions so they say okay i want this oracle update transaction that i didn't initiate but it's in the mempool out there so it's already signed so i want you to include a transaction bundle that's this oracle update followed by my liquidation transaction and i want you to include them in that precise order and with no transactions in between right so i'm sure i'm the one exploiting this this opportunity right and again other bots can uh offer some price to the miners to include that and the money will include this these two transactions in that order right so um so in this way again the the the bot has no risk of losing out and losing out to the the race and this competition is not taking place on chain um so these are what the transaction bundles look like in our rpc call how we do this by opening a new rpc call if send bundle right that's it's a similar to each send transaction but it's essentially instead of sending just one transaction you send the as an order list of transactions like i want to these transactions are including this this one first this one second and and the d minor will include those at the beginning of the the block um so it's a block number and doesn't matter like a target block where i can i can include it and sometimes i'm just there for validity of the bundle right so this is how nav guest in a nutshell works this is our fork that miners should be running if they want to receive bundles and directly benefit from meb so this this is good for miners because they don't need to start coding bots and start analyzing the transactions in the mempool to see if they can beat them and and and try to replay them and whereas they're beneficial to them they just like change the software they run from vanilla death to mavgaf and they start automatically receiving money from mine from searchers right so how this works this is a a small scheme of how this this takes place so this is vanilla users send transactions that expose mev to the transaction pool uh the trader bots picks pick up those transactions and they insert the transaction to extract the mvv again to the transaction pool to the mempool and the miner picks up all of these transactions and produces a block template based on the the price they they pay right this is what happens with a regular gif what happens in mev get is a little bit more complicated a user again sends a transaction that exposes mev to a transaction pool the searcher picks up the transaction and sends a bundle that extracts maybe to the bundle pool right uh at the same time the transaction pool uh so so the sorry the the miner what does at that point is select the the [Music] transactions as it did with vanilla get from the transaction pool but in parallel it also selects the most profitable bundle from the separate bundle pool so then with all that information at hand they can produce the most profitable block template and and mine on that um so yeah this is a little scheme which uh represents how these bundles interact with the transactions pool so this shouldn't be uh ever if again trusting the the code that's what what is intended to do it's not risky for the miners because they would at least so so they also uh take into account the transactions so it's not like they drop transaction they compare the the flashbots block with the vanilla block and and they only will mine on the on that block um if it's more profitable for them than mining the vanilla block right so it's a very easy path for miners to start making any money good so wrapping up the idea of democratizing any extraction where are we with meb get right so so pgas the priority gas auctions i mentioned before are permissionless mvp gf is permissionless as well anybody can can participate by sending flashbots bundles uh it's different from dark pools where you have to pay like establish a contract with miners to be able to send um transactions it's mvbgf as opposed to a dark transaction pools or pgas is efficient right because all of this auction uh competition for the uh for being included is done off chain so it's much leaner for every other users mavget has free privacy when you send a transaction to the main pool in a pga everybody can see it so even before it's mine that opportunity can be seen by by others that's also in in dark pools and maybe we get and that's not the case right it's the transaction is kept private until it's it's it's mine uh neither pgas or dark pools have failed trade privacy right so if you try to extract an opportunity and for some reason you miss say another another bot outbid you uh that will get exposed in in pgas or dark pools it's not the case in a movie guest in maybe guess you lose this com offline auction this offline competition of chain competition and it will be silently or we will give you a reason for rejection but it's not mined so other bots cannot see what you you've been up to what we're missing still from mvvgs is complete privacy uh right so miners can still see these transactions and that's a goal we have for a next version of of this flashback system so we will ultimately want a flat flash miners participating to be oblivious of what transactions are are taking place right then we have some approaches to that and particularly using secure enclaves like sgx but there's perhaps always using crypto economic incentives or some or some sophisticated cryptography primitive and that's like an active area of research and that's like where we want to go in the long run and finality again i was telling you about the the reorgs that can happen and that's that's still the case and that's a super challenging uh problem problem to solve but i can hopefully would like to cover all those in the in the future of flashbots um one final and this is i promise the only formula i have in my presentation i gave you a lot of emojis so i hope you can bear with me for one formula this is the formula we use for the the prioritization of of the bundles this is bound to change soon but it's a one that we're using in 0.
1 and and it it's composed of a few terms so one is this is the gas price times the gas used for each transaction in the bundle so that's the total if using in gas um used in the in the in the in the bundle this is the minor tip or or bribe that the searcher includes along with the with the bundle that will be paid to the miner for uh inclusion of this bundle and this is a normalization by uh gas usage so so we don't want like huge bundles so this this prevents a huge bundles by normalizing the the the rank in the auction by this total total gas use um so again this is a the auction is a seal bid first price auction meaning that the the one that pays the most will win this auction and will get their bundle included right uh so it's up to searchers to tweak how much of their their profit they want to give the miners to guarantee inclusion um good uh again it's the most profitable bundle for gas use okay we get to the final point and i've been talking a lot so i promise i'll i'll i'll be done uh very soon uh i'll talk a little bit about distributing the benefits it's our last goal at at flashlights there's lots of questions so perhaps i'll i'll continue and i'll wrap up and then we can address those questions i can promise that there's not much more to go um so distributing the benefits from mev extraction is is a tricky question right it's it's hard to say how do we how do we want to do this perhaps there should be changes at the protocol level to achieve this so we have all these open questions for this how can we create sustainable incentive alignment between miners tradition developers etc how can we create virtuous cycles through channeling some of the profits into funding public goods such as if you comply in development and so on this there's a there's a bitcoin grants and this type of programs now trying to solve the funding public goods problems so perhaps this extraction of mvv can be somehow rerouted to those to those efforts and how can we minimize the negative externalities of immunity extraction maximize the positive ones and these are all like very open broadly stated questions that we're eventually trying to to provide some more light on um mostly on the research side of flashbots so this is how flashbot looks like right now it's this picture keeps changing and i don't i don't intend to go through it in its entirety but flashbots is a research and development organization the idea is that research and development work hand-in-hand with each other and while we do development on the on the flashwork core system which is the the the the name of we get and the relay we operate for sending the bundles and the mov explorer dashboard i showed you before and and tools for searchers and so on that's more of the engineering side and on the other side we have all this research on on either things that will eventually come into our our our product like sgx research for achieving privacy via secure enclave or some research on how to solve this this problem via crypto economic design and so on and so forth and in particular tackling the the questions uh i was showing you before so the idea is that this research and development go hand in hand and talk to talk to each other so we we want to be an fully open organization that what we do is all open source and and all our research processes as well um as open as well and we hope to share all these outcomes with the community and we have actually um a grant program for for research these are a few of the questions that we are now working on a taxonomy of mv extraction measuring the the actual cost of of uh pgas and mv activity uh transaction order in layer one versus layer two uh anyway there's a few things there that is are i i mean as examples of what we are doing in flashbot research again we we fund uh research uh along these this areas of mev so if you are a researcher interested in doing some related work please check out our research repository you can open an issue or a pull request there's a template for one of these frps and and you might be eligible for for one of our research grants these are flashback research proposals um so again we welcome participation in either in the explore side of things in the uh core side of things and we get uh and in on research we're open organization we have like very loose boundaries uh in the sense of we're not like just a close group uh working in isolation but we work a lot with the community so you can join our disc discord too and and learn more about what we what we do final final comment uh flash what score 0.2 coming up soon so this is another thing where we welcome contributions we're uh improving mev geth and relay a little bit in the coming months so this is a good time for us to receive feedback so we have a repo the pm flashworks github repo where we have um a discussions forum where you can give input on on these features we're going to have a revamp option mechanism so we're going to change a little bit the the formula there to prevent something called bundle staffing where people were still including random transactions to to get their price up um we're going to have bundle merging so right now the 0.1 version only includes a single bundle per block we're going to have the features of including more than one bundle if they're not conflicting with each other or discard reverting transactions which is probably what searchers want if their their opportunity extraction didn't go through we're going to include a proxy payments contract to to track uh minor minor payments and have a little bit more insight about what our flashpots blocks in the in the chain we're gonna start the experiment with full block submission as opposed to just bundles when i replace https rpc goals with web sockets we're going to build a test net infrastructure and we're going to put up a neat code of conduct for what we expect from from miners so a lot of features as you see coming up in 0.2 uh perhaps this should be a major version lots of things going on there so anyway we again we welcome feedback from all of you there if there's any bot operators there that are concerned where this is going please give us your feedback we listen to the community and both minors and searchers and there's a repo there where you can check for all these or also a vote for features there um good so this is uh the end of the the tale of a day in the blockchain it was not as shiny as we envisioned in the first place but we think uh we do have this this uh mev darkness lurking around in in ethereum uh but hopefully flash rods will help mitigating the negative side of it and will help continue building ethereum in an open and unfair way so thank you again for for for having me and i'm happy to take all questions thanks thanks a lot alejo uh that was i think a lot for everyone to digest uh there's a bunch of questions and uh normally we do like a fireside chat where i'd be asking the guests questions but on zoom everyone can ask questions anytime so there are already a bunch of questions here but i think before we get there i always like to start with asking like more sort of a get to know you kind of questions um so earlier if you don't mind sharing like your personal sort of history with with ethereum or with blockchain and then uh what made you kind of jump into the whole flashbots pirate crew sure yes so so i can actually start before um blockchain so i was trained as a physicist originally i was in academia for a long time i did all these standard academic academic steps i was doing quantum physics for a while then i sort of got bored i switched to neuroscience and cognitive science in particular then i that was a little bit more interesting but ultimately i was frustrated by academia once someone told me academy i can be ungrateful and i fully agree with that all the incentives are are misplaced and like it's a very old system right and it's clearly failing in many different ways i would say so uh at some point in my life i was looking for something else to to do because i feel i felt i wasn't contributing that much even if i was like publishing a lot of papers and so on i i i didn't feel like i was having a an impact in the world by doing what i was doing so so i started looking around and then it was when i found blockchain i mean i had heard of bitcoin and and even before but i hadn't like really you know paid attention and and so i started chatting with people in the space and i started learning what this whole thing was about openness and freedom and and um i don't know uh how how the history of malaysia is with um in terms of uh economics and government controls but in argentina it's a pretty grim uh pretty grim history where any any any argentine can tell you a story where like either their money was frozen in in in in a bank by the the government preventing people to withdraw changing dollars for argentine pesos and at an arbitrary rate and hyperinflation so we we perpetually end up in one of these this these things right now we have like i don't know if it's 50 percent inflation to the peso one peso is around it's close to 10 sats so at some point it's there's only one peso one sat that's gonna be fun when that happens so it's really bad and and the government putting restrictions so right now i don't think it's so it's not legal to buy dollars in argentina so there's no legal access to to stable uh money so it's very problematic so when i learned about like blockchain i'm giving you a long-winded story right so when i learned about the the what the blockchain movement was about and how it would like solve all this all these issues that again touched me very personally um and my father lost a lot of money in the in the in in the corralito which was a a moment where the government would not like leave uh people to withdraw their their assets from the banks so so again i think it touches all the argentines very personally and yeah so i learned that very talented and and smart people were were contributing to this open system that was like a really a good call for me to participate in that so i started looking around and i at the time i joined open zeppelin um so i started working there contributing to the contracts library you perhaps all know and the product at the time that was sibling os i i did security audits and and then i founded a dedicated research team there which was a team in charge of doing the security audits it was a time where we everybody in the tech team did everything so we needed we were growing and we need a little bit more structure so i together with others there leo and pincher great security researchers we founded the research team so i let that team for for a few years we grew from three to i don't know 15 people in there something like that and and yeah working on only team security and more open-ended open-ended um research questions and that was a great ride for me i really enjoyed and i really got that feeling that i was contributing uh much more than when i was doing science right so so it was a an experience that was really great after three years at open circling though i felt i needed a change some more new challenges learning new things and i was super interested by mev and i actually contributed to flash what's in the inspect a little code there and also a little bit to a research process since we had something i had been working on something similar and at open zeppelin so yeah and so at some point the opportunity are also like actually start working for for flashbacks uh full time and really get close to a project and and put all my energy there so so yeah i thought i thought it was a great opportunity to try to again use my my time and energy to to tackle this this problem that i think it's a it's a impending uh big one for for ethereum so i think flashrod is taking the right steps to mitigate it and and and yeah so it's it's what i'm doing now sailing master there whatever that means and and yeah it's a it's a great group of people and and in a very important quest so so yeah super happy to be there now cool uh yeah great story uh we have a bunch of questions uh not just on the zoom chat but also other places i don't know if you can get through all of them but i'm just gonna try and ask them and um maybe are you on your end if you can explain in the like simplest and shortest way uh if that's possible so that we can get through uh the questions that's um here i think the first one i and please let me know if i missed anyone's question uh ray uh asked um how do you convince minus to use mevgef that's a great question and the the short answer is tina we have a magic person in the team that does her magic and talks to minors and she convinces them so yeah you would have to ask her how she does it but uh yeah she she is great at doing that and and but one thing to note apart from tina's magic is that uh so the mbbgeth fork of geth is a small fork right and so by reading a few lines of code they can like miners can opt in into a flow of uh mvv extraction money so they just switch to mvb guests and provide it again that the code is not doing anything funny they will start making more money so it's a pretty compelling argument if you think of it like hey you just need to like use this different software that's just like the one you're using but with these small changes you can inspect them yourself and see that it's nothing we're going on and you can even test it with a few machines and scale it up so it's pretty it's a pretty i would say a soft path for miners to to adapt flashbacks so so yeah and and path to like instantly making more money so that's again a compelling argument so yeah but but again i don't want to minimize tina's work because it's it's pretty impressive what she has done so so yeah it's a mixture of this convincingness of the argument and penis magic that that got us where we are right now and and i think uh because i've been looking at the recently looking at the data on flashbots i think most of the top miners mining pools are already using flashpots the only exception is ether mine but i think everyone else at least the top 10 i think are already um kind of mining on uh with flashbacks yeah we have a more 51 percent hash rate of of the network going through i mean we get so it's the pretty wild achievement super fast too so yeah we're super happy about that yeah and i think just below 50 of blocks have bundles was what i was just checking because i've been uh doing some queries uh recently um and sorry in the last one week uh just a bit less than half and that's a lot more than only a few weeks ago it was like one percent uh of blocks um yeah okay next one um i say anonymous asks how do you how to contact miners is it through rpc calls yes so that's a that's a great question we have a a in onboarding so right now all traffic to miners is going through flash what's relay we don't do any type of censoring or anything we just make sure that we're sending profitable uh bundles to searchers so that they don't get spammed with with bundles so but it's open to anybody so uh you just need to there's a there's a good tutorial online so there's in the pm flashbox repo there's a guide section and there's one for searchers and one for miners so essentially you have just have to sign a message with any ethereum private key and that allows you to send bundles to the flashboards really which we will relay to the miners and how it works is via an rpc call that's a send bundle but you need to work at low level we also have implemented providers like a a a extension of ether ethers provider which you can use that already takes a has a send bundle method that you can use in your code and there's also a web3 provider that i think someone from the community worked on so yeah we have all that infrastructure so so you with uh very little tweaks to your code you can you can start sending the the bundles to the flashbots relay that's all like very well explained in the in the in the guides we have on the repo okay and next one uh also anonymous how many transactions can be included in bundles um there's no limit now and as of how many bundles we're seeing this bundle stuffing thing um so so we actually put a restriction on the number of different transactions the standard there is so we said we can only you can only send you can send as many but include as many transactions if you want but only up to at most two two addresses and i just see uh pala in the zoom santiago barrarino i know he was complaining about this because he wanted to do a white hat rescue and this was too limiting so we were working i i i think we're so we're definitely taking this restriction out on on on for v0.2 i'm not sure if it's um if it's up now i think we're making some changes to really i'm not i think it's perhaps still there but again there's no restriction on the number of ones but on the two others is if there's one but this will all go away with um with flash rod 0.
2 and where we have like a different auction mechanism that tries to prevent stuffing in other ways um do you see a situation where uh like a whole block can be full of um bundle or bundles and and basically it becomes just a bundle kind of network yeah this is a great question so one one approach um okay bala has the latest coupon on this with it's says it uh too many messages has two distinct centers and two extreme recipients okay thanks for the the latest thing he knows flash's system better than i do i was mostly working on 0.2 recently okay thanks father for the clarification so yeah to your latest question yeah this is a great a great uh point actually so why restrict ourselves to bundles and and why why not blocks right this is a great question and it's something we are actually introducing in in core um so in core 0.2 i mean so we are opening an rpc call to start experiment with sending full um blocks some searchers have um manifested that they they they want um they want the opportunity to order all transactions in the blog and and perhaps it's what's most pure right like separating like what we're auctioning is not just one slot at the top of the block but the entire ordering privilege is for an entire block right so so we're certainly thinking about that it's uh perhaps the the way to go it will ease the load on miners that have to do all the bundle merging and so on so if you just send them a block they just need to check for profitability and and include them um so yeah it's a it's definitely a a a an option uh and we're gonna start exploring with that in the in the next version i i think there's uh like it's it's early to say but i see no reason why we shouldn't converse to full block uh auctioning ordering auction um i don't know that perhaps might leave some opportunities out like if you don't see an opportunity and someone else does you will be preventing that from inclusion if you don't do merging properly uh i don't know it's hard to tell where where it's going we're trying to opening the two avenues in parallel and try to see where that leads us okay um next one also anonymous um do you have a sense of the average tip or bride that's being paid to the minus second any do you have a sense of the average uh tip or bribe that's being paid to the minus i i guess that's both for just flash mods and also um if you can tell outside of uh flashports yeah i i don't know but i would say that it depends a lot on so it's hard to look at averages here i don't think average is a good summary statistic of what's being paid because the distribution of extracted mev is a very long tail right so in particular liquidation makes it make regulations make it very long tail so what i'm getting at here is that perhaps you have like arbitrage opportunities that extract a little bit and like carve out of the slippage like big slippage limited limits unisop users typically use and they're carving out and there's this small mov extraction taking place and there's just a huge liquidation where i don't know there's 100 liquidations and and then of course you want to make sure that the miner gets that in right then so you share like a big chunk you saw a payment of 100 it for miners so whenever you summarize a distribution like that with an average it's it's really weird because all these like uh extreme events will like take your average like very high which doesn't quite represent what's going on so uh so i don't know i think uh yeah again i'm not sure what the average is and i don't think it's a way good a good way to summarize it i think perhaps a better way to summarize it is what the share of profit is going to the miners right so if you have like again 200 this opportunity are you giving half of the minor half to a minor a quarter to a minor two-thirds to a minor and that's uh that's perhaps a better number but i'm not sure what that number actually looks like uh we're not tracking it directly right now we're now working on a newer version of our dashboard where we can track all these type of things to have a clear picture so that's that's upcoming again all open source all welcome contributions so if you have thoughts of what we should be tracking we're more than happy to to hear your thoughts i agree that that's a one one number we would like to to have in in in our dashboard to better understand what's the picture of of maybe extraction okay uh and um also asked um when pos happens how would your role change within the ecosystem when word changes sorry uh pos when e2 uh yeah this is this is a great question so um so mev will still be present perhaps like not called m or well maximal extractable value and this is also one of the reasons we change uh mev from minor to maximal because when miners are no longer part of the picture there will still be extractable value lying around and this again comes from the fact that there's uh privileged rights to ordering transactions in blocks right so um so in these two this will be the blog proposers who have this this right and they will they will somehow be able to extract this so it's unclear uh as of yet how this will look in the far future for the closer future um so at the state of the merch and and so on uh it's uh it's a bit clear so how teams are proceeding now the idea is that the the proof-of-work component of geth is replaced by the proof-of-stake uh thing done at the beacon chain um and and the validator so all the logic of prismatic and all the other is-2 clients and but the the so i'm using get and prismatic because also i have like once i use an example but this is valid for uh any any l1 and l2 cl eth1 and its two clients so so the idea is to replace the proof of work modules there by the if two proof-of-stake ones but the block proposing and ordering will be handled by the same the same code that was being used before so so what this means is that the the the logic of ordering and the auctions will still be valid uh in the same way at least in the early stages of if two so perhaps even the same any we get code right because they will be using the same chunk of of code for doing ordering so short short answer is immediate versions of if two it's gonna look pretty much the same long-term versions it's more unclear but there will still be a version of mav and an extraction taking place and we have to see how that can be and how that can be mitigated in terms of problems for the network okay there's a couple questions but i think they're unrelated and mariano uh already put some answers in the chat uh for one of them uh i'm gonna skip to uh patricio asks and i think this is an important question um with the addition of an external dependency on sgx it's a breach of the social contract of ethereum um what are your thoughts and maybe you can also just give a little bit of intro to sgx for those who didn't really catch it that well during your talk earlier yeah so sgx is a is a technology by intel that essentially guarantees that your execution is standing in a in a secure enclave where you put some encrypted payload so you don't know what the payload is into the enclave the enclave decrypts it performs some computation and and outputs an encrypted uh outcome or so so so what happens there is that the the system performing the operator of the system does not have access to the sensitive data so for instance how this would work is miners will operate would operate an sgx instance and they will get the encrypted um bundles by searchers and they would not see what transactions are included in the bundle so they won't have access to the opportunities that the searchers found they would unencrypt those within the scx uh do the the like verifying that they work and so on the priority session compute the profit to the prioritization and then include the the bundle so this would not be visible by the by the miners until the block has been mined so this is the idea uh behind the sgx proposal for um for achieving privacy and the addition yeah it's uh it's it's true that uh like we say intel and i don't know if i like like having intel being a core part of of of all this i i i share that concern it's a it's a it's a it's a good point uh perhaps it would be better to solve this in a in a more uh i don't know crypto economic principle way with incentives and so on that uh that doesn't like involve uh getting an external actor participating like intel here i agree uh but that's like less it says clear how to do it so it's certainly a a goal in the long term for for flashbacks but it's a super challenging research question so if you have ideas on how to solve this without using scx that's that's um that's more than unfair and bring that that along so yeah this is this is uh it's a it's a great question though um one one more thing as i see exactly it's it's also unclear it's the performance issues right we're still testing whether it's even feasible to uh do this in an svx without introducing too much like to have like the system be viable so again it's it's very open-ended where scx is going and where there's other preferred solutions to this what's clear is that we want to achieve privacy ultimately and and this might be a bit of a new comment but uh with like zk um kind of snarks and all that stuff happening is there any kind of thing that you could do with uh zero knowledge roofs yeah perhaps yeah this is what i was referring to and when i was saying something like perhaps using some cryptographic primitives to to resolve this this problem um uh yeah i i don't know what what the solution would look like or which primitives it would ultimately use but i think there's a lot of room for exploration there yeah seagate snacks or or other um or other zero knowledge type of thing and yeah homomorphic encryption things yeah i don't know where the where the solution lies really and again it's a it's a very uh interesting topic of research and yeah so if any of you are are curious about that uh i'll be more than happy to see you in the on the research github contributing ideas okay um okay we have only three minutes officially uh if people don't mind um staying on for a little bit especially alejo if you don't mind we can continue asking more questions i i see two very i think relatively heavy questions which i don't think you can answer very quickly um the second one uh cedric he he has been reading out a lot before this uh meet up and he actually kind of showed me which i wasn't aware of uh before uh chain link has this uh fss fare sequencing service and i think that's also related to patricia's question after that but we'll go one by one um so what's your take on this fss by chain link so we're recording this right yes yes [Laughter] if you want i can pause the recording um yesterday it was civilized and everything uh yeah well so so lots of things to say here but so they try to so for i don't know if everybody has context so so yesterday there was an article out there where i use uh works with chain link saying that flashwatch is essentially enabling robbers by building what we're building and i think this is a misrepresentation of the system and so it's not really what we're doing we're building in an open way so so yeah this is this kind of critique i don't think it's it's too constructive really um so their take to the problem is uh this first sequencing thing where um where the idea is that they say what's fair and they they order according to that our our response to that uh or i don't know i don't know if our response i don't want to speak for every flashback and this pirate ship collective means that like everyone has their own thoughts around these things and we all coexist together so so the problem with this type of things is that who decides what's fair it's not obvious who's fair fair for whom fearful searchers fair for the miners so so the notion of fair is not a universal thing that you can say okay i want fairness and so i design a system to achieve fairness right the problem is at first you have to to settle on what's fair and okay if you are like an institution deciding okay this is what's fair and then we optimize the system to comply with this notion of fairness okay that's well but that's your notion of fairness right so flash doesn't uh doesn't do this in the sense that we don't we're we're a neutral organization we don't we don't say what's fair and what's unfair we just provide the the the infrastructure for for minimizing the cost that extraction has uh for all for all users right so we don't we don't attempt and saying like this is this is a good or this is but we say okay this is this is the infrastructure and by people using this infrastructure we will minimize the costs that it has that this whole phenomenon has for the rest of the users right so i think we take a less less biased approach in terms of like not trying to to define what's what's fair if that's like an answer okay um but ultimate sorry but but what like ultimately i think it's it's a it's an interesting question right and i think like uh so so i think we're losing mev uh that's lying around it's also like a a a reasonable goal to have and of course if we can design protocols that that minimize mvv i think that's that's good and if this will improve the ux uh for people joining the ecosystem that's all super welcome i'm not saying like i'm minimizing the negative externalities by doing an open auction is the only way to this problem it's it's a it's a practical head-on way that we're doing and and it's working and we have a lot of users now and that's already minimizing the load for the users right so it's online today it's something that you can do so it's a practical approach and but i'm not saying like other approaches like protocol level changes in the way that notes or the transactions are not are not feasible of course i think that's like super interesting and but it's a super challenging problem and and i hope like when they we we see that the soldiers are more at a more fundamental level right but but so far uh i think flashcards it's a good like a short-term solution for this or palliative okay and um yeah i don't know if you uh already kind of answered the the second question after that uh on the uh okay this is uh not my own words highly inflammatory comments by ari jules and partners published yesterday uh your thoughts uh on that yeah so i bundled that with the with the other answer a little bit so yeah we like i i think it was very well answered thank you i guess one thing that um related to that would be they they made a mention of how uh with things like flashbots were inviting regulators to kind of clamp down on um on the ethereum blockchain um i didn't know if you if you saw that comment uh do you have any thoughts sorry so can you can you go away and then get the the comment uh in the in the coindesk article uh he was uh quoted as saying that uh by having uh this kind of uh open transparent mev done on flashbots we are encouraging regulators to clamp down on the ethereum blockchain uh because it's you know it's front running it's unfair and all these things i think that's a i i don't know i think that's a bit of a stretch like why that and not only like lending and things that are already going on right like why i don't know like i don't see uh you know i don't see that that being more uh more geared towards like uh triggering regulation that all the things that are already going on in ethereum really um yeah i don't know what regulators want and i don't know what regulators do they should do their thing and and that's really in peace yeah i won't dwell on that and i think um we're already past time if anyone has any final questions we can ask very quickly um otherwise i have one question which is relatively straightforward and then just kind of like a final closing questions um so this one question was um you mentioned front-running backgrounding um time-banded attacks i don't think you mentioned sandwich attacks so um could you clarify that a little bit and the sort of ethical concerns with allowing um sandwich attacks yeah so so sandwich attacks are like a weird form of arbitrage if you will where a user that's trading uh big amounts of money allows for a lot of sleepage in prices so the way uh so slippage is a notion that when you trade a lot of money you will induce a change in the price of the assets right if you're getting rid of a lot of apples and a sizeable chunk of apples in the market then like apples will be cheaper after you've done that right so if you allow when you that trade uh sleep is limited limits to be a lot what what one can do is actually benefit from that by buying and selling right after your your transaction you're moving prices so so if you let uh the the if if your tolerance for this price movements is is big what one can do is benefit from those and like extract this this little value on the side so little and it's not that little sometimes so this is what uh what a sandwich is essentially like a arbitraging on the same the same on the same exchange um in some way and and extracting the value that the user was not careful enough to to to prevent by by setting limits and yeah so so that's that that happens uh where on flashbots or without flashbacks that's like something uh both operators do i try to not uh not judge like good or bad um of course it's bad for the person being hard if they set like a high tolerance for for sleepage but i i it's i don't know it's hard to say what's what's good or bad i i don't i tend to not take a a position in the in these terms so it's it's part of how the rules of the game are are set right there's the code written there and if you're trading on say unisop you can read the code and and know that that's what's going on and perhaps some people will argue okay not everybody has the technical capacity to read the code and analyze what's going on and see if they and that's that's a fair that's fair game and that's a valid valid reply but i ultimately tend to tend to um think that that's how the rules of the game are set up and the rules are are clear and and are are open and and and are are the same for everyone right so in in this sense it's it's a it's a fair system right and if you don't like uni swap you can deploy your own your own exchange and do whatever you want there so so i try not to uh to see things as as good or bad but try to like abide by the code that's that's there and that's open for for everyone and again i i i know it's a it's a it's perhaps a controversial point because some people will say that not everybody has a technical capability and i see how that's a problem so i don't have like a like a fully final position on this but but again i i tend to think that's not for me to say what's good and what's bad in in terms of maybe extraction okay oh sorry we had one question uh just like uh for the average user so i feel like this might be useful to uh to ask um so for the average user um with all this front running mpv stuff happening are there transactions affected and if so what can they do to help counteract that adventure yeah that's a great question so so yeah sandwich attacks are the perfect sample the your transaction so some are not affected uh so for instance liquidation if you're under water you will get liquidated and and no matter which bot liquidates you someone will liquidate it and that's fair game it's part of the system and and again the problem for you is more than they're like increasing gas prices right but but that's uh that's a separate story uh so in that case uh it doesn't but for instance with this sandwich thing it does in the sense that you put some some money to trade some token to trade it for another token right and if you set the slippage limit too high then you will get less out of the second token like unisop like shows you this is the minimum amount you will get so in that sense you won't ever go under that limit but you do go um from a larger amount to that limit if someone sandwiches you so what you can do there is uh use a lower slippage limit right there's a setting in unit swap there's a little gear you say okay i want a smaller uh slippage to to to be clear this is this is only relevant if you're like trading big amounts of money but i think it's still worth like knowing that there's this thing where you can like set the slippage limit to a lower number of course the trade-off there is that if the transaction takes too long to mine then the price might have changed and then then you don't no longer enter the limits you you put and then the transaction may revert right so so uh perhaps then you need to pay gas price and then you're paying more for what you would have you know perhaps it's better to get our but not paid too much and gas i know it's a it's a trade-off there so but there is this setting where you can control the slippage typically in exchanges um so that's a way to prevent this kind of extraction or part of it so so would it be correct to say that if you're not making whale transactions then you should be safer no i don't know what's the like sandwiches that are being performed right now i don't know what's it like the the threshold for for uh you're going to get our for for any amount but if it's too little it's not worth the gas price so uh i'm not i'm not sure when it starts making sense really and what we're seeing in practice perhaps i don't know if we have that in the dashboard but um this is not a good proposal for metric to look at right for yeah it's an interesting one from all explorations that i've seen transactions creating up to 50 ether of a slippage not being sandwiched yeah but that's yeah that's a mystery right maybe maybe if there's any any bot operators here that that's something to uh take into account uh okay cool so i think it's we've already taken uh a lot of your time um i just just last question for me is just um if anyone is interested to participate in any shape or form in flashbots what would be the easiest best way for them to get involved yeah so i would say join our discord and join our our github so we have this i'm going to type it in the chat perhaps uh we have like a introductory repo the pm repo that's where it all starts there's pointers to our repos and guides and and things and also our discord it should be linked in that in that repo so join our discord and yeah welcome to a conversation again this is an open endeavor and we're happy to have community members contributing uh everything we do is open source and and we are working towards the good of the entire ethereum ecosystem so so we we want and and need your help there so more than welcome i'd love to see your contributions there okay well um thanks thanks a lot for your time thanks a lot for everybody who's uh joined uh especially the ones who are joining from other time zones um yeah please um i guess you can do the emoji applause for uh if anyone didn't get the po up um this is a good time to request it i think it's my problem it's on it's on your cell phone account yeah uh yeah please feel free to dm uh for the show um so we typically uh after the official meetup ends uh anyone who wants to can feel free to hang back and just have like random uh chats um it's easy to do in person but in zoom uh we can we can try and some community members just a quick note some community members mentioned that uh they wanted to work on a community project uh just so they can uh learn a bit more on solidity um and just have some experience so if you're interested uh feel free to join but everyone else feel free to uh you know get off into your evening or morning and we can see each other again uh next month awesome thank you hari this was great i appreciate the invitation it was a pleasure to be here thanks thanks alejo all right bye bye guys
Automatic transcript — names and jargon may be misspelled.