BLOCK SDK with Maghnus Mareneck of Skip

1 Sept 2023 · 1:09:07

Sebastien Couture of The Interop talks with Maghnus Mareneck of Skip about Block SDK, a project built by the interchain infrastructure team at Skip. As with the show's other interviews, the conversation centers on the technical work behind building interoperable, cross-chain networks in the Cosmos ecosystem.

Speakers

Topics

Transcript

we're live my guest today is Magnus Marin he's a co-founder at skip protocol and today we're diving deep into something really interesting that skip announced recently that's the block SDK which allows projects to have better control over block construction this is possible because of ABCI Plus+ which we'll also get into and we'll also talk about the skip API I'm also dying to find out why he thinks Cosmos should align with ethereum not chart a path away from it before we get started though make sure to hit the like button hit the notification Bell And subscribe to get notified when I go live every week and remember that none of what we discuss here on the interop is investment advice and if you like this content please consider sticking with us

we're validating on AOS Quicksilver osmosis and Juno just look for interupt in the after set my guest Magmar is coming up next right here on the [Music] interupt hello hello hey how's it going good good thanks for coming on again yeah of course yeah uh you're you're now a repeat guest so you know you can you can uh you can hold that BR that badge proudly if you

want so um yeah it's uh it's it's been really interesting seeing like all this stuff coming at a Skip and like for me this this started at nebular Summit you you you gave a talk there about ABCI Plus+ talking about some of the things that ABCI Plus+ makes possible I just watched that talk talk again uh it was actually one of the few talks that I sat through at the conference it was on day two and uh and and I I had some time by this by this point um but I sat through it again and and one thing you said there was I thought was really interesting is you said that apci Plus+ uh I'm paraphrasing here is the reason why we're seeing all these kind of new interesting projects coming into the space like bar chain and DX and uh I'd

like you to maybe unpack that a little bit and explain why that is and then can get into block SDK which I think is you know one of the really important uh kind of developments here that uh really I think is pushing the space forward so yeah sounds good so I mean I sort of take this view that I think is a little bit contrarian um it's not my hot take so it's not that spicy uh which is people come to Cosmos for the tech right and my view has always been you know Cosmos has this incredible stack that we've invested uh you know half a decade into building and it's really the reason why we're going to see uh most of these

larger high pmf protocols in ethereum come into Cosmos because they need access to the things that it can provide and I think ABCI Plus+ was a huge step forward in that because it just gives like a massive new set of expanded Primitives that protocols can use to better tailor their block space and their you know General application and blockchain to their use case right so in the case of dydx like just to just to like hone in on that one um they were on starkware and starkware you know is this hyper fast L2 ecosystem but it runs a centralized sequencer

right and so uh there's some company that owns the sequencer and owns the order book for DDX and if dydx wants to sort of safely operate their exchange they needed something a lot more customized and a lot more decentralized uh in order to sort of like you know truly do some of the things they wanted to do like redistribute rewards back to token holders legally um and then just better tailor their actual sequencer to what they needed to get done done right so in their case they have this like really interesting matching system where you know they have to store orders in memory but then also match them extremely quickly and ABCI Plus+ allows for a lot more let's call it like

application aware uh block production that actually gave them the Primitives to do that yeah I think that's the key thing here application aware block production yeah uh which is is a very different Paradigm from you know what we've known I think for a long time or UND do it about block production in crypto where block production sort of happens separate from the application and during your talk you explained this fairly well right where you like you have an application let's say in Cosmos right that that's building uh where uh transactions are getting are getting sent to the mempool a a validator grabs those transactions and puts those transactions assembles those

transactions into a block and then just kind of you know I guess the application just valid verifies that that block is is uh is correct and and that's it there's there's no other sort of um sovereignty that the application happens over the content of that block how transactions are ordered what transactions might be free which transactions might be priority priority over others Etc and this allows applications to have a whole lot more sovereignty of over over their block now this is something I think is you know is it unique to say is it is it is it fair to say that this is uniquely a problem that you know can that it's a

unique problem to Cosmos chains or to application specific chains and that you know doing something similar in say ethereum where you've got lots of different applications sharing the same block space essentially and sort of sharing the way blocks are constructed do do the same kind of considerations apply there can we do similar things there how does that compare yeah it's a great question so I mean another way to just like rephrase I guess what happened with API Plus+ is it's sort of like this great unbundling of tender right so tender is this very old it's like the grandfather of all uh POS systems proof of stake systems and it does everything it was designed to do

almost everything it's the mempool it does All the gossip it does all the consensus like it does so many things and the idea here is to take some of those pieces out of tment and give it to the application so that they can control it versus this blackbox algorithm that nobody wants to touch believe me it's very difficult to understand uh you know does does everything for your application in terms of whether this is a problem for ethereum I think it's less of a problem because you know ethereum is so untailored to any specific use case its only purpose is to service this massive anic

generalized VM that they don't really have any need of doing any application side logic in their uh let's say uh block production so in ethereum they use Mev boost and PBS which is sort of this method of Outsourcing all block production to external actors and the point of all of that is to sort of generate as much money as possible but because they don't have like a overarching use case they want to stay generalized they don't really have any need for tailoring any part of their block production the only thing they want to maximize it uh for is profit and that's obviously different in the app chain world where you know app chains usually

