An Intro to Cosmos IBC – Brent Xu
ETHDenver 2020 · 15 Feb 2020 · 16:24
Brent Xu, who worked on Cosmos ecosystem strategy at Tendermint, introduces the Inter-Blockchain Communication protocol at ETHDenver 2020, explaining how IBC lets independent chains built on the Cosmos SDK exchange tokens and data without a central bridge. He contrasts this interoperability model with Ethereum's approach to cross-chain communication and considers what lessons IBC offers for scaling beyond a single chain.
Speakers
Topics
From ETHDenver 2020, hosted by ETH Denver.
Transcript
thank you everyone my name is Brent Shu and I run strategy and special projects at tender mint and at tender men we are building on the cosmos network so everything in the cosmos network is a attempt at creating interoperable systems within a decentralized ecosystem so who here loves aetherium I love aetherium I love a theorem a lot I I spent my entire blockchain career working on a theory of them so I joined consensus the software studio back in 2016 and we looked at everything
possible in the theorem space so everything from applications like meta masks infrastructure like in fury' different enterprise use cases working with companies like Microsoft and via BHP Billiton and Johnson Johnson figuring out how to apply this technology and in certain use cases and it was very interesting because the the nuance that folks are saying back in 2016-2017 in the Scylla days that this was kind of a technology that was like a hammer looking for a nail and I think there's many reasons for folks who think that way the the real-world practical use cases are still
somewhat limited so in this presentation we hope I personally hope to explore what can we do to make this technology more usable how do we frame a cosmos blockchain or aetherium blockchain into being formulated into a practical real-world abstraction that can be used within our daily lives so I took a lot of inspiration from eath Waterloo I had a chance to work with Sonny or Garhwal and Billy ran a camp on a real cool project so you know what we did was we did a little bit thinking we thought huh you know a lot of these ERC 20 token accounts already have back doors and and
admin privileges that's kind of centralized so why don't we just you know take it to the exact opposite direction and you say why not just trust Google for this use case so we decided to see okay what if we connected aetherium to a Google spreadsheet and we use that Google spreadsheet as sort of a trusted minimized trusted sidechain and then we facilitate transactions via Google OAuth you know essentially we could use email addresses and have pretty superior UI so Google Spreadsheets as a side chain your theorem we called it chic coin so with chic coin you can essentially add
etherium into a Google spreadsheet and manipulate that etherium and use it in various different contexts within the spreadsheet so imagine anything that you can do in a spreadsheet you can do on aetherium in a way you have to trust Google but but you know who doesn't really trust Google these days so this was a side chain that was fully connected we utilized the OAuth for handling transactions on and off Google but everything that happens on Google was very seamless and this was very usual is very slick UI the Google Spreadsheets worked they weren't very slow I mean they it was very fast and it was very usable and I think what it did
was it gave an indication of what we would want to see in a fully functional blockchain ecosystem with a functional side chain so when the side chain is able to operate with the seamlessness of a Google spreadsheet you get it you can get a chance to see oh what happens when you have these real-world asset transfers across chains so why am I talking about this IBC inter blockchain communication protocol is a protocol that will allow functionality as I just described eventually in a blotching ecosystem so you know you go to these talks and people talk about this seamless new political economic and new paradigm of
how technology can behave and yet right now UI and usability of these systems is still somewhat limited when we eventually have a system that can work as seamlessly as that aetherium to Google bridge then we will have a usable system in which different ecosystems can actually work together and operate in a useful fashion so what is IBC IBC is essentially a mechanism to implement modules within the state machines of different block chains allowing them to be connected via a relay that transports packets of information across the network so essentially it is our equivalent of a tcp/ip protocol ability
to prove hash commits and Merkel proofs between different systems and essentially these modules are deterministic processes that run on independent state machines allowing these different block chains or state machines to be able to communicate with each other what we hope to achieve with this IBC protocol is to essentially have that seamless communication across systems so what is what is IBC do you know it handles data transport authentication reliability it allows cross arbitrary cross chain data transfers and computation essentially sharing computation across networks allowing that interoperability that we all seek a lot of times interoperability
and different blockchain conferences is interpreted as a sometimes a catch-all term or sometimes as sort of this pie in the sky concept interoperability will be very useful when you want to transfer assets between different networks so you have aetherium blockchain you have a cosmos blockchain you have near protocol you have Algar and being able to have assets communicate between those different protocols is a useful function that allows the different types of commerce to happen across networks similar to what the commerce that we see today between different nations between different companies between different organizations token transfers are possible this this was facilitated on the application layer above IBC so any
apps that can be built on top of this communication protocol and essentially you do not have just one state machine that split across networks you have multiple state machines that share a common interface allowing these state machines to interact of each other and essentially you're not dealing with just one layer of the protocol stack you're dealing with different segments of the network topology that can all talk to each other and communicate so the example is in the internet was a connection via tcp/ip of various disjointed ecosystem disjointed servers we like to apply that framework into the new blockchain ecosystem and that we're
using IBC to just connect different desperate versions of blockchain protocols so that viable communication and commerce can occur between systems so I'm gonna so in addition on the application side IBC is able to handle token transfers as well entities non fungible assets being able to apply one NFT in one network to another just data transfers and smart contracts so I'm going to take IVC and apply it to another system that we have which is Peggy a two-way peg between cosmos and aetherium so right now IBC is
designed to connect between fast finality systems so systems that liked Endermen consensus mechanism based systems that allow fast finality across networks but right now there isn't necessarily good communication protocol between fast finality systems and probabilistic finality systems so proof-of-work aetherium is currently probablistic as with tinder men consensus it's fast finality PFT missing fault-tolerant based consensus mechanism and so right now the way to connect those is via a two-way peg or a to a bridge between the networks essentially what you have is you have a situation in
which you take assets on aetherium such as a ether itself or ER seat went on tracked or E or C 20 token contract and you lock that and a peggy smart contract this locking is communicated via a relay service in which information is processed by a eath bridge module and it is relayed to Oracle what this results in is a bank module that eventually ments new versions of that etherium on the cosmos network creating this fast finality ether you know we were either a or C 20 token contract we've been working on this bridge for a roughly two and a half years now and actually for this hackathon Billy ran and cam completed this two-way bridge so we're
able to transfer aetherium into the cosmos network and we're also able to transfer it back creating this interoperability service surface and what Peggy allows is the ability to connect between cosmos and aetherium and reallocate some of the functionality across chains between these two networks we hope to put this together in a cohesive system in which we are able to utilize all aspects of the blockchain not just the fast mounting system but also interact with a proof of work system so I'm going to I'm going to show an example of a real-world use case
different tools that we've built that can be formulated together and reimplemented as a system that makes use of Peggy ibc protocol as well as a a Dex a decentralized exchange that we open sourced a few months ago at SF blockchain week so what happens when you take a ibc protocol you add different components of a peggy to a peg protocol as well as implementing a dex decentralized exchange that can allow trading of different assets within the ecosystem so let's let's look at this network with IBC so if you were to
include or let's excuse me let's look at the network of out IBC first so right now you have an infrastructure where you have a single Kosmos hub and this hub is able to connect to different applications that utilize the hub so you know you can have app one app two and then you added X to it without IBC at the moment you need different versions of pecky on each application that connects to the Kosmos hub so each Peggy has their own relayer set they have their own contract and every time you meant a token on the peggy chain it is insulated particular directly to that chain so if app one mints a peggy token
then app one has its own app one tegi token that needs to be re added to the cosmos network before you add that token to app two same with the Dex so as you can see it's it's somewhat of a disjointed ecosystem there's not necessarily economic finality across the network and every relayer service occurs off chain on different smart contracts so it's still somewhat disjointed what happens when you add IBC to this equation when you're able to add this eath peg zone that implements peggy within the entire cosmos hub you no
longer rely on an insulated peggy within every application that exists on your network but rather you're able to share the peggy zone with every app that's connected within the Kosmos hub what you have is a sharding of the depository cleaning house of every chain so that every every app that works within the cosmos network is able to use PEGI tokens that are mented essentially creating a way for aetherium and ERC 20 tokens to be added into the cosmos hub and utilize similar to that sheet corn example similar in that instead of relying on on proof-of-work to validate all transaction that happened in aetherium
you're able to have that more fast finality interface that creates more usability and creates better functionality creating a more cohesive ecosystem and as mentioned earlier this is not as not a singleton infrastructure under one party this is several disjointed block chains that connect each other via this communication and in this cross chain network you're minimizing the platform risk because every risk is united by a a singleton protocol for communicating across systems and when you think about this this kind of this can be applied to various societal paradigms not not only are we relying on the blockchain for simple asset transfers you are able to
take a blockchain asset like a theorem and implement it in a fast finality system similar to how our real world organizes similar to how we expect functionality to exist in a cohesive workable ecosystem similar to if we were to take the UI of Google and add it to the asset transfer capability of aetherium so I want to thank everyone I appreciate the opportunity to say sheet coin at least five times in this presentation I hope folks are you know have an opportunity to look check out the the cosmos Network and take a look at a lot of the protocols that are being
built just give a shameless plug we have a we're still accepting bounties submissions you know we have we have three main prizes for folks who build on anything related to cosmos II thurman which is our IBM compatible tender mint based chain as well as on Peggy so and IBC of course so we're very interested in looking at different submissions we want to see different applications that utilize both the cosmos in the etherium blockchain and you know as I mentioned in the beginning of this talk I love ether a lot I hope everyone else loves ether aetherium and looking forward to
seeing what people built thank you so much also questions if folks have any we've got a mic for questions so everybody on the room can hear you thank you so much [Music] you