he's the dowdow guy yeah i mean it used to be called the yin yang now it's just called the daoda logo 0:13 [Music] 0:22 hello and welcome to game of nodes a weekly podcast on the cosmos from independent validated teams and this 0:28 week we've got megan barry from skip protocol with us and we're going to talk 0:33 about mev we're going to talk about what skip protocol is and i'm going to i guess repeatedly expose my ignorance 0:40 during the process i imagine shorts he already knows exactly what's going on here 0:46 but it's gonna look really clever so we can have a nice contrast going on i think we're on opposite sides of the screen as well so it'll be easy for the 0:52 viewers to spot who's clueless and who's not uh i don't know if that means actually 0:57 especially because i think you're you're above skip and you're above the skip folks so it really is that side of the screen 1:03 although that does bundle usurper in with my cluelessness which is definitely not the case um 1:10 happy days uh so do we want to do a quick bit of news before we 1:15 we get on to talking about skip what's the new what's the news this week i get so 1:21 the news i know about this week is quicksilver genesis is delayed 1:28 um nala's finally watched heat oh i want to hear about well i mean i suffered through heat oh 1:34 what it was three hours long man come on [ __ ] hell i don't have that type of 1:40 time we've had we've had we've had some discus we've already had people on twitter asking if you had seen heat by 1:47 this episode so we we are at this point a film podcast that that is just 1:53 it took literally an entire day maybe even more than an entire day to watch it because i had to watch it in like 30 2:00 minutes goes and like i don't know man i mean i feel like it might have been a great movie like why didn't you watch 2:07 chunks why do you not just sit down because crack a bear man i 2:12 just this stuff that i need to do i can't just sit down for three hours and watch a movie 2:19 one i i get that it's hard but like once a week i can make time to watch a movie 2:26 and i'm busy right but you just you just put it on or even you can even get your laptop out 2:33 do a little wiggly while you you know maybe it's that it was that [ __ ] boring that i just couldn't concentrate 2:39 on it i knew that was coming your surface so so where does this rank in our game 2:46 and nodes movie reviews versus the only other movie we've actually talked about which is master and commander 2:53 i i think mastering command is better 2:58 no i mean look i i couldn't give it a good guy i just i couldn't get into it because i had other stuff on my mind so 3:03 i'll try and watch it again maybe it'd be better the second time around i'm not i'm really not giving it the the go it 3:08 deserves i think you guys right okay well you know i was just thinking there was very little 3:14 drama per second this week in the cosmos and nala's just just laid straight into michael mann's 3:20 masterpiece so i'm literally speechless look i don't want to lose delegations because i'm hating on this movie so hard 3:27 so please tell me i'll give it another go like i feel like people really like it 3:32 but i just i don't know maybe next week you could [ __ ] on the shawshank redemption or 3:37 something else or casino or uh godfather or something that would be nice you should do that 3:43 i mean i'll take a pot shot of the godfather too the godfather too is you know everybody's like oh it's the only sequel that's better than the original 3:49 like [ __ ] it is it's it's [ __ ] compared to the godfather the godfather god is a reasonable that's a reasonable 3:55 argument right that you can you can make a case reading godfather is god brackets open father tier right just a plus plus 4:02 or s plus right right you know you'd lift that [ __ ] straight back to mother base and then 4:08 your science stats go up happy days big boss is happy all right i just want to point out that 4:13 we are already completely [ __ ] derailed so let's uh this was follow-up yeah i mean that's this is the problem 4:21 this this is the problem the follow-up gets us so off track that by 60 minutes 4:26 we still haven't talked about the thing that we've come up with okay okay fair point fair point so let's just 4:31 quickly deal with it on movie reviews um 4:37 i mean skip folks like yeah lads heat talk to us what do you think of pete 4:44 i definitely haven't seen it i haven't seen it [Laughter] 4:49 i have seen master and defender then and if heat is not as good as master and 4:56 commander that doesn't say much in its favor but i don't know if i trust null 5:03 fi so that that's the big commander guy that both [ __ ] on heat and mastering commander in one comment i 5:09 could i can i can appreciate that comment the cosmos community here that's right 5:16 nice so yeah okay shots fired uh that's a good start 5:23 uh we could yeah i mean i think as you said let's just get we need to just go [ __ ] on a bunch of beloved film properties 5:29 uh get ourselves fully exiled from the cosmos on the base of our film taste and 5:34 guys you will get cancelled around here for hating on master and commander like 5:39 it took weeks of arguing with that council council is strong i appreciate that some people don't like it as much 5:45 as me but it's very simple 5:50 well it's a very good film you should watch mastering commander but whatever 5:56 um do you you've watched you've watched nathan barley now no right 6:01 i've watched nathan barley it's pretty hard to stomach as well no it's good i'll do it i don't know that one and 6:07 it's in nice little like 20 to 20 minutes it's like it's yeah it's a british tv show there's like 6:13 four episodes and they're like five minutes each and then they canceled it you know i mean classic 6:20 it's like distinctly like two thousands i i really i quite yeah it really is yeah 6:26 absolutely we do need a game of nodes.cock domain that's what we need that's ceo that's 6:31 okay oh dear right okay let's all right 6:38 okay so only yeah hahaha very funny so the only the only the only kind of 6:44 drama that we haven't created ourselves in fact in fact it's not really drama it's basically just that quicksilver's 6:49 genesis delayed um i don't know what you guys think about that but i think it kind of shows 6:55 some maturity from the team to actually go the [ __ ] isn't ready yet we've got some more stuff we want to do let's pause 7:02 yeah they've not given a a firm date as well which i think is really sensible they're just going to like take their 7:08 time on that one um so you know i think i think it was kind of late when that guy got 7:14 called they they made the go no go but i think once they did they've handled it quite well well i mean i think that it's also worth 7:20 mentioning that they made that statement even after their competitor stride did like a a shadow launch in order to 7:27 beat them the punch right acknowledging that their competitor made it to it and they still saw hey we're not quite to 7:32 the point yet so let's let's actually delay let's make this statement let's make it what were happening so i think it's very 7:38 laudable and my memory is [ __ ] but isn't it i think stride was announced way after 7:43 quicksilver right i remember we've been talking about quicksilver for a long time um it seems like they're just moving extremely quick is that right 7:50 oh yeah yeah they've been moving very quickly i only heard about stride six weeks ago maybe whereas 7:56 quicksilver's been probably six months or more yeah which i don't mean that as a 8:02 talking down on quicksilver at all just more of more of how well striat has been making leaps and bounds it's pretty 8:07 impressive did you do some test nets or 8:12 uh sorry yes try do they do some test nets and stuff like i assume you're validating 8:18 because you validate a lot of chains yeah yeah they they were in test net they went to midnight on sunday i want 8:25 to say okay this makes a lot more sense to me now because 8:31 i was a little like i sent i sent the fray a message last night or my last night and 8:38 i was like can you get the the the guys like the the twitter handles from the guys from 8:45 some network that i like said what was it strike stride something like that 8:50 that i said it was a strike or stride and i was like i don't know i replied with something like that that's not network or that's that's a network not 8:57 pro well either way i dissed you basically so this is dms in the dms yes 9:03 this null was like you don't even know who our guests are there's so many coming online right that i got a little 9:08 bit confused and the i thought that it was that's why um 9:14 you know in the pre-show i was like so tell me about this uh liquid staking and you're like well it's not like 9:20 it's like well close but no that's completely not what these guys do so that's why 9:26 yeah i was like completely confused for like an entire day now um so now it all makes sense so the other one is 9:34 gone live and it's stride yeah yeah yeah that's straight 9:39 yeah i mean there's a lot of networks coming online so the i think a lot of people are rushing to 9:45 to live as well at the moment i don't know what's weird 9:50 yeah that's kind of thing as well in a bear market that seems like a weird time whenever there's not a ton of hype so people aren't going to just all jump in 9:57 so why is now the time to rush to market maybe it's competition in like 10:03 you know people just trying to be the first of a particular type of uh network or something 10:08 that's true i mean we have a lot of liquid state green options coming out now we've got uh steak ease here we've 10:14 got uh what is it larry's one uh which just launched on 10:20 uh is mars liquid staking as well uh is that not part of the product suite 10:26 what about i think so um mag and barry thank god you're not liquid staking 10:32 because like yourselves yeah i mean 10:38 i think i said this to frey before i'm like why why are people making chains that are liquid staking like can't you just 10:44 it's a smart contract right it was on terra um 10:50 i guess it is in ethereum i i think there's a lot of reasons people love making chains though like if 10:55 you can make something into a chain go for it i think it's the car yeah but like my question is though does it need 11:02 to be a chain because there's a lot of resources that go into like you know running a chain in the 11:08 long term like we're not talking about oh this is the fad that we're going to run for the next 20 minutes it's like 11:14 people expect that to be on line now for like decades the indefinite future like it's 11:22 that's the expectation when you launch a chain it's not five that's that's part of the reason 11:27 like why at king nodes we don't just jump on every chain because 11:32 it's something that you're expected to shoulder the cost of now for like ever so 11:38 yeah yeah well i know i don't go ahead i was going to say like we sort of had this conversation internally when you 11:44 know everyone was asking us are you making a chain are you making change we still have valerie's reaching out to us being like i want to validate on skip 11:50 chain we're like we're not a chain um we don't have a token or anything like that and i think like 11:55 it is there is a tough part of building code and investing a lot of 12:00 time and resources into it and thinking that it's going to be basically defensible if you don't have a chain 12:06 because you know you have to open source it obviously um and then like what's to say that another chain can't just take 12:11 that right and then apply it to their own chain you want to you want to have some method of capturing value which cosmos really is built to do with the 12:17 whole app chain model you capture the value for a protocol in the form of your own native token 12:23 i guess this is where um you know the the argument becomes stronger for you know ics i 12:30 guess because it really is like limiting wasted resources by using 12:36 um ics for like smaller chains like i guess i just i feel like not everybody needs a 12:41 validator set you know what i mean like it's i think well i think our conclu we talked about this at quite some length 12:47 didn't we and the the conclusion we came to was that it's very easy to get a validator set 12:53 it's even actually quite easy to get a validator set that's pretty decent but the difficulty is basically market 13:01 cap and being exposed to a like an economic attack of that of that type especially 13:06 in a bear market and that's like where ics but particularly ics v2 13:11 um has potentially like quite a lot of potential but like the idea that the economic 13:17 externality is captured is a bit i don't know people care about it really 13:23 can you explain to an ics v1 versus v2 like what so v2 is 13:28 here my understanding is that the v2 roadmap is for layering so you can 13:36 as long as it's compatible you can layer validator sets from more than one 13:41 uh zone that that can run the the software and the link the the what's it called the light client thing so you 13:49 could yeah you can basically like get subsets of the of the validator set 13:55 for like uh a stronger guarantee like so you're not just like for example like the hub is insanely centralized there's 14:02 loads of power in um like exchange validators nobody wants well okay maybe some people 14:08 do if i was running starting an app chain and literally that's the thing that potentially hal will do 14:14 there's no [ __ ] way we want the big exchange validators validating if we were running that on ics right that's 14:21 just they don't even vote they don't do [ __ ] they're not good validators they're just big validators so layering would allow 14:28 you to take a subset of the validators that i don't know what the selection method would be i'm i'm just kind of vaguely 14:35 aware of the this is the intention of the spec is my understanding um 14:41 so yeah okay somebody smarter than me can probably jump it somebody will probably jump in in the comments and 14:46 and correct where i've got that wrong i also want to shout out we got a comment from ben davis just saying that uh 14:52 on the app chain model for liquid staking you can't make a smart contract liquid staking atom at the 14:58 moment so that's the other reason you know for app chains in the space is you know if you have uh native tokens the 15:05 cosmos sdk tokens then uh a liquid staking chain makes sense because you're 15:10 using ibc to then do the hop and do a derivative token rather than doing it on 15:15 your own chain via cosmism yeah so actually i hadn't considered that some chains don't actually run 15:21 causing wasm there you go it's the default it's the 15:26 default cosmos stack now uh yeah and playing it in there so rama also says uh 15:31 he says oh they go yeah so v1 is the entire hub set 15:37 and he also says that ics v2 allows the consumer chain to select validators so 15:43 it makes sense and how does vp work in that situation in both those situations i assume the vp comes across with the 15:49 same percentage of ownership and everything else associated that right and so i would i would assume that it 15:56 would just be the aggregate of the selected validators right and what in the same ratio that they 16:01 have in terms of no no like well wouldn't it just do the total of the selected validators and then they would each have 16:08 their own percentage of that total what percentage you know whatever their stake is right 16:14 i don't know i don't know maybe yeah maybe i mean i i mean i this is purely 16:20 speculative but i guess if you've got two chains that say narl and schultz you're on chain a usurper's on chain b i 16:26 do a validator set of the three of you i would expect the total of your vp 16:32 combined to be the sum of vp and then it's a percentage of that maybe but then things 16:38 are not equivalent tokens are they because the tokenomics will be radically different on different chains like stargaze has like what four billion 16:45 converges on four billion supply and juno converges on 180 16:52 something million supply so definitely definitely gonna have to do like some more research on that 16:57 because like i'm not even sure whether you select the validators and then 17:02 individually stake that um the token of the uh you know the guest chain i guess you 17:09 would say to those validators so maybe it works that way but it is 17:15 are those validators running separate binaries for each of those chains that somehow hooks in and uses 17:22 like hey let's not write a spec all right we got uh we got skip here 17:28 that's fat let's go back to heat if somebody in the comments knows how this works if you could just like write the 17:34 whole thing as a massive essay in a youtube comment so we can we'll uh follow it up next week 17:40 we'll post it up on the screen we'll read it out in full claim it's our idea people listening on the podcast later 17:45 we'll just think we're really clever and you'll have helped us out we'll definitely credit you i think 17:50 people know that we're like dumb shits in certain aspects i don't think there's any hiding that 17:56 back yeah secrets are good in certain certain aspects secrets out especially movie reviews out of 18:01 australia yeah i mean it's a [ __ ] show isn't it i mean it's just that australia makes better movies so it's hard to stomach 18:08 these other [ __ ] oh my goodness we've all seen gallipoli mate i mean you 18:13 haven't even watched that yeah you haven't even watched two hands yet yeah it's on my list to now yeah to be 18:20 fine yeah you see how i suffer through the things on my list and 18:25 you don't even bother and it's yeah i've australian film i've already watched gallipoli we've just been over this yeah 18:32 you're suffering through all those us-made movies i agree yeah yeah uh right no sorry i'm gonna stop being 18:38 mean i like australia um right let's let's kick off i'm going to completely expose my my ignorance um 18:46 what is mev hello skip protocol thank you for coming on the show you're both looking very 18:52 lovely so what is this an idiot and i don't understand d fire it's been well established on the show 19:00 before before we get into that before we get into that can i just establish who is mag and who is barry i feel like 19:06 barry's got the stash i don't 19:16 um i don't think it's been a great one but uh we're going with it for a while uh i'm mag 19:21 and so mag is short for something right magnus magnus yeah yeah cool 19:27 and uh all right so you're you are on the right sides for your uh your name in the little mag and barry 19:34 there you go yeah that was that was good all right so it's so 19:39 smooth yeah i mean so also my ignorance on mev because um i 19:45 mean i i asked before the show and then i told you to stop because you had a really good explanation and uh 19:51 i didn't want you to waste it so yeah with no further ado explain mev 19:57 want to run it back barry um i can we usually explain it a little differently so i can try my explanation 20:03 and then you can give yours so mev just it's means minor extractable value 20:11 which is sort of a useless broad term um in my opinion the way to think about it is as a 20:18 validator in a proof-of-stake chain or a minor and a proof-of-work chain 20:23 you can by including particular transactions or excluding others or putting transactions in particular 20:30 places especially places relative to other transactions you can create a block that is more 20:37 profitable or less profitable for the people transacting on the chain or more profitable less profitable for you the 20:43 validator and your stakers and this comes mostly from defy and the 20:50 fact that um different transaction positioning in a block will have different economic 20:56 consequences for transactions so if i am a trader and i want to capture an 21:02 arbitrage opportunity on block you know n and i know it opened up at 21:08 the end of block n minus one i need to be first i really want to be first because if i'm not first somebody else 21:14 could get it the price could move the opportunity could go away um or my transaction could revert and so 21:21 i'm willing to pay potentially if i could pay a lot of money to get that position and the second 21:28 position is kind of useless to me right um it's like it's gone or it's probably gone 21:33 and so mev just refers to kind of like how we construct blocks to be profitable and 21:40 exploit this fact that some people are willing to pay for particular positioning other people don't really care you know if it's a governance vote 21:47 like it doesn't matter where it is in the block to you if you're just buying an nft you don't care 21:52 um an muv is happening today but i just want to stop there and see if that much 21:58 made sense that's like very very basic barry does does does block time have 22:03 a impact on this because like in ethereum or something else where i might have a 14 15 second block time that there's a 22:09 big gap right between what i want to execute versus when it happens and something like say or a new chains like 22:15 aptos you're talking 600 milliseconds 800 milliseconds a second 0.2 does that 22:21 issue go away or is it just it's high frequency trading so therefore this issue is always going to exist type of idea 22:27 um i'd say as a really good first question um how about that which one does you as mag 22:34 and which one of you is barry 22:41 um i i can throw into this one i've actually worked on the driver for intel's networking devices where 22:47 um i was part of a team that sped up one of their network drivers by something like 22:53 a hundredth of a millisecond and intel was so excited about it they threw like 22:58 a an off-site party for it because it was that significant so when we're talking 600 milliseconds that's that's 23:04 basically an eternity yeah for the hft world that really is eternity right so like 23:11 um the people who are submitting and participating in mev for the most part are highly sophisticated and they're 23:16 becoming increasingly sophisticated too um they're coming from you know name brand hft firms like jane street etc 23:24 um so 300 milliseconds 600 milliseconds 14 seconds it's all an eternity to them 23:29 i think that where it starts to become different on let's say a chain that has a 300 millisecond block time versus 14 23:36 seconds is you start to whittle down the amount of sophistication you have to participate in those opportunities but 23:43 they're they're there nonetheless it doesn't it doesn't affect whether those opportunities exist or not 23:48 can i ask a really stupid question if you are actually that obsessed with 23:54 making the most those opportunities surely the surely there are even more devious 24:00 strategies like you could for example join the validator set run a full node you can modify the code 24:07 such that you can basically always privilege your own you know if transactions submitted with 24:13 this key this public key always privilege it and then you could have say like a 24:18 really low timeout so you fail out other validated connections so that 24:24 in the event that you are the proposer you're basically just going to go yeah i'm done [ __ ] it throw everybody else away as soon as i'm over the minimum 24:30 threshold so there are there are probably avenues for very sophisticated 24:38 which i guess we're not seeing yet because nobody is sophisticated enough to compile their own binary and run that as a validator and make sure it's it 24:45 will make consensus with the other nodes right well so first of all that's already happening 24:50 um so you don't have to worry about whether it's too sophisticated in fact it's not that i mean all validators are 24:55 there it's not that hard um or it's it's it's you know it's it's probably less hard than becoming a 25:02 highly advanced searcher who competes on millisecond time frames um you know you could just like modify your mempool and 25:08 have your own logic there i mean you run the risk and the cosmos community being detected um if not for anyone else then by us 25:15 um and we will understand and we have understood the validators that are doing this i think 25:21 long term our answer to that is not like oh let's you know i don't know like you you could 25:27 try to solve it with governance and say like okay these guys are doing you know front running um but i think it can be 25:32 tough to prove and of course if you're that devious validator you're gonna deny deny deny i think what makes more sense 25:37 for us is how do we create a system that's even more profitable for that validator than doing everything 25:43 themselves um and so that's that's what skip does so this is so we got a question in the 25:48 comments from rama saying what is good and what is bad mev 25:54 which i think is the question you've just delighted upon right just there which is good mev is incentivizing 26:01 behavior in such a way that it's more profitable for them to do the thing that is not 26:06 underhand essentially a minor network attack versus i mean is it is it not 26:12 just taking the underhanded thing and doing it publicly so that the profit can 26:17 be shared more equitably really um i i'd say there are some 26:23 some other differences so i guess first like let's just like talk about what good mev 26:28 is and bad mev from just like a trading strategy perspective since that's usually the way we use it so 26:36 one mev strategy that you can imagine that is used a lot on ethereum is sandwich attacking someone on a public 26:42 decks you guys familiar with that the idea is basically like i'm a normal user 26:48 i want to do a normal swap on some decks i set my slipperage tolerance to be 26:54 something and i submit my swap out into the mempool transaction is unconfirmed traders see that transaction sitting 27:00 there and they say okay i can actually bundle your transaction with one of mine put mine in front to buy the 27:08 token before you do then force your purchase to exhaust your entire slip 27:13 ridge tolerance and then sell immediately after you do basically like taking any profit you might have had and 27:20 forcing you to pay a worse execution price like the worst execution price you can pay because i can look at your 27:25 transaction i know exactly what that is um and so that's a sandwich we think of 27:30 that as like bad muv because it hurts user experience it gives the user worse execution 27:37 another thing you could do is you could simpler strategy you just front run someone you see that somebody has 27:43 a trade that is going to be profitable because you can simulate it in advance you know okay this is gonna 27:50 make money and so then you just put your transaction ahead of theirs and 27:55 or you don't let their transaction execute if you're a validator or if you're someone else you can control the ordering there or you copy another 28:02 search or see them doing a strategy and you're like i'm going to do it first right right that's like abc so we think 28:08 of that as bad mev as well um before you get on the good mev um 28:15 so i just wanted to ask like um in specifically in the cosmos and not just in general like how is it possible in 28:22 the cosmos to actually control the ordering of transactions do you have 28:29 to be the proposer to be able to do it like do you have to do it on a block that you hit as the proposer 28:35 um so for now yes um you you will yeah as rama said uh you 28:43 see this on some dex chains um and it's really hard to prove that a 28:50 validator is doing it um but you see things that look very sandwichy or very front running on certain validators more 28:57 frequently than others and um that's because right now cosmos has a 29:02 first come first served memphis so if you don't do any reordering yourself as the proposer then the way it 29:08 works is uh whoever's transaction arrives at the validators mempool first 29:14 should be the one that gets in the block first uh cosmos is moving away from that though over time you're going to see 29:21 people upgrade to a tendermint version that has priced gas ordering so 29:26 tendermint will look at the fee and we'll look at the gas wanted for a transaction and reorder things so that 29:32 the people who are willing to pay the most per unit gas get at the top of the mempool top of the block so then this 29:39 stuff is going to get a lot more complicated yeah that's a great question 29:44 i wasn't aware of that change again more for me why is that desirable 29:50 yeah that's that was going to have the same seems to seem like a better method it seems like it just opens the door to 29:56 him yeah it seems like a backwards step in terms of integrity of the network and it also 30:02 seems like a backwards step in terms of my understanding about how partially asynchronous byzantine fault tolerance 30:08 at a conceptual level was kind of designed like the the whole point is the blo well 30:14 the whole point is at least i thought generally speaking the idea was you would have an unordered block 30:19 i mean so it's bad in the in the way that it opens up the door to a lot of this like bad 30:26 forms of mev and it's also bad in that it's gonna look like ethereum um before they had flashbots which was 30:33 not the place you wanted to be um ethereum when it was just priority gas auctions was an iterative bidding gas 30:39 war right so all the searchers were there they found massively profitable transactions they would bid over each 30:45 other in tons of failed bids to get to just some winner by the end of the block time and then everyone else had to 30:51 suffer because that pushed up the price of gas that filled up blocks and you were basically participating in the same 30:57 place where all of this war was taking place what flashbots did was it moved all of that out of the chain it said 31:03 okay let's have this war take place someplace else so it doesn't have to come up the primary mempool and just 31:08 submit the winners and to incentivize people to go over to that they give them a lot of really nice things things that 31:14 skip also offers which we can get into um but it doesn't not having that doesn't 31:22 remove mev right so if you don't have priority gas auctions okay maybe you 31:27 don't get sandwiching or like atomic sandwiching unless validators do it but what you do get is potentially something 31:34 even worse which is what we already see which is spam um so because like i can only back run 31:40 because i can only go behind a transaction then my incentive is okay how do i get as close to right behind 31:46 the transaction as possible the first option you have which is not available to any to most people is okay like maybe 31:53 i have a validator that works with me that promises that they give me execution or i run a validator myself 32:00 but the second more likely option because you don't have that is you just spam the network as much as humanly 32:05 possible with your transactions to every node every validator in hopes that it gets to the right place at the right 32:11 time so that you're right behind that transaction so if you guys ever look at like let's say an osmosis or an etmos 32:17 block it's filled with this right and and this was a huge problem also during terror during the d-peg when there was a lot of 32:23 meb activity with anger liquidations as luna was plummeting ust luna arbitrage 32:28 because it was meant to keep its peg um and you saw basically users just spam 32:33 the hell out of it or sorry searchers spam the hell out of it to try to capture those opportunities and that is 32:40 arguably as bad if not worse than than what would come around from priority memphis 32:45 so in the in the tara case uh normal people 32:51 who were trying to repay their anchor loans like oh [ __ ] ust is de-pegging i'm going to get liquidated would try to 32:57 and they couldn't get their transactions into the mempool because mempools were so full of searchers arbing ust as it 33:05 fell and liquidating other anchor loans that people just got wiped out the tfl like couldn't get their transactions 33:11 onto the chain we were at a tara jump hosted hacker house and some at the time 33:16 and some pretty senior people from tfl who knew what we were working on came to us like is there any way we could ship 33:22 like this kind of prioritization right now like we can't actually effectively reliably access the network um 33:30 and so the way we think about it is like the way you design your mempool 33:35 even whether you have a mempool or not it doesn't really affect whether mev it exists it just sort of affects like the 33:41 incentives around the strategies people use for how to capture them and what you 33:46 want at least what we think cosmo is good for cosmos is a market 33:53 that creates strategies that don't harm user experience in the ways that spam can for 34:00 example and does cause some of the profit or most of the profit of these opportunities to be 34:07 redistributed to communities to users to protocols to stakers and validators 34:13 and that's kind of what skip tries to accomplish so guys 34:19 so the implementation of this this is a is this something that's embedded within the binaries that are coming from the 34:24 individual chains is something that runs alongside that like how what's the implementation side of the house 34:29 for first skipping for sure okay yeah yeah um so it does run in the 34:36 binaries so if you think about it from the searcher perspective right so it's like what do 34:42 they want right um and how can you give something that they want in a way that doesn't harm users so what they want is 34:49 bundling right they want the ability to say okay i want a specific execution 34:54 order between my transaction and somebody else's skip doesn't allow for sandwiching and 35:00 front-running type bundles that's off the table um so what you're left with is back running which we consider to be 35:05 basically fine um and i think you know there's a strong structure 35:10 so you can still so you can still do the same spam attacks that you can currently do essentially 35:17 uh no so if you think about it so like let's let's take the case of osmosis 35:23 um right now like back running spam is a huge problem there so like all the 35:29 searchers will see a transaction they want to back run and because they don't have a way of guaranteeing that they'll 35:35 be behind it they'll just spam the network with skip you have a way of guaranteeing that you'll behind it 35:41 because we'll bundle with your transaction with the one that you want to be behind and then we'll put it at the top of the block 35:48 so you have a guaranteed way and if anyone else spams like that's just wasted gas for them there's no reason to 35:53 you won't win it's impossible um one thing so not to cut you off just one 35:58 thing you might be missing fray is when magnus is saying you bundle your transaction you submit it skip runs 36:05 off-chain infrastructure that sits between traders and validators so when 36:10 it comes time to propose a block basically skip sends the validator the winner of the auction so we still get 36:17 spammed kind of but we protect validators from that spam by eliminating 36:22 the on-chain incentive for it there's no reason for a trader then to go directly to the validator as magnus was saying 36:29 because somebody who's gone through skip will already have won the opportunity yeah essentially the validator is going 36:34 to run a modified binary that prioritizes the skip transactions in a particular order and then let's through 36:41 regular transactions that say submitted via a an rpc so 36:47 isn't there a danger then on a high usage network that as a user you're 36:53 going to experience block timeouts if you're not going through skip because you might have a lot of 36:59 say arbitrage action because there's some serious price thing like osmosis is talking 37:04 about doing a stable maybe they do a stable maybe in two years it depends there's a lot of action all of the 37:10 action is coming via skip because everybody is trying to um 37:15 basically take advantage of that they're prepared to pay the gas to do so i am an average user i'm just submitting my 37:21 transaction to an rpc via a web wallet of some kind i want to make that 37:27 uh you know this is obviously a very contrived example because the reality is even if 37:32 you missed a block right you'd probably hit one shortly after but it is possible that 37:38 you could fill up what the [ __ ] is null doing um is it possible that you basically 37:43 yeah the the in a situation where there is very very high demand for ordering transactions within blocks you could end 37:49 up with very few non-skip tx's landing in your block 37:55 sure yeah so there's a couple ways that we offer 38:00 chains to solve this um the easiest way is we just cap the size of the skip 38:06 but like so basically there's two separate mempools now there's the regular mempool and then there's the 38:11 sidecar mempool um which handles these bundles right we cap the size of that 38:16 sidecar memorable to be let's say 30 percent of the total gas slash total bytes available in the block 38:22 so that you know you basically force there to be space um i think that's one way of doing it um 38:29 and that's kind of also okay because it basically forces the part that is available to be more competitive 38:36 so you know maybe you get approximately the same amount of med captured anyway so that's how we have it sort of out of 38:42 the box um i think the reality is is like 38:48 you know if if if you are in a situation where the block is totally full right which basically means the network it's 38:55 like if housing is full right and like you can't offer any more places it kind of makes sense to basically implement 39:01 some kind of ordering system based off of willingness to pay right it's like should you be and should you be included 39:07 in that case because you were first or because you spammed or should you be included because you're saying no i 39:13 really want this to go through i'm willing to pay extra to get it in um that's like a question of like incentives that i think a block should 39:20 yeah it's quite a fundamental philosophical question actually when you get down to it isn't it it is yeah 39:27 does that change i mean that's osmosis which is an l1 and you have these kind of structures i know you guys are talking about juno too so what do you 39:33 have this idea of like a ton of kind of smart contracts within that structure 39:38 how does the smart contract piece fit into that as well does can you say every transaction for this contract has to go 39:45 through skip or like because there might be something that's very specific in that type structure or how is there a 39:51 i don't know well i think it's my uneducated question is how does how does something like cosmic 39:56 blossom fit into this into this need yeah um so 40:02 from skip's perspective skip doesn't care about what's in your transaction or what's not really um it's 40:10 just it's all to us it looks the same way as it looks to tendermint pretty much and just all 40:16 lights right so as long as you're submitting to skip something that can 40:21 run on chain against the application state and work in the application state machine we 40:28 don't care too much what's in it when we do some checks around making sure we don't have bad mev but cosmosome or 40:35 transactions that just interact with ordinary model modules it doesn't really matter at least on the technical side of 40:42 it um what's interesting is is you know some chains who we've spoken to 40:49 actually want to have a sort of tighter coupling between skip and the logic of 40:54 their application so they want to ensure that actually there's a skip bundle at the 40:59 start of every block and that all the validators agree on it and have some 41:05 new skip signing that kind of thing um which is not our default and it's not 41:11 something we're shipping to the big ecosystem chains like juno and so forth 41:16 um but it's kind of interesting idea and on the smart contract side i think like the most significant thing about smart 41:23 contracts for muv is it just opens up a lot of new opportunities and also new 41:28 attack vectors um smart contract authors need to think about okay what could happen if somebody is able to like 41:36 interact with other smart contracts in a way that um allows them to run multiple transactions against my contract in a 41:42 particular chain or in a particular block excuse me that's an attack vector that has been 41:48 exploited a lot of times on ethereum to do various you know flash loan governance attacks which can be quite 41:53 scary flashlights are coming to cosmos so that's you know some people need to think about 41:59 um but for the most part we don't really care if it's the chain or the smart contract it 42:06 it's just about um whether it's a transaction it's just transactions and messages no matter 42:11 where they're from yeah so 42:17 all right sorry some something you just mentioned was um 42:23 no i just had a thought well well you're um towards the end of that so something something you mentioned there was um 42:29 flash loans and governance um and 42:35 i just i was wondering if that's actually possible in cosmos as well because 42:43 you have to be the holder of your tokens at the end of 42:49 the vote right in um in cosmos just i just wanted to confirm if that's 42:55 actually possible in cosmos or not i don't think it is right governance flash flash line attack 43:00 i think it depends how the smart contract is constructed um so we're talking less about governance on let's 43:08 say like you know like general protocol like osmosis governance and we're talking more about like let's say so in 43:14 a good example is bean stock right which was exploited for some 650 million dollars in a fraction of a second 43:20 and the way that that happened was they borrowed billion dollars or something like that 43:26 uh they used that to buy the native token they voted on one of their own proposals within that protocol as a 43:31 smart contract to send themselves the entire treasury it got sent and then they repaid the loan and they just ended 43:37 up with like some 650 million dollars just as as yeah so i guess that's kind 43:43 of possible say in in the sense of um like dow dow because right the way dow 43:50 dao works is that you have to be the you have to have the the tokens staked well actually it wouldn't work there 43:56 because there's an unstaking period so yeah well no well this is custom voting module um narlyn dowdell version one so 44:03 it actually does depend on what the exact mechanism is but yeah you could attack a dow and drain its treasury that 44:09 way depending on how its voting module works yeah starting to wrap like this is 44:14 independent of mev right so it's like currently in a transaction you can bundle 44:20 messages right so you could have a message that takes out a flash loan and a message that executes some governance 44:26 um and then a message that repays the flash load and that would be atomic the simple way to fix that and i hope that i 44:32 was doing something like this is you basically require like a one block delay between sort of when 44:38 you know the vote executes and like the beginning um so you can't you can't have like a multi uh a multi-block flash flow 44:45 that's like an impossibility yeah noting that down for jake [Laughter] 44:52 in general like most cosmos because you've had like 44:57 governance as a core part of um the app chain thesis from the 45:03 beginning like most smart contract authors and and um most chain devs in 45:09 cosmos are like pretty sophisticated on these kinds of things um and also we've seen so many 45:15 attacks in ethereum now that people are readily defending against that i think cosmos is set up well to avoid 45:21 them but as magnus said it's like that's less about like mev in in the sense of like skip bundling or 45:29 someone else doing bundling and more about muv in the sense of like okay how much profit can you make by either 45:34 including a transaction or not including it and are there crazy things you can do with that 45:41 if it can be exploited it will be exploited is unfortunately i think the reality i saw jay come out with a i 45:47 think it was tweet today maybe from say talking about um 45:52 not having validated commissions and really making it i think this is i'm not sure if you guys 45:58 i think you guys are working with them i'm not sure if this is related to skip or not but they were talking about having a meb structure within say 46:05 um that would basically be a commission shared through the mav commissions that 46:10 would come back to the validator set versus the actual commission structure kind of built within the tenement is that is that through you guys and 46:17 you guys want to talk about that a little bit or what's the i just saw it like like literally like a half an hour before we started so just curious on how 46:23 that works yeah um we can't comment fully on okay 46:29 um theoretically but theoretically uh i mean that's sort of part of our thesis right so yeah our 46:36 our like mission as skip is to make every chain every chain um financially 46:42 sustainable and what we've seen over time is the different ways that have been 46:48 approached and this is early days and we're experimenting different approaches with gas fees with you know basically just minting 46:55 tokens out of thin air that's not sustainable um and uh and the gas fee sort of harm user 47:01 experience so what we've realized is hold on a second like especially on cosmos chains 47:07 but also true for larger l1s there's this incredible opportunity for the protocol itself to capture its own mev 47:14 and to distribute it back to the stakers and you know maybe even the core protocol team liquidity providers 47:19 validators everyone who is important for the actual chain to run in a way that is 47:24 sustainable um and so that's sort of become our guiding philosophy it's like okay how 47:30 can we take this force that's normally been used to capture you know billions of dollars in profit 47:36 in ways that are not oftentimes distasteful and build it in a way that you know makes everyone happy including 47:42 the people who are capturing it and um you know we we've decided like or what we have right now as an option is 47:48 like the best way to do that so for example if there is a transaction on chain that 47:53 let's say you're a whale and you buy a million juno right a huge amount of juno that's going to meaningfully tip the 47:59 price let's say on osmosis and you're doing it there against all the other pools 48:04 to the point that there might be an arbitrage opportunity were clearly worth like two hundred thousand dollars 48:10 right so today what happens is everyone spams and one person wins and that person gets all of the money the entire 48:15 two hundred thousand dollars the post skip or sort of how skip comes in is is there's an actual auction for 48:22 that place so someone says hey i want to bundle with this and i'm willing to pay a thousand dollars someone says well 48:28 that's a really you know lucrative opportunity i'm willing to pay ten thousand dollars and then you have a bid 48:33 up until the auctions close and block time's over and then the person who paid the most which we would hopefully expect 48:39 to be around you know close to the actual value of the arbitrage maybe 180 000 that would get straight to stakers um 48:46 and the validators uh so so that's sort of like how we imagine um distribution 48:52 and and chains to capture their protocol revenue in the future uh in a sustainable way 48:58 so stepping back like today when you have an apr and you have a just a like you said before mac like you have a minting of 49:04 of rewards that's going out there could be zero transactions in these blocks but 49:09 nevertheless we're minting right because so we have a kind of a fixed apr structure and those types of things i 49:15 guess what i'm hearing is if the if the time doesn't matter and that's really a dependence of time right meaning like 49:21 over a period of time we have so many blocks that get minted there therefore this is how much rewards we get and we have a validator structure with vp and 49:28 and it gets stuck out right and so therefore there's whatever so whether or not the chain is successful or not meaning there's anybody actually using 49:34 it is anything happening actually happening that minting occurs apr happens etc 49:39 i think what i'm hearing here is that structure depends on number one the 49:44 the transaction size maybe in some situations and also the number of transactions 49:50 that go in there regardless of the number of blocks that occur right so a 49:55 blockchain that has more transactions will be more valuable to a validator the blockchain that has less users and less 50:01 transactions would be less valuable less valuable to a validator or anybody else associated that that's receiving mev 50:07 output is that is that right like so meaning like i'm taking the commission based on the actual work performed 50:13 meaning the number of transactions the size of those transactions what people are willing to pay to be able to transaction a specific spot 50:19 versus just time i think that's that's that's a good way to think about it at a 50:26 high level the way i i put it is um 50:32 mev so like if you just like back up um block rewards 50:38 are designed as a way to solve the cold start problem that chains face right where they need they start with nothing 50:45 no activity no validators and they need to give tokens away for free basically in the 50:50 hope that eventually the chain will have valuable activity on it and the idea is 50:55 always you know the block rewards will go down and the fees the transaction fees will go up such that it's still 51:02 worth your time as a validator to be validating on the network that's always sort of been the plan 51:08 right and like where mev comes in is if you just do something like make 51:14 everybody pay the same fee it's not gonna work uh just in general like you're not pricing your resources well 51:20 you should price your resources relative to what people are willing to pay for them so that the validators and the 51:26 stakers and the chain is making as much money as possible there off those fees so the way you think about mev is like 51:32 it's just like and and the skip auction is it's a a way that we're making sure we're pricing 51:38 block space well we're pricing it such that it maximizes revenue for the chain and that's where the financial 51:44 sustainability stuff comes from like now it becomes possible to potentially have a chain that doesn't 51:51 require block rewards in you know several years or whatever it may be because we're actually like making sure 51:57 that the traders who are using it are paying a lot for their sophisticated strategies and retail users don't have 52:03 to pay as much as a result or anything yeah it's kind of like like robinhood you know they have payment for overflow 52:09 and all of these brokers do payment for order flow now and that's a shitty system because it's like private and 52:14 like it's basically just citadel that buys all the order flow mev skip auction is an alternative to that it's like the 52:21 future of that where we auction every single order we do it in a public auditable manner the results get 52:27 committed on chain and the rebates of the auction go back to the community that actually creates them 52:32 um it's the same it's the same desired output the the way that we get there is 52:38 obviously very different right but the same desired output in terms of that people are like there's a there's an 52:43 auction be able to be able to um to be able to pay for that placement and be able to be able to build a market 52:50 around that placement the same thing that happens privately except it's just not in the open right and here we i think you're trying to be able to find 52:57 something that allows that to be i mean it's one of the one of the benefits of the blockchain 53:03 right so if i can jump in and say this is really interesting obviously 53:09 and the idea that fees are non like completely unsustainable at the end of most chains tokonomics is 53:17 i don't think controversial to anybody that's really looked at the tail end of most chains token artists and gone 53:22 unless this token's a thousand dollars that's not gonna sustain that's not to sustain our 5a 2xls let's 53:30 put it that way um so what's the time frame on 53:38 sort of on skip having sort of something that is sort of runnable on a main net 53:44 but you're going to say like oh it's already live and then i'll look stupid again for like the 15th time this episode it's actually uh stride um no 53:52 choking um no so so our time frame 53:58 um we have tried to accelerate it as much as we can um 54:04 what we're building is very difficult it's not like building a protocol or a smart contract or anything like that 54:09 we're fundamentally altering consensus which has of course huge implications right if you're a validator that works 54:15 with us um and we screw it up right it's it has potentially bad consequences well but 54:21 this is this is consensus right this is because this is just the pre this is the the 54:27 this is the creation of the block before the pre-commit right it is but it of course it involves the 54:33 same code base right so we ship a modified version of tendermint um called mev tendermint which you know since 54:39 you're just in that code base is is um is highly sensitive right okay so yeah 54:44 if there's if there's something that changes within consensus that then has any problem with it it's going to add 54:51 additional attack vectors for the entire of your application 54:56 yeah so i mean there's there's two parts to what we're building the first thing is what we call mev tendermint sort of a 55:03 riff off of mevgeth which we took a lot of inspiration from which is the flashbots version of geth that 85 of 55:09 hash power uses which allows for capture of mev um so that's one part and that's pretty 55:16 much finished um the other part of it is the auction system so this is something 55:21 that happens off-chain to sort of preserve privacy um and i can sort of get into why and how 55:28 we still maintain audits on it so that it's you know verifiable um 55:33 but that part of it is is very complicated because it involves a tremendous amount of simulation so one 55:39 thing that we offer back to searchers is that and for anyone who uses the skip sentinel which is this auction system 55:47 is if your transaction would fail we give you all your gas back no gas is taken so full gas refunds on any 55:54 transaction that's something that cosmos doesn't have um so basically if you're let's say if 55:59 you're submitting in a very competitive auction and then you submit you know twenty thousand dollars worth of fees 56:05 for something but you just lose out to someone who paid let's say twenty one thousand dollars you don't want those 56:10 fees getting burned um so it's absolutely vital for us to basically be able to simulate and say okay 56:16 you both have valid bundles ahead of time without consensus finishing but this one won and sorry 56:23 you're you didn't win but here's all of your fees back we didn't take anything 56:28 um right there that's that's that needs to be an incredibly high performance piece of code right yes it's it's highly 56:34 it's highly distributed um and it even has to work at the level of let's say say right so 300 milliseconds to run 56:42 that option um barry and i both have backgrounds in the financial system where i worked at 56:48 de shaw i worked at bridgewater for a brief period of time um and you know sort of we understand like the 56:54 requirements there uh so in terms of like development we are 57:00 i would say maybe a week or two away from actually being able to ship onto test net for a couple different chains 57:06 um and then after that probably depending on how that goes it's probably going to 57:12 be another two months i would say until like it can start going to mainnet 57:19 some key things to note is we met tendermint is going to be fully open source so basically we've already you know are 57:26 in collaboration with interchain and informal in terms of like passing it by them as a first pair of eyes but one 57:32 thing we do with all the validators that work with us is we're going to do like massive code reviews where we all go through it and talk about like potential 57:38 vectors and we try to keep it extremely slim so that the changes are like 57:44 graspable by someone with i would say like a moderate level of programming experience so you can understand like 57:49 okay this is what it's doing it's not affecting the main attack vectors it works with all the horcrux systems it 57:55 works with all the kms systems it works of all like the sentry to validator systems it doesn't have a direct port to 58:01 a validator ever um so it can't dos it uh and and like make sure that everyone 58:07 feels comfortable with it and we want that part to be a community effort and then the the auction side of it um 58:13 basically like uh we we can publish sort of like how like the auction works but 58:18 similar to how flashbacks is we'll probably keep that closed source for a while to prevent sort of like copycats 58:23 slapping a token on top of it by the way we don't have a token um and uh 58:30 that's that's probably that's probably how we're gonna go but the the auction itself doesn't have any way of 58:35 communicating with validators except for going through this map tendermint so as long as that sound most of like the 58:40 scary attack vectors are gone and what's the skip business model there you guys obviously you're taking a 58:46 percentage out of that gas fee that comes through those transactions yeah so 58:52 we've thought through this a little bit um i mean our basic idea right now is i mean we're 58:59 obviously running expensive infrastructure our basic idea is basically asking validators and stakers to share some 59:06 portion of the additional revenue that we bring them so that's not taking a percentage out of 59:12 you know commission or out of like what they would have earned otherwise it's just of additional revenue um so you 59:19 know some small fee that basically be over time will be totally unprofitable for us to have but maybe over time as 59:25 cosmos grows which we're very bullish on um will become something that can run a sustainable business so so will you 59:33 build in a way to make that easy like um will you build in a way that they can 59:39 just like set a percentage to distribute to skip of the extra revenue that they're um 59:46 capturing yeah so there's a couple different ways to do it i mean one one way of doing it is 59:53 modifying like let's say the fee distribution module um where basically you say like if this 59:58 is came from skip like you know toss them a couple pennies um i think that we are shying away from 1:00:05 that in the short run just because it involves like large scale changes of the cosmos sdk which tends to be more fluid 1:00:11 in terms of exchanges at you know at the chain level um so it involved like a lot more upgrades etc so what how we have it 1:00:18 now is basically that that fee is encoded into the transaction so it's like when if you want to be considered 1:00:24 by the skip valve by the skip auction um you basically send like five percent 1:00:29 of the total fee um of the additional fee that you want to pay for prioritization to skip and therefore it 1:00:35 just gets like everything else gets treated normally 1:00:40 so what's the alpha on which networks are going to be first so you say you're 1:00:46 going to to test net have you already picked which ones those are going to be presumably like the say test net 1:00:54 yeah so we're we're starting with a couple of chains that are not yet 1:01:00 launched basically for security reasons so we're still actively working on the 1:01:06 code we want to work with a network that like wants to basically build skip in as 1:01:12 a primitive and and is willing to iterate with us through their test net very actively 1:01:19 so and i i can't name the chain or chains yet 1:01:25 that that's on um but once that that's stable a few more months go by hopefully by the end of the 1:01:32 year we'll be on uh main net for tara juno 1:01:37 uh in addition to those other app genes we um 1:01:43 are not deploying on the auction infrastructure on osmosis even though 1:01:48 there's a lot of arbitrage activity there we're working with an osmosis and another format to help them capture their uh 1:01:56 arbitrage's protocol revenue yeah which i think you can read on sunny's sunny's tweets um 1:02:02 basically you know they they are opting for a different solution which we're which we're building which is equally 1:02:08 exciting i would say but doesn't use um time for rug uh no rugs 1:02:14 uh it's using a different solution that i think is going to be equally beneficial to 1:02:20 stakers but basically involves on-chain arbitrage 1:02:27 this has been a good conversation this is the most i've thought on a game i've noticed conversation in like six months 1:02:40 [Music] 1:02:48 i guess we didn't really explain our new format at the start of this did we phrase so i guess yeah you think we just 1:02:54 ended the podcast yeah uh so to all those i i'm not sure 1:03:13 whether or not whether or not this will make you onto podcast players i don't know but certainly on youtube we're 1:03:18 going to uh yeah we're going to stick around for a little bit longer 1:03:24 and maybe just shoot the [ __ ] a bit more generally before we do that i did notice some 1:03:30 questions come up in that last section so i'm going to throw them your way uh 1:03:36 barry yeah we've we've triggered rama so he's 1:03:42 gone uh r.i.p um so 1:03:48 uh there a couple questions ben davis uh so if this works will chane suddenly appear less busy 1:03:55 probably not good no i would think so right because the idea would be that that you would have less spamming a transaction because 1:04:00 they know that whatever well doesn't mean that the spammers actually i feel like people are always they'll be the same number of transactions we'll be the 1:04:07 same number of legitimate transactions right but hopefully less yeah um but less 1:04:14 failed spam transactions which don't help yeah right right um the other question was how do you 1:04:21 calculate the extra value that skip has added i i'm assuming the answer is complicated 1:04:27 maths yeah um for now it's it's somewhat simple so 1:04:34 we know that the fee that the bun we can calculate the fee that the 1:04:40 traders paying us for their bundle we just sum the transaction fees right um and we can also calculate uh how much 1:04:49 they would just have to pay to get the transaction to run on the network and then we can see the difference there um 1:04:56 since mempool is our first come first serve right now there's no reason you'd pay more in that fee unless you were 1:05:01 trying to win the skip auction and then we use that difference as our baseline and we say okay are you are you also 1:05:08 paying us yeah are we getting five percent of that so we assume you pay the minimum to get it in if you pay more 1:05:13 than that because you want priority that's the additional amount right because you're actually paying for priority in that case 1:05:19 once there's mempools this gets a little bit more complicated um because then it's like 1:05:26 maybe you are also bumping your fees for just like because you want to be at the top of the normal mempool and then like 1:05:32 we think about the value that we add in a slightly different way where it's like the difference between the thing that is paying the least in the mempool and like 1:05:38 what you're getting from skip and so it gets a little yeah right because then because there'll be a would there be a 1:05:43 situation where somebody could submit an ordered track well a bid transaction to 1:05:49 the tendermint mempool that exceeds this the amount that you would bid to 1:05:55 skip for that position but then that transaction will be in the tranche of transactions that are 1:06:02 not ordered by skip and so potentially behind transactions that have paid less yes that's that's a really good point so 1:06:09 currently we have that tranche system because by definition the normal transactions don't 1:06:15 have fee prioritization therefore they're most likely paying the minimum fee um so anything that's paying above 1:06:21 would be in skip if it's anywhere but after there there is sort of this like fee prioritization then the validator 1:06:28 will get to choose similar to med guest say okay i want to construct the most profitable like let me see okay first 1:06:33 bundle from here looks good oh and this actual regular transaction is super profitable let me take that and then 1:06:38 they'll construct the most optimal bundle from there right so it will it will have the effect 1:06:44 that fees essentially do for the for the average use user who's not trying to do 1:06:50 an arbitrage opportunity fees as a very baseline level are likely to go 1:06:55 up i think and if i actually just noticed in the chat i think rama has said almost exactly the same thing uh 1:07:01 this implies there's a min gas fee essentially on all valves 1:07:07 on the chain right there already is which there is currently yeah well there should be in cosmos but 1:07:14 it's it's optional right it's optional for these for the change that you were talking about here in 1:07:19 these arbitrage opportunities i understand why there should be right well i mean like 1:07:24 presumably um juno will be one of those chains and i i know for a fact that there's 1:07:30 people who don't run uh fees on juno so that they can 1:07:37 do the [ __ ] for free the uh what is it the race taking 1:07:42 yeah yeah yeah i don't know auto compounding yeah it's [ __ ] stupid so they they're risking you know 1:07:49 the security of the chain so they can be more of a d-gen right yeah right 1:07:59 no but i mean you would never risk your own business or the chain for the purposes of being a bigger dj 1:08:08 never 1:08:14 i don't think so no well i mean uh i mean minimum fees aren't necessary 1:08:20 now because there isn't that much volume once there is a lot of volume and people are submitting for free 1:08:27 um you know like there's going to be and also like no one's abused it to a large degree i mean 1:08:33 people have but like not to agree that every single block is full you saw this once on osmosis remember when the guy 1:08:38 was submitting that transaction for like i don't know how many blocks in a row but just totally filling it up so you 1:08:44 run that risk when you have zero fees of people having zero um downside to basically spamming um on a chain so like 1:08:53 as soon as things get competitive fees will come back um you know whether or not it's it's in a fair way you know 1:08:58 like like we're trying to implement it or in a way that's just like validators are just bumping up their fees 1:09:04 yeah but the flips like that is that the app chain model means that 1:09:09 we might not get to that point for several years yet because of the way the app chain model works right like more 1:09:16 chains will probably rise and literally die then we'll hit that bottleneck of 1:09:23 that scale of usage in cosmos which like if we're honest we're all bullish on cosmos but it's not 1:09:28 as widely used as some other protocols right yeah for sure yeah so 1:09:35 so just on the fees and um network spam right so this has been a fundamental thing of 1:09:41 what we've been talking about through the whole episode of fees and spam so there's an example the other day 1:09:47 on secret network where there was just and schultzy might actually know 1:09:53 the contract that was being used but someone was doing a lot of contract activity 1:10:00 and it was completely jacking up the network and so the reason that the way they 1:10:05 ended up stopping that i think in the end is that they asked all of the validators to 1:10:10 um implement a fee if you don't have one and also smack it up quite high um and i believe that stopped it did it 1:10:18 chiltzy i think everyone might still have high fees i'm seeing very low transaction volume on secret at the 1:10:23 moment yeah i mean it stopped in the sense that it drained the bot's wallet and so if 1:10:28 they rebuild it again they would once again continue hammering it out yeah so it became 1:10:34 a situation where it was costing virtually nothing to do to very expensive to do 1:10:41 and now actually when i look across the um the misses on the channel yeah i mean 1:10:47 the the chain's running a lot better right now actually with higher fees i'm assuming there's still higher fees 1:10:53 um the validators appear to be missing a lot fewer blocks 1:10:59 than is the norm but um anyway 1:11:04 i just thought transactions sorry sorry i just thought that would be an interesting tidbit on the um spam and 1:11:12 fees well for secrets a little unique as well in that 1:11:17 the reason why that one was so especially bad was the arbitrage bot was built off of a smart contract rather 1:11:24 than just setting normal transactions and so it was just taking up insane amount of computation space 1:11:30 um but my question is what is this like what is a transaction click for skip for 1:11:36 it to be picked up and have a bid do you would someone have to submit a transaction directly to skip or would it 1:11:42 just use a normal rpc but in the memo it says skip offer you know 100 osmo or 1:11:48 whatever as as the fee what would that look like in in real time so to participate in the auction um a 1:11:55 trader or a normal user say if they just want top of block execution or privacy or whatever it may be they 1:12:03 submit to an rpc endpoint that we expose um and if it they want to be considered by 1:12:09 the auction then they include as uh send token message in their uh transaction 1:12:17 that sends some amount of tokens to escape and then the fee is treated as the auction or 1:12:23 basically the gas price is treated as like the way that we order things so it's like if you bump up your fee but 1:12:29 you you know you only use a constant amount of gas that increases the price of gas right because gas prices the fee 1:12:35 divided by the total gas units and then that's what's used to order them 1:12:40 yeah so the other the flip of that is you know if you send skip a lot of money but you don't put your fee for the 1:12:46 validator high enough and just don't won't win the option it doesn't matter to us and we give it all back in the case yeah 1:12:53 so it's still the gas it's the fee divided by the gas wanted which decides okay 1:12:59 you know do you win the auction or not interesting okay so regardless it'll always have to be a bundle transaction 1:13:05 and that bundle is how if it's if an auction is not won 1:13:10 the fee just never goes through because that message the send message actually happens right yeah we just disappear the 1:13:16 transaction that's oddly elegant yeah and we thought about it a lot um 1:13:23 seemed actually relatively elegant i'm glad we could have this after show 1:13:29 to talk about the same stuff we were talking about before 1:13:43 which one stop answering questions [Laughter] 1:13:48 i just felt bad he sent so many messages and he got ignored oh it's the soy 1:13:53 question um so is it a centralization risk if not all 1:14:00 validators have access is good um so we like generally like everybody can 1:14:06 still submit transactions through the normal means normal rpcs whatever so we're not eliminating any routes for 1:14:13 getting transactions into the network we're just introducing a new one sort of like you have an express 1:14:19 highway on a lot of american highways um hov lane and and we're also like 1:14:25 decentralizing thank you and we're also decentralizing um the kinds of clients 1:14:30 people are running so there should be some validators running tendermint they're going to be some who for many reasons don't want to run mev tendermint 1:14:37 running normal tendermint which we think is good for network health as well and we're never going to like tell a 1:14:42 validator you can't use skip on like at the start of our relationship with them 1:14:48 if we notice and our community of traders notices that a validator is receiving 1:14:55 bundles from skip and then not actually putting them in the block and front running them with their own transactions 1:15:00 then we will police that validator and remove them from our network but they're free to use some other provider some 1:15:07 other auction provider as well so we don't really view this as a centralization risk right now i think 1:15:13 the big research question for us is interesting is how do we make sure that we can expose the auction in certain 1:15:19 ways to people that make it auditable that allow the chain to know we're doing good revenue maximizing things without 1:15:25 undermining like real-time trade or privacy so that's that's an area of research but we don't view it as 1:15:30 centralizing yeah and the other thing is like it's not up to us if a validator joins skip right like 1:15:37 as a validator you get to decide if you join skip or not so you know if you basically implement um if you run mev 1:15:45 tendermint you're automatically basically able to receive things from skip and you know if you 1:15:50 basically added says like uh peer we will do that right we will send you bundles um 1:15:56 so you know it's it's it's not like we police who joins and who doesn't um unless it's in the case that like and we 1:16:02 would probably do this through governance we say like hey this search this this validator is clearly just taking advantage of skip and the people 1:16:09 submitting transactions through it for their own benefit and front running all of them and their own validator like you 1:16:15 know is the community does the community want this or should we stop them from receiving that 1:16:22 so does that mean like those chains will actually produce two binaries so they'll produce a mev tender version and a non 1:16:28 anonymous a regular tenement version is that what you're expecting like from say and other types of change you're talking 1:16:33 to yeah so we expect like so so mev tendermint runs in conjunction with 1:16:39 tendermint it doesn't break consensus at all because it only has this like separate 1:16:44 sort of bundling sidecar thing um so if you're a validator on any chain and you 1:16:49 want to run skip all you do is when you compile your binary next you just switch out the version of tendermint in your 1:16:55 go.mod for mavtenderman and that's it 1:17:00 what will the feed distribution look like will it be that validators that run meth tendermint they 1:17:06 will receive like all all share in their extra revenue received or will it all be 1:17:11 put into like fee module and so every every validator and every staker will 1:17:16 gain the rewards as received by like the fees gotten by 1:17:21 skip right now it is it goes into the fee 1:17:27 module um it's just treated like any other transaction fee um 1:17:35 which is something that could change but that's sort of the v0 since it's simplest and feels most fair 1:17:43 um but we could do things differently yeah i think like v2 of skip is basically we 1:17:49 have more granular decisions about how either the validator or just the chain 1:17:55 as a whole wants to split mev rewards maybe not even between just the valder staker but also other participants like 1:18:02 ivc relayers or um you know liquidity providers 1:18:07 um all those different parties so you know that could use a more customized feed module to do that 1:18:16 okay i'll start with my questions so that i'll get back to the after party i love afterparty 1:18:22 i'm like i'm just sending the freight the messages i'm like this doesn't go into plan you started it 1:18:29 well yeah you literally you literally started it you hit the button who i hit the button at the agreed time 1:18:37 yeah 1:18:45 yeah i was just kind of curious you guys touched on like uh what your background is as engineers like what like how did 1:18:50 you get into this and how did you start like thinking about it yeah um we both have different answers 1:18:57 for that um of course um so for me i got into crypto in 2016 um i was a 1:19:06 i just graduated high school and i went out to san francisco and i lived in the attic of an office and um 1:19:13 at the time uh i got started working on this company called scent later re-event rebranded valuables as a co-founder 1:19:20 um they were a very early nft marketplace um before openc and uh we 1:19:26 used we used ethereum at the time which basically just come out um to basically like enable micro 1:19:33 transactions and then once it's shifted to the nft marketplace they sort of had this moment of fame when that when they sold the 1:19:39 jack dorsey tweet for like 2.8 million um that was i don't know if you guys saw the news at one point but uh 1:19:46 yeah that was sort of my introduction to crypto i had stayed interested um with it through sort of throughout my years 1:19:52 in college i started a couple other businesses um studying finance and then also computer science at university of 1:19:59 pennsylvania and then worked a little bit of bridgewater and then also an atlassian 1:20:05 so i don't know null are you from australia it sounds like yes um so 1:20:11 uh australia it's like our only good company 1:20:16 i was a product manager there working on jira and confluence our two favorite products 1:20:21 um and uh yeah after that basically barry and i stayed in touch for a long time it was friends from college and 1:20:28 saw this opportunity we got really excited about meb because it seemed to be um something totally new in in 1:20:35 blockchain in that like you can't have this kind of crazy financial composability on let's say like nasdaq 1:20:40 or anything like that and uh we also saw like the the downsides of it and that there was no 1:20:46 good solution in the trade then the ecosystem that we were most interested in which was cosmos um so we went to this hacker house 1:20:53 um we built out a version of it there with with jump and tara at the time we won that hacker house and then after 1:20:59 that we initially came to validators expecting them to tell us to [ __ ] off um 1:21:05 french and uh instead the response was very different was like we've been looking for this for a while um you know 1:21:10 we know about this opportunity we know that there's no way of capturing it we know the downsides of it like let's let's let's figure out something good 1:21:18 so like so i i guess so both of you have some of a kind of low level background i guess 1:21:25 then having like done some of the yeah like the af hft type stuff right 1:21:31 i so i used to do machine learning research um to uh find like optimal 1:21:38 bargaining strategy like on ebay and various other online contexts um okay i 1:21:43 was gonna ask if there was some link to online auctions because obviously those types of those types of like 1:21:50 ad ad price bidding auctions are probably the most sophisticated auctions in the history of economics right 1:21:56 yeah we're super interesting and mev auctions have a long long way to come so do those ones honestly um but i used to 1:22:04 do machine learning research related to that and then i spent some time at a hedge fund 1:22:09 that helping them basically start new businesses that took advantage of our 1:22:14 trading expertise so i was on this like venture studio team where we come up with ideas for new startups and my job 1:22:20 was like help build them for six to twelve months and then spin them out and while i was there magnus and i started 1:22:25 doing some mev searching on the side in ethereum mostly like nft 1:22:31 harbing and sniping and weird [ __ ] like that um and it was very 1:22:36 competitive we made a good bit of money for a little bit and then just like got wiped out by the competition um 1:22:43 it just kept ratcheting up on ethereum and then eventually we came to cosmos and we realized nobody had even built 1:22:49 the infrastructure yet to allow people to compete uh and magnus was talking to someone at a happy 1:22:57 hour and they were like yeah cosmo still has first come first served memphis and we're like what the hell like they're so 1:23:02 funny well i was gonna say on on that i'm i'm a little bit unsure of the exact details 1:23:08 but one of the isn't one of the value props of penumbra that because it's 1:23:13 obviously everything is in co it like it's all you know private by default 1:23:19 you can't front run because you don't know what's in the other transactions 1:23:26 yeah so penumbra they they do a lot of pretty interesting 1:23:31 things with mev um some of it is the encryption stuff so you can't you can't front run people 1:23:37 easily but there's still mev that exists there right it just it 1:23:43 got different dominant strategies so instead of arbitrage opportunities being captured in the same block moves the top 1:23:49 of the next block and penumbra actually does some stuff to have validators try to capture them themselves and their 1:23:54 their team is super sophisticated on a lot of this stuff um but again mev and chain design are like inexorably 1:24:02 linked and yeah people shouldn't think of it as like oh we're gonna design our chain to not have mev think of it as 1:24:08 like we're gonna design our chain to have like mev that benefits the user experience and benefits the financial stability of 1:24:14 the chain as opposed to potentially harming those things yeah we haven't seen a single method 1:24:19 of like removing muv as a question um none of these methods like remove mev 1:24:26 it's it's not removable um i think like even in the case where you like you know in the case of penumbra 1:24:32 they do their own med and they used to wrap up arbitrage but even in that case like 1:24:38 these assets are multi-chain right so it's like you you might wrap up all the arbitrages and get to a stable place 1:24:44 within your chain on penumbra and then maybe also osmosis but then at the end of that juno is mispriced right on on 1:24:50 both chains between the two and so then you get to this question of okay now there's like cross chain mev now there's 1:24:55 like some arbitrage opportunity there which is actually part of our road map and event and sort of our our 1:25:01 larger plan is is to get into that too which i think gets really interesting there 1:25:07 right okay that's interesting so um just because just because my primary background is not although i am a 1:25:13 validator my primary background is a developer uh i'm kind of curious again like if you're working in 1:25:19 if you're working on that kind of stuff what what languages are you working in go i'll 1:25:24 go so probably oh so no i mean on chain i assumed go 1:25:30 because of tendermint right but i mean like previously like what's your language background 1:25:36 oh hft stuff i'm guessing it's just like c right yeah um 1:25:41 that rust is kind of taking over now so it's like getting super popular um 1:25:48 i think because it's it's actually quite a bit faster than maybe people realize 1:25:55 um and but a lot of my machine learning stuff was just python this go stuff is new for 1:26:01 both of us uh but that's just like that's that's how it is uh cosmos is written for now how do you do you enjoy 1:26:08 go i like i really like um yeah i do 1:26:14 depends what you like channels um no but i i think goes great um it's it's got 1:26:19 incredible support for like parallel computing and you know like multi-threaded computing um that works 1:26:26 so well for a distributed system um i think you know rust is great too and i think it takes over in the form of like 1:26:32 type safety and stuff like that i worked at bridgewater worked in scala which was like a very strongly typed 1:26:38 version of java um and so it reminds me a little bit of that but um yeah go i feel like i feel like 1:26:45 i'm it's like it's got like c level or close to sea level performance but it has like 1:26:50 java like readability which maybe is not saying a lot but yeah i was good i was going to say the 1:26:56 classic scala suit problem which is like at the the two scala co bases i've 1:27:02 worked on just like oh it's a bit over here it's a bit functional over here 1:27:08 nobody's really committed to understanding how they would design either what works 1:27:13 and you just like like yeah as somebody who spent the majority of like before crypto working 1:27:19 in functional like pure pure either pure functional or lisps i'm like at least rust is like an ml 1:27:26 family language like versus scala i mean you're kind of just like yeah there's kind of like a way the language is 1:27:32 telling you how to do this it like it it's trying to optimize in the same way that say haskell did so it's like going 1:27:39 yeah okay be lazy use iterators blah blah blah blah you'll get good performance just 1:27:45 yeah just trust me and don't worry about how the borrowed checker works like yeah just just add those ampersands when 1:27:53 when when clippy tells you you're wrong and you need to add some man for sans just add that [ __ ] go make a coffee deal 1:28:00 with your you know move on with your day uh the thing that is super crazy about 1:28:06 uh working on on tendermint though is like you really see how it was kind of 1:28:11 like a poc that shipped years ago and now just powers billions of dollars in 1:28:17 cosmos like there's all these you're like going through there's all these comments which is like to do like fix this like not sure why it works or like 1:28:24 somebody look into this and it's just like oh there's nobody did um 1:28:32 not sure why or how there's loads of stuff like that in the sdk as well isn't that i mean like we had the problem with 1:28:38 the invariant checks and you know a good go developer was able to solve that in like one night 1:28:45 of concerted programming right um and that was very paid out 1:28:50 it was so the invariant check fix so uh you know just an update on that bounty paid 1:28:57 um and i think it's now included in the sdk uh fray um 1:29:05 but what was that like 10 lines of code maybe no it was more 1:29:10 than that it was like it was it was like including tests and stuff it was probably a couple hundred like good 1:29:16 dollar value per line of code given that go is not very terse language yeah and if this developer is looking 1:29:23 for a job um please do let us know apparently this guy's not interested in 1:29:29 working he's like no no sir i'm just here to fix this thing and i'll see you 1:29:34 later i mean if i made if i made like sixty thousand dollars in a night of work i'd 1:29:40 probably take the rest of the year off as well like i don't think i would come and work on juno that's for sure 1:29:46 like well they know you like why like if you if you can if you do 1:29:53 that and then go pick up some more bug bounces why would you commit to working yeah like on a more regular pattern with 1:29:58 a team especially when doing so might remove the bug bounties 1:30:04 exactly like yeah i don't want to work for you all the peonies that won't get paid 1:30:10 i'm downstream yeah that's uh that makes sense actually yeah it's it's back as soon as you look 1:30:16 at the the incentive mechanism it makes a lot more sense 1:30:23 hey um frank do you actually use that keyboard for anything 1:30:28 like do you play the keyboard piano yeah it's actually it's actually a printout it's just a piece of paper laying there 1:30:34 yeah it's um it's a it's a it's a mono synthesizer yes i do use it like regularly like it's front and 1:30:41 center on your desk yeah like as in i was using it earlier today well i mean i don't just like go 1:30:46 like you know just for fun like you don't have to ask a question just 1:30:53 like the outro of the of the podcast every day is a macro 1:30:58 plugin because as we've established i have i use them i use an ergonomic keyboard 1:31:05 that i built myself so oh i thought you mapped the ada keys to 1:31:10 your qwerty keyboard that's how you coded on the that was the cells 1:31:23 i did actually see something recently that had a different kind of keyboard 1:31:29 that has a key for every finger right but 1:31:34 the the keys are actually four-way switches and the letters are like 1:31:42 four ways so it's only got that amount it doesn't have like a shitload of keys it's only got like you know ten or so keys 1:31:49 but they're all like you you move them in different directions to make the letters 1:31:54 but you can move them all in the same like you can move all of the letters that you need in a word or most of them 1:32:00 that you need in a word in the same at the same time and the software will just interpret 1:32:06 that word wow it seems borderline worthless 1:32:15 yeah i've seen i've seen some of those kind of keyboards but there's a reason that there's not been 1:32:21 lots of additional development in the space well the dude was typing with it and 1:32:27 it's incredibly fast to type with but i don't know how he was like doing it with his brain it could have just 1:32:33 been [ __ ]