have a purpose right osmosis is a DEX dydx is an order book uh stride like is a liquid staking platform so in those situations you you have much more need and much more desire to sort of you know reconstruct your block production in a way that's very specific and better t to your your use case yeah app chains for the win and and what about um implications on because when when you said it's a great unbundling of tendermint and giving more power to the application um that it it kind of sounds I mean like if you sort of extend that extrapolate that it takes you to a place where consensus is you know essentially like like does

does consensus have um less say like is consensus less smart basically and so basically you just like generaliz consensus by moving more of that into the application and doesn't that just sort of leave us doesn't that push us into the direction of having just generalized consensus and like data availability or is that not um sort of like connected to that yeah I wouldn't say it's less smart I actually would say it's more smart because tendermint was trying to do things that um it just didn't really know how to do right so when it did block

production which meant like Gathering all the transactions ordering them and then submitting them to the application for execution all it knew about since it didn't have any awareness of the application which is by Design they're meant to be separate components um all it knew about was like General transaction bytes and so it would just order them in a fiveo order or like a first come you know first in first out or first come first serve um and that's all it could really do because it didn't know what the transactions were right so it had no clue how to actually order them that's that's like it it's it's an improvement to tenderman to be able to give the ordering responsibility over to the application that it's plugged into and then for tenderman to focus on the

things that it really knows how to do well which is really consensus so consensus is this process of sort of like talking to all the different nodes Gathering the different votes creating proposals um you know gossiping those around uh those are the things that tener was really I think you know best at and I don't think the block production piece was actually it was sort of like a tacked on thing and I don't think it was really its core uh capability yeah I guess that maybe I I didn't phrase phrase that correctly what I what I meant was that it takes away it takes it takes block production away from from tener itself block production now is a responsibility of the application um and so by by taking that away from

consensus uh doesn't that lead applications uh to I mean does doesn't that kind of like Comm monetize consensus so you could you you could essentially leverage consensus from different blockchains and maybe like some kind of shared security or maybe some data availability um because essentially consensus is just like uh uh limited to like its most basic uh functionality which is is everybody sort of agrees on what's happening in the chain yeah that's a that's actually a really good point so I think two things on that the first thing is technically it doesn't it doesn't take away the ability for tender to do block production it still can it just

gives the application priority say so the way that it works now with ABCI Plus+ is tenderman can still create a block and it can still order transactions but then it will pass it to the application to say say hey does this look correct do you want to make any modifications to this ordering and then the application will pass it back and then tendermint will use that as it's like de facto ordering but technically the application could be dumb and say hey whatever you say is fine and then tender could still do block production the question about um like does this commoditize consensus I think is actually quite interesting I'm sort of of the opinion that we should uh sort of modularize or like separate out the consensus ler more because I think in

the future you know I I would want Cosmos SDK chains to be able to interact with different consensus protocols like narwhal or Tusk um you know like hot stuff things that are potentially faster or different in some ways but I think in general you know as we move more power into the application layer it does start to become less important what consensus layer you use and where you post data which is great for something like Celestia where you you know for example with uh ABCI Plus+ and all the stuff that we're building on top of it you can do so much with just a rollup and then the actual just like you know uh data availability can just be sort of exported and the reason you can

do so much is because things are moving more into execution time versus like in the consensus layer okay very cool um this all super fascinating um yeah so let's talk about the the the about this this block SDK uh what what does what does that look like I mean for as an application developer right like yeah you're you're like okay hey like I want to I want to have better control over my over my block um or I want my application to have better control over how the block is constructed how does block SDK fit into you know a vanilla Cosmos application Cosmos SDK app um and how does it interact with ABCI ++ and in the

app yeah so I mean at a very high level you can think of uh of a block is like a highway right so if you think of a highway you know in normal terms you have different Lanes on a highway you maybe have a lane like the HOV lane where you have to have like high occupancy Vehicles you may have a bus lane you might have a you know a the the rightmost lane which is like the slow lane or the lane where you like exit off and each of those have a sort of different purpose and each of those run at different speeds right so this was the metaphor that inspired the block SDK and what I mean by that is we were thinking hey you don't want to treat all transactions in

a block as the same right some transactions are more important than others um and and maybe want to like May uh applications might want to prioritize those over other forms of transactions and you may want different rules for for you know transactions in different areas for example if I wanted to incentivize new users to use my application maybe I give fresh accounts their first five transactions for free they don't have to pay gas right or maybe if you've delegated over um you might want to uh you know sort of give like a cheaper gas option to those users because they're high value to the chain

we don't make those decisions about like what should be free or what shouldn't or what should be important or what shouldn't but we did want to give sort of those options to developers in order to like better tailor their application to their user base and then also to their use case so the block SDK basically does this right it's an addition to ABCI Plus+ so ABCI Plus+ gave applications control over their block production the block SDK gives more granular control over each piece of their block so they can Define they can segment their block lock into different Lanes Each of which have their own rules about what transactions do which transactions are included and how they're ordered so yeah so let's talk about some

