Ethan Frey: CosmWasm – The Smart Contracting Platform for Cosmos #457
19 Aug 2022 · 1:13:17
Ethan Frey, founder of CosmWasm, explains how the smart contracting platform brings WebAssembly to the Cosmos ecosystem. Built as a module that plugs into the Cosmos SDK, CosmWasm lets any Cosmos chain add smart contract support without rewriting existing logic, and Frey covers its interaction with the Inter-Blockchain Communication protocol and its use in cross-chain applications.
Speakers
Topics
Transcript
welcome to episode of the show which talks about the technologies projects and people driving decentralization and the blockchain revolution i'm brian crane and today i'm speaking with ethan frey who is the co-founder who's the founder of calls and wasm the founder of confio and you know we're going to get a lot into what that is and the kind of impact it has had uh before we do that just a brief word from our sponsor so we have tally ho tally ho is redefining the wallet as a public good you can think of it a bit like a community owned alternative to metamask uh dalio offers smooth user experience compared to other wallets impressive ui
users can easily see all of their accounts at once and swap between assets within a wallet at a much lower price and they also have a great ledger integration ens support and uns domain name support they also recently added polygon uh so as a first uh sidechain and you know it's easy and ready to use uh on there and with tallyho you can also enter the metaverse with a web3 wallet that's fully community owned and operated and it's it's uh controlled by the tally ho dao and their commitment to community ownership goes pretty far so including that they became a first sponsor of
etherjs an open source javascript library to help developers connect to theorem and they pledge some of their tokens to a git coin aqueduct so go to tally.cash download to check it out and yeah get involved in telecash so with that let's go to uh ethan it's great to have you on yeah it's good to be here thank you for having me yeah absolutely so ethan we have known each other for quite a while it's been i don't know five and a half years or something so we were both we both joined the tenement team around the same time at the like very start of 2017 i think we were something like there was
maybe three or four people before us and then there was basically two of us at the same time we were both in berlin and sort of this was as at the inception of uh the cosmos network and so uh yeah it's and of course ethan has has gone on to do lots of work uh especially in the cosmos ecosystem that has uh you know gotten too much uh much traction and much impact as well so i'm excited to you know finally have him you know have you on but maybe we can just hear a little bit like sort of about your background like how did you end up getting involved in the crypto space and in
uh the cosmos ecosystem more specifically yeah cool yeah thanks for that intro and it was actually really cool 2017 remembering those days and then going out to some um meet up back january 2017. i know the first time we met or like second time at the cafe before that but with um gavin wood and jay quan talking about multi-chain polka dot and cosmos and vitalika's audience and it was like this early day of crypto and uh in berlin it was pretty cool cool times but yeah i got into i don't know uh crypto kind of found me like you didn't let me alone and i remember someone was like pitching bitcoin to me back in 2010
right and or 2011. 2011 i guess it was like the new money and um yeah it's 2011. um and i just didn't i don't know like i saw this thing oh that's kind of cool but like i don't know it doesn't do anything different than gold so like that's not cool i don't know like i was not looking for an investor i'm like the worst investment mind do not accept any investment advice i give you of what's valuable that's valuable but like i look at the tech of it and i was kind of like looking at you know thinking about actually community currencies and like you know post-modern money and what the next generation of information money is when there's no scarcity and like concepts like this um before that because it's kind of my hobby i don't know side projects um and bitcoin for me is like wow you can make
money on the internet it's really stable and it's real it's like gold and like well gold's a bit like you know old and then i heard ripple sometime and they're like oh like 2013 14 13 13. i was actually some squad near barcelona and this guy was trying to turn me onto ripple and uh and they're like oh that's like just a decentralized iban uh you know swift network something that goes really fast and like so you can swap currencies like i don't do foreign exchange trading i'm not a trader like what can i do with it he's like you can swap currencies i'm like okay i didn't actually get into that all and it was sometime around um they kept coming back people kept trying to pitch this stuff to me right and believed like the technology but not like the
i didn't see it because i'm not a trader i didn't really get the get it uh from the money aspect and i want something new and so like 2014 14 i was at a workshop in berlin on sociocracy which is interesting and this guy came up to me uh the only guy in a suit in the whole place and he started talking and he was trying to invent like a new program of money and it was like you know on blockchain for ground money with the wallets holding all the assets and like you could have different community-based rules the government's creating this stuff right this stuff doesn't exist now he's kind of this visionary um and i got very very intrigued what he was talking about because he said you know you could have basically community governed rules on the money the money
actually rules programmable money the idea uh in 2014 which is pretty new for me it's like oh that's cool you can actually behave differently that's interesting we can invent early money so that kind of got me hooked an idea of it and so he showed me what ethereum was like around the ico time the world computer ideas and like pointing to heiress industries uh which was you know laboratory monax which is like this incubator of tendermint somehow and i don't really know how the stuff is fitting together but somehow through that luxury errors like that's cool like you know and then i saw this ghost stuff i'm like looking this code i'm like well this guy makes sense and it like started just like there's something like oh i could have blocked entitlement i like this tenement idea that's really cool idea so
i went and taught myself go and got a job program and go and sometimes 2016 i started trying to build my own app on tenement um you know this is and there's some like little slack people a bunch of other people trying to build apps and tenant and i was like you know i still have that somewhere on github is like react signposts i was like trying to make like a basically a blog post that would just be whatever you could blog an internet on the blockchain something um with a react app and trying to figure out how to do that instead of like yeah i started working on this as like the first step of building programming money on my own tenant chain back in 2016 because i thought that would be you know easy right um and uh and somehow i started going on
there and filing a bunch of bugs on tendermint and then patching bugs and tendermint because that's what i did i was doing web dev for a while and contributed heavily back to open source projects like [ __ ] and postgres and stuff so you know you just patch bugs you upstream them so i started doing that and uh and somehow bucky's like who are you what are you doing here who are you working for i'm like no one i'm trying to build my own money uh this is cool stuff we got going on he's like work for us i'm like um i'm having my job right now and then like two months later like i got anger and boss well it was making me work weekends and nights i said i wouldn't do that so i said i'm quitting if you make you work nicer
weekends so um so yeah then i said hey you guys i'm open and i met them in met them in zurich november 2016 and they basically red pilled me red pilled me on ibc on tendermint on pos on everything and uh yeah i i can't leave it since then cool amazing i wasn't actually aware that you you kind of like found it through aeros industries which is the company i was also working for in 2015 and 16 so and maybe talk a little bit about what did you work on in the time when you were you know at tenement or like at at the company back then yeah so the first thing i did was really
work in the ivl tree and try to speed it up so i did some benchmarking early benchmarks and tests on it and then try to speed it up which was like then um things are too premature we don't need to speed up anymore so i guess it's true at the time early 2017 but like now's in these bottlenecks and then moved on to try to bail apps so i actually basically took what was basecoin was this little app that had demo app and try to make a real app clean it up i so i turned into i started doing the first uh prototype of ibc based on the the very vague spec in the white paper um i then made said hey this lapse is limited let's build something real so i built the um the first version of the cosmos sdk the zero six year seven is basically me
building it out uh over the of the summer with help from rigel a bit um i built that out heavily i came up with the whole idea the rest client lcd was like we're trying to sign it i was working with um uh was matt and judd from nomic now they're working there and they're trying to build front-end apps and they couldn't actually sign amino transactions so i'm like okay let's make this like little small little rest server app that like helps you do the cryptography on the server side until we have a proper js amino library in six months from now um so yeah i did this stuff so i'm sorry sometimes because that got legacy code but whatever it was in advance the time to allow the whole lcd rest server idea i built sdk out there um and then that
was kind of frozen for a lot of internal discussions the sdk was put on basically hold um to be considered and reconsidered um and then meanwhile basically wrote the ibc white paper so if you saw anything rbc in 2017 that was like i wrote a whole spec out of it uh which is now isis 20s obviously got bigger and bigger like the concept got bigger but then the unusual time was basically token transfer so basically specced out token transfer uh with the idea of acknowledgments um and timeouts uh cleanups uh stuff like that rather than just having these fire and forget messages um so a bunch of stuff merkel proofs ics-23 i wrote the like client proofs and stuff like that it was really really an ipc um and some of that code's still around it
moved up four times although like client proof stuff moved up four times in repos and i think it's intended now uh but yeah if you look way way way way back once i was the author of that cool very cool and and then what's uh how do you end up working on uh causing watson yeah so um i basically first like a little frustrated at the pace in in aib because there's a lot of decisions being made and they're all made in california time at which is like you know my evening um and if you know by 11 a.m their time when they're waking up i was pretty much clocking out of work usually uh it was 9 p.m 8 p.m in berlin
um so i was not really involved in decision making and in fact no one in berlin was really and it felt like this injury made somehow and anyway um uh the sdk was basically put on hold indefinitely and nothing really could work on and a few other things got blocked i'm working on so i said this is kind of boring i want to build something so i said i'm going to build my thing so i found another company that was offered to hire me i said cool i want to build another sdk so i basically took the idea built the first sdk built something called weave at iov and it basically had you know so in early 2018 i had protobuf going on there i had a javascript uh front end that was talking directly to it so you had basically you know cosm.js talking with
no light client directly proto of signing messages and calling them we had multisigs in there um yeah in 2018 kind of built out the basic stuff um some basic groups governance modules and stuff like that were in there as well and a lot of the and some basic um swap token stuff um in there that was i did a 2018 and then towards the end of that year i realized that like there was not really a business going around with this stuff it was cool we had a nice team we were building this stuff up we had a business case wasn't really maturing and there's a little yeah internal issues that say and so i got a little i don't know i watched the sdk go at its own pace and uh go to home pace and then like you know get more and more and more
devs and um then showed up at uh inner chain that's a really [ __ ] awesome uh sorry i should leave that out but awesome uh conference there 2019 um i'm pretty sure there too um of course one was like yeah yeah the entertaining conversations in berlin that's really awesome really awesome like everyone from the cosmos came the castle had been launched like three months earlier and like i don't know everyone showed up there like is everyone right and like nobody even had their own blockchains then there's kind of like all these people had a little project small projects right um there's an amazing group of people show up there three demos of conversations and and discussion and then a hackathon at the end of it and in that i met a lot of cool people um
and we kind of come together it's like let's build something and i realized that like you know yeah no one's gonna take weave uh and i'll drop it and i'll look use sdk again but i'm you know not really want to hack the sdk so much but let's do something and uh then i'm sitting around this table and we kind of got a bunch of people they're floating around anyway it was like me aaron uh regen jehan who's now informal from maltea um shane who's now at uh stargaze and then somehow pedro from all connect showed up there um and we ended up like so let's make a team and let's build awesome contracts and let's build cosmos and smart con or was some smart contracts in the sdk i'm like sure why not it's two days um and
there's basically three of us working on it like they also built the group's module kind of in the way multi-stake stuff um at the same time shane and aaron and then basically it was like uh um you had me building that and uh and pedophile connect on the front end so it's knocked it out on the weekend i didn't sleep i kind of closed my eyes for an hour um and yeah i learned a lot of rust and you have some amazing stuff there too within rust and um we knocked it out it was awesome we got contracts working it was crazy we were uploading contracts and running them so it was like you know don't push it falls over but like if you do it right it ran so it's pretty amazing for us actually um and i got super excited for that i said
like yeah this is awesome it's the most awesome project i've worked on in years and like this green field of like building something new um and it's compatible with everything else people are using already so that was really what i learned it's like you know i don't want to fork this decay and go off my own way or make my own version and compete like really like everyone wants to use this tooling let's build a tool and add power so everyone can use it and be compatible with everyone so that was really cool and i said i got a grant from that one of the prizes got a relatively small grant uh to follow up on it and said let's all build it guys i know let's do a few hours a week and um and everyone else is too busy they're all ctos it was like a team of ctos and
i was only when they said okay i quit my job and start doing this um so yeah i did and and three years later here's where it is cool awesome well maybe we can take a zoom out a little bit because so web assembly right i think a lot of people have heard of webassembly right web assembly has often been kind of touted as oh it's this like you know powerful platform uh ethereum i think at one point was like thinking of adopting webassembly you know there were some other projects that were like very heavily uh emphasizing webassembly i think especially i remember dfinity was always like webassembly webassembly can you
can you tell us like what is web assembly and like what's interesting about webassembly web assembly it's a funny history it's originally trying to make the web faster which caused webassembly but nothing really did the web anymore except that it can often run the web um there's some project called asm.js that from mozilla that was trying to like optimize javascript so you could pre-compile it or asd faster anyway then they basically think of web assembly which is a vm and i think ethereum done two or three layers years later would have used it it's a very very simple virtual machine um it's a 32-bit processor with some stack calls that has like 150 operations
um it's a pretty simple relatively simple architecture it involves no run time no system um there is i think a way of allocating memory and um like no garbage collector just like allocate block to memory like expand the memory space they want to have access to see how much images have access to and expand it linearly right like that's all it has um and everything else is added as an optional import or export if you want to expose something you make an export and if you want to call into external system import and you have to assume you have this this dynamic that like this is some approach you didn't have access to files no access to network no nothing um
and i think if you consider the jvm which is the first real popular vm there um java virtual machine that came out there and that was basically like in a whole runtime you have like the virtual machine which has a 32-bit architecture with the stack and pushing stuff on it and how it worked but also the system library of how to interact with the system and how to interact with the files and how to interact with it's a whole position client system is an operating system basically not just a virtual machine and this defines a processor it defines a processor nothing else and anyone can plug any system they want to like there's a project called wazi um webassembly system interface which is kind of a posix-like interface um which it says if we expose exports into it so they can use it and then you
can say okay we only give you access to these three files and that's all you see the whole world and you can control the control it somehow if you compare it with you know like a vm that people are kind of like familiar with in the in the blockchain context is you know the ethereum virtual machine so what are the advantages or maybe disadvantages that this virtual machine has versus the ethereum virtual machine so i said the first thing is it's general purpose which is a good and bad thing right the evm is built for ethereum blockchain or a blockchain and it comes always pre-compiles for computes and it comes the whole lot of understanding of like where things are called and the interactions of calling
other functions it's very and these call methods which require blockchain it's like the virtual the language of vm is tied to a blockchain you have call functions create functions like with bytecode like it's tied to itself it ties this concept of the evm it's not separated from the runtime it's like the evm is not just a machine it's the runtime which means it's like very like the jvm is for one use case right and it's it has a use case and it's very tailored which can be very good because it's tailored towards it um the bad thing is you have no tooling around it and you have no optimization around it and i think we see it as being slow you see has issues and i think what happened with webassembly is it's a very generic
one very general purpose one and so suddenly a lot of different languages start targeting it and they said oh we can write c and compile that to webassembly right we can pile c plus plus we can pile rust we can pop the web assembly there's a project called tiny girl called go to webassembly um there's a bunch of other projects that are like in progress for lots of other languages and i mean it works best for static type languages low level languages right now um but a lot of different languages being compiled like haskell there's some haskell the webassembly thing so you can take all these using language compile it to as a back end and they can just run at it like they run on a intel architecture they run on a mac m1 arm architecture right they run on some
older embedded cpus they can run on a wasm uh webassembly vm um so i think that fact first of all allows those whole tooling of lots of different front-end coding you have to build your own language and your own stuff you can use existing codes and the second thing you do is because of that interface no one else tries to build other people try to build the vms and so people just interpreters for it faster and faster right so there's like an interpreter built in your browser there's probably two or three of them out there right one from google one from mozilla i think one from safari um there is uh wazi which is polka dot which interpreter which doesn't is not legit um a lot of them will take that wasa code and compile it into optimized local code and run it
there sandbox local code so it makes it much faster it's like an optimization called just in time compilation um there's was routes we use and while some time which are two kind of competing things which also do either precompiling or just in time compiling of the code's native code and run it to get really fast compilation um there's some other ones out there too so there's a bunch of smart people doing it and you're not tied to one project interpreting it you're not tied to one project building tooling around it you're leveraging five six different language ecosystems the entire tooling of rust you can use just out of the box with webassembly and then you have like five or six different backends you can choose from and who's going to write you the vm who implements a vm that runs this wasa it's just a
standard basically it's a standard middleware and it's not really tied to a blockchain or anything else people running redis in webassembly system interface right so you can do anything in it um and then it allows you to leverage this huge amount of tooling and people work in optimizing it as fast as they can so rust is really heavily optimized amazing of pilot engineers and in wasm time they're compiling was them to like the most efficient biker they can and they gain some really really impressive stuff they're really impressive compiler low-level designers working this full-time that we're not paying for that like multiple people are paying for and like top-of-the-line stuff that you're not trying to recruit them as your own blockchain project you just like leverage them so i think it's because it's a whole ecosystem and it's so
compatible and so generic it allows this huge ecosystem of many companies to build to elaborate which is powerful um at the time the evm was launched it was not around it was not available it was kind of in some way idea stage it was i understand when to build the evm they had to that was the best of the time they could have done but like now i see that came out later and they say hey this is a whole ecosystem we can use it and then we just customize a few things on it like the entry points we expose the contracts and we can run it so polka dot is running i'll complete the web assembly as well okay so that's very helpful when you when now now let's talk about cause and wasm i guess one thing that probably a lot of
people are not aware of and maybe you can talk a little bit about it right but is that in in cause in the cosmos sdk right you have this concept that there's like different plugins right so you have these different modules and then there will be like it you know a module that's like a staking module or a mod the ibc module and and you have these different modules and then you know the different sdk blockchains can say oh we use some of them we develop some of our own and then you know cause and wasn't right basically means like okay you're taking this web assembly and you're putting it as a module inside the cosmos sdk is that is that correct and like what what are some of the
what are some of the you know the consequences of like putting the web assembly inside this cosmos sdk framework yeah yeah it's a kind of funny question actually so like you're right there are these modules and so the sdk is pretty amazing plug-in set so you can add different modules um and it's easy to kind of like import code from here add your own code and extend it it's meant to be extensible it is it's very extensible what it does require though is a hard fork every time you want to change it so if you write like you deploy a new amm module right and you want to add it then you have to basically get that merged into the main codebase of the code and then get the entire blockchain to stop
switch out the binaries out there run some script now it's a little more optimized okay for that was like a whole dump dump state restart like three hour issues now it's down to like five ten minutes but still recorded entire blockchain stop or just restart and come with a new code to add the new module remove module update it right um and that is a lot better than working on like bitcoin when you're trying to change it right the core logic of bitcoin or zcash but it's still not like the smart contract development speed so it makes sense for core functionality like governance and staking but we said hey for smart contracts a lot of things just like add them on top they don't really matter you want to deploy them quickly so what we did is we don't store the wasm inside of it we store the walls
on vm so we wrote this entire like we took the webassembly virtual machine uh from wazimer we wrapped it with some standard callbacks so it basically explained its place in the world how it can talk to blockchain so a program can also say hey acquire this other part of the blockchain or send tokens over here or call this other contract right we exposed some functionality to it in a certain frame in certain functions to it it's okay these are your extra special functions for cosmosome contract on top of normal watson contract and um so we built the virtual machine and the rust into a basically a library which we embedded in a module so it's a bit crazy we built basically a a rust library and a dll and then embedded that into a go
binary just running here and the wasm code is never actually not binary the wasm code you upload a transaction just like in in kind of ethereum when you upload code so the actual the virtual machine and the runtime is in this module which then actually calls into every other module the system um but the actual um the wasm code you upload a transaction stores in state um of the state other thing and it just loads that code when needed yeah so that's an important thing right because yeah in the cosmos sdk uh paradigm right like somebody wants to modify some plugins and module and then that requires changing this code new binary you know like
all the validators have to change it it's a lot of friction and here the thing is i can write a bunch of code i put it into a transaction the transaction gets sent and then this wasm vm kind of like unwraps that and then it has that code right and so nothing has nothing outside has to change but now all of a sudden you have like that code in there and i guess that's particularly attractive if and then i guess that's also where cosmos has been has found a lot of usage in the cosmos ecosystem is like oh i want to create a general smart contract chain right where everyone can sort of put their own
contracts on that because that's something that cosmos sdk without something that calls involves them doesn't really support well yeah and a lot of things need to move faster and they don't want the whole chain like a purpose chain during the decks i think they built really good decks on osmosis they based on balancer ideas and some i did some curve and they basically i think it's solid it's a well understood question right but now when you're trying to build stuff on top of it like okay a lending protocol and you want to do some leveraged option stuff on it and they're like okay we actually want the faster custom awesome on it nfts are moving too fast like people trying to coach them go nft thing but it's like it's months behind the space so like i think things that mutiny move faster it's essential and so contracts only the
privilege of a user account external account they have more privileges than another account than you do what i do is on the code these have their own their logics on the blockchain um but they have no more privileges they can hold tokens you can move tokens they have different rules so it's great for things like that which is simple app logic that people want to add and i think the sdk is amazing for things like oh we don't change how fees are handled when a change of consensus works and government fields work we need to change our like you know spam middleware protection and we need to implement ibc as native control which is totally trusted 100 trusted verified code on here which is stable and not changing the foundation for other things so sdk is a great way of composing lots of different projects together to build
foundational levels right whereas cosmos and said okay if you want to do just like business logic app logic not foundational blockchain stuff let's do it there um and i think it's a great combination so like you have five six different teams composing stuff and adding things in there as modules so you can build this sdk base layer and cause them and said okay now all those hundreds of devs that want to run on top of a chain or thousands of devs now that want to run on top of a chain um you can just do it right you don't worry about that platform you don't worry about who's paying what consensus and what the gas fees are you just worry about like running your logic so i think it allows these two things to side by side very well yeah but then like you mentioned osmosis uh
like osmosis right doesn't have generalized smart contracts right it's not like anybody can just go and like put some stuff on on osmosis but they are also i think leveraging cause and wasm in some ways can you talk a little bit about like because as on the example of like generalized smart contract chain right like juno is one example uh probably the best known example in the cosmos ecosystem right where you have this cousin wasn't chain and like you know lots of different people building like lots of different stuff on that but can you talk about the other example right where you're using cause and volume in in a more controlled way you're in a more permissioned way so a number of trains have actually
adopted a little more conservatively than juno has so there's you know early adopters like juno and bo strom from cyber congress some early i mean before that was actually terra and secret the first ones um as permissionless but the uh yeah the first one modern ibc one was juno i guess what they did that's mostly the same thing on stargaze which is basically permissioned contracts it doesn't mean that it allows you to democrat blood code requires governance vote to allow you to use your code right so they basically want to vet all the code on their thing it's a way of saying hey stargazers only wants nfts on there and stuff so if you want to upload a project with nft you basically say hey i'm building a project with the fft i want to launch on your chain they say yes okay and they say hey no this is some
like d5 product you don't want or chain don't come to our chain so they control that first step of being able to upload that contract to instantiate it um once the contact's on the chain it's permissionless right like you know anything you want with it once it's on the chain you basically just have to ask to get the front door and after that runs just like any other contract any other chain it's mostly the same thing they kind of wanted to have a um like everybody can experiment on juno and do stuff in juno and anybody could implement you know they wanted more like a app store feel for osmosis they wanted to have like you know five protocols maybe on there the building on there they can integrate into ecosystem there slowly allow them in there which allows them to scale out not like a general
purpose but they say hey we can have 500 dev teams building different projects and they don't have to get the core code base they can't break a code they can't break the rest of the chain they only can build their own little project so actually we they basically just make agreements with projects beforehand like if you want to run osmosis talk to them and if they like your project they say cool when you finish it we'll let you go on there more or less right it's like you basically get permission first and once you do that you just write your code like you do in juno you go through a process to get approved to get on the chain and once it's on the chain then it runs like anywhere else so it's um except you've actually dex on chain which actually pretty cool so some
people leveraging it for lending protocols et cetera et cetera i think it's um i think that's an option we came early on and we put that early on as an option and it's really being used this year so people being like i want to have custom awesome but i want to control i'm an app chain and cause them awesome chain i want to actually have them both best of both worlds like um yeah on a curated set of applications on my chain but allow third-party devs to easily extend it and yeah i guess you you mentioned terra right which is actually important because uh probably a lot of people are not aware that you know terra was also using calls and blossom and you know all these things that were being built on terra i mean i guess again with the exception of of a bunch of
foundational uh stuff that was like part of the chain logic but you know the applications people were building on terror were built in in they were the first adopter because of awesome i want to say though i want to say one thing ust was not class of awesome ust was not building cosmos and that pre-dead cosmos on the chain they had to change the ust the ust luna whole thing treasury i didn't understand it but that was existing beforehand um but all the other protocols so terror swap and um even anchor and mir protocol um be luna and then the whole series of levana and mars and all these other protocols pumping out they're all constantly awesome um they were the older version they upgrade actually to recent version
um but yeah it was its own custom also ecosystem just didn't have ibc support that kind of actually ties into my my follow-up question here so calls and awesome you have this basically kind of you know separate container right where like code lives and you can kind of like things happening there and then you have like you know other cosmos modules like you know for instance uh there's an ibc module right which is like sending transactions to other chains so i guess you know the calls and wasm contracts have to somehow talk with these other modules or um so how does that interface work and there are there like some limitations around this
yeah so we basically expose some modules um what it's actually json it pass json basically because we're so easy debugging us you know if you can play on json being they're not proto buff talk to jehon uh he even said json the best way because you can easily debug it and um dev tooling but basically pass between that it calls the system with the json blob says hey talk to bank on it and we define an interface for the contract they can call the bank module to mittenberg tokens they can call into the um sticky module the stake tokens and delegate and claim the rewards uh they can call in to the governance one to vote for example um they call the ibc module to send tokens you also allow custom ibc callbacks so you can actually have an ivc protocol built as a contract
i want to get that later um and we allow people to have custom callbacks right this thing called custom so basically you say okay we give you a standard set of things but chains will all want to tie their own ones in there so we have an extension point that you don't have to fork cosmos you don't have a fork or vm you don't fork wasn't anything you use a whole framework and this is an early thing we did early on to make sure people not fork it and said if you want to expose the dex osmosis you can add a special callback to that okay these we have a new structure here which can add embed into the other message called custom and our custom types has mostly message and it runs here and allows you to talk the decks so it basically defines a format um a json
format that you can use for uh for defining call back to your native module and then on your on your blockchain you basically interpret that to do those things so you invent your own message api between the contract and your native blockchain um and a number of people have used that um quite a few have used that as an extension point and i want to actually mention this not just in class of awesome custom awesome is not just on cosmos anymore it is running on a substrate chain which i think is a pretty impressive engineering feat so composable finance has launched a helicopter chain and they have cosmos running in substrate and it's integrated with a bank module it's not i think tied the sticky module ibc they have an ivc yet um but they just run it on you can run contracts
like a cv20 contract and you get an ft on it you can use the same contracts there they have a different js front end but like the back end runs the same they uploaded actually unmodified contracts onto it and running a substrate chain which is pretty cool and what's the what's the benefit of that if you know as you said that uh polka dot already uses webassembly so why port cosmosome onto polka dot yeah i don't know i poked out use web assembly honestly um they use web assembly as a base layer the whole change is running in web assembly but like the same way everything's written in go it's rusted composite web assembly so but you have to upgrade it in a hard fork of the chain and i guess in theory can hard fork the chain without a restart or like automatically restart again so
you upload it it's all permissioned it's it's a very complicated thing if you recompile the whole thing and then you upload these pieces and i i still get to see it be done uh flawlessly but um there the ideas basically allow easy upgrades but still government permissioned and basically you have one new webassembly binary you're switching out to right like it is a giant web assembly project not a smart contract um they have um but doesn't allow a third party it's just the chain developers same with sdk does it they use it as a target they also have something called uh inc which is smart contracting language which compiles webassembly and they upload that and run that as user controlled things but it's not really caught on it was actually existing before casual awesome was dreamed of
right like i saw demos of it like when i wrote cosmo awesome and then looked over i saw like they had done something similar um but never really took off i'm i think it's overly complicated and but i don't know i don't really know why the truth is inc has never taken off over three years all the funding of three and uh there's a project composable that's just really tied into the polka dot ecosystem that uh had tried ink and were frustrated with it so frustrating they decided to put cosmos into a substrate crate a pallet they're called i think like a modules um the vm and talk to us to figure it out and then you know make it compatible because they thought cosmos was such a nicer target than writing ink contracts so i don't know i don't know why i don't know that's
good business choice but they did it and they're happy with it and they're running their stuff on it and they're trying to work rbc as well so uh that's cool um but i think the point was it was designed actually same way that the webassembly virtual machine is not tied to blockchains or ethereum blockchain um the cosmos and virtual machine system we have runs great we have a binding in the cosmos so we love to embed in the cosmos but like they have met somewhere else and it can be embedded other places well so it's actually a relatively um um relatively universal uh target which i think might hopefully in the next few years extends i'd like to see like an avalanche or knee or something like that also running awesome awesome yeah maybe
that ties into the question of kind of where do you see calls and wasn't going is there a lot of what does the development roadmap look like yeah so our original goal released 1-0 back last fall and fall 2021 and i think our goal is then to get changed using it right all upgrading to use it is an ibc enabled version of it using stargate you have to see all that stuff that took some months and this this spring time i was amazed went from like you know four or five changes using it to like you know 13. now it's over 20 chains using this right so we first was like actually let's get people using it and the second thing i uh we're working
on is getting more devs and tara did a great job getting devs on it do you know osmosis they're getting a lot more devs onto this stuff um and we'll work on thing called academyacademy.com and we want to train up devs so right now what we're doing is basically trying to build ecosystem so we got the change running it you have 20 change plus running it now we're giving free classes free tutorials free tooling for for devs to learn it to really build the dengue system from several hundred maybe a thousand devs into far many more like ethereum is a huge number we want to build this out and what i really see is differentiator and what i want to work on and what i am working on besides like helping people building tools and and tutorials for people is ibc so inner chain contracts it's
like i did this in seoul and the hack at him um i demoed it some people hacked on it and like jake did some and some guy from taiki from japan did another one um it's pretty awesome that you can basically deploy a contract on two different chains they talk to each other with like no trusted bridges no multi-stakes nothing can be hacked in the middle of them just like pure guaranteed message passing uh with complete security of ibc um and the contract is called the app logic like if you if you say a message says mint token or men's token or not i don't know or make a governance about or control this dow or or change the threshold of my my lp pool thing or whatever you want to do it's kind of entertaining accounts but like so much more powerful because you
can actually write contracts both sides and that was not possible until you actually had multiple important chains running cosmos and one zero and we were waiting for like three four months ago it was like actually okay great like juno secret uh juno's moses are now one zero and secrets upgrading very shortly i think those are three the top change behind the hub uh on the ecosystem in terms of market cap at least and they're all running injective also is another big chain they're also running it so like a lot of people are running it now so most of the changes as the hub are running cosmosome which means you can actually build a protocol that spans three four five chains uh using ibc messages and write an entire not just your app logic but actually the protocol communication there that's like writing your own api
servers and talking blockchain blockchain with no bridge hacks involved and that's really why i see the future and that's really where i'm going to put a lot of work into not just not just uh building it also documenting try to explain it but also try to build these things out there because hey i'm trying to build something that doesn't exist yet so it's hard to teach people tutorials something doesn't exist so i gotta build this stuff first and then show you how to build it um but i've just built some prototypes out there and it's amazingly fast so i think one thing we did talk about before uh on this podcast maybe some people have heard of are aware of is in cosmos this concept of interchange accounts which basically you have like an account on one chain and then you can control it from another
chain so let's say uh for example there's a project quicksilver right and they're doing liquid staking with that so that this quicksilver chain can control an account on cosmos it can the cosmos hop it can you know stake atoms molten governance you know claim rewards you know do all those things and then but it's controlled by another blockchain that you know could then issue like a liquid staking token so that's like an example of interchange accounts so obviously many examples now what you're describing right is basically goes even a step further right because you basically have like contract code on both sides where here it's kind of like let's say in the quicksave example it's kind of like contract code on the one side right and
in the other hand it's just like a normal account uh can you talk a little bit about use cases like what are some of the things that you know you could like you'd be interested in building or you you can imagine people building uh you know these cross chain calls and walls and maps yeah i will i will so i think in some theoretical way with token transfer irish accounts you may be able to build anything may be able to and you change queries if you add that like those might be fundamental principles say these are holy principles we can build anything with them um but they're inefficient to build up things so i think for for staking is fine because
you don't have to stick that often right like you can just every 12 hours maybe pull out your money and restake it right doesn't have to go so much um but let's say i have a lending protocol that's liquidated and dex another chain right the current way of let's just say this just right now the existing protocols assuming these all exist entertaining accounts interchange queries and token transfers if i have a protocol here that wants to liquidate on a dex over here right first i move one message move my tokens over here i wait to get a response right now i shouldn't get call back on the response you need a dow to control it and we're working with ig team to like you actually triggered a callback when it finishes then you say okay now make a swap with this
um industry and accounts to make a swap of that money is sent over here for the other token right it may have succeeded or failed if it succeeds then i query to see actually how much did i get right the full amount i got okay then call over here energy accounts you trend the tokens back to get the charges back right and that's a lot of like here make a request get a response make a request get a response these are all slow requests right in here or just the whole thing now let's say hey this is actually a common use case this is not something you do once this is something you're doing all the time it's your huge business case i want to deploy the optimize that i want to deploy a contract here and a contract here then what they do say is
they have their own protocol which is move tokens swap them at this price and send me all the results back if the price if you don't make that price if the money is too low right the price is is if the market won't trade this price they return my original funds back right that's a really simple logic a lot of people might want that so but we're not gonna wait for like go code six eight months twelve months to build some new go logic with this very specific use case integrating some decks on this one chain we say no we want to launch it now so we get it now i wrote a query right now we could do this very quickly and basically you say this now we write these two contracts here they do that if you trust it someone can say okay here liquidate at
this price it will send one message back and then you need a callback you know whatever one ibc message um it will do this logic and then you call back saying okay i liquidate this price um great stuff or i failed to liquidate and here's your money back right like you get it right away that i think will allow people to do integrations um that you couldn't even conceive of um that's like that's faster right this is faster but then actually i'm gonna conceive of only give one more so i'm working something called window w y and d dao and we i think the second stuff might be like that first one i'll throw a demo i'll throw the prototype and give it to y'all it's free stuff right well we're doing this for you
everyone um i have a query like uses ibc price oracle osmosis is like implemented um i'm waiting for t-wap out there to be finalized but um the next one is this i think the next level a really deep integration so imagine you have a dex on one chain and you want to make another decks another chain uh that dex wants to launch a subdex another chain right the subject's own separate liquidity right so it's going to have its own issue of liquidity and it's very small it's not really that popular but actually i have a liquidity on the chain but maybe i could actually not make a generic protocol that works for anyone but i will make a special contract between my sub parent decks and my child dex which is like a permissioned ibc con like like an encrypted or authenticated
ibc connection that just runs from my parent decks to my child decks right and i will move one percent of my liquidity over here but i will keep the entire price information of all the rest liquidity over here so here's actually the reference price the reference price is here right and you actually have the full reference price here and that's actually what you use over here um you will assume that you have that value and you can trade a little bit liquidity very quickly just like an atm or branch bank and so maybe just a minute out of date of the actual price over here right and you have a little slippage here you can maybe but you only can move uh one percent liquidity you only can pull a little liquidity out here you can't pull too much out anyway right like you can't
pull too much over here so if you run on it you run in it and it gets a new price update but in the meantime while things are not moving too heavily you basically get um immediately access you'll have to call ibc swaps you get immediate access like a local dex like immediate swap response right away immediate responses from a decks locally um with the same liquidity effectively as the parent decks so they basically shifted this as a branch bank that's able to provide virtual liquidity and much higher amounts and still safeguard against bank runs um which i think is pretty amazing and like this idea of like protocols are not just like copying themselves over chains or they're just like okay we're like kind of like something like that like we've moved
collateral over chains but actually integrating operations over multiple chains is i think a revolutionary concept that no one has really grasped or able to build out yet so i think uh one project i'll be doing besides knocking stuff out like you know here's how you swap on a june osmosis you know swap on the osmosis decks from juno with ibc message um and you know this has been a discussion for a while now since lisbon um and besides that kind of stuff i want to work on basically building out next level uh integrations of multi-chain applications are truly multi-chain that live on multiple chains and like balance banks between multiple chains thanks so much for that explanation that is very cool and like yeah just amazingly powerful right like that's
where you really see the kind of like multi-chain i mean already the cosmos ecosystem has like had such an explosion of activity and you know we've seen ibc be so powerful just with token transfer and i was always the thing that shocked me the most with ibc or surprised me the most was just like how actually good the user experience was uh you know i think osmosis did like really great job at uh that and i mean not just osmosis like others but and now i think having all of these more advanced things right with uh with you know more powerful ibc stuff with calls and awesome
it's going to be really like weird and mind-bending i think windows come come out yeah we're going to multi-chain wallets and wallets have to adjust i think there's an amazing job they did as moses i agree it was amazing job they did for ux like when it came out they basically listed all of your accounts on 10 different chains or 20 different chains right like on one little board you hit deposit withdraw like you don't have to go to some other account and do something and then like sign into other other blockchain app over there go to a bridge wait whatever no he's like honest moses app it shows you when you click the button deposit like it actually under the hood calls another chain to tell you the transfer it signs a transfer message it waits
your relay to move over there and 10 seconds 20 seconds later it's in your account like with almost no fees like that's super fast and super cheap and you only have to worry about it all you remember is like oh my ledger i see different chain id on this thing i'm signing it um but like it's really like so transparent and that was amazing to really make that whole like you can bridge liquidity transparent so i think once you build these things i'm talking about behind the scenes and the back ends like this what are front ends they're so transparent right like they just are smooth and i think they did a killer job on ux and love to see what you know have those people also involved in these next level discussions and see what kind of ux they can design uh for these
multichain world one question i have here is you know one of the big arguments that ethereum has always made and that some other change like solana for example was also emphasizing a lot was this idea of like you know composability and it's such an advantage to have you know contracts that are um in the same vm you know where you can you can like make like atomic transactions right like make like one transaction that affects like you know different contracts uh in the same transaction and you know it all executes uh at the same time or it fails how how do you see that because that's
that was often also one of the criticisms right of the kind of cosmos ibc concept is because you know you have like a transaction happening on chain a and then it triggers something on chain b but you know you can't sort of make the transaction to like trigger something on chain a and chain b like simultaneously now talk a little bit about like how do you see these this issue and how do you think that's what's the impact of that going to be when you actually have interchange applications the way you described i think it's a good point and i think uh this basically it's harder it's not worse so um it's easier to call it locally and i think the idea the app
chain where every app had one little use case right like one is just a dex and one issues tokens and one is nfts and one is a lending protocol and one is like this other little piece and you actually need five changes to make any useful default system is kind of limited right so i think the extension adaptation if you're going like um actually maximalist everyone like in little little things hitting the limits however a lot of the new architectures are going for this thing like near sharding already is like asynchronous calls anyway between it and they realize that they can't scale up and like ethereum hit their limits and they have roll-ups and so effectively like yeah okay you can pose ethereum but like every goes into polygon or arbitrary or something like that optimism and like uh phantom and they're like just throwing
somewhere else because they can't now there's like crappy bridges between them that are like hacked all the time because actually like compose really hits limit and in salons like vertically scale but like for centralized vc chain that like halts every you know every two weeks so like they have limits here right and so clearly like having not just vertical but horizontal scalability gives you some much more resilience right um the problem is how do you do it so i think you want to have like a useful modicum if four apps always work together all the time they should be the same chain they should compose really nicely they're really tightly integrated they should integrate one chain but there are other apps that we don't integrate with all the time we integrate them you know occasionally right or every few hours or like we don't call like in
all the time so like in quicksilver quicksilver's on one chain and it stakes on that hub and it doesn't need to be there like every single transaction it just needs to know how to like a deposit withdraw handle some stuff it does its own things but they don't have to be like this they just have to be able to securely be able extra operations so i think there's a whole class of of things that don't need this immediacy of that composability um and then just comes the point of design your protocol design so i mean a lot of devs come from javascript and have issues with this stuff but like you shouldn't be coming if you come from javascript don't build obviously straight up right like uh yeah come from like a serious like background in distributed systems or like architectures like protocol design
you have must have wrestled with like actually like okay what's a master slave in like multiple master database systems or like message queues and like concepts like this back end concepts that like i don't need a phds i'm just saying that like someone's wrestled with a lot of these stuff that have actually large-scale back-end web systems have distributed natures and you have to learn this stuff anyway so like once you've dealt with this stuff micro services you kind of get some ideas okay how to architect stuff and these ideas are the same ideas in 5bc so it's just like a different concept so i think a lot of is training a mindset how to design them but once designed properly it takes more time design um it should be easy to implement and they can be able to do most things as long as you can wait a little bit and
you don't need that you can even compose it so like i do action i hold it like a token transfer if it fails or it turns your money is atomic it's just atomic over a longer time span so you can build all of that functionality it's just a little harder to design it that's all um and so clearly if you want to have things always together you stick them together in the same chain it's great but like if they need to be a little looser coupling you can get very secure loose couplings over multiple chains cool yeah thanks so much and yeah i think the near point was interesting because i did a podcast with ilya and alexander like a few i don't know pretty recently two months ago or something like that and that was uh this thing we talked about there as well and i thought it was very
fascinating how they are uh you know chose to do uh to have this kind of asynchronous nature even if contracts are on the same chart you know because they were like the benefits away uh having this composability because it allows them to you know move contracts between different charts and the developers sort of it doesn't have to care right like where they are because they behave the same way and so i thought that was a very interesting uh yeah like different perspective yeah i like near they're smart guys yeah no absolutely governance you wanted to talk about governance as well what's on your mind when it comes to governance
yeah i think governance is like the unexplored territory and i mean you were also around when you're trying to design the pos governance for uh that and i think in 2017 actually having some like on-chain vote control critical blocking features was like this crazy idea of heresy almost um you know hard fork was only way voting right like so it's normal now that is on chain governance doing things like switching parameters and you know releasing funds and uh you know controlling upgrades um that's normal now these days right but like that was kind of like five years ago was like crazy and like pos was like this crazy invention that no one trusted would actually work in pyw's only way so these have proved themselves and i think you've watched that same evolution um
the same way that daos have now come come mainstream suddenly they realize okay open up this up and now people's rusted in full head like let's run everything is down throw tokens on there lock them they're great and i think it's a problem because the same people that were nay saying it for years uh didn't really learn just how governance works let's use it copy it blindly copy paste and are now producing a lot of bad designs actually of governance designs um he's never really understood why it worked in the first place so there's some doubts i think that work quite well a lot of those are membership based ones where it's actually like one person one vote and they actually have like time trusted ones those can work amazingly well right like moloch dao or something and um or even nouns um i think are interesting
a lot of these other ones are just like one token one vote stake it pump and dump things like people they they flash loan borrowing tokens to to take over the governance this happened before right like and i think you're like wait you can't have a flash loan be able over the governance of your protocol it's not secure anymore you're like given up you've over financialized your protocol so i think there's any safeguards there so i've been thinking about this like since the hub launched and since like you know studied his famous zero percent attack commission attack uh attack whatever on the hub like we're like their issues with this governance like you can do a lot of things with it it's very powerful but it has limits you have to understand the limits you understand what it works what doesn't work right really understand this situation and
i've been like i felt like i was doing a voice in the wilderness for a long time because like everything no no it's worked great it's just a hub it works and like it works for the hub doesn't work for your little chain that has a 10 million market cap or 5 million market cap it might not be secure is to give the hub that has a real community um and as proven a lot of these dowels of small market caps are insecure with this with their logic and i think it wasn't until i pushed a poe actually at the the talk i did at interchange foundations without proof of engagement which was like a proof of authority and proof of stake uh mixing it got like no traction and i wrote a white paper in it next year and we built it for t-grade so i'm you know
if someone's learning proof of engagement look at t grade every medium article explaining technically how it works it's like proof of authority and proof of stake together uh in a mixing function which i think has interesting privileges i could go on for a long thing but it's one piece of experimentation right um of this of of what you have a pure proof of stake of stake authority um you can design other systems and i think we really need to experiment understand limits of the systems we have um understand where they work well and where they don't work and it was really like vitalik last summer in summer 2021 he posted uh beyond uh coin awaited uh token weighted governance i believe um uh and remember the d-gov and where the
limits are and it's kind of theoretical thing he's talking about soul-bound tokens now um and for me that's like okay sure that's why i was pitching 2019. that we have soul-bound tokens which are basically proof of authority um which you have engagement whose reputation put your reputation as token you cannot transfer okay clearly cannot transfer reputation sell it so you have your reputation on the chain which you cannot sell or buy which is your time in the chain and give your money so if you're like the old time that's done stuff but don't have any money in the game you shouldn't have any vote and you have a bunch of money but no say anything who are you it's just like this mixture of like actually having done work and actually having money on the table and like putting your money where the mouth is so i think that
combination is for experiment and proof engagement and t-grade um and that's just one experiment right it's one experiment here and it's not the answer i think it's an interesting space we opened up and i think i look at dow dao which is a really really cool project on juno so you know big how to j cartel for doing that one they've had like no raise uh self-organized community just doing their things they've gotten like over a dozen devs i believe without funding um just believing dao's which is i think it's the most successful is the most successful non-d5 project built on cause i'm awesome um so dow dow.zone and you can launch your own dao like that and so they have you know uh multisig type dials like you vote people in it's just you know who knows
who you have daos based on uh tokens just like the standard dials you see ethereum everywhere you have dallas based on nft holding you have daos with um uh mix token waiting we're building a module to extend it for window which is using like curve style multi-level token weighting and i'd like to take that one and then they have about sub-dials workflows between like you can partially delegate authority or sub-dial which has these people just put it here overwritten and these larger stuff like aragon is building back on ethereum before they kind of died out or petered out they're building all these cool tooling out there so i think it's a great toolkit because they're building a lot of components to allow people to mostly point and click on the
web interface build their own dowels um but access to all kinds of different models all kinds of different rules and i built a lot of those early contracts in 2020 2021 as like demo contracts and multi-sigs and voting stuff and they took this stuff and built ui and just went with it they they've gone way beyond why i built so i'm really really impressed with them i think it really you know shows that cosmos it's not ethereum it's cosmos it's really the forefront of governance and it has been i mean like what was launched the hub was already cutting edge like on-chain governance and pos uh was cutting edge in 2019 right in 2017 no one believed it would work in 2019 as launch and maintenance it was cutting edge and i think dallas bring this like the next level of this
really bringing like new ideas or governance um to a new level yeah i know i mean i think that's something i think also you know we talked about mentioned this on this podcast before but that's just like stands out to me so much like actually i remember when you know when we were like working on cosmos in 2017 uh i mean there was there were others right who were basically like other blockchains proof of stake blockchains they were also uh you know i think specifically tasers and polka dots right that also had the kind of governance mechanisms in there and they talked a lot about like oh you know how they have this like elegant powerful complex governance scheme and i feel like for cosmos it was more like
yeah we're gonna have this governance right but it wasn't so much at the at the front and center and it was also kind of simple in comparison but you know i think it has ended up like i mean um i think polkadot governance is just like very confusing and nothing too complicated and i was like reading at some point that they're actually moving to a more cosmo style model i'm not totally sure if this is true or not or if i misread that but and then tasers i think the big issue was that you know only validators could vote which is not ideal you know like i mean i should i think and it's having the cosmos model was really like just very nice right that you have like
validated as well by default but then individual token holders can override it and what i think has been just amazing is like the amount of adoption that has gotten right where you have like on the cosmos hub you know often like you know 80 000 accounts or something like that or you know voting and you know same osmosis like huge participation uh but then of course you're totally right right like this is just one form of governance and it makes sense for some forms but like it's it's there's obviously also downsides there right that you have okay someone with a million tokens and there's someone else with 100 tokens and the person with 100 tokens may be like super engaged and know a lot and
so that's uh you know it's a hard problem but at least i i feel like the yeah the cosmos model has already gotten uh gotten pretty far and works pretty well and has gotten surprising amounts of engagement and i'm you know i'm excited to see like the kind of doll doll and like the other models that can be built yeah i think that casual smile actually works quite well for most cases if there's engaged community like you know if if most token holders care about the chain right and are right you actually have engaged community and you have like a solid market cap like it works pretty well actually um but those are ifs so like when you see a chain with not much usage and the market cap drops to one or two million in this bear market which has
happened um it's it's a problem and what happened in terra like when they invented 5 billion luna or 5 trillion lunar i don't know 5 quadrillion luna i'm not sure how many um they halted voting because it was a attack like some random person it just bought this for like point zero zero zero zero one cent has now owned fifty percent of our governance they could delegate their thing and take over the whole chain right like like they realize the limit and so this is i'm just saying there's failure modes in it right there's failure much to be aware of um and that is extreme failure mode um but i think any of these small chains is under 5 million 10 million market cap and has low engagement um is just basically waiting for it and so if they were ever actually had a higher
value at one point and went down to this level um that means someone's going to snap them up right so i think it means just like the the the pos works well if you say hey token code is actually engaged and there's a selling market cap no random shmo uh hacker can just buy up a bunch of tokens and like take over because like you can't right you can't buy them out because people care about stuff um but yeah yeah and and i think it works well in the sort of like you know the decision about or should we go there or should we do this right but what it doesn't but it doesn't really work well for is a sort of you know organizing work and collaborating to do stuff so for example i think the whole mechanisms
of like using governance to you know for proposals for funding proposals i think is not work i mean it sort of works but it's not ideal right because i think then you know someone proposes something people are like all right that sounds reasonable and they defund it but like was that the best thing to fund or like maybe something else that like or in a different way or someone else had the same idea and like so i think that's for example one thing where like the existing governance i feel is isn't great yeah and i think there's a cool thing down those working subdials actually can like take the sticking vote as like the basis of who was voting power and have
your own different logic on it or like subgroups of them can vote on it so they were like not even no tokens actually using the sticking token the native thing and then also allowing sub-dials like okay this dao is appointed by the main uh the main governance can now point this dow to do certain things like vote in funding um with some sort of budget right and they but the parent governance can revoke them hey this committee is not working very well to get rid of these guys you know they just waste their money like but so you don't have to have the 80 000 people involved in every funding discussion negotiations you can actually have negotiations with a counterparty um and they can spend you know a million or two a month maybe on funding projects an ecosystem and if their money is going to bad places you
just basically swap them out with someone else um right so like and that might make sense in a way of more decentralized than saying you have a foundation it's in transparent foundation funding stuff right like it'd actually allow a decentralized way of doing it it's actually controlled by entering governance um but still you're right like you don't need 80 000 people in discussion when someone's trying to negotiate like a funding i will do this feature for your chain and then like you're like okay i'm waiting two months in public discussions to figure out whether i get funded or not i'm going somewhere else it's a little faster um but i think you can definitely do it and i think yeah data allows you to add it on to existing governance and kind of not replace the standard one but like extend places with this cool well
thanks so much heath and it was really really great to have you on like you mentioned call you know the cause of muslim academy maybe that's something uh some people may be interested in uh can you tell a bit more about that like you know if people want to kind of get started and developing on top of cause and wasn't like where should they go and like what's the kind of offering that calls them awesome academy has for them cool so um yeah the cosmos academyacademy.com.com uh is you can sign up now uh we'll be opening up i believe early september uh maybe mid-september let's see how the timelines are i'll slip a little bit working for quite a while we have quite a few videos online the platform's
already online uh we're trying to finish up a first version of it we had a preview already in seoul but yeah in a few weeks uh early mid-september we have it going on sign up there you will get basically bottom and top rush courses explaining how to build contracts in rust uh from an expert train developer at confio's working a year and a half now with us building all kinds of rust contracts and building a cosmos and multi-test and lots of these toolings you've used going through how to build contracts explaining russ explaining contract logic explaining how to build everything up there so if you have basic rust knowledge uh sign up for that class and it will take you into like advanced custom awesome development i think this is really a way we want to do democracize people so really get the
skills of how to build good cause of muslim contracts out there and complex cosmology contracts how to compose contracts how to build these systems out there um and when everyone it's for everyone it's free so yeah it's basically us trying to train out a whole new generation of really skilled clouds developers that's amazing cool and how long is the course uh the course is ten weeks it's uh ten classes they're one week long uh there's some take-home work for you to do with them um you probably could have faster if you're skilled already but yeah it's attend one week things cool fantastic that sounds like a great experience yeah yeah no it should be and i definitely for everyone it's for the people and feedback's welcome uh please we get feedback out there if you have stuff we want to make it better we'll have other stuff on cosm.js and
front-end stuff coming later as well um other courses we have also some full stack courses coming up lined up for you i also wanted to mention win dial briefly and so uh there's i mentioned earlier it's basically a dow we're launching or have launched on juno for doing uh ibc based contracts i think it was going to be the cutting edge of a lot of this stuff scaling out protocols both horizontally not just vertically horizontally i think it's very interesting stuff we're building out there to reach huge scales and really push what ibc can do and how it can make like an actual entertaining native protocols um there is an airdrop out there i want to say if you get this before end of august until august 2020 we have airdrop
dot com airdrop.window.com with a y and check out more there for all juno osmond region stickers okay i'll i'll check that out as well cool well thanks so much uh ethan for coming on it was really great to have you on the podcast it's amazing like all of the work you've done and where you've contributed to the cosmos ecosystem and i'm super excited to see like you know what are people gonna build in this like you know next generation of stuff that's gonna come with you know causing walls them and mixing that with you know two new ibc capabilities and then with all these people that are going to be trained through carlson wilson academy yeah i'm excited i'm excited i was dreaming of ibc since like you know five years now six years now of like what we
can do so we're ecosystems here everything's ready the tools are ready infrastructure foundation's ready and like let's just build build guys cool and yeah check out custom awesome check out chat discord uh website everything it's on their chat.coms.com for discord lots of good help there um yeah come on cool thanks so much ethan and of course we'll include links to all of those in the show notes and thanks so much for our listener for once again tuning in uh if you want to support show make sure to leave us an itunes review let us know what you think of the episode on twitter shared uh with people you think would be find it interesting and yeah we look forward to being back next week