Marko Baricevic: Cosmos SDK - The Internet of Appchains. Ep. 510

25 Aug 2023 · 57:00

Epicenter hosts Felix Lutsch and Meher Roy talk with Marko Baricevic, Cosmos SDK product lead, about the development philosophy behind the Cosmos Hub and how its appchain model evolved. The conversation covers Cosmos SDK's modularity and interoperability via IBC, how appchains compare to Ethereum's rollup-centric scaling roadmap, and the tradeoffs between fraud proofs and validity proofs as Cosmos adopts zero-knowledge technology.

Speakers

Topics

Transcript

welcome to epicenter the show which talks about the Technologies projects and people driving decentralization and the blockchain revolution I'm Felix and I'm here with meher Roy today we're speaking with Marco berichovic who is the product leader of the cosmos SDK the cosmos SDK is a framework to build application specific blockchains the cosmos ecosystem hi Marco and welcome to epicenter hey thanks for having me it's definitely an honor being on the show that I've been listening to for so many years yeah we're super glad to have you as like such a long-term contributor to the cosmos ecosystem and and Beyond so yeah we're very excited to hear today about the cosmos ecosystem but as usual we get started a little bit with your

background and in crypto and how how you get started and what brought you to where you are today yeah um I had a bit of a different uh entrance into crypto actually like during the 2017 Ico boom a bunch of friends of mine were making a bunch of money and before that I read about Bitcoin but ever got fully into it they were making a bunch of money and for some reason for me I wasn't like oh I'm gonna go make a bunch of money I was like I want to learn how this stuff works and why it is why it is decentralized and around that time is when I started to I Really dive deep into learning how to code and then soon after that that joined a Enterprise blockchain company and that was a lot of

fun um we were using Quorum from JP Morgan and writing a lot of smart contracts writing a lot of tooling around that had a couple fun like projects it was uh I find that consultancies are a lot like hackathons like every two three months you have to develop a product and they just give you the specs of the product and you just have to write code so it was a lot of fun learned a lot and then I ran across um a like one of the senior engineers at the Enterprise consultancy showed me a video of Ethan Buckman and Jay Kwon talking about the tenement and the cosmos SDK at a Bitcoin Meetup in like SF and I just remember becoming so enamored by it and I was just like uh I don't care where in the world this is I

just want to work with these people and then a couple months later I found out that they're actually yeah they have a team based in Berlin and so I applied and then it took a bit of persistence and four months later I joined uh all in bits or Tender mint Inc and the rest is history I started out as developer relations engineer then worked as an engineer on tenderman for two years and then came back up to the cosmos SDK right yeah awesome so this is like you getting started what what year is this uh I joined uh 2019 so like two months after the Hub launched after the customer side blobs and then I guess yeah now you're

you've like familiarized server tender man and you started to work on the cosmos SDK which we're here to talk about today and maybe for the listener's ride like you can explain a little bit on a very high level what the cosmos SDK is and maybe how it has moved through the history since I think it's right it's probably like the most integral part of Cosmos ecosystem in some way right so probably helps to get some context the cosmos SDK like tenderwind has had a few teams I'm working on it the cosmo says okay I think we're on the third team so initially it was written by the team at the Olympics which included um uh Alex Bez rigel uh aditiya Dave Sunny

um Jack sampling saki like they were all involved but back then it was a lot different than it is today like it was kind of all all there was back then was forking Bitcoin forking Gap and then early days of substrate and the cosmos SDK and that was really it there wasn't much out there in the ecosystem so there wasn't much user feedback uh and then when uh Cosmos went through what we described as like Gore 2020 the great organizational restructuring we kind of like shifted and moved into a new team region Network and they became the sole owners and maintainers of the cosmos SDK and they LED it for about two to three years and then I came in to kind of a bit like the

cosmos SDK has this thing of it's very hard to hire a project manager because you get burned out really fast because you have to deal with an entire ecosystem of people complaining people asking for features people wanting different designs and it just constantly like a feedback loop now better more so than it was before but not only that is you have to also keep up with what's going on in the Block in The Wider blockchain ecosystem so it's like a certain balance to strike and there's a few people that attempted it and then kind of just gave up um they were just too much work and too much overhead and uh too much too much craziness um I like to attribute my like not being able to be burnt out to Zaki and Jack just because uh they also just say constantly work and so I learned that

from them but uh yeah so came into the cosmos SDK started leading it alongside region um and then this year uh the entire like maintenance of the cosmos SDK shifted to a new entity binary Builders which the core focus of that entity is the cosmos SDK and the builders program the energy and Builders program so I guess maybe we can you know get into like what is what is the cosmos SDK as well so right I guess most people are familiar with the notion of like smart contracts right and ethereum and you're building your application and you're building a smart contract now the cosmosis is essentially the first or like one of the first like Frameworks to