of the use cases here um and and the documentation on the website is like pretty like list listy so you you you talked about um you know for example um prioritizing uh certain types of transactions uh you talked about uh the ability to say give um make C certain transactions free and I think this is actually pretty interesting like how many times have you know how many times have you staked all your tokens and then you don't have any tokens left to uh to pay for the fees to unstake those tokens or to do like a redelegation transaction and it's just like such a nightmare

you've got to buy or like swap some tokens on a osis and if that happens on osmosis then you're kind of screwed right because like you can't you have to like move tokens in from somewhere else and so effectively you can make certain types of transactions free and those would just go in like a separate Lane um what are the implications for me here like at a high level how does how would this um impact Ms and say like Searchers and things like that yeah so just to talk a little about use cases so the the history of the block SDK is you know as skip We Built Me Solutions um and we still continue to do so but you know uh

it's it's it's definitely less you know part of our our primary road map at this time um but what we realized we kept doing uh was like sort of naturally building the block SDK in different ways because different chains we talked to had different requirements you know some wanted Oracle transactions at the top some wanted um you know like LP transactions to be bundled together some people are doing frequent batch auctions um and so we saw all these different requirements of having transaction split up across the block and we were like why don't we just generalize this into a framework right so you know you could imagine a block uh construct and I think there's a there's an example on the on

the docs but but you could have Oracle transactions at the top in its own lane then you could have an me auction directly afterwards then you could have you know um like some sort of priority set of transactions that you know are are dedicated to your application maybe it's all the lp transactions then you could have like a frequent batch auction using excuse me using different lanes and then you could have the bottom dedicated towards like uh free transactions so the the the uh like what it means for me is basically uh we can sort of better assign the part of the block dedicated towards me without it taking up the entire block and uh the

application can be in more control over where it exists and you know how much takes place okay so can you can you unpack that a little bit maybe for for people who are like not you know still grappling with like the concept of me and um and how it affects applications especially maybe like from the cosmos uh point of view yeah totally so the basic idea is um there are like profit opportunities within a block right um so you can imagine it as like you know let's say $20 sitting on a table um and then a bunch of people want to sort of you know just capture that uh

and so the the best way to generally do that is to run an auction for these opportunities so if there's $20 on a table like the the normally like if you have a bunch of people standing around the table the first person to grab it takes all $20 the idea with me auctions and using skip is you actually run an auction with a bunch of people and each one would bid what they're willing to like pay for that opportunity so you'd imagine if it's $20 people would want to pay you know 19.99 because it's still profitable it's an Arbitrage so the way that that works with the block SDK is we let anybody submit bids for capturing these opportunities um those that auction is

run sort of across the different validators and then finally the winner is selected and then put into like the top slot in the lane that is dedicated for uh the auction winner and usually that needs to be very high up in the block because uh like if you win the opportunity you want to be the first person to get executed before anybody else does is that is that a good explanation yeah no that that makes sense um and then you would you would want to have may maybe like free transactions um and like lower value transactions towards the bottom of the block now like this is this is essentially so that because block has limited uh

because blocks are limited in space right they have like limited amount of transactions they can run through you want to prioritize you know high value transactions at the top and like lower value transactions at the bottom are are Lanes um this concept of lanes right like are are they fixed in size also do we do we say like okay this Lane can fit say five transactions or you know like this this example of uh of the the free transactions for UND delegation right can are we saying like this this Lane is like so many bytes or it can be so many transactions or it can be like transactions accounting for this value only or like generating this amount of fees what's the way how can people kind

of customize these Lanes I think we're having some uh some internet issues here uh we'll see if uh this clears up I hope everybody can still hear me yeah so by default no can you hear me go go ahead I can hear you go ahead okay cool yeah um so yeah by default

um uh developers can uh sort of like cap this size that Lanes can grow to so for example if you only wanted free transactions to take up like at the like total Gap all

good yeah I'm I'm sorry the a there's a delay and uh it's I don't know why it's happening but I'm I'm just going to refresh here I'll I'm gonna hop out and hop back in actually I can't do that um otherwise the live stream stops are you still there yeah are you are you still there yeah I'm

here okay um can you hear

me yeah okay yeah I think this is better um okay yeah I I uh I didn't hear that last part but I hope I hope it got picked up in live stream I think my my internet's having some connectivity issues so yeah no worries so like I want to ask you a little bit about like the user experience here so how how does um does uh block SDK you know how is it going to impact the the user experience in the end and you know I mean for for for users I guess there's there's the obvious thing right which is like say free transactions or things like that but from the perspective of like application performance and and these sorts of things like what are so the

impacts that block SDK could have yeah so I think it just gives more tools to applications to better tailor to their users so I mean obviously a free transaction would be nice and I think like one of the big use cases there is is exactly what you said which is you know one of the super annoying ux things at least in my opinion is when you stake all your tokens uh and you want to unstake and you don't have any of the gas token left because you staked everything you know shouldn't applications let you unstake your tokens or maybe even if you do unstake they can take a small percentage out of what you unstake as as the gas fee so it allows for a lot more things like that which I

think will just make you know um the interchain easier to use and you know in general with gas fees it's just it's just very hard to use the interchain because having all these separate gas tokens um is like a new con for a lot of users and so users coming over from eth and not expecting the fact that they need to have you know 20 different tokens in order to use all the different chains um becomes like a really big deal for them right because they're just used to having ethereum to use every single application um other ways that I think it might be uh you know different for users is you know hopefully like less congestion uh you know if like a if if congestion does come back and becomes a

