Cosmos by Billy Renenkamp
Devcon·Wed, Oct 9, 2019, 12:00 AM
Berlin Ethereum Meetup 2019/06/18 Interoperability Edition
Transcript
check-check cool thanks for coming out everybody I'm gonna try to keep this quick I'm going to talk about cosmos subtitle Ryoka tech chirring RER connecting the blockchain ecosystem so I don't know if anyone had the painful experience of trying to develop something around the time that Bitcoin was new you had very few options if you want to do something that was slightly different from Bitcoin usually you would just fork the Bitcoin codebase and tweak some of the parameters it was the first wave of coins they basically just changed the inflation rate or whatever the the pre mines that they could be the one who rolled them all but if you wanted to make any sort of fundamental changes you had to really deeply dive into a very hard to use code base people tried to use scripting and something called colored coins sort of shoving metadata or contextual data into the call data field and sort of parsing that as if it was relevant to your application this was also a really terrible experience so you have Bitcoin doing one thing really well but as soon as you want to do something else it gets really difficult luckily we saw the emergence of a check check atheria and smart contracts where you had a lot more freedom to sort of a design your application you know to take more and more voom booty as you're all aware of how aetherium works you have this this amazing ability to write custom logic inside these smart contracts a generalizable state machine turning complete which let the sort of app designers design the apps and not worry about networking consensus benefit from the the shared state of aetherium to take care of those problems and focus on what your app actually wants to do of course this comes with its own limitations you are all using the same resources for that reason you have to have very strict costs for the storage for state transactions for state updates and things like that which often causes the problems if your app is doing something non-trivial you probably all run into that as well so the idea behind cosmos is to sort of solve a very specific use case for applications that need their own resources maybe they also need their own sovereignty so that they can make decisions about how those resources are allocated whereas when you have a shared resource environment you're very much restricted by your neighbors and what they're using it for which might not be the same thing as you so that sort of gave birth to a slide that doesn't exist in here which is sort of the idea of Internet of blockchains I'm gonna hop back but basic idea is that it makes a lot more sense for each application to have its own blockchain have its own security concerns have its own resource allocations have its own state things like that but to not limit a blockchain to itself by creating a form of communication between block chains so that you're not restricted to your own space I'm just gonna this is gonna be a gift for the whole night and we think this is really great because you get a lot of the sort of traditional computer environment app development system that you're used to we've developed an SDK to help that process take place faster and easier the SDK comes with a lot of sort of we call them modules which would be features you'd expect out of a basic block chain we've sort of solved that original problem or that's our goal which is that it's very difficult to build block chains when if you ever tried to again fork or use this original Bitcoin code base you ran into that problem so if we can provide a solution for networking and provide a solution for consensus which is called tenorman then we hope that you can do similar to the etherion point of view just focus on the application state but since you're going to be the only person using this this resource this block chain you can have a much more robust programming environment for that use your your system exactly how it should the final key of this again being inter blockchain communication so IBC is the focus of the company right now we look for a four to six timeline on it the first version of it was available this last weekend during the hackathon we saw some cool projects playing with it it is highly based off of tcp/ip our idea of this whole is basically to mimic the Internet you wouldn't expect for everyone's website to be all on just one server although you might be kind of seeing that with Amazon Web Services in a way but you expect a bunch of independent players in the world and the ability for those different computers to talk to each other to do different things to send packets in between them so we think this architecture has been working fairly well for the Internet we want to try to bring a similar model to the way blockchains communicate to each other this allows for horizontal scaling and again this really important feature I keep talking about which is application specific resources for your application and it's it's sort of the the necessary piece to allow you to have similar feature set as aetherium or shared computing state blockchains where you can actually communicate with these different features or different projects or different tools the Kosmos SDK I mentioned comes with a bunch of pre-made modules for you the core of it being tender mint which is our fast finality consensus algorithm IBC has it relies on tenorman but it's not restricted by tenorman it is simulated tcpip it doesn't really matter which machine it comes from as long as it adheres to this standard so if you want to use some other fast venality consensus mechanism we fully encourage that if you want to use some other blockchain architecture in system like substrate we fully encourage that we're sort of betting on the idea that there will be an interchange similar to an internet a bunch of different block chains doing a bunch of different things for a bunch of different use cases so we just want to help make that vision come to life by creating tools to make blockchain so whether or not you want to use the SDK or you have your own home r own home rolled solution that's great whether it's again substrate or something else like as long as you have this agreed-upon standard of communication between them we can really open up what's possible between these different environments so dinner min is is our sort of it's been called the golden standard for consensus algorithms but we think it's just sort of well tested robust out-of-the-box ready to go everything and the company's always been sort of practicality first taking safety over liveness sort of starting with the idea of saw independent chains as like the building blocks that you would want for a growing interconnected ecosystem instead of trying to invent the whole thing at once you know could you imagine if the internet wasn't possible unless you had invented all of the services we have today from day one so we want to sort of focus on building blocks and let the the architecture rise from there some of the other features that come with the SDK are staking modules so this is if you wanted to have say a public blockchain you want to have validators who could join come and leave at will maybe there's a fixed set of them 100 is what we're currently using on cosmos hub there's a proposal to increase it 250 but sort of depending on your security requirements what you want to do with your blockchain you might make decisions about exactly how the staking is configured maybe you want to have proof of authority maybe you have a very restricted set and you only want to be a single validator because whatever reason we don't make judgements on that we just offer tools to let you configure it how you would wish we also have a governance module so this is liquid democracy when you delegate your tokens to validators that delegation can be used as the voting power you allow that validator to vote on your behalf or you can use your tokens to vote differently than the validator you're delegating to so we think this really opens up a lot of possibilities with governance this includes the ability for unchain parameter changes so it's something like in between soft governance and hard governance where it's not strictly code upgrades but it is parameters on the running system can be completely under control from the the governance system and that's sort of out of the box ready rewards and fees often used in accordance with governance or staking IBC I mentioned earlier I've been working the last couple weeks on a non fungible token module if you have any opinions or thoughts about that I'd also love to talk to you about sort of what that standard looks like when you're moving to an ecosystem of interconnected block chains instead of a single one I think there's a lot of really interesting opportunities there PEGI is a module that's been developed by an ecosystem partner it's a module that allows you to basically take assets on aetherium or another blockchain and create synthetic versions of them inside of the interchain because there's this difference between a fast finality chain and a probabilistic chain you have this discrepancy about when an asset is actually secured on a probabilistic chain typically you might have some idea of like eight confirmations or eight blocks need to pass until it's really secure but they're actually never really secure because they're probabilistic you know you just get into infant testimony small chances of a chain reorganisation but theoretically it could always get reorganized so depending on your your security threshold you might have a peggy module who's running or or a zone whose entire job is just to make synthetic assets like I think by Nance announced they would be doing this week so once they see that say ether has been locked up inside of a smart contract for 12 confirmations they'll mint a rapt ether or synthetic ether inside their chain but give it over to that original person's address so they can move along inside the wider ecosystem of the inter chain with that synthetic version of ether if they ever wanted to go back to specifically ether version of it they could go back the same way this also assumes an East one point X architecture eath 2.0 would have fast finality so there's no reason not to expect that they would support IBC and to be able to interact with them as if they were a cosmos chain from the get-go EVM we've been calling a thurman it's now I think being worked on by chain safe this is a module that would run inside of the SDK so that if you wanted to say move over your solidity contracts directly onto your own chain you're just the only contracts running there to have your sort of increased resources might save you some money on auditing we think this is sort of a cool feature and opens up a lot of possibilities but I would also argue that the idea of application-specific blockchain opens up a lot more possibilities than just reproducing a really restricted environment like the EVM if anybody is familiar with developing on Ruby on Rails or something like that it feels a lot closer to that so these are sort of some other projects that are building with us iris net is another hub in Asia lino is a using bandwidth fees and micro services they have something like twitch PewDiePie the world's most popular YouTube star is now exclusively using lino for all of his games streaming so that's probably the highest user base of any blockchain app out there I think it's number 9 in the App Store it's just been used for tips right now but they're moving over to have bandwidth in the future they're also doing what we've been sort of thinking about as a practical way to launch a blockchain which is a permission validator set to sort of like establish that things are running smoothly and then once you have that sort of confidence and once you actually have real value coming through there then you open up that validator set to the public and then it's sort of the responsibility the organisation to decentralize it as much as possible but a way to sort of kick start that process is that you probably want to start up with something like a permission set and eventually distribute it once you have a real value they need to care about this is a little bit like the security mechanism for private keys you know and people get really angry if you tell them to write their mnemonic phrase six times if they don't have any money on the wallet so wait until somebody actually maybe has a little bit of money on there and then go through the whole security protocol I think it's a much better user experience and has like much better like 0 to 60 just gonna jump through to the last slide so now the next step besides IBC is really getting into what are all the different modules that are gonna be out there and creating a good upstream system so that if you start using the Kosmos SDK you immediately have access to a lot of high quality modules I mentioned I've been working on the NFT module this week but anything that you could imagine could possibly be a module there was a Wazza module this week and at the hackathon was really exciting there's a couple stable client projects a couple decks projects it's really exciting that cosmos is kind of getting to the point that aetherium has been in for the last couple years which is that they get to start having the really interesting conversations about applications and how do you use it what a users really want how are they users going to use it instead of the really boring conversations which is how does the thing work like let's just make sure it's up and running finally cosmos launched in March of this year and we're really sort of excited to see the actual applications start building start connecting and and and see what everything can really really do so maybe I should touch really quickly the cosmos hub as a blockchain is just meant to be a router of IBC packets so similar to the internet having a and spoke model it's a lot more efficient if everybody decides on specific hubs to route their traffic through then to have a connection with every single computer in the world and so cosmos as a blockchain just wants to be a packet router for all the different block chains that might exist I mentioned iris net earlier they're a hub that's in Asia there are partner of ours and they also want to be a hub for a different group of block chains different category whatever it is you you have these options and that's kind of one of the fundamental aspects of the cosmos idea the interchanges is autonomy and control about how and when you route your information who you and I operate with you don't have shared security you have autonomy to decide who you interact with and what your security threshold is for interacting with them so we hope to offer that as a service the Kosmos hub keep a very very high security threshold to allow high quality projects to interoperate I think that's about it I don't know if that was fast or slow is there any questions now are we doing that later I know you're not supposed to give timelines but you gave one earlier I just kind of didn't hear it you said IBC what was the timeline on the roadmap this is not by any means a hard deadline but I think this is a ballpark four to six months gotcha thanks a basic question to understand the interoperability between block clients if I want to transfer let's say one either from aetherium to the Bitcoin block claims and the number of either and the ethereum blockchain has to be decreased and the equivalent on the Bitcoin block plane has to be increased and so how does it work as a buffer account between or where the money comes all of the other money goes on the one side and the other money comes to the other side the same question if you transfer an asset so the Bitcoin aetherium example might be a little more clear if you think about going from bitcoins who aetherium just because the scripting language and bitcoin is a lot harder so there's two ways you can think about it one would be one of these pegs owns I mentioned that peg zone has a validator set who's watching the Bitcoin blockchain all the time they have a designated address there where if you were to move Bitcoin into that address they would wait some safe number of confirmations until they think there's no more chain reorganization and then they wouldn't meant a synthetic Bitcoin on their chain so their chain is connected to probably cosmos and maybe another hub or something like that and from there you are able to move that synthetic bitcoins somewhere else say you wanted it to move it to aetherium directly you could move it via a hub or directly to another peg zone who is pegging with aetherium they're doing the same thing that I described a Bitcoin but on a theory and they have some contract where once you send money into it they wait for eight confirmations they make a synthetic version of it on their own chain in this situation they would have a very special one which is that they would mint synthetic Bitcoin on the etherion blockchain with the understanding that after that bitcoin has moved around on a theorem it might make its way backwards via that peg zone via the hub peg zone Bitcoin if you're talking about actually transforming Bitcoin to ether you're gonna need an exchange you're gonna need a market maker you're gonna need somebody who's willing to to take that that order and that could take place in a number of places once it's already on the interchain maybe you take it over to the finance chain you sell it over there you take that synthetic a theorem that you bought and you take it through a peg zone and now you've got aetherium either on the the final destination chain does that make sense great great thank you so much video for this great presentation [Applause]
Automatic transcript — names and jargon may be misspelled.