build application specific blockchains and um that's become like much more popular nowadays this sort of Paradigm which we'll also get into but I guess at the start maybe we can just dive into why why is that right price what's the benefit over having your own Cosmos chain in this case over like just writing a smart contract so I mean there there's always this like dilemma of uh the the single computer to Rule the World um where we all have to share computation versus sake um owning your own computation and then maybe posting data on this one world computer and so the app chain Vision um came from the need that hey like we uh well first of all the cosmos SDK kind

of came from like Hey we're building the cosmo sub and we we have this vision of app chains and what better is it to like develop a software development kit um an SDK to allow people to build app chains and this became this was kind of like the early on vision and the cosmos SDK okay now you can control your own computation you can do a lot more things than than you could in the ethereum space or in other spaces because you control uh you have a lot more granular control over your gas your computation and over your logic as well and so this really fed into oh like we can really develop what we want and not be limited and this is like when we had the like Cosmo summer um I believe it was like

last summer or two summers ago then we saw a lot of application specific chains coming up uh to Cosmos and kind of like really honing in on specific use cases for the application blockchain then I would say like people started discovering that like hey it's actually a lot harder to get product Market fit because I've worn like in crypto we have this like craze of like VCS come in there's a lot of money you launch a token okay now you have Runway now you you have X amount of years to figure out your product Market fit and a lot of people were kind of like going with that and I think not only in Cosmos but in the wider ecosystem and then it all of a sudden shifted to like okay now we have to go now I believe that we are going into a world where we have to

have uh pmf before you launch your chain otherwise it's just going to be kind of an empty chain no blocks and so on but today it's like the the SDK really like the sole purpose that out of by default it is able to do is like a application blockchain um application specific blockchain and for this like everyone thinks that Cosmos SDK is like this is all you can do but we are kind of like shifting into the roll-up space and it's like kind of a like why would we want to like shift away from blockchains into the roll-up space well it's like if you look at the blowing a smart contract like a smart contract is an amazing way to really go to market really fast and search for your product Market fit and

it's very easy you can deploy different ecosystems you can partner with these ecosystems and so on and then like if we put that on a scale of 0 through 10 let's say smart contracts are the easiest it's like a zero you can deploy it same day launch your launch your product and you don't have to worry about inflation validators and so on and let's say deploying your own blockchain is like eight to ten because you have to now control a binary you have to control your validator set you have to work with them you have to claim centralization you have to work through governance and all these things it is very difficult it's not a easy Endeavor to take on and we have been fortunate enough that a lot of people in Cosmos have taken this

endeavor on and learned that we've been able to take that knowledge and give it to newcomers but the problem is like what is that in between um and that in between I'm kind of coming to the conclusion that it's kind of the roll up so you have like the two four six eight of the Roll-Ups um from decentralized uh to Shared sequencing uh to decentralize sequencing and that kind of like fills up so it's like now all of a sudden it's like you deploy a smart contract you're getting a bit more adoption but you don't know if you want to invest all this money into developing your own chain and um doing a whole migration so let's do a centralized roll up if if you don't need the decentralization part and then you start wanting to expand your product then you go into the decentralized sequencing and

then all of a sudden you're like okay wait actually like uh we are seeing that we're paying a lot of fees um to these different protocols for data availability and settlement now it's time that like okay maybe we own this for ourselves because our token may have a lot of value a large market cap and so then let's go to our own chain um and so I'm kind of seeing that as um the direction that people are starting to go and I think dydx is kind of the perfect example of that this is really interesting do you think that if the future customer journey is is going to look more like d y d x started off in a smart contract on ethereum then went to an L2 or a roll up in this case start met

and then the third step to come in a couple of months maybe is their own Cosmos chain do you think there's a there's a risk that the cosmos SDK is developing the application chain development framework but it doesn't really have like a roll-up development framework and ecosystem today that by default people will go and develop in the their roll ups with the ethereum stack and then jumping from a roller working on the ethereum stack to Cosmos SDK will just prove so much of a big software development challenge that nobody will actually go into the cosmos SDK stack in the future at all but

rather some other stack will yeah so in in this sense we are like shifting um a bit so the idea so working very closely with the world kit team and I'm from Celestia and teams like Dimension um and the goal there is that in the ideal world so now we're doing some uh refactors of the core layer in an Ideal World the user will potentially like let's say a user develops smart contract on ethereum now they want to set still settle and do da on ethereum they can use roll kit with SDK let's say with Polaris or etherment and then they just migrate their contracts they have the same ux and the users don't know there's

a difference and then in the future the goal is that they can swap bull kit out for Comet or a different consensus engine and then the actual State machine will be able to stay the same and so this is kind of the direction we're going with the user Journey we're trying to create and so um we're working we were just talking before before the call but um we're just talking about fraud groups and validity proofs and how like Cosmos plans to take advantage uh enter into that world and so we're working quite closely with the Celestia and the Royal containment in order to really dive into fraud groups first of all um and then later on validity groups that's super awesome and I think we're