problem again with the full Market you know we'll have better ways of segmenting out you know spam and you know uh have better use case of blocks in generals or or have better like uh I guess like prioritization um and then yeah I'd say those are the main things I think it's really designed for just uh applications to better do what they're designed to do yeah I know that makes sense and uh yeah what one thing I I also wanted to ask and we talked about this a little bit before the show is you know I'd like to get a sense of what are the deploy what are the the kind of developments in ethereum I know that there's this this Pepsi

PC uh initiative um I read a little bit of that documentation that seems pretty complex can you can you unpack that a little bit and maybe give us a sense of how these these advancements in Cosmos you know compare to um some of the conversations people are having in in the ethereum space yeah totally so Pepsi is sort of a uh design for proposers or validators to commit to things that are like uh non-standard I guess so um it's really like a design for sort of like expressing these outof band commitments that can actually go into block

production so if you think of the muv ecosystem inside of ethereum where uh proposers will commit to uh proposing or including a certain block that was you know proposed by a builder um that's a commitment right they're saying to you know the Builder ecosystem okay thank you for building this extremely high value block with lots of me I promise to commit it and in return I receive some money for that right and it's a lot of money it can be you know upwards of thousands of dollars or tens of thousands of dollars in the case of ethereum so Pepsi allows uh those commitments to expand to a more generalized set so you could imagine

proposers committing to including certain transactions every single block right so maybe like a proposer has a bilateral commitment or bilateral relationship with someone like chain link and Promises to include all the Oracle transactions towards the top of their block or maybe they have a commitment to not censoring uh ofac sanctioned addresses which is not something that any validators would commit to today but maybe in the future they want to um and they commit to sort of like including any transactions that come from those addresses um you could sort of generalize these commitments to anything like a big use case for these commitments would be something like excuse me igen layer where you know their whole thing is well what if you

could ask validators to additionally commit to things that relate to security for rollups right so a validator could say in addition to securing the ethereum blockchain I also commit to securing you know you know roll up a that is built on igen layer and so this way like the the idea is basically uh validators could have more choice and sort of have a selection of things that they can additionally attest to instead of just block production and be rewarded for that does this does this work in the context of I mean does this apply in the context of l 1 ethereum or is this more for like rollups or application specific

EVMS um because you know in in in terms of applying sort of similar uh block construction considerations over like main net ethereum there's like so many applications um competing in that same block space like would that make sense yeah so the idea here is for this to apply to L1 ethereum but as you know you know ethereum's road map is now very roll up and and app chain Centric right so the idea behind this is this would be an improvement to the L1 that would enable the L1 to better facilitate more rollups and app chains in the future because it could have just an expanding

set of things that it could commit to that would make um you know R it would make it easier for rollups to have sec okay security from ethereum um yeah better get their transactions in because I think eventually the way eum is going to go at least in its current form or on its current trajectory is we're going to see less transactions and more just giant Blobs of data getting posted from all these different rollups where execution is really going to happen yeah yeah I think that's that's probably true in the long term um and uh and as a result L when transactions are going to get even more expensive I guess um there there was this interesting

Concept in in the docs for for the block SDK which is this idea of a lane App Store what is what is that all about yeah so we were trying to sort of make it fun and you know relatable uh in terms of how we how we build these lanes and the idea is when you're if you're an application developer or an app chain developer we'll just give you all of these options of how to construct your block space and try to make it super simple to just plug together that's why the the the block SDK analogy is sort of like all these fun like building blocks that you can just put together because that's how we think it should feel to

build an app chain right you have your red block and you want to put that one on top and then you have your green block and you want to put that below and so you can construct your block production in a very uh intuitive way right where you just sort of fit these together there's a bunch of pre-made pieces and then you can create your own pieces as well so we have already implemented like the free Lane for free transactions we have the me Lane which is sort of the you know expansion of our previous product line um and then we also have uh like a default Lane which is just a lane that will contain any transaction and it's usually put at the very end but then we're implementing and and working on right now an EIP 1559 Lane so that's a lane that has the same

gas market as ethereum which I think is excellent and has proven to be really good um we're also going to be building an oracle Lane we're potentially talking about building a threshold encrypted Lane potentially in collaboration with Fair blocks um and then we have a bunch of others that we want to implement over time super cool very very interesting and uh I yeah I can't wait to see you know like how this is going to get implemented and the the the interesting kinds of lanes that people are going to build and you know maybe uh make available for other chains to use just seems like there's lots of of there's a potential for like a lot of innovation here yeah like some of the feedback that we got from our partners was uh we we

kept hearing this thing which is like oh we tried like all of our customization that we did with uh you know using the cosmos SDK was basically recreating this in some form but this is just a nicer abstraction to get to that faster so instead of having to go into the cosmos SDK and really change things and making your own Fork you can just use the block SDK to sort of build in this this level of customizability without actually having to modify the core code base yeah and so does the block sit as a as a module in the cosmos SDK or where where does it sit exactly in the stack yeah so um it's not a module though it will

