#281 Ethan Buchman & Sunny Aggarwal: Cosmos – Launching the Internet of Blockchains
3 Apr 2019 · 1:26:43
Ethan Buchman and Sunny Aggarwal of Cosmos discuss the network's recent mainnet launch and its vision for an internet of interoperable blockchains. The conversation covers Cosmos governance and validator economics, comparisons between the Cosmos SDK and Polkadot's Substrate, and the Inter-Blockchain Communication protocol enabling cross-chain value transfer.
Speakers
Topics
Transcript
[Music] this episode of epicenter is brought to you by Microsoft Azure do you have an idea for a blockchain app but are worried about the time and costs it will take to develop the new Azure blockchain dev kit is a free download that brings together the tools you need to get your first app running in less than 30 minutes learn more at aka OMS slash epicenter hi welcome to epicenter my name is Sebastian future and my name is Franz Xavier so today we're gonna have a
bachman on and sonia agarwal ethan is the co-founder of tournament he's also a vice president of the interchange foundation and of course sunny is co-host with was step sooner and he's a research scientist at tournament team now quite obviously there is this sort of tight interconnection between epicenter and cosmos and so we just want to point it out so you guys have the right context so first of all sunny is obviously co-host of app center as well as an employee at tenement and he's also running it cosmos validator so please be aware of that then when it comes to myself i obviously i used to be an employee at the tenement companies well i also hold adams personally and
i've been building a validator called course one and so working on cosmos from that perspective so also take that into account that i'm sort of you know on both sides in this in this instance additionally you know this validator correspond and building it together if may her i mean he's not hosting this episode but he's of course also a co-host of epicenter and then cosmos is also a sponsor so they're not sponsoring this episode but they're sponsoring the episode of podcast so we just wanted to point that out another thing I would point out is that I also hold items and I've been very closely following the consul's project and course one so I some insights there
so should also want to apologize about some of the noise so there was a little bit of construction going on in Sonny's vicinity so hopefully we'll get some of that out but apologies for that background noise so without further delay here's our interview with sending Agarwal and Ethan Bachmann we heard today with Ethan Buckman and Sonny agrawal Ethan is the co-founder of the cosmos impairment projects and Sonny is a researcher reach of scientists at all in bits as a parent company of tenorman and it's also a host here in epicenter hi guys hey thanks for having us on it's exciting to be on wearing the guest hack finally it kind of been my dream ever
since joining the blockchain space so happy to finally be here doing it yeah good to be back thanks guys yeah so so of course we've done some podcasts on cosmos before we did one wave J about I guess it's now two years ago so that was just around to the fundraiser and you know we'll link to that I think that was a great episode and actually I think it's still mostly current but for for those who you know aren't super familiar with cosmos let's spend like a few minutes just giving like a high-level introduction so maybe Ethan what's what's the vision of cosmos and you know how would you describe cosmos sure so I think I think the
vision of cosmos is kind of analogous to the original vision of of the Internet in the sense that when the internet started coming around we already had a large number of you know small networks and the internet was proposing a way to actually interconnect them all through a common set of protocols like TCP and so in the same way that the internet you know enabled this interoperability between many existing networks and and networks that were still to come the idea with cosmos is to be in the kind of interchain right so the interoperability layer between you know existing blockchains and the many new block tanks to come and as sort of part of that not only you know not only is the goal of cosmos to define these kind of interchange standards but also to define to define more modern and mature
approaches to actually building the individual change themselves and so that's where things like tenorman this general purpose consensus engine comes in things like the cosmos SDK was the framework for building applications on tender mint and then of course IBC which is the the key kind of interoperability piece that enables these different block chains to actually communicate with one another yeah really it was like meant to like kind of we see it as just like third-generation blockchain and I know that term is like very clichéd and like overused quite a bit but I think that most of the other things that called themselves their generation block chains aren't don't really quite fit the mantle they really just seem to be continuing the second generation and so what I mean by when I say second generation is it's
this like era of block chains who are trying to do this like churring complete vm one chain to rule them all kind of system so in like the first generation we had Bitcoin and namecoin and SIA and all these separate block chains that were kind of independent and doing their own thing and like have their own applications Bitcoin for money name point for DNS etc the theorem came along and sort of did two main things right and what the first thing it did was it made it easy for different applications to talk to each other so you know on ethereum I could go and use my I can use my crypto Kitty on 0x to buy some dye right like it has this nice
composability between different applications on the etherium system and the other thing it did was it made it very easy for developers to write their applications right so yeah back in generation 1 really if you wanted to write a blockchain application your best easiest way to do so was essentially to fork the Bitcoin code base which is this like you know spaghetti code C++ very difficult to reason about on the consensus it's kind of intermingled with the state machine intermingled with p2p especially posts I quit and so like aetherium solidity it's like you know solidity is not the nicest language in the world but it's definitely it was it was way easier for people to write applications then then
forking the Bitcoin codebase but you know and so I well you know I like this like analogy compared to like the history like human development which is you know if in the first generation you can think of that as like kingdoms and like villages where you have like these separate kingdoms and villages that don't really have the ability to like you know they can't really trade or anything like some people working on atomic swaps aetherium kind of created an empire what empires did was they through mass political integration they allowed for mass he could economic integration you allowed people from like you know Italy to trade with people in Persia because they're all under a common rule of law and dictator and this you know it led to
economic integration but it also came with a lot of drawbacks that love empires namely things like you know heavy taxation on its use on its some citizens just a lack of social scalability and like governance that manages to take like you know except like taking the viewpoints of all of the stakeholders and whatnot and so you know in the last hundred years in humanity we had this a great thing where what we did was we shifted from like empires to nation-states and city-states we allowed for mass economic integration in today's world with global trade the internet free trade zones but we don't have we allowed it to break down into smaller
political entities and that's kind of like the vision of Cosmos as well as can we have those benefits that that second generation of blockchains did namely the ease-of-use and the integration while still keeping the sovereignty of the first generation of blockchains so the what extent do you guys feel that the cost of us I mean regionally the cosmos white paper was published in 2016 like somewhere in the summer fall 2016 so it's been quite a while has the cosmos vision evolved and changed in that time or you guys feel it's largely stayed the same buck you can probably answer this a little bit better cuz you know he was there back when it was started but you know from from the I've been involved
with the project and only for only about a year and a half now or close approaching two years now but I would say definitely over time I think the vision of you know the vision of Cosmos has always sort of been the same but sort of our messaging it's adapted looking at some of the changes in the blockchain space especially you know cosmos or the tenement project kind of started almost simultaneously with aetherium and so a lot of the thinking that we've done has kind of shifted as we saw the etherium ecosystem develop and see what kind of use cases people were interested in yeah maybe Bucky can answer a bit more yeah I think I think the high level vision is very much still the same and
hasn't really changed from the perspective of you know there's gonna be many block chains in the world and that's that's right and that's fine we want these block chains to have kind of independent state machines that are defined you know according to the needs of their users and their stakeholders who want them to be relatively sovereign so that they're controlled and governed by their users and their stakeholders and we want them to all be interoperable so that there's some some standards through which they can still communicate with each other and in the short term you know the kind of easiest lowest hanging fruit was okay we can define you know token transfers between these between these chains but in the long term if we define things well enough and you know with advances and cryptography
and cryptic design and so on you know we could do more general-purpose data exchange and so that that kind of high-level vision really hasn't hasn't changed at all I mean what what has changed is the particulars of the implementation detail as the you know as the ecosystem of block chains and blockchain engineering has evolved and users are coming in applications are being found you know all of that is kind of evolving in tandem you know as new cryptography comes out we're updating oh you know this could be used to make IBC more efficient or you know whatever so the high level vision I would say has been has been relatively the same and I hope is actually grounded in a kind of a timeless approach to building to building systems and so you know ought
to never change to some extent but you know of course the particular details of how we go better in the cosmos white paper had no notion of the cosmos SDK for instance right until the cosmos SDK has kind of become a big part of the ecosystem now and there's you know there's a lot of particular details about how that was built and what's in it and what's not and so on we can talk about that later but from a high I think things have been I've stayed you know quite stable so sunny you mentioned this this idea of third-generation blockchain and I think it's safe to put a project like polkadot in this category as well and I think also by extension the vision for a theorem 2.0 could also fit in this category starting with
polkadot you describe with fundamental you know philosophical differences between cosmos and polkadot sure so I think I would say one of the main primary philosophical differences between cosmos and polkadot is that cosmos takes a sovereign first sovereign by default approach where we assume chains are sovereign and have their own validator sets have their own security models and allow them to code sort of communicate interoperate with each other and we don't assume that there's anyone like our design for IBC is designed such that you know there could be any any two chains to talk to each other there's no necessarily any root chain or anything
like that well polka dot takes the approach where it like kind of does shared security by that by default and that's kind of what they really focus on where they kind of say that like there is this one root real a chain and then you you know all these other chains are going to be just like shared secure using the validator set of that relay chain and so you know and then they you know have the concept of connecting to other chains but they using bridge zones but that's really not let you by default people use the relay chain while in cosmos by default their sovereign but then the cosmos hub as well as you know there's other hubs and hub systems in the in the cosmos interchain but these
chains will offer services such as like shared security and whatnot but these are like optional things that chains can opt into while it's not the like default or requirement okay I mean I've the way I see polka dot in that in that respect is I see it as so this validation as a service for block chains and and and cosmos at least right now doesn't have that functionality do you think this is something that projects will want so for example you know if you're building a new blockchain and you're choosing a platform on which you you want to build your your application
you know having that ability and having that functionality and that feature so bootstrap your application using a shared security model might be attractive to someone or to a project do you think that this is something that you know people will ask and will require of Cosmos at some point that this would be that the market in the ecosystem will will want as a functionality yeah totally I think that this is like what people absolutely want this and this is kind of what the goal of the Kosmos hub is in the long term so I think it's more fair rather than comparing polka dot to like the cosmos Network cosmos interchange idea cosmos hub versus polka dot is really the like you know a more salient comparison and
so there yeah and then you know the cosmos hub has a design for or I have a design for the cosmos hub shared security system that's slightly different than the polka dot design and so you know I've disgusted with the with a lot of the polka dot dev teams and you know we're both aware of each other's shared security designs and you know maybe if you want we could go into some of that some of how I I plan for their shared security of cosmos hub to work but yeah so essentially my point is yes the the the the shared security is something that will definitely be demanded by a lot of project and that is one of the primary services that the cosmos hub will provide to the cosmos inter train network and what about a theory and that's case I mean I know
it's it's much earlier in terms of the maturity of aetherium 2.0 but I think that a lot of the fundamentals are there for leading aetherium into this as you described it this blockchain 3.0 space can you all righty so the CERN some of the differences between what the vision is there and the cosmos vision sure so aetherium still takes very much a like you know single VM like single state machine everyone has to use the EBM and you know really the problem with that is it suffers from a lot of like you know it's gonna suffer from a lot of governance issues where people are gonna basically have like
different requirements from the from this VM and they're not gonna be able to decide who gets what going into that VM and you know we already see this with this like hundreds of a IPS that are open in this in the in the EIP repo that Durham improvement proposals and some of them are contradictory and like you know some people want state rent some people don't some people want X some people don't like it's like there's so many like different design requirements it's like the problem of the maturing complete VM is that really forces everyone to like use the average use case you know an example I like to use is if you want to build a payment system you should probably be using UT exo's like there's a reason Bitcoin did that they're just
way better for like parallelization and like efficiency but if you're building a payment system on top of aetherium you are stuck your hat you have to use their like account model and that involves using the sequence numbers and you lose out on a lot of parallelization and so you don't get that you know just like in the world of nation-states where like splitting it off it allowed nations to specialize we also want to allow block change to specialize in use cases this episode of epicenter is brought to you by Microsoft and the azure blockchain workbench getting your block team from the white board to production can be a big undertaking and something as simple as connecting your blockchain to IOT
devices or existing ERP systems is a project in itself well the folks at Microsoft had you covered you already know about the Azure blockchain workbench and how easy it makes bootstrapping your blockchain network pre-configured with all the cloud services you need for your enterprise app their new development kit is the IFTTT for blockchains suppose you want to collect data from someone in a remote location via SMS and half that data package in a transaction for your hyper ledger fabric block team the development kit allows you to build this integration in just a few steps in a simple drag-and-drop interface here's another great example perhaps you're an institution working with etherium and rely on CSV files sent by email one click in the dev kit and you can parse these files and have two
data embed it in transactions whatever you're working with the dev kit can read transform and act on the data to learn more and to build your first application in less than 30 minutes visit a kms / epicenter and be sure to follow them on twitter at MSFT blockchain we'd like to thank Microsoft and Azure for their support of epicenter so they're the cosmos project has been in you know in development in some way now there for a long time right tenement I think was originally started in 2014 now just a month just a few weeks ago we finally had the launch of the cosmos app so congratulations of course it did take a little bit longer than they announced
like talked a little bit through you know kind of the process of getting to launch why did it end up taking so much longer and like how do you feel how do you guys feel that launch went launch seems to have gone really well so I don't know if you've watched the video if you were there at the livestream that was pretty cool I mean there was a moment I think it was blocked 17 you know Jack was hosting the livestream and we halted at block 17 in his face just like all the color drained out of his face quite a quite a moment I think at Halloween someone dressed up as block 17 just to just a troll Jack but it seems the launch went quite well you know we had this decentralized start which was pretty cool quite a decentralized started actually and then you know arguable kind of how
you have you look at what's happened since then but I think you know we're quite excited about about you know the fact that it's live and it's working and you know there's lots of interesting activity happening and lots of upgrades to come I think with respect to you know how we got to launch and why it took so long and so on I mean you know on the one hand software developers are notorious for poor estimates so you know there's there's Hofstadter's law which is like it'll take longer than you expect even after you take into account how Hofstadter's law so you get this kind of recursion which is great we definitely felt subject to that I think we didn't quite appreciate maybe the complexity of what we were building initially and of that really only came to the surface as we as we tried to start building it
and there were a few iterations of things where you know we just threw something away completely and started again and so for instance that's kind of you know the story of the cosmos sdk the cosmos ftk wasn't part of the white paper it wasn't really part of you know front and center of anything but we realized kind of as we were going that you know we really do need a mature professional framework for people to build blockchain applications in that is extensible and can cover a wide number of use cases it doesn't lock into any particular you know serialization algorithm or Merkle tree structure or any of the things like this and you know prior to that we can have we had some some kind of a framework it was called base coin at the time for a while you know and that was working we had test
nets with that running and staking and you know IBC even before the fundraiser in 2017 but the kind of design process for the cosmos SDK kind of set reset things right we started working on a new model putting you know object capability based security first and really thinking through you know how much of the goal programming language existing capabilities can we utilize in our security model and you know how are we gonna get the right abstractions and how are we gonna be able to build systems as diverse as the cosmos hub on the one hand and you know the etherium state machine on the other right with the kind of ether mint project that was really a at ease design goal that only really became articulated a little later on in the process that this framework we build we want it to be extremely general
purpose so that you could literally wrap the existing aetherium state machine with its ROP and it's Merkel tree and the EVM as is all the existing clients you know not have to change them at all and use the same framework to build that as you would use to build the cosmos hub right and so that required a lot a lot of design work and a lot of kind of resetting and you know rebuilding things that we had already built in terms of staking modules and all this now back on top of this new framework and so you know that kind of delayed things and then as we were really drilling into the staking model and the fee distribution and all this stuff you know there's a lot of complexity in there and it's it's extremely advanced and I think as far as I know you know the most complicated
kind of approve a stake state machine in existence today especially with regards to you know the delicate the unbounding periods and supporting read delegation which has its own set of subtleties and nuances and through all of that having fee distribution to potentially you know many thousands if not hundreds of thousands or millions of delegate errs across you know maybe a hundred or a few hundred validators so getting all that to work and you know we scrapped our fee distribution twice you know we first had a pretty complex one it was scrapped that and did a simple one and then we scrapped that and did a you know a different one and now you know things are a lot more mature and stable and we have my specifications for a lot of it but I you know I think to a significant extent we really
underestimated the complexity of what we were building there was enough specification done upfront you know there were did enough people really thinking about the problems and the implementation details and all that really only evolved over the course of 2018 right and then of course there are you know operational constraints coordination constraints we have quite a distributed team from San Francisco to you know Berlin all the way to Asia at points you know San Francisco and Berlin pretty much don't overlap at any point in business hours so you know coordinating it can be very difficult and you know we launched Barry's program so we iterated through the test nets and there's a lot of kind of operational overhead to that and to gain mistakes which we can talk about as well and so just like getting all those things in
place and you know dealing with all the difficulties of remote coordination and so on you know so it ended up taking a little bit longer the pages I mean I joked that you know it was like we were two months away for like you know 15 months or something and then there was a period where we were like a month away for a couple months and then we were a couple weeks away for a few weeks and you know then it happened so I actually have a chart in the Berkeley offers the kind of matter estimated time to launch and are just sort of hovering around two months mark or like good like eight months that's funny just the one other point I want to make and Zac he gave a talk at the MIT Bitcoin Expo that kind of you know really harped on this approach we took
which I thought was actually really valuable and really interesting and I think distinguishes us from a lot of other projects which is that you know we we didn't launch the cosmic hub until a couple watched and said we the cosmos hog didn't launch until a couple weeks ago right but all the time there were a lot number of projects building on top of you know the software we had been developing some of them even running in production and you know for instance the iris net launched you know I think a month or two before the cosmos hub did and you know tender mint has been used in production for you know quite some time now and so this approach of like doing everything in a quite modular fashion and trying to make the pieces as useful as possible in the in term I think really helped kind of build the
community and develop the ecosystem and the expertise around it until we got to the point of you know actually launching this this main that cosmos hub and so I think that was really valuable for us and kind of helped continue the momentum and you know despite the fact that the cosmic hub hadn't shipped you know we were still shipping lots of releases for tender mint and for the SDK and a lot of people were starting to really see value out of that and you know have running in production for some time so you know I don't want to neglect that yeah of course and and you know obviously we're all very excited when the launch happened and so you know months before launching there was this this game of stakes which was sort of like a I guess like a glorified test net
where things were happening kind of in production and being being sort of like a close observer of cosmos and a close observer of course one I sort of got to see what was happening here and thought it was interesting like that this approach was actually quite interesting and that you know maybe it should be adopted also by other blocking networks that would launch in the future can you talk about you know why you did this what was the goal here and like what you learned from this experience that allowed you to launch the network then so successfully and like so far flawlessly I guess sure I mean so a big part a bit pup a big part of our understanding of what we
were doing is that not only we're building software but we were also building a community of network operators and when you're talking about the state systems the kind of expertise required in a network operator is very very different from you know a proof of work system mining and you know the kind of full nodes that are running there especially because you have this this private key online and you're also concerned with hiding your IP so you have a more complicated kind of infrastructure or operational setup and so on and so early I think in 2018 you know we were a little bit confused there sorry a little bit concerned about how mature the actual validator community was gonna be you know by the time launch you know which was two months away how mature they were gonna be and so you
know we start to put some real effort into into building the validator community and the test net community and I think you know to a significance then this was really irritated by my Adrian of kripp diem who was working with us at the time he really kind of got the ball rolling on this which which is really nice and in it you know it picked up kind of far beyond him very quickly and really became like a self-sustaining community on its own of kind of running test nets taking the latest release and you know running it in the wild and eventually by the summer we started doing these like decentralized starts you know there were a lot of hiccups at first when you're when you're like you know doing QA on your software with a distributed network of strangers over the internet it's quite an intensive
experience but so we got these networks up and running through through the test nets and and and through that kind of built a community of operators that really understood how to run the software how to deal with with bugs and failures you know there were lots of halts lots of lots of things went wrong where people would have to kind of restart the whole network and do that in a decentralized way and so the community really got a lot of practice doing that through the the series of test nets which I think was was incredibly valuable both for us and for getting feedback and so on but also for them and learning how to operate and kind of building this this sense of community but with respect to gameis tags I mean it so the other piece that we were that we realized was that there were a lot of
people participating in these community tests nets that were really valuable community members answering lots of questions like doing just outstanding work in contributing to the software and so on but these people actually didn't have didn't have any atoms you know they didn't participate in the fundraiser in any you know at all maybe they didn't even know about cosmos at the time and so you know given that the plan for the cosmos hub was that it was gonna launch without the ability to transfer the atoms there was some concern that some of the most some of the most competent or experienced network operators actually wouldn't be able to participate at launch right and so this is where we kind of cooked up the idea that well maybe we can build some kind of us incentivized test net competition where the people who are really participating really demonstrate their confidence can
actually you know be rewarded with some atoms in the Genesis block a recommendation for atoms in the Genesis block and so that if the network starts with that recommendation you know though they'll be there day one and they'll be able to start to participate and that was extremely well-received we had you know a lot of support for that a lot of people participated in the game mistakes and some of those people who you know or some of those validators who received you know atom recommendations in the Genesis block you know we're validators on from block one and have been you know huge again huge participants and in the network since its launch and so a game mistakes was really about making sure that you know those people who had put so much time and effort and energy into our Testament program and and weren't going to be able to participate at
launch would actually have have some atoms so that they could participate and that seems to have worked tremendously well and yeah I would highly recommend that additional that other you know proof of state networks that are launching do something like this and you know make sure they're building up this kind of community of network operators because at the end of the day running these networks is really probably about half as much as about having competent operators that really understand what they're doing as it is about as it is about the software because the software's gonna have bugs it's gonna have issues things are gonna go wrong and you really need you know confident network operators that can coordinate to address these kinds of issues and so yeah yeah yeah I'm just just briefly weighing in here because you know and now of course one hat so we participated
of course in this in this game mistakes and we had like an incredibly also stressful and intense like Christmas because of that because I mean I think you know we have participating in these test nights for quite a while before but you know then it would be like okay something happens it goes there and it wasn't really self consequential but then all of a sudden it was like okay no this is like a major issue so then having you know building up systems to have you know automated phone calls and like on-call schedule and all like all of that stuff and you know initially it started just before Christmas and then it halted a bunch of times and then we started and then so we had basically a road with the holidays a lot of I mean like many others I think like fixing these things and improving it and then I
think what we saw right in the the launch is that everything went super smooth and I think that was without a mistakes that would not have gone this way I'm sure lots of validators we've had lots of downtime and in-game mistakes we saw lots of downtime of various validators but then since he launched that hasn't happened like that yeah totally and the other thing that it also did like you mentioned was a lot of the halts and the drinking mistakes were due to like bugs in the software and so good yeah another thing game mistakes really did was it allowed us to have a good process of like test testing also to behavior on the state machine and all the validators were trying like different functions and like doing the fun little stuff on the game and that
forced us to like test software and things that like in ways that you know we weren't testing it internally ourselves and so that helped us catch a lot of bugs and you know it seems that things so that we it could we have like who said we haven't had any bugs knock on wood like yet on main net the other thing that game mistakes also tried to do which I'll actually argue that I don't think it did very well was we also had this we also had this idea that somehow it was going to test the economics of proof of stake and so what we and the idea was like oh can we like fast-track the testing of proof of stake by like increasing the rewards like so the inflation was like I don't know
something absurd like 20,000 percent or something over the over the course of two months and we thought oh that would somehow simulate running proof of stake for four years and I don't know I you know like I said like Bucky said like one of the main things was to get validators to test them they should set up their security system properly and I think that that like pizza were saying oh we're testing proof of steak actually degraded the improvement people security so we'll notice that for example my validator sick we didn't auto bond any of our tokens like we were not and so we quickly fell out of life you know our state quickly depleted that's because we didn't want to practice like we wanted to practice keeping a cold key and not having a hot key with Auto bond
script and so I think that like you know having that like testing a proof of stake kind of actually degraded a little bit from the experience so that you know I think as different projects go on and do more like incentivize test nets like this I think these are some of the things that they should be thinking about really focusing on the security of the validators yeah that's a really great point and I mean partially to show that you know we could we can do these kinds of experiments and and they can be successful but I think you know to Sonny's point they really should clarify what in particular they are testing and not try to conflate too many things at once and you know I mean part of the excitement you know that I always had around the block chain space was that we can really start to
test you know economic mechanisms and things in the wild in ways that we probably couldn't before and you know that's that's more true than ever today and yet with gay mistakes we kind of got a few things I guess confound it in that in the one hand we're trying to really improve operator security but on the other you know we were talking about testing the economics and and those two things are a little bit juxtaposed with each other there are a little bit in tension like something was saying you know you know auto auto bonding isn't something you should be doing if you're building this kind of you know hyper secure offline Keys system whereas it is if you're just in it for the rewards right so but I think we're also seeing that play out on main yet I mean if you look at significant amount of the
transaction activity is some of the validators just like constantly withdrawing their rewards and rebonding it you know maybe that's a problem with the architecture of the system that the rewards aren't automatically bonded and the stuff that can be addressed in the future but I think this point about picking what you're what you're testing and what you're experimenting with is important yeah the economics of a short-term game are just so different than the economics of a long-term repeated game and that's that and I think that was sort of the main problem and we saw like certain attacks that were tried on gay mistakes that only made sense and short-term games in a long-term game like the real cosmos Saab is well let's move to the topic of governance right because that's another
thing that you know since the network's launched like II still can't transfer tokens but there is like activity around governance and one you know one of the things that's interesting is in the last year's people often talked about Unchained governance but they would always talk about you know taser also Definity or like these other projects cosmos would never be mentioned but of course there is on chain governance since it's being used today so the mayor's mind describing what is Yan Cheng governance process look like in cosmos and you know how does it differ from other on chain governance processes sure so the entren governance process of Cosmos is a little bit complex and it's like not it's I'd say it's somewhere in the middle ground
between like the more social consensus style system of Bitcoin and theorem and the more like complete hardcore fully on chain governance that like tezo's or polka-dot kind of saying it's so intense and polka-dot like you know they have like a sort of sort of coin holder voting where the more coins you have the more votes you get and that has the ability to automatically change the software and you know my issue at this is I think it leaves out a lot of the stakeholders so you know coin holders are an important stakeholder in the governance process but they're not the only one there are other important stakeholders that you need to gauge the opinion of such as you know maybe businesses who are depending on the
system users core developers there's a lot of people who you need to gauge the social consensus of and that's kind of like you know always been the premise of Bitcoin and a theory element whatnot that you need to gauge all everyone's consensus but the problem that Bitcoin aetherium face is that they don't have an outlet for coin holders to signal their views and so this is kind of problematic as well where like you know the etherium for example has the carbon vote but it's not this like official thing and like the ux around it is not that great and it's like so at least extremely low voter turnout and so the idea is that by like making it beat like the on chain governance or on chain signaling be like an official part of
the core Pro Paul the idea is that hopefully we can get more voter turnout and it so we can get the coin holders views as an input into the social consensus and so if you look at the governance system of Cosmos there's three types of proposals there's text proposal parameter change proposal and software upgrade proposal so the texture puzzle is really what I've been talking about where it's this signal so it's like you know we ask the coin holders hey do you want this feature or what do you think about this idea and and the coin holders can do their signaling then there's a second round which is sort of like the software upgrade proposals this is where the
question we're asking to coin holders is not actually what is not actually this this is really less of a governance and it's more of just a coordination system of when to upgrade and so what we're asking people is not do you want this change it's do you think social consensus has agreed to this change so for example if you look at a segment activation in Bitcoin right that whole not 80% threshold that they had I don't think 80% of miners wanted Segway the question really was do you think that segment was accepted by social consensus and 80% of the miners voted YES on that question and so that's really what the software upgrade proposal is we're telling that we're telling the voters
here that you're not posting you're not supposed to be saying all you want you're supposed to be just providing an Oracle to social consensus and saying has social consensus agreed to run this and if so let's coordinate on a block height and a code hash to upgrade to and then finally there's that middle type of proposal which is the parameter change which there's some things like you know high-level code changes and so we want to go through this very slow and drawn-out process be somewhat conservative like Bitcoin but you know even on aetherium there are certain things that like the miners can just straight-up change themselves for example the gas limit or block size in aetherium and so that's why we have these parameter chains
opposes where it's like some things that maybe just for the cake for you the situation of simplicity and efficiency will say okay well the coin holders just automatically upgrade that themselves but the things that are going to be in that camp are probably going to be somewhat limited so really the the Tex proposals in the software proposal this two-round system is really going to be the crux of cosmoses vote the Kosmos hubs a relatively conservative governance system so we've had to governance proposals so far right one was about changing some parameter about how inflation and the block rewards calculated and the other one is around enabling transfers you know what are the
insights or maybe some lessons that you guys see so far in terms of how the governance system is functioning is it kind of living up to expectations do you guys feel like some things have come up that surprised you yeah so you know the second proposal that was made on the Kosmos hub the first one was about this like thing that it was relatively unconscious and it seems to be passing quite well the second one was about you know the famous activating of transfers so you know as Bucky mentioned we launched the cosmos hub without the ability to run without the ability to transfer tokens and we kind of said it'll be up to the community to decide when they think that activity transfers
is ready but the way that that second governance proposal was kind of framed it was framing up in a suboptimal way where it basically said do you want to activate transfers and if so we'll all run the code that is signed by aib all in bits or tender meant the company and basically essentially like you know tender mint the company essentially they said like it was based off of the signatures of three key base accounts which I think included Bucky J and Jack who is the project manager for the SDK if it has the signature of these three people then we'll go ahead and run that code but that's and know that actually
for a little bit a lot of people have voted yes and then some people start to think about it a bit more and they're like wait a second that means that like tender mint the company could like do anything they want and like we could we could change state machine true like do you know do anything we want a lot send all money to us and you know obviously I work for tender mint the company and III hope I don't think we're malicious but like I think it's that good precedent that the community was like very and skeptical of us and so now in the past few days that the vote on that proposal has quickly shifted to no and that proposal will probably be rejected and there are people in the process of writing a new proposal for enabling transfers that
follows this more two-round commit system that we just talked about so one of the interesting things in the cosmos voting system is that you know if let's say I'm a delegator and I'm delegating to you know validate or a then if I don't but if I don't vote myself on a proposal I basically wrote in the same way that validated a votes but I have the ability to say oh I'm gonna vote myself and then differ from the way my validator votes how do you guys think about that in terms of the sort of power balance between validators and alligator's I mean in many voting systems on chain governments voting
systems we've seen very low participation from token holders so let's say we're going to see similarly very low participation here do you see a risk that validators will have too much power in this yeah I think potentially I think you know first of all this is all a massive experiment so we don't really know how any of these things are going to shake out the nice thing though is that that having this kind of automated governance for delegate errs basically you know it does help Geron I mean it's kind of double-edged on the on the voter turnout question because on the one hand by having the automated the automated voting kind of follow your delegate follow your validator you know we
basically guarantee that as long as the validators are voting which they ought to be then all of the stake is kind of coming with them which leads to high turnout numbers now whether or not the individual delegate errs are kind of paying attention is kind of another question and I think it it really depends on it depends on who the delegator czar and what what they care about and you know how technical they are and how how much they kind of understand state the network right so to the extent that they're just you know retail consumers that are looking for some kind of passive return you know then then they're not gonna care and at least in theory right they're they're not gonna know enough to pay attention now I think we've we've kind of hoped and tried to you know encourage the community to be
such that such retail investors aren't really the primary holders of atoms you know other parts of the cosmos network will be for them the hope is that really the people that hold atoms are people that are quite quite interested involved in the the maturation the mature ation of this technology and the network and you know they're building businesses around it and on and so on so want to see that even if they're not a validator themselves that the network is evolving in a direction that makes sense for them as kind of active stakeholders right but the extent to which they'll be active really depends on the extent to which there is opportunities for them to be active outside of just being a validator right so building businesses and you know putting up zones and all this kind of other stuff on top of cosmos but so I
think there is there is some risk a lot of it remains to be seen how this is gonna work out you know again it's a big experiment I mean there have been discussions about potentially changing the governance so you know so that maybe when you delegate you also have to pick which validators votes you'll follow rather than automatically following the validator you delegated to so that could kind of make things a little bit more flexible and could potentially separate the you know the decision between who you want your your stake to be tied to and who you want your vote to be tied to which could be very different but I think you know if from a certain other analysis or perspective it might make sense for those things to be the same it doesn't even necessarily have to be to
another ballot it could be just to another user account as well could be to another user right right right so kind of make it more of a liquid democracy kind of approach yeah so there's a lot of opportunity and flexibility there I think what we've started with is just kind of you know again from the perspective of actually shipping the thing and having it not be too complicated from the get-go you know the ideal is well let's ship the kind of simplest thing that makes sense and that kind of works and let it evolve from there according you know the stakeholders and the users of the network so it'll be very interesting to see how the governance really evolves from here I think that this flexibility is is is desirable and perhaps necessary and I think that having something more akin to a liquid democracy is is an improvement or some
sort of betterment in in terms of what you know our actual current political systems look like but I think the challenge remains regardless of you know this sort of flexibility is is participation and encouraging participation now it might be that you have all these all these functionalities and these features that allow you to delegate etc but that in reality you know maybe two big whales or only act only two big whales are actually coming in and making decisions on unimportant proposals to the network and if at some point you know there are billions of dollars in value and user applications and investment funds and insurance companies and banks and what have you building on tender mint then you know
that could potentially pose a risk to a lot of users you know what idea that the you know we were discussing before the show Brian and I and one idea could be potentially that delegate errs would would need to actively delegate their vote with validators but that those validators votes in a pool would only count if a sufficient threat hole threshold had been reached so effectively validators would sort of have to campaign on behalf of their delegate errs in order for votes to go through so therefore you might have a situation where it like people be incentivized to vote etc how do you think that you know we can actively to you know make blockchains a sort of more
democratic system where there is actually participation and we don't fall into the same sort of system that we have now where you know most elections I think you know like never for the past 50% and like in recent elections we've seen like you know even less than that this is a really hard question and I don't know that any of us are going to be able to give like real competent answers I think to some extent we're exploring extremely uncertain and unknown territory but what I would say is that you know - it really depends on the stakeholders in the community engagement and you know how much people care about the system and want to participate in to some extent it will also depend on the incentives but you know building the incentives around governance in a way that doesn't just promote ho buying and
all this stuff is quite difficult and so I think you know and part again part of the vision of Cosmos was really this sovereignty and this you know proliferation of block chains and that any group of stakeholders that wanted to put up a chain would have the tools to do so and to do so in a way that was at some level interoperable with everything else right so you know whether they're talking to the Kosmos hub or not it kind of doesn't matter and so from this from this larger you know meta perspective of giving people the tools to run block chains and to engage with them and govern them I think that that will hold a lot of promise in this question about you know how do we build actually engage communities and and you know stakeholders that participate but I think it you know it's also still an
open question for us as you know civilizations and societies how we build these kinds of institutions where there is kind of democratic engagement participation and you know we don't really have that at a large scale in our I think you know in our politics there are certain other you know like cooperative corporations try to do this a little bit more actively where you know the members kind of have to vote that's kind of the whole point to being part of a cooperative is you're supposed to vote on the thing right and so you can think of some of these digital networks is like there's some of these blockchain networks is like digital cooperatives in the sense but you know it's very experimental and so I think it really comes down to what is the value to the stakeholder that they're getting out of this and how much do they care
and if they don't if they simply don't care enough about the outcome that you know they're gonna vote them they're not gonna vote right and so you know the the closer that the actual state machine of the blockchain is to the particular stakeholder the more likely they're gonna pay attention and they are gonna vote and so you know this kind of thinking I think has been paramount in in our design decisions to you know encourage the proliferation to not have the kind of shared security by default but to have you know more of an interoperability by default and sovereignty by default to really enable the state machine to really be as close as possible to the stakeholder so that they will care so that they will turn out and I think asking the question of you know how do we get all of the atom
holders to vote things on the cosmos table or how do we get all the Bitcoin holders to vote on things on Bitcoin you know it's a little bit of a misnomer because of how distant the state machine of those networks is from the stakeholder right and yeah so kind of a long-winded way of saying you know it really depends and we don't know also a couple of weeks like earlier on in like the cognitive development process we actually had it so that if you like you know if a validator doesn't vote they actually got slashed but then what you know the emergent behavior that ended up happening is everyone just started writing scripts that would auto vote abstain and it you know I think what that made us realize was trying to force
behavior especially when it comes to voting and stuff is not effective and really what we need to do is inspire and encourage people to vote and I think that that is like you know this whole community blockchains idea is kind of well hopefully do that we're like you know the reason maybe people don't want to vote on a lot of the etherium stuff is that it's like you know it's just such a big system that like you don't care about everything that's going on right but like if it's like a more specialized application or part of your community chain or something you know maybe that will lead to more engagement and then from a technical standpoint there's also like you know some certain stuff that I've been working on to make it easier for people to vote so for example right now you need a vote using
your key that also you know has all your atoms on it and maybe you want to be keeping that in cold storage I'm working on a proposal called subkeys which will allow you to like basically designate one key as like a for different functionality so you could and one of the things you could do is you could say this key has only the ability to vote in governance and it can't like move your tokens to someone else so it's okay that maybe that you have your main key on your ledger in cold storage but like your governance key you can keep it on your phone and there's like already a bunch of great mobile wallets like a rainbow wallet and Kosmo station and that all do you support governance and so once we have these sub keys you can keep those keys on your phone and be
able to vote you know go make it like fine like you know you agree when you see how the cosmos holder atom hold you like hey have you voted on the proposal yet and like you know well you know we got to encourage people to be part of it and make it easier and more secure for people to do it as well so we spoken it a bit about validators and and of course that does tie in to governance as well so what do you guys see as the role of validators in the long run and to kind of the the function they serve in a network sorry I just want to make a point about the the last discussion which I think is that this point is about kind of voter turnout and engagement and that it's maybe the wrong question and it's more
about building systems that people care about and getting the engagement there kind of holds for the larger space of mechanism design and you know all the kind of things we're working on we always we tend to take very you know technically oriented and mechanism oriented approaches to the design of these systems and I think to a significant extent you know somewhere along the line neglect the fact that the whole point of this thing is to coordinate you know real wet human messy humans the human elements are really what this all about and you know if we don't tend to the psychological and sociological aspects of that no matter how perfect your mechanism is on paper you know it might not really might not really take shape the way you expect and you know I was at the radical exchange
conference last week with my girlfriend who is much more in the kind of social side of things and you know how to make technology more human side and she was basically just trolling me the whole time we were there and just chirping about you know all these people are so like mechanism oriented like where's the humanity in all this and so you know I try to channel her as much as possible and thinking about blockchain design and so on so anyways from the perspective of validators I mean I see I would I'm very interested in this isn't much this is a long-term perspective so I'll just give it to you like that I'm looking for radical decentralization of the physical infrastructure of the Internet because right now it's kind of a red herring it's kind of a I'm sorry not a red herring it's the elephant in the
room get my analogies my idioms mixed up the elephant in the room when we talk about decentralization is the physical infrastructure right because we have made almost no progress you know we're doing really great things on be central to file-sharing and consensus and you know all these all these great software and overlay stuff but when it comes to the physical infrastructure you know we've hardly even begun I mean there's a few mesh net projects and so on but so what I really see in the long term the validators as being the seeds for real decentralization of the of the Internet infrastructure and I think you know validator like Ruby snake validators might be the first application where people are going back to data centers right like everything moved to the cloud and it's like finally we've created an
application that is encouraging people to actually leave the cloud and actually set up real physical infrastructure close to them you know in in a datacenter it was actually I found this quite touching the other day I was talking to Zaki you know Zaki travels quite a bit and he was you know he said something about like where home is like when are you gonna go home he's like where's home he was like Oh home is where the validator is right I thought that was a that was kind of really really interesting take on the meaning and importance of validators in the long term it's like seeds of the physical infrastructure the physical Internet infrastructure for these new kinds of digitally cooperative communities and so you know maybe that's not a satisfying answer about what the role of the validator is in the short term but at
least you know that's what I'm kind of hoping for in the long term that there is start to seed physical infrastructure in local communities in that you know this vision for you know sovereign independent blockchains that are all kind of interoperating kind of takes a to a significant extent like a geographical orientation so that you know certain zones actually are based locally geographically and you know traditionally that's how that's how charting is done on the traditional internet right with you know the huge volumes of google or whatever get cached in local data centers to serve those populations more efficiently than having to always go to California to get the data and so I'm hoping that that we can you know reset the internet infrastructure on top of that kind of thing with validators now in the short
term was the role of the validator you know it's very different so obviously primarily to operate the network and to host it and to start to offer services around it and to attract delegate errs and you know upgraded make it actually useful for a larger number of stakeholders but I think to ask about the role of the validate you know just the validators on the Kosmos hub you know kind of this is the point of the larger vision of the cosmos Network and the cosmos interchain of you know the the validators are really part and parcel they're like the stakeholders of the independent communities that we expect to run the many millions of block chains and so you know part of that is gonna be educational how are these communities actually gonna have the technical expertise to actually do this in a way that just doesn't you know it doesn't
just offload everything to some other you know tech provider and I think those are interesting questions and challenges for us to address over the coming years decades so one of the interesting questions around validators and that's also already come up in the you know two and a half weeks that it's running is around you know the decentralization and of course we do have let's say for example poly chain where there's like a huge so there are some of these funds with like massive positions there's an expectation that like he changed his gonna come in and you know in in some other systems they've also like in a also example I think they've accumulated massive power coinbase custody years and I you know they're going to launch about it as soon so how how would you first of
all think about like what's the role of decentralization the cosmos hub is there some kind of metric to measure it and yeah how do you see this playing out good tough question I don't know you know very early on in the development of tenorman I think at least a couple researchers were driven to the brink of insanity by virtue of the fact that you know tender mint under the you know formal analysis collapses to just two dudes right one with 99% of mistake and one with 1% of the state and I have I have seen Minds in the throes of this kind of analysis and it's it's I don't encourage you to go there uh-huh but yeah I mean it's a hard question I don't know the answer I mean hopefully
the the community of stakeholders and you know atom holders will will cherish and value decentralization and if they don't I suspect that there will be some that do and ultimately you know create Forks there are alternative global hubs where things are a bit more decentralized now there probably are things that can be done in protocol I think you know these are difficult it's a lot of discussion around them about what you can do there to really to really push for it you're always at risk of to some extent maybe you know it's been underestimated the cost of having like independent validator IDs and so you know we could you could propose things like a cap on how much could be bonded for a particular validator and that
would force people with large positions to split their validator up into multiple keys and if they're being public with both and they're publicly you know civil in some sense so I don't you know so so I think things like that could be experimented with I don't know you know I'm certainly not gonna necessarily vouch for any any one solution or the other I'm interested in seeing kind of what the will of the stakeholders really is and the people that have atoms and distributed we certainly won't know what it's gonna look like until transfers are enabled and you know much larger group of interested parties can kind of get involved in this but it's definitely a threat and it's definitely a little risky but I will say I will say this which is the difference between a service hosted by a single entity and a service hosted by four or seven you know
11 whatever it is even a small number is very significant and very different than what we've ever had before right and so even just this moderate amount of decentralization in the short term over some number of entities especially if they're geographically distributed in different jurisdictions I think is very significant and we shouldn't we shouldn't underestimate the value of even that small level of decentralization of course hopefully we'll push for much much more of it over the long term but it's already extremely experimental and quite unprecedented and so you know I would take some amount of pride in in that initially one solution that I will vouch for is us you know for how to help push more decentralization is this one that Dan Robinson and I and batalik have been talking about for a
while a bunch of other people as well called partial slashing which is the idea that a the larger a validator is that faults the more they get slashed and then you also take into account there's the MEC there's ways you can design it such that like even if validator tries to split into many smaller validators and they all double sign or fault together they get like slashed even more than if they didn't split and so you can design incentives where it's like encourages validators like from an economically rational standpoint you're helped decentralize the network and not put everything under you know into centralized systems so going further on this topic this is something that's come up recently and something
that we felt it would be a good good to address specifically because because you know we're talking to you Sonny is you know this position of adopting low commissions as a validator so your validator has adopted this policy of zero percent commission and there's been some amount of uproar on social media and on reddit in fact we you know posted a reddit post before this episode asking people to ask questions I think two or three of those were you know around this topic and so in in in a sort of capitalistic paradigm one would think that everybody would tries to bring
their fees as low as possible and and then the the bigger ballot is ones with the most economic means could good to out competition the rest of the market or out-compete the rest of the market to to effectively you know lead us to a situation where potentially there's a lot less decentralization and maybe there is just one or two validators now of course as as a decentralized system we want to encourage you know I think people and valador specifically not to adopt this sort of this sort of policy or this sort of like you know zero percent commission so how do you how do you respond to that and like why did you do this
and what's the reasoning behind it and you know how do you address that in the context of decentralization and also as at Endermen employee I feel that you have particularly a vested interest in tenorman succeeding so how do you respond to all this second yeah so Sikka we is is the name of the validator that's run by myself and Dave Oh Joe who's another tenement employee we basically decided to start with 0% Commission and for the short term right like so when we when we announced it we said we're doing 0% Commission for at least one month and our goal was to help you know I think
what we saw a lot of commission rates that a lot of the validator set was too high and I don't think it needs to be that high like we saw some valid it is up at 15% while I agree 0% is too low and so the idea was we you know we want to you know both sides to start moving towards each other so we meet somewhere in the middle and so I think sick has been doing this very well where by fourth using this zero percent we've already forced a number of validators to reduce their Commission very few validators have reduced it to zero percent which was never our intention our intention was just to force people to reduce it downwards and towards something that we see is more reasonable and I don't know what the number we see as reasonable is yet like you know I
don't think it should be too much higher than 5% in my opinion but you know that was kind of the goal there and we'll start to increase our validator our commission rate there and then two other things that are kind of relevant here is why are we able to do this 0% commission a lot of people have been criticizing us that we're like price gouging or like you know we have access to st. in mind so like DC Capital or something like that's how we're doing we have like zero VC funding or anything literally what we have is our validator is running out of the UC Berkeley Data Center which you know through dongseong who works on Oasis Lab she was my advisor at UC Berkeley and so she got us into the UC Berkeley Data Center and we're running
our validator out of that which is why we're able to run our highly secure validator for very low cost and you know I I fundamentally don't see this as any different than the miners who decide to mine out of Iceland using their free 2 or thermal electricity right you're gonna have to expect that the validation market will become like competitive and people who can find the most efficient ways of like extracting resources will succeed there and finally the last thing is you know we're also taking a much more longer-term view of the cosmos network where the cosmos hub is not the only chain in the system we're charging zero percent on the cosmos hub to earn delegation and reputation and like you know some name name branding
and then you know within this or next week we're gonna start running a validator for the iris hub and we're not gonna be charging 0% commission there we're gonna be charging a commission rate there a non zero Commission rate there and we're gonna hopefully use our brand that we've been building as like competent high functioning Valadez on the cosmos up to earn more delegation on the iris hub yeah so I mean this is a I think very interesting discussion and obviously I have been involved in the discussion quite a bit I personally find the argument super questionable that you're making like fix up well if we if you look at some math here let's say the cosmos the atom market cap is a billion which is a lot right for the stage of
the project but you know maybe it will be there if you have five percent commission across all well there's it means five million revenues across all of the validators for paying different the entire infrastructures if you have a hundred validators that's on average fifty thousand dollars per violator it's not even one job right like not speaking of running infrastructure and then if you have like five percent be fifty million not five million no five percent of a billion is fifty million now but yeah you have a billion right and then you have like let's say roughly ten percent inflation per year would be one hundred million revenues paid to all the delegator five percent commission would be five million split across a hundred router there would be fifty thousand now of course you don't have a uniform
distribution of the stake right so it basically would mean that like you would not be able to have more than five ten validators that maybe could be like financially sustainable so I think it's now from your guys perspective I can totally see the argument I think it's sort of economically rational but I think it's extremely negative for the for the cosmos ecosystem and I personally think and now this is a little bit strange because I'm also the interview here no I think is totally irresponsible to do it especially getting like paid by all in bits at the same time as a salary and then doing this by competing for everyone building network I mean so mess up hmm okay I
think that you know like I said I have no intention of keeping it at 0% and also that's before messed up - Stu - its 0 % I'll tell anybody and then later like hike up the price I mean they told people that it was just gonna be a month right yeah and I told people that if I whenever we raise the prices we were gonna give at least one bun bonding periods worth of notice so the people have three weeks and if they don't like our announced pricing commission rate increase they can instantly read Ella gate a way and be out of us completely 100 percent before we ever increase our prices and then also using the numbers you said like this is like taking a very
short term view of the network keep in mind Adam inflation is not even meant to be a reward for the validators it really was designed to be a system just to punish people for not staking the real long term reward in the cosmos hub system he's gonna be the fees that you earn from the system and yes I understand that right now there aren't and the fees are essentially negligible because this system is brand-new but like you know people were doing this in the early days of Bitcoin people were mining off of the faith that like these things will one day be valuable and this is kind of what we're asking the validators to do as well have some faith in the system and believe that like you know at some point the usage of the system the fees will be enough to like pay pay for their
services that you guys are providing okay well I think this is a discussion that you know it's probably best continued in some other context as well but so let's let's move it so you know we're running pretty late already but let's move briefly to the you know cosmos SDK and IBC especially cosmos SDK which you know I think is you know it's a key part of the cosmos project into kind of the value proposition so Bucky do you mind like running through like what's the division of cosmos SDK into utility a bit sure I think maybe to really understand that you know from a from a lower level if you already familiar where tenorman it helps just talk briefly about the tenorman a VCI so your tenorman was designed in such a
way to abstract the state machine from the replication engine so when we talk about blockchains as replicated state machines you know state machine you have the replication piece which is all the you know the peer-to-peer that consensus etc and so what we did was we invented this interface that we call the ABC I the application block to an interface that abstract away all the concerns of the state machine from the underlying replication engine and that enables you to build your state machine in any programming language you want to use existing code you know to architect it however you like it runs in a separate process on the same machine on a different machine kind of doesn't matter so there's you know tremendous flexibility there and I think that's been part of why tenorman core the software has been so you know so widely adopted but when you're building
directly over a BCI it's a it's quite a low-level interface right and so there are a lot of concerns that you have to kind of keep in mind and take care of things like concern concurrency and state management and you know the structure of your modules and and all this stuff and what we realized is we had built a few different applications and go to kind of test this out that there were a lot of common elements there that all these application chaired and to what we did was we we created another layer another layer of abstraction to really you know simplify all those concerns so that you could now build you know more directly just the the key pieces of your state machine without having to think about any of this a BCI stuff right and so the cosmos SDK was really designed as as a
framework for building applications in go on top at Endermen right so for building state machines on top of tenorman and the way it's structured it kind of comes in these right and so the lowest layer is called base app is a very it's really a thin wrapper around the ABC I that gives you this kind of you know very flexible approach to how you should think about the state that you're storing in your state machine and you know how transactions are gonna are gonna access that state or manipulate that state and this is where the you know the key design principles of the Kosmos sdk of object based capability security come in where you know you the idea is that things are only gonna get access to the store if they're given you know an
explicit capability that enables them to access the store and so kind of the whole model of the base app is designed like that but the base app is still flexible enough that you can you know it doesn't force a particular serialization algorithm it doesn't force a particular Merkle tree doesn't force you know any notion of coins or anything like this it's very very general-purpose building a state machine on top of the ABC I using this object capabilities based approach to accessing your state right and then from there there's this next layer which is you know the the actual what a lot of people know what the Kosmos sdk which are all the kind of pieces of like the coins and the anti-hand learned this particular way of structuring transactions and having you
know certain kinds of signatures and nonce is a fee collection and all this kind of stuff which you know the cosmos hog was ultimately built on right and a lot of other things that you know maybe they won't look the same as the cosmos hub but they'll still use a lot of this same structure for what transactions are like and how they're serialized and so on but that ends of it so that's that's kind of a lot of the pieces that you would need to actually build you know a cryptocurrency or a cryptocurrency system and then on top of that then there's the next layer which are the actual the modules right and that's where all the really custom logic for executing your transaction comes in so after you've done you know all the authentication stuff to make sure you know people have enough to pay their
balance and they sign their signatures and so on then you want to actually get into the meat of your application logic and that's where the modules come in and so you know for the Kosmos hub there's a certain set of modules that are you know that define the governance of the Kosmos hub and the proof of stake and the slashing the fee distribution and so on but if you're building another a different kind of application you could choose a different set of modules so you can still inherit you know everything underneath so the same kind of transaction format and all this kind of stuff but you can start to define more specifically you know the message is the message structure and the kinds of state transitions that are involved in your app in your application and so on and to the extent you want to use the
same governance or the same group of state module you can to the extent you want to change those you know you can as well so again the SDK is really this kind of general framework for building cryptocurrency style state machines on top a tender mint where there are multiple layers at which you could enter depending on kind of what you want to inherit and how much flexibility you want to retain cool now one question that people often have is you know the the difference between substrate which is a kind of similar framework developed by the parody team and cosmos SDK what do you think they look at the main the main differences here I haven't gotten too much time to play around substrate yet I've poked around it a little bit and you know it seemed
that you know a lot of the design ideas are actually generally very similar like they're using a similar idea of modules and like different transaction types and stuff and really at the end of the day I think it's really just gonna come down to people's preferences for programming language where substrate is written in rust and you know if you want to build your state machine you have to do it in Russ well the cosmas sdk is in golang and you know we have another framework that was also built by some engineers who used to be at all in bits and now have spun off into their own company called anomic called lotion j/s which is a javascript javascript based sdk essentially and so essentially you know the idea is that we want this like diversity in in in frameworks in fact
there's actually no the fourth one called weave which is a Bucky mentioned like a while back ago that like you know we had an old version of SDK v1 and we kind of scrapped it and started with writing SDK v2 well one of our ex engineers actually really really liked SDK v1 and he actually kind of went ahead and kept maintaining it and kind of turned it into its own standalone SDK called weave now and so you know the idea is that we want all these different frameworks in the cosmos ecosystem whether it's the cosmos SDK weave lotion substrate and give developers the opportunity to like use whichever one they feel most comfortable with and it's really gonna mostly come down in my opinion to the programming language I
think that you know in my personal opinion I think rust is a little bit too esoteric for most developers while javascript is maybe a little bit too loose and I think go hits this like nice little middle balance between like you know security especially with our object capability system that we design along with ease of use and ease of access to developers like you know I learned go in like two days it's it's really easy programming language to pick up as if you have like basic programming experience and so and you know the real goal would be is we want to implement IBC in all of these different frameworks so right now we're working on it in SD but you know we're gonna have it implementations in all of these different frameworks yeah so that that
does bring us to the next topic that you know maybe you can briefly cover I know it's in its very beginning but Bucky I know there's some work starting around IBC so what's you know what's the the current status on IBC and like what does IBC roadmap look like so I mean there have been past specifications of IBC and past kind of prototype implementations that were running on test nets and and so on what's happening now is we're kind of taking a step back from all of that and trying to really split the IBC spec apart into all of its constituent pieces and really for each piece define you know what it is what are the properties at this layer you know what are the requirements to satisfy you know the these particular needs and so on and so
you can follow all this work in the in a github repository it's github.com slash cosmos slash ICS that stands for interchange standards so cosmos slash ICS and you'll see there you know a large number of issues they're each numbered like ICS number three number four etc and each of these kind of corresponds to a different component of the IBC layered stack right and and so so activity there is really starting to ramp up we're also hosting bi-weekly meeting with luck with a larger group of members from the community who are interested in participating in the IBC discussion what we really like to ensure is that you know IBC is defined in a very general purpose way and has a you know a specification that really focuses
on you know some of the key data types but also kind of the properties and the requirements of the protocol so that it becomes very easy to implement it in many different languages and we have intention at least you know right out of the bat to implement it in three different languages and go and rust in a Java Script and to have those implementations actually pursued by by three distinct teams and so we're working you know both the interchange foundation you know working on implementation and rust all the bids is working on one and go you know we're trying to work with the goreck team on one JavaScript and also the nomic team who has pieces of it already in JavaScript and so you know we're really trying to make it make sure that we don't say overfit the design of IBC to a particular state
machine or to you know particular needs and that it really stays generic enough to suit the needs of a large number of stakeholders who are looking to have their state machines interoperate you know in this larger cosmos interchain vision and so if people want to follow that again github.com / cosmos / ICS if you're interested in the bi-weekly call I actually don't know the best way to find it but it is all you should be able to find it from the repo it should be able to join publicly and so that that's moving along and hopefully you know we hope to have MVP at least of this back you know in the next few weeks of course I'm gonna start making estimates so you shouldn't listen to my estimates because they're almost certainly wrong but you know hopefully IBC will be in a place
where we can actually ship something to the cosmos hub you know this year you know beyond that more more refined timelines are really hard to give obviously we want it as soon as possible because that's you know really what's necessary to realize the cosmos vision but we want to do it right you want to make sure the specification is written you know quite formally and it's very clear and is amenable to implementation in multiple languages so why should someone choose to build their dab or their application on cosmos rather than aetherium well potentially a lot of reasons so if you want direct interoperability with the rest of the etherium ecosystem then obviously you should build on ethereal if you want to subject yourself to immense development
pain in you know using solidity and debugging your solidity contracts and so on you should develop on ethereal if you want to subject yourself to the whims of the etherium governance and to you know if you're in speed system and mechanism and and you know proof-of-work mining and all this stuff then you should develop on a theory if you want kind of independent sovereignty and if you want to use a mature programming language that you've been building in for a decade and has matured debugging tools and testing it and all this stuff then cosmoses is probably right for you so you mentioned the interests and foundation and so this is the foundation that led the fundraiser do you talk about the role of the foundation moving
forward with regards the cosmos and and like all these different projects and organizations gravitating around cosmos yeah so you know the the foundation was set up in early 2017 it did this fundraiser it has been the primary source of funds for you know many of the folks kind of involved in developing you know key elements of the cosmos hub and pieces of the cosmos network I think now that a number of organizations are kind of standing on their own two feet in the sense that they've managed to raise venture capital investments so that includes all bits but it also includes a number of other entities we're starting to see staking companies you know raise VC money and so on a lot more attention is starting to
turn to you know building up the interchange foundation and building up teams there and ramping up a the granting program and so on so so right now really the focus there is on this granting programs you can find it on the website interchain do you can apply for funds so we're looking to you know in the short term really deploy capital deploy you know funds from from our Treasury which has been I think reasonably well managed over the last couple years to really you know grow the ecosystem and see in the short term to see kind of the immediate needs to be developed so you know IBC for sure certain other application frameworks bridges things like you know bridge to the etherium Network things like ether mint which are you know the etherion
state machine running on top of tender mint in a way that's compatible with the cosmos network you know certain certain wallets block explorers and so on so really kind of growing this the set of applications and frameworks and developer tools and all this for building for building you know at the cosmos ecosystem the foundation is also starting to focus on on some R&D as well kind of a little internally so you know as I mentioned the foundation is gonna take on the implementing IBC in Rus to kind of complement a I'd be doing it go and others in JavaScript and hopefully others in other languages too and so you know looking higher Russ developers for that we're also building out the research team there and so we're
starting to focus in really on formal verification of hopefully all of the protocols in the stack but really I think starting from tenorman starting from the lower lowest layer kind of working our way up and to help you know really ensure the correctness of the software and to enhance our ability to test it and you know really build confidence in the software both for the Kosmos hub but also for all the many other block chains that we'll be building you know on tender mint and then you know hopefully we'll be able to turn our attention to actual actual protocols in the state machine in the way staking works and governance and so on and and try to move the bar on informally verifying things there you know in the long term for the foundation I think we'd like to we'd like to figure out what sustainability really looks like
for a non-profit I think that's something that hasn't really been publicly been addressed in this space you know a lot of people a lot of foundations are sitting on you know a huge stock of capital and feel like their only job is to appreciate the value of the assets they sit on I think that's maybe a little bit of you know kind of a naive view and kind of the thinking that got us into you know peak oil crisis and stuff like that is like oh we have all this stock now we could just spend it it's like no we kind of need to figure out sustainability and the sooner we do it probably probably the better so we're starting to think about what that looks like but we don't really know yet so you know if we're eager to hear what people think and and
you know we're building out there and hopefully though there'll be a lot more to say from the foundation in the short term really the focus is on on funding you know building out the community and having you know really having strong independent members of the larger Kosmos ecosystem that can really take responsibility for you know operating the network and developing things on it and so on yeah cool well thanks so much guys for coming on it was a it was great you know diving into cosmos I'm sure this is gonna be something to revisit and lots lots more to to discuss especially as actually interoperability is going to you know start to happen right and we will actually start to have you know multiple interconnected block
chains in the whole new world of you know what block shades look like and watch the networks look like I think we're starting to emerge so thanks so much for coming on it was a pleasure thanks for having us thanks Travis we release new episodes of epicenter every week click here to subscribe for hundreds of insightful interviews with some of the leading minds in blockchain and crypto you can also listen to the audio version of the podcast on iTunes Spotify stitcher and other podcast apps click here for a full list of places where you can listen thanks for watching at the center and we hope you'll join us for our next episode [Music] [Music]