gonna go much back into it I think maybe we can take it a step back also because most people that listen to this probably don't really have a good view of like how the customers SDK is structured so maybe we can talk a little bit about you know like one of the Core Concepts in my view writing in the cosmos SDK is this idea of the modules right you have like these sort of swappable features that you can kind of plug in to your chain or you build a new module that that kind of can be used by the rest of the cosmosastic so can you talk a little bit about that what sort of modules are there more on this is where it's being built so like the the SDK and the the direction that we've been um trying to

articulate it to users and new users coming in is it is a separation between the kernel space and the user space and when I say the kernel space this is like where the modules live um and so the thing why we the consider it the kernel space is because you can handle a lot more computation at this level the gas functionality is a lot more freeing and it's not limiting like you would have in a virtual machine and so uh some of the modules are like staking governance Bank some like uh authorization modules uh you have slashing minting distribution kind of like these basic things and these things um they do and they do go by themselves

in terms of like uh they don't need external intervention to email or to like mint a bunch of tokens and everything so they do handle a bit more computation um and so when users come to the cosmos SDK it's okay like a lot of users are using VMS and we're totally fine with that then we encourage people to use VMS especially if they're going into permissionless environment that they just want users to deploy like uh Juno and Atmos and others but like the kernel Space is really where the application has the most performance but also has the ability to do a lot more computation for the functionality they maybe want to do from the VM so maybe the VM calls into the user space so the VM calls into

the kernel space the modules and then they are able to do a lot more a lot more things there so what can you like expand on like what some of these things might be I think like some of the things that that like a VM would be limited by so like within a VM it's like you are gas metered um so you do consume gas on every company on every uh functionality on all the functionality all the business logic and so you then you don't want users to do a lot because it is a it is potentially a permissionless environment and so allowing people to have kind of unlimited computation is a Dos vector and So within the modules um

within the kernel space like that's more uh the application developer needs to um they need to propose and upgrade uh and then the upgrade needs to be adopted by validators and so it's a lot more of a involved process and so here the computation is only around i o um around the disk and so once you're doing computation like uh let's say if you're doing some proving capabilities um or if you're doing some bridging technology within a VM you have to do gas metering on the actual computation of the proving of the hashing and so on while within the cosmos SK within the kernel space that is a lot more freeing

and so you can do it and then that won't affect your entire block gas consumption and a lot of people may think that like oh this is a Dos Vector but if it does end up in some sort of chain of the chain slowing down then it is actually the application change is application developers fault because they did this premeditated computation in their chain before and it wasn't like an end user just like causing this a lot causing this amount of computation to slow down the chain right I think one example here actually I guess is sort of this reward Distribution on osmosis right where it actually like they have this epochs

and then at the boundary you need to compute a lot how where the lp rewards go to and this for example can slow down the change just so we have an example exactly like uh the interesting thing there is uh so there is like this thing in in the cosmos SDK called begin block and N block and what these really signify is at the beginning of every lock at beginning of every block before the computation uh before the uh State machine executes the transactions what computation do you want to run before that and then an end block does the same thing just after the execution of the transactions and So within this like an osmosis case they are doing a lot of computation for the LPS of the pools and so that is like causing a lot

of um causing the chain the state machine to kind of slow down a bit uh and but this is known it's like as more users come in it's just like um I think it's maybe like 10 minutes or less now that the chain kind of just like stops everyone's doing computation and then once everyone's done with computation it continues as normal is it correct to think of think of it like this that when you look at its idiom in ethereum so with any chain there's kind of like core logic that you need to run the chain itself and then there is kind of customizable logic that people can put for their own use case

when the chain goes live which are like smart contracts in ethereum ethereum has this philosophy that so when you think of like the core logic you need to run an EG well maybe like an example is kind of like this taking this this taking system right um how do validators get spun up how does the chain get spun up how do validators get turned down how does slashing happen how does the native token of the chain in the case of ethereum it's an ether the case of Osmos is the osmo token um how is that represented what is the code that kind of handles that token so there are all of these kind of like core functions

the native token staking slashing maybe something around governance that any chain needs and then there are kind of customizable pieces where when you launch the chain in the first the first time you have the core functionality you don't even know what kind of customer stable functionality the market is going to demand so you want a way by which people can put their customizable Logic on the chain and that's in the form of smart contracts everywhere in ethereum kind of the philosophy is that the ethereum developers want to put all of this core logic of the blockchain as smart contract so in ethereum like

the staking is handled as a staking smart contract so when you are actually sticking on ethereum you are sending a transaction into an ethereum smart contract written in salinity audited in oriented in that language and and then staking is a core functionality of the chain but it is handled as a as a smart contract so ethereum makes that an explicit choice that even the core function like more and more of the core functionality of the chain should be written as smart contracts and go in that direction in the future whereas in the cosmos SDK the kind of philosophy is let's separate out the two so there is let's call one thing like the kernel space where the assumption is