oftentimes pair with modules so it's designed to use uh modules to pair with specific Lanes but it itself is sort of a plugin into ABCI Plus+ that um implements a couple like key functions so for example it has a match function which is when a transaction comes in to match it to which lane it needs to be uh considered for it has like an ordering function so how transactions are ordered within a lane and then it also has a um like a uh intra Lane ordering so which lane should be considered first and then what's the order overall all the lanes in the block cool so when I watched your your talk your your NE talk um before this uh

you know there's there's one aspect of the talk which I thought was really really cool I'd like you to expand on here is uh you were you were talking about ABCI Plus+ and how it could be used to effectively build an oracle um on chain so I i' I'd love for you to unpack that use case and explain how essentially chains can can you know become their own oracles uh which is a very different Paradigm from say ethereum where you you have to rely on like you know oracle providers like chain link um in order to get things like price feeds yeah totally um I mean honestly I think ABC Plus+ had this use case a

little bit in mind when it was built um but it's not just ABCI Plus+ that enables this it's actually something called vote extensions so excuse me uh vote extensions is actually a tender feature I should say a comment feature um which allows for validators to include additional data arbitrary data about anything when they sign a block so if you think about how block or or consensus works today um you know a proposer like proposes a block and says hey guys you know uh I'd like to commit this what do you all think and then every other validator will say okay it looks good uh I will add my vote to this

proposal and so if you inspects that voted yes for that block right and you need over twoth thirds in order for that block to actually get committed the idea with vote extensions is it's literally that it's an extension to the vote right so in addition to voting yes on the Block you say yes and I'd also like you to think about this piece of data and it could be anything it could be an oracle price feed it could be data availability it could be really anything and that means that that data must be available and at least two-thirds of it must be considered if the block is to be committed so you sort of tie the availability of that data and

vote extensions to the actual liveness of the chain so the chain cannot move forward if that data is not available okay so you're saying like you commit this data and then the data the the the valid the S the the validation of the block is dependent on this data also being uh accepted by other validators that's essentially right or it the the validation of the block is dependent upon that data being sort of included in the proposal right because the data is signed by the vote and you need over two-thirds of the vote of the

votes to actually like commit the block therefore you also have two-thirds of the data right so you can do a lot with that right you can do like like a ton of things and one of the the very specific things that you can do is you can actually upload Oracle prices as that additional data looks like uh might have lost him

again oh looks like lost them this is not a good internet day guys sorry about that hopefully he'll come back in in just a second but yeah this is all super super interesting and I think it opens up tons of new use cases for Cosmos I mean if you just think about um the the lanes aspect you know like this use case of

being able to execute certain types of transactions um in in priority or having free transactions that just makes it so much easier to onboard new users you could even uh say you know like a chain that wants to onboard you new users could uh um could effectively give uh new addresses like a couple of free tokens like a kind of a new user airdrop that could be factored into the tokenomics these are all really really uh interesting use cases that I think people are going to utilize um in uh in in their chains so I think it's it's good for Cosmos I mean it's

good for the interchain to have these features and to be able to really Excel on the uh he says one sec uh really really be at the Forefront of of user experience I mean that's what I think that's one of the things that cosos that's so great about Cosmos is that uh the user experience is so great you know we have transactions that are uh that are fast we have IPC which makes it very easy and very simple to interoperate with other chains and now we have these sorts of features that are coming out and you know I do I really want to talk about the skip API uh with Magnus because skip API opens up lots of other use cases and just improves the user experience I think you know often times it's

um you know good Tech is is is underrated in terms of how it can improve user experience I mean of course you know we need product designers we need people who you know build great products that are easy to use that are Pleasant to use that you know don't put unnecessary hurdles in front of people uh but uh but in addition to that uh there's also the aspect of the technology that allows to happen so magmar's back so we're gonna go on um so can you hear me hey Seb yeah can you hear me can you hear me are you

there I can hear you can you hear me yes I can all right sorry I think that was me that time uh I just know what happened I had to Jo hope this is okay that's fine yeah I mean this is this is the the the worst episode in terms of internet connectivity I've ever had but probably one of the best in terms of content so hopefully that makes up for it uh but yeah so we were talking about um we were talking about the the Oracle idea and and also the so I think you were saying that um uh data gets added uh data gets added to the vote and um that's how we arrive at sort of this Oracle use case

but I'll let you take it from there okay I think we're we lost him again we might have to uh we might have to wrap this up if um if uh oh yeah let's try let's try one more time yeah I don't really know what's going on my bad this this seems to work so I don't know if you heard me though but I basically I'll let you pick up uh where you left off which was explaining how um the uh we could add arbitrary data into a commitment vote on in a in a tournament

block yeah exactly so the way that this works for an oracle is actually quite simple so like I think the example I was trying to give is uh let's say your only purpose was to include the ethereum price and have that be globally available in your blockchain right and let's say you're osmosis so the idea is basically validators when they are voting on a proposal and saying okay like I like this proposal let's go ahead and commit it they will also add to their vote the price of ethereum that they're observing let's say via pith or via chain link or via some other you know oracle um and then they will add that to their vote

and then when the block gets committed all of those votes need to be available because you know you had to have two-thirds plus and that way the proposer can use all of those prices that were included to actually come up with let's say an average or median or some kind of aggregate value of all those prices that were uploaded and the calculation can be double checked by all the validators so validators can say okay like the expectation is that you have to take the median of all of these and if you don't then we're going to vote no on how you executed that block or how you propose that block and what what are some of the um Ian

what what's the kind of edge case where this falls apart I mean like do Val validators I guess have an incentive to uh to vote correctly in terms of the data that that's added but there are there any edge cases in where a validator could uh get away with posting inaccurate data so you could always post inaccurate data and the the goal of an oracle system is to sort of pre prevent like a single posting of inaccurate data or even like a couple validators post posting inaccurate data from completely affecting you know in a or or manipulating the actual price and so the idea here is I mean if you take chain

link as an example they use a median right so they'll have like 20 data reports and they'll take the median of all of those which means you have to have over half the validator set um manipulate the price in order to affect the median right uh if you have anything less than half the validator set then technically you shouldn't be able to affect the media right so the same thing applies to the vote extensions right so if two-thirds of the validators which is what is required for Block production to move forward vote a certain price or sort of record a certain price then over half of them have to be dishonest in order for the you know the final price of the blockchain reports to be

affected I mean does does the application have any say I in this particular use case would the application have any say in terms of where validators are getting this data I mean because like you know validators just run software right so with this um kind of like sourcing of the price feed happen in the binary uh that the validators are running or a validator is sort of free to go and like get the data from coin gecko or from chain link or from coinbase if they want to yeah so um I mean I should preface it preface all this with saying we've actually built an oracle um and it does all of these things and the way that we built it was we built a generalized provider

interface but then actually implemented some of them ourselves so we have one for coin gecko we have one for coin market cap we're building one for pith we're building a Unis swap adapter but then technically validators are free to use whatever price feeds they want in addition right so they could you know Source prices from other places as well but I think like the way that I see this going is the application will Define in the binary will Define um you know uh a set of providers that they expect all the validators to run everybody will just run those by default because it's in process it's within the binary but then validators technically could add more if they wanted to so what does this mean for I does

this make oracles obsolete in Cosmos uh I don't think it makes them obsolete I would say it makes them actually usable right so it was previously quite diff difficult to pipe in Oracle prices in a way that was actually very safe and so really what ABCI Plus+ and vote extensions and what we've built does is it allows you to very easily and very safely interact with existing oracles so this is probably the best way that I can think of to pipe in let's say pith feeds right so if you wanted to you know if Mars wanted to use pith in order to back its collateral prices or osmosis wanted to use pith to you know expand the set of

offerings that it has for for its pools or run some kind of like perpetuals thing this would be the best way to actually pipe in those prices every block okay and it doesn't cost uh 5% of your token Supply or you know like10 million like chain link does yeah I mean and are any chains using this the Oracle that we've built yeah yeah uh we should see a couple chains go live with it uh be chain will be using it uh osmosis will be using it we're talking in Neutron right now um chatting dydx they already have their own Oracle implementation but potentially they could borrow some ideas from this yeah it's it's really um it's

not like using an additional service so to speak like like the Oracle that we've built is really just an expansion upon vote extension to turn your own validator set into basically an oracle network instead of like productizing some separate chain or separate service like Ojo or chain link or you know whatever else there exists as an external provider of prices okay yeah that's uh and are you productizing this I mean this this is how like skip generat revenues by sort of productizing this uh this this Oracle product or I mean any any of these products basically like yeah how does Skip make money we get this a lot um we haven't really focused

on monetization uh and the reason for that is we've taken such a big bet on Cosmos as a team um that our view is really you know encapsulated by this like grow the pie mindset where the the the space that we viewed there was like a missing piece was basically like who's the consensus of Cosmos who are the people who are building like the really core infrastructure that eventually might make money in some form But ultimately it's just like the building blocks for adding a ton of value to make an ecosystem work and we we're trying to fit ourselves into that bucket so that fits into the API product too that is a free service

it's you know it doesn't charge any fees um but it's something that we we viewed as like a fundamental piece that was missing inside the IPC ecosystem and made it just way easier for everybody to do cross-chain transfers and swaps and things like that and so right now we're really just focusing on you know what what can we build that's missing that makes Cosmos work and eventually we'll figure out a way where we can be part of the economics of Cosmos actually really making it I know you've only got a couple minutes left but I do want to talk about the uh the API a little bit so there was this post by Barry on Twitter I think like a couple days ago uh talking about how the API um uh expands you know uh Cosmos out

words into ethereum and Celestia yeah what is the what is the skip API like what's what's the idea here yeah the skip API is very simple um the idea is basically how do we make it really easy to do cross-chain workflows right so when you transfer a token over IBC you're usually don't want to go from the chain that you're on to the chain that you want to get to and that sounds weird but it's kind of a secret reality of IBC that most tokens are wound in a way that makes them unusable so for example if I have Adam on osmosis right so I transferred I I got Adam on the Hub

and then I transferred it to osmosis and now I want to send it to Juno your first thought would be okay so let me figure out how I can get it from osmosis to Juno the problem is if you actually did that the atom that you send to Juno cannot be used on Juno because it first it needs to get sent back to the hub and then to Juno because every time you send an IBC token it sort of like modifies the token because it modifies the security properties of that token so that you end up with all these randomized sort of like IBC versions right so the API uh what what it does is basically it figures out what route you need to take so in that case it would