that this will handle course functionality of the smart contract what does it mean when it's taking slashing native token bridging to other chains maybe in the future generating zero knowledge proofs maybe producing hash functions predicting hashes these are core things that the chain needs let's keep this in a kernel module uh let's kind of enable the developer of the chain to be able to sort of optimize these core modules for for their use case and then on each of these Cosmos change there can be also the customizable side which is a VM that's running on the chain and the VM can be of three or four different designs and sort of like the VM becomes

kind of like this user space and the VM and the core can seamlessly interact with each other and it stands like uh almost like a philosophical difference on on on how to do development between sort of ethereum and the cosmos ecosystem yeah I I'd say like the the biggest difference is like the cosmos SDK is is a software development kit less so framework and so um while we think that it's like it's very uh powerful to write things in native code and so you don't have this like uh performance potential overhead uh bottleneck

um of writing it in the VM in the smart contract layer that um like that that doesn't need to be done by everyone and there are users of the cosmos sdpa who do write core functionality within VMS and then just pass it down to the pass it down to the SDK and so we do the the goal of the SDK is to be less opinionated than other Frameworks so it's like hey like this is the ethereum way you can do it that way if you want like if you pull Ethernet or Polaris into it you can write everything in solidity you can take the same code from ethereum and put it in call staking functions all you need to do is like return like the validator set update and stuff like that you can do that all from

the VM it just you're going to have some performance overhead instead of just doing your with native code um but yeah it's uh I'd say like the that's the key differentiator that and I really love like honing in on that just because everyone does think uh kind of like same thing with like IBC SDK and like Comet um they are all are like sdks and less so Frameworks um and if they're not today then like they're all going in the direction of more of an SDK than a framework or um an easier term like a library so people can compose their application without being forced to do it the single way right so really it's like more flexible and not dictating so much how to do it

do you oversee like some of the teams or like someone else to build like a more opinion editing framework on top of the sort of more flexible Cosmosphere so like maybe people could reuse you know what etherman how they build their chain and they that's like another sort of framework on top of the core flexible processes here exactly so the the downside of this approach is that it becomes it has the potential to become like a multi many levels of Frameworks many levels of libraries um that people compose and so like I'm talking with Polaris and etherman they have this like evm on top and they're both going in um drastically different approaches

um Polaris is kind of like they they're developing a separate process that is kind of like a library that can be plugged into many different Frameworks um or many different sdks ethernet just a bit more tightly coupled to the SDK but they still have things that you can add on um features plugins and stuff like that and so that is like a downside that's like once you hit once you go too modular then people people generally don't know which direction to go because it's too freeing and this is this definitely is something that I've liked seeing um with other sdks and Frameworks in the blockchain ecosystem that it's like they're so unopinionated that it becomes harder to use because it's harder to find exam samples um just because everyone does it so differently and so

we're trying to be mindful of that when we're doing when we're kind of reshaping the cosmos SDK in order to take advantage of these new worlds that are emerging like roll-ups maybe before we go into Roll-Ups like we could go into in your experience what have been the unique selling points of the cosmos SDK and what are kind of like some of the success stories it has had in the in the past the cosmos SDK has um because it's been around for so long it does have a wide range of users so um the binance chain uh the pnb chain is used with is built with Cosmos SDK the new Greenfield project from binance is also used in the cloudless SDK there's

going to be Celestia DUI DX um worm Bowl um kind of the list is kind of ongoing and there's a lot of users that we also don't know about we have a lot of Enterprise users that kind of um hide that their Enterprise and come and ask questions and then we we like help them and then after like they ask to sign an NDA or like some contract then we discovered that it's like some Enterprise using the cosmos SDK so there's definitely been a wide range of users that have been adopting the cosmos SDK I think it's also like Go the language has like become this uh I might get some ridicule for it but it's kind of like java-esque in the Enterprise World

um that people are willing to adopt go in nowadays in the larger Enterprise world and so since we're written in go and it's not like too complicated to write um then and it's fairly easy to understand because it is somewhat opinionated right now then people are like okay I can come and do this and I know it works but I mean I have also so like in the past when I was in the investigate I spent more time playing around with different Frameworks so I have built a few things with substrate participated in a lot of Salona near hackathons and I've been keeping up with OP stack and Arbitron and recently been reading up on the hyper SDK and Avalanche world so it

is um for me it's like I'm not like a cosmos Maxi according to Sunny Edward in Cosmos is like a Bitcoin vaccine at heart um so it's like we're just lovers of of tech and we just like to see what other people are doing and like how they're doing it but also learn from each other I think um in this space and open source entirely like it's an amazing place to like learn from others and be able to grow and really reshape what you're thinking about and so been keeping up with all those things and seeing the directions they are going and how that can influence the SDK and then also with some of the teams we also do talk on a regular basis and so so we throw our ideas at each other to try and challenge what we can do with our Frameworks