figure out the route back to the hub and then to Juno um and then it constructs a single transaction that does that allinone click so then all you need to do via the API is say here's where I am here's where I want to get to figure out the route I don't care if it's a 100 chains or one chain um and then give me one transaction I can sign that gets it all done right and in addition um along the path that it takes to actually unwind the token it can do things along the way like swap for example so now you not only have the routing piece but you also have the swapping piece and this is all to sort of enable this final use case that we wanted was um any token any chain to any token any chain and we want

to expand that to not just be on you know IBC connected chains but also to be on Celestia rollups to be you know with ethereum um L1 and so we'll probably have to use bridges for those like Axel and you know hyperlane and Wormhole um but we're we're adding that support right now and uh you know your your your hot take was that uh you think that Cosmos should align with ethereum and not chart a path away from it can you uh unpack that yeah totally um also I can stay till 11:50 since uh all the connectivity issues um okay that's helpful at all um but yeah

so the I think like the the dominant narrative for Cosmos has always been you know we're own ecosystem we are sort of a separate ethos we're very you know I don't want to say modular because that's very you know celesti esque and I don't want to I don't want to hijack their narrative but we're very uh Sovereign right so we have a bunch of different AP chains that all have their own communities and do their own things and that is completely different than ethereum which is this monolithic monster right um it's a great monster but it it is huge right um I think what that's sort of done is chart us on a course that's sort of like away from ethereum and I don't think

that that's possible anymore meaning like I don't think uh we should be charting a course where uh anything in Cosmos is sort of anti- ethereum right like I think the reality of the situation right now is all of the users are in ethereum all the liquidity is in ethereum all the volume is in in ethereum um and we need to be sort of creating a narrative and creating a reality that deploying on Cosmos does not have to be anti- ethereum and there's more ways for them to interact in ways that are healthy for both right so I think a simple way to do this would be um via igen layer or some other reaking mechanism have the ability to

secure Cosmos chains with ethereum so you could launch a cosmos SDK chain IBC connected even using tender But ultimately your security is uh backed by ethereum right and maybe use ethereum as one of your gas tokens or your only gas token whichever sort of you decide um I think this would at least be worth like an experiment to see what would this do um to the ethereum community like would it Galvanize them to support one of the uh you know Cosmos projects um just to see like can we get some of that liquidity over and like what's the impact of that yeah I mean I I uh you know in

conversations recently you know I think um sort of realized that there there's a lot of people I think in the cosmos ecosystem that that think that Cosmos is you know a a a destination right for liquidity and and I I don't think that's necessarily the case and I I think that we we need to make it more interesting for liquidity to come into Cosmos now of course that comes with uh you know applications that you can use like it comes with good user experience and this sort of thing

[Music] um but yeah I agree I agree that you know we we we need to be more aligned more ethereum align now that's hard to say when you're like not an evm chain and uh and uh sort of you know incompatible from a inability perspective and also from a an application sort of execution aspect um you know you you were saying earlier and I think like some of the people I've talked to recently feel that Cosmos should be more Bitcoin aligned and uh you know I think that's mostly coming that narrative might be coming from Babylon also sunny I think is really kind of pushing this narrative you know what do you think that would look like and can we be

both I don't think we can be both um because I think if we try to do the Bitcoin alignment if it worked it would be sick like Cosmos would absolutely make it um I mean there's just it's a gold mine right Sunny always uses this analogy which is why are we all fighting over the Silver Mine where there's this untouched gold mine that nobody's going after yeah um I think the problem though is nobody has been successful at this there's like like who has like unlocked the Bitcoin users and the Bitcoin narrative and the Bitcoin alignment um and and honestly like I don't think

anyone has succeeded like I don't think Stacks or has succeeded um I don't really I mean I think thorchain has actually made the most progress but I think it's still been difficult and so I just think it's kind of a Hail Mary where we either succeed at that and it's great but like the chances of not being able to figure out like what Bitcoin alignment really means and how to like unlock all that all that liquidity and all those users um is really small right I think like it's just it's gonna be very difficult um I think there's a couple ideas about how we could do that I mean Sunny has been talking about like you know maybe we have a a drive chain that is built and run by the by the the the miners which

would allow for sort of a canonical decentralized bridge between uh let's say the Hub and Bitcoin um maybe dri chain there's a term I haven't heard in at least six years yeah yeah exactly was trying to explain like bit bip signaling to me and I was sort of like okay uh you know trying to figure it out um I think there's like a couple things we could try but I think in attempting to do Bitcoin alignment we might lose the opportunity to do uh ethereum alignment yeah but I mean at the same time there's just like so many chain that are ethereum aligned or trying to be ethereum aligned yeah um you know sure

like like there's this there's this easily accessible silver mine but everyone's going after that silver mine that's true whereas like no one's trying to go after the Gold Miner has done any I mean like people have tried like you know I think Stacks you mentioned way back in the day there were things like counterparty and some other like obscure side chains yeah none of those things have really worked out um I yeah I mean yeah it it is a huge challenge I think the big the big challenge there is um the the the big challenge there is getting liquidity to move out of Bitcoin because essentially like hardcore Bitcoin users uh will never move their Bitcoin out of Bitcoin right they might move it