yeah I think one of the core like I guess always like selling points of Cosmos in general right is IBC and sort of the promise to be able to bridge like without having to have some like sort of multisig bridge and just doing it like natively sort of more or less in inside the between the protocols and I guess that's also where I at least see like some of these other Frameworks that don't have IBC sort of maybe struggling or like trying to some different approaches is is that like correct in your sense or can you explain a little bit how IBC fits in the cosmos SDK space and maybe like how even other Frameworks or how are they approaching interoper interoperability and if that's if that is like one of the unique things

in Cosmos or if other framers can also adopt IBC and and kind of the current state in your opinion yeah definitely I think IBC um has a lot more potential than only Cosmos and I think the cosmos SDK is enticing for a lot of users because it's just like hey like I can launch a chain and immediately get access to other chains they don't have to launch um a module or smart contract on my chain I don't have to do this Partnerships it just becomes trustless and I can just launch it um day one and like the ecosystem in Cosmos to relayer ecosystems very willing to just run relayers right now um there is there's like fees being worked out

um in protocol fees for them but um the growth of IBC has really helped shape the cosmos and the users of Cosmos definitely other Frameworks it's interesting to see so at the core IBC is more it's a library as well um and it's like you can really compose different clients and so when we look at IBC today everyone's like oh this is a cosmosis thing but at the end of the day the implementation within IBC go is a tender mint like client um verification verifier and so if you were to but this is only a single client you can have different clients for baby Grandpa HotShots all these different consensus protocols

um that and also that once you get out of consensus protocols you can have different like you can have fraud proof clients you can have validity approved clients that like IBC now can work within these different ecosystems and this has been like a thing that's gaining adoption within the IBC teams and so they are working on like expanding it and I always see it benefiting the cosmos SDK even more because all of a sudden like if you can communicate trustlessly and establish connections between Roll-Ups a lot easier than hey we need to go get a bridging protocol to come in and Deploy on us we have to go do BD we have to go do partnership we have to do all this

stuff to oh like I can connect to base day one and not have to worry about anything I can do like entertaining accounts with bass I can do interchange accounts with um the optimism roll up or with Zora or with all these other things then it's all of a sudden a huge game changer where people were like okay in order for me to find product Market fit I need to build something that also uses all these other protocols and up until now it's been pretty siled and like how to get that adoption so yeah let's let's see how kind of like Cosmos SDK compares to these other Frameworks that you've experimented with so that they threw like substrate maybe

we can start with substrate yeah what are the big differences between Cosmos SDK and and substrate well first of all it's written in rosters go and uh I I love to say that like blockchain people just love rust um over over anything and so um but substrate is like the I'd say it's very abstracted in the API surface is very large um it's an amazing product and like as we've seen like a bale is written in is written using substrate um they were able to really accelerate um their development cycle and then we have um the Stark Med sequencer Madera um from the Lambda class people and they're using substrate as well

um and so it's very useful in what you can do I think it's like as you go down the stack it becomes more and more complicated on how to swap out certain functionality and then also substrate now has this direction that they're kind of going in a more direction of Walzem instead of native and I think like the that is like a really good direction because you can have like more swampable things on the fly but the downside is the user base kind of becomes limited because now the user base has to do everything within the wasm VM instead of doing it within native rust code the writing and like how you write a substrate they call it a palette or a frame I believe

um has progressed a lot over the years and for me many times it's like if you're writing a new rust SDK for Roll-Ups or Chains It's like it's very hard to compete with substrate just because it's it has so much functionality already there that like if you were to try it then you're always going to be um at least a year behind the substrate um so substrate substrate has been really good um salon and near are like there I I was playing around with Salon in the early days it was a bit of a struggle to write uh contracts in the early days now it's become a lot better but um at the same time it's like you're you're developing a smart contract over a um or an application specific chain or roll up so it is a different world same

thing with near nears ux has they did a lot of focus on it so it has been only getting better and quite simple to understand but now it's like now when we dive into like what's going on in the rollup space I don't know it's all solidity so like there isn't really a comparison it's just like everyone just uses solidity so it's like if you write a solidity contract one place you can kind of carry it over to 10 15 different other places just because it's all the same thing right so even these Frameworks like for op stack or something they are they are written in solidity like Ops X like written and go um and I think arboretums um so is written in Rust but they have like uh they call them but it's like you

end up deploying your code as a smart contract now you can do pre-compiles um with OP stack I believe you can write them in different languages so here it's like you're using Go versus rust again but you're using a lot less of that code um of that language you're kind of like defaulting always to rest because it's you launch the op you launch the roll up and it may be you or someone else running the the roll up and it's usually a centralized sequencer and then posting um data but you don't have to worry about any of that core low level stuff it's all you really care about the solidity I guess actually something that I wanted