into Celsius or something like ridiculously centralized solution to G yields or uh yeah but um uh but but moving it on like some other chain um is uh is a huge challenge yeah I don't know I don't know what the what the answer is here but um I mean if anyone pull off it's it's probably Sunny um like I think you know he just knows the the Bitcoin Community very well he's a bitcoiner himself yeah I think it would have to be like a really big ecosystem effort right so we all decide that we're going to try this we understand what it means to be Bitcoin aligned we talk to bitcoiners and like the major people in the

ecosystem Bitcoin Miami we go to bitcoin Miami which is huge uh and obviously big concession um and uh yeah we just try to figure out like what what that means and then really try start to make steps towards that I think babylon's a good first step I'm excited about what they're doing um but I don't think they're wedded to the cosmos right like a bablon is a cosmos SDC chain but you know I believe that they're going to be working on stuff with other chains as well like I I think we need something if we wanted to be Cosmos specific and for Cosmos to really you know own that narrative we need to find something exclusive that we can offer maybe one one final thing here

before we wrap up um thoughts on uh thoughts on Cosmos Hub governance and uh Cosmos Hub drama so it's sort of a LoveHate relationship I mean I the one thing I love about Adam and the Hub is it's truly decentralized right it's like an actually decentralized token it's probably like equivalent to or or Rivals the decentralization element of you know ethereum and Bitcoin mean in terms of distribution distribution yeah basically distribution um you know how that distribution is geographically distributed all the different kinds of people who

hold Adam that's a really nice thing and I think it does lead to like you know tough governance um I do wish that there could be a little bit more like um there could be a more active main party that is driving governance and is like highly trusted by the community to make good decisions because I think it's very difficult right now for any improvements to the hub to happen because it's hard to just like uh coordinate with the current distributed holders of adom right it'll be much easier to coordinate with you know let's say one party that really led a lot of the governance processes like uh you know the ethereum foundation and ethereum yeah who who do you who is the

uh who do you think that could be you know is it the ICF or huh I think that should be you LOL um no but I mean I I I I I agree that there not that I should be running C of governance I agree that that there's there's a problem here I think I think to some extent and and we could talk about this offline but to some extent there there is I think there needs to be we we need to like all interested parties need to sit down and uh in in person like there's just's just like too much Twitter drama and too much Hub like

Forum post drama like people need to sit down face to face at least once a year and say okay like here are the here are the issues that we have like no I'm talking before even we like come to some sort of like stable governance system it's like okay here are the issues what are what's the vision um what do we align with like what are the different kind of like factions and and like work stuff out in in a in a face- to-face way so I don't know if this is like a workshop or you know like we all meet a cosmoverse or something like that and like we kind of sit down and and work things through um because you know you you mentioned you're right like contrary to the ethereum foundation where there's a lot of like top- down decision making

and then the rest of the eous system sort of like goes with it or at least like the etherum foundation seeds a lot of ideas with then the the rest of the community can um can kind of like debate and sort of grapple with there is there isn't that in Cosmos and so we need to find other ways to have that like kind of like human governance aspect first that that that that human um you know human consensus uh in order to move forward and I think the first thing you know Elijah put out this post on from Duality put out this post on the cosmos Hub Forum uh about how we fix governance and I think like that's the first thing that that that needs to happen it's like aligning on what the vision is for the Hub and then coming up with like a

governance model that that can work right yeah I mean we tried that uh it didn't it didn't happen um I think I think one thing that yeah I don't know I honestly don't know I mean I think like the reality of like the the atom 2.0 failing was uh a lot of the people I mean you know Sam Hart mainly um like left right and and you know it was too difficult to sort of go through that entire process and have it fail and you know I think we need a better process where by which you know if we do that again and we really make another big effort as a community like we have to make sure it's something that

doesn't fail yeah but yes and also you know when they did ATM 2.0 I I don't get the feel I didn't get the feeling like and I think a lot of people did get the feeling like there was an inclusive conversation to be had right the inclusive conversation happened after the white paper was announced and I think that was one of the big mistakes it's one of the things that we talked here on the podcast quite a bit at that time is that the Optics of how it was uh presented were were were not great you know I often say that like if if Zaki would have just had like a big draft across his his presentation that would have changed the odds of COS of Adam 2.0 passing tremendously but I think the process of getting to Adam 2.0 you know

was still a fairly uh Insider process right there were maybe like a dozen people involved in this process yeah I'm talking about bringing together maybe like a 100 or 200 people uh maybe not 200 but like somewhere in the vicinity of like 100 to 150 people uh and and and in a setting where all ideas can be heard where people can make proposals where we have debates where we have conversations where we sort of like work and research on different things and and then at the end of that like come up with some recommendations that then we go on and like work on some more maybe at like another event or like offline or this sort of thing yeah I think I think this this sort of more

collaborative um as way of going about things would uh would work better anyway my camera's dropping off now so this is officially the the worst technical podcast I've ever worst podcast I've ever done from a technical perspective but an interesting one nonetheless so we're going to leave it there and uh you know and uh hopefully our internet gets better for the next one thanks Magnus thank you for joining me once again here on the interop and uh yeah look forward to chatting soon see you s thanks everybody see y