to ask is also around like you know I guess a lot of the people are now building infra again we're in the bear Market there's not that many applications there is liquidity on ethereum which probably explains also why a lot of things are focused around evm ethereum in general now I guess all these sdks sort of also don't don't have really like a business model right now um I guess there's been this struggle in Cosmos for a longest time since it was very designed very in this modular way where it essentially like Adam some people were even questioning what's the value accrual for Adam if there's like not the applications there right

and then sort of ICS came along to kind of solve it a bit um to basically go back to more this model where like the chord chain like lenses security and can through that generate value for the core the totem now you know how does that interact with SDK and what's like sort of your view of how this future plays out like what's the role of the SDK and in in in these like sort of token world and value work rule so it is it's like you definitely bring up a good point where the the cycle of like value accrual in that question is coming a lot faster in

these other ecosystems and it's like okay now like everyone's launching a roll up with these different Stacks um and maybe one of this maybe these Stacks kind of like optimism and arbitrarily have their own like roll up or chain now how does the value of cruel come back to their token um like ethereum is a bit like pushing that like oh or Roll Up is technically uh a the definition of a roll-up is something that burns Eve and so in that world it's like how if if you shift away from like burning eth and all of a sudden like what is the value of plural um then how do you like stay aligned with ethereum um in Cosmos yeah it's it's definitely been a hard and it's definitely hard

being at the at the core layer just because you kind of have to always ask this question and working closely with the ICF they're also um asking this question and like informal uh IBC team and many other teams are always kind of like thinking like how can we um get funding from other teams as well because like the ICF funding won't last forever and so it is a hard question and I don't think we have a clear answer right now other than like oh let's go to community pools and like um seek funding there but I don't think that's like a end-all be-all solution it's definitely like we can't change the licensing the interesting thing about

Cosmos is um if you contribute to many other ecosystems as a contributor you have to like sign a CLA like sign your contribution over to the company operating or facilitating the maintenance of the project in Cosmos it's actually all developers own their own contributions and so we can't necessarily change the license of code because we don't own all the code and or like um us the maintenance team and so on don't own all the code it's the it's the code owned by the ecosystem by the contributors so that makes it even a bit harder because it's like if you want to shift the license then all of a sudden you need to seek approval from everyone

who contributed over the years and becomes like a larger issue with the roll-up space it is interesting seeing in like in Paris at ECC people are already talking about like the fragmentation problem that's um that they may have seen Cosmos and other ecosystems run into that okay now you have all these chains interconnected but now you have usdc issued on all these different chains and now how do you like interact and you get this fragmentation of liquidity fragmentation of users um how do you bring that all together into like a single solid um like let's say front page for new users instead of having to go search across like 50 different front ends

and it's it's interesting to see that like that conversation is coming up earlier and it's going to be interesting to see what's come up but at least in Cosmos right now um there is definitely a big push to trying to line all these different apps kind of create an app store um but I think and and pass that uh past the App Store there's also a lot of things that are like IBC that users are trying to make seamless so like skip is making it you can unwind tokens with IBC you can swap tokens you don't have to have to you don't have to have gas on this other chain that you want to do the swap or something like that um and that it just works out of the box and these sort of ux wins is what's going to be really beneficial to end

users because now all of a sudden when you go to a new chain you have to have their gas token and they did in order to do that functionality but now it's like hey I want to swap X for y I don't care what chain or what liquidity pool or what decks you go through it just works and it's kind of going in that direction so there's going to be a lot of these aggregators that start popping up in Cosmos and I think in The Wider blockchain ecosystem squid is also a good example that it just site users interact with that they use end user doesn't know where the funds are really coming from they display it but probably like the pro user cares but then the normal retail user most likely this doesn't care they just want something to be received when they send something out

Marco it seems like like Cosmos SDK is the most mature Stacks to be an application application specific blockchain and then you have all of these VMS also working on it right so the evm specifically but cosm wasn't a Golic VM all of them are working why is it that a project like optimism needed to build their own SDK or like own blockchain development framework and why could they not borrow the cosmos SDK itself for that purpose is there something in the ethereum ecosystem where compatibility

with the designs of L2 Bridges means that you need to develop something on their own or could actually like the cosmos SDK stack be used to build those in the ethereum ecosystem so so I think like I mean there's multiple answers and there's definitely a lot of people Everyone you talk to will give you a different answer I do think that Cosmos SDK like in in its current form or the form that it was when um optimism decided to build out the op stack uh what was maybe not fitting their use case and maybe it was like too cumbersome to build um with SDK they needed to modify too much to the point they were just like okay it just might as well like build their own since it's kind of like at

what that's what we would be doing anyways um and then secondly I think like I believe the op stack started from like a fork of death and now with like the Bedrock upgrade now it's like their own thing so they kind of like shifted from a fork up yeah to now Bedrock um and became their own thing so it was a a clearer path for them to do that we hope in the future that like uh users uh so right now everyone's kind of like on the op stack and it's kind of like the the VC buzzword um to like be building on the op stack um and that's like a whole whole different conversation about like itching yourself as a builder on a stack but we hope that like in the future with a lot of these refactors with uh

partnering with teams like bulkit and dimension that when you go to build a roll up now all of a sudden it's not anymore like oh I want to I'm going to build the op stack because that's like what everyone else is doing it's like okay now you really ask like what functionality do I want and what functionality do all these things offer in that comparison like to a certain level there will be like the cosmos SDK like there are websites already popping up on these like Ras website the roll up as a service that is like you can deploy a dimension roll up that uses the cosmos SDK under the hood um and this this becomes harder and harder because it's uh so like Dimension and Rule kit everyone's gonna be like Deployable kit or like uh if you're

using if you want to use Polaris from bear chain like the deploy a Polaris roll up but on the back end you're most likely using the cosmos SDK and so it's like we want the so it's like the Carlos sda's goal um is somewhat to transcend Cosmos that it's like hey like if you're using this framework or using this uh virtual machine you don't necessarily know you're using the cosmos SDK and it's just kind of like there for you um we hope it goes in that direction and we're really pushing to go in that direction but I do think it was a good choice by optimism to develop their own stack um because of how the SDK was back when they made the decision yeah the infrastructure like everyone's kind of uh it's very easy to raise money

and then and blockchain um I'm not like I don't mean to like call anyone out because it's like Cosmos is the same way and like everyone is the same way that we just love rebuilding uh rebuilding the wheel and so instead of like kind of like using something out there it's like oh like we can do it ourselves better and then it's like you lose a year developing it um and it's kind of like been the conundrum that everyone kind of ends up in and then we have other users who are using Comet and when I talk to them about the cosmos SDK they're like a year into building their state machine and they're like yeah we should have just used the cosmos SDK because it is very hard to build your own State machine right I I definitely think that is sort of the case if you just look at the

cycle and then how how it plays out and how the new bus comes along right now again I think but maybe you know out of all of this experimentation right I guess that's sort of the thing to get the best emerges writers also like a competition and we with the better infrastructure to actually build applications that users use when when they come so I guess that's the hope I do think maybe because we also had the hyper SDK uh Patrick on from Apple apps maybe you can can you like explain because I think his well I guess their approach is much it's very like performance focused right it's kind of like he's building this thing to like really be super like performant versus and and I guess maybe just your views of what

they're building and how how that maybe works in a like IBC Cosmos SDK world can they interoperate somehow or how's your yeah I think um I mean hyper SDK is like very cleanly written like hats off to Patrick and that team it is very performant it I do think it's like a definitely a different approach to users and I also think that their license has like some weird like need to use need to build on Abba to be able to use it or something like that um I thought I thought I read that a couple weeks ago the SDK is like so the early days of SDK was always like on um liveness and safety

um and this has kind of been the Cornerstone of like uh tendermen to now Comet and also IPC and so it's always been safety and liveness and performance hasn't been the highest kind of like priority for the cosmos SDK and The Interchange stack as developers now this is all shifting so it's like we do feel comfortable with them on a safety and liveness that we have achieved within all these different layers in the stack and now it's like now we're rewriting or refactoring levels to become extremely performant and so we are moving in that direction I do think that like there is a team that's like building an Ava and that's uh integrating IBC into kind of like the entry point into Avalanche

um so there is like exciting stuff going on that like ABC is going Beyond um but I do think within their worlds um like they they would kind of need to avoid they would kind of need IBC to like go out of avalanche trustlessly without a multi-sig bridge but within like their subnets there isn't really a need for IBC because they have their own communication protocol that fits their needs um and so it's really IBC like we kind of in the early days there was oh like where you have blockchains but now all these blockchains are silos we need a bridging protocol and then now we have a multi-sig Bridges between ecosystems and then we have trustless bridging within ecosystems and now the question

is like how do we get trust us bridging between ecosystems yeah to me it does seem that you know because everyone else it seems like from out from some observations I guess that pushing more their stag and like trying to blend the token in even these licenses what you mentioned Mark where is the cosmos approach is the most friendly to like outside contributors and sort of adoption but I guess they're still pressure from all these investors and from value accrual to maybe like not use that so yeah I do think maybe this is gonna remain an issue for a long long time people in Cosmos and polka dot ecosystem like like three years ago like you could raise money saying you built on polka

dot like two years ago you could say what you could raise money saying You're Building off the cosmos building in Cosmos now you can raise money saying you're building up the op stack or something next year it could be something else and the year after that it's something else and the thing that always comes back to the team that sold as we are building on x-stack now the BC has come back and say hey why are you still building on that side why don't you go to this other stack and it's just becoming more and more like hey like um people like a friend of mine got asked the same question from OBC like hey like why are you selling book it up and it just kind of like the stack doesn't necessarily matter it's like asking like why is the back end written on Express instead of in node.js instead

of rust it's like it doesn't matter as long as there's a product that people are using on the front end one of the big differences between the ethereum and uh ethereum ecosystem and the cosmos ecosystem is in the ethereum ecosystem like one can imagine like the the road map of having all of these roll ups or l2s as being focused on developing a new form of bridging technology meaning that um the idea is that if I am I'm on ethereum Main net and if I break some tokens onto a an L2 or a roll up if

some misbehavior happens on the roll up I can go to back to the ethereum mainnet presumably submit some kind of fraught proofs although that functionality is not live on many of the ldus today but the ultimate vision is I should be able to present a fraud proof and get my ether or my erc20 tokens back on the ecdm main net and one can really imagine this as okay this is this is a form of bridging technology it's it's a bridge with kind of like short proofs on on one side but you could also Imagine That same technology being like short books on other side meaning

if I my tokens originated on the roll up if I took them to it on to ethereum and then there was a big uh hack of DCM Network itself then I should be able to go back to the roller and claim my assets back by submitting the fraud proofs the proofs of the fraud on ethereum back on their own so you can think of like really the centerpiece of ethereums ecosystem roadmap is British should be built in that particular way and it is still opinionated on like that being the correct way to build purchase the cosmos ecosystem will bridges are kind of like built differently where it's actually pretty much the same

functionality except that the focus is not there on fraud proofs and being able to reclaim your assets if there's visiting behavior on the other side so meaning if there's two chains A and B if I take my assets from A to B in the cosmos ecosystem and there's a major attack on chain B then I necessarily don't have out of the box technology to go back to chain a present some kind of fraud proof and get my assets back it is assumed that if that case happens well the community we'll we'll figure it out the software developers will figure it out and get

the assets back and in the right hands like the point why do you think this difference exists and why doesn't the cosmos ecosystem also invest in like short proof technology you you could say that social consensus is more the ethereum way than automating it um but um no I I do think so uh the Celestia team worked very hard to get like fraud groups working within the SDK like um a single round fraud groups and we are working on like upstreaming it and like uh working and allowing teams to use it um and so there will be like better functionality out there to use fraud proofs and we are experimenting with

different like commitment structures to do different things um to make it more efficient and or we're going to start researching in the in the fall and leading into the next year um around validity proof so how we can really play around with um well ability proofs and also like ZK technology within the cosmos SDK just because the cosmos ecosystem has somewhat been lacking in that in that space um I I'd say it's just it's just an area that hasn't been quite explored that drastically yet but there's becoming there's more and more discussions coming up and so they're uh the cosmos help is talking about during like more of a

social consensus fraud proof until fraud proofs are like kind of proven to work in the SDK in the cosmos SDK and then there's uh osmosis recently announced that they will be working with Celestia and using fraud proofs for mesh security related things and so there is a an adoption of fraud proofs and different um different types of proofs being adopted in the cosmos ecosystem but I I will say that we are lagging a bit compared to I mean not necessarily because they're like you said there are some blow-ups that don't have fraud proofs yet I mean they're still working on it and so there is a world that there is a you could say that like we are exploring it the same way other teams

are exploring it as well yeah I guess it might just not be as Central to the narrative and like I guess for Celestia maybe more so than other crossovers but I guess in ethereum you have to like highlight that you're doing this to keep the ethereum community like on your side in a way yeah to make people happy and so it's been talked about here and there in Cosmos but yeah it's kind of like oh like someone talks about it brings it up we talk to teams um about it Dimension um osmosis announce Celestia and so on and different ways to like design um with role kids in mind and with uh I think it's Diamond um from dimension in mind like how to do

it with fraud proofs and so there was that discussion going on it's just not um front and center right cool yeah um I think we're like hitting the hour marks as a very good uh discussion I really hope people learned a lot about like um you know blockchain specific Frameworks from from the OG himself and like probably one of the most knowledgeable people across the ecosystem so really uh exciting to hear from you and and being able to hear like lessons you've learned over the years I think maybe um to wrap it up we can talk a little bit about you know what where can people get involved with the cosmos SDK how

do you get in touch with Team how do you build on the cosmos SDK yeah so I mean there's multiple ways and if you're a new project um and not only need technical help there's The Interchange Builders program and it's not limited to blockchains like if you're doing a roll-up using any part of The Interchange sack like you could only be using IVC you could be using um Comet roll kit um the cosmos SDK Cosmos and the list really goes on if you need help with anything outside of the tech you can definitely go to the energy and Builders program and then for Tech wise um really our Discord and our GitHub discussion board so if you go to the

cosmos GitHub organization there's a community discussion board where we're constantly answering questions about the cosmos SK how to build with it and there's tutorials they're being updated for the upcoming release on the ecosystems really excited about that there's a lot of fixes a lot of deletion of code for writing mode angels and interacting with VMS and so the ux is only getting better also Marco thanks so much for coming on the epicenter and yeah have a great week likewise thanks for having me