IBC: Exploring the frontiers of Interchain interoperability
ETHCC 6 · July 2023 · 13:50
Sebastien Couture introduces IBC, the Cosmos interchain communication protocol. The speaker examines integration with EVM chains for cross-chain asset transfers and message passing.
Speakers
Topics
From ETHCC 6, hosted by Ethereum France.
Transcript
[Music] thank you [Music] hello hi everyone I'm Sebastian Couture I'm the founder of interop Ventures and I also host a couple of podcasts some of you may be familiar with epicenter it also has a podcast called the interop and organizer of nebula Summit which is happening Monday and Tuesday of next week here in Paris it's an interchange Builders conference and I hope to see some of you there so for this presentation about IVC I thought you know who needs
like you know boring bullet points want to have a presentation of chat GPT generated haikus so that's what you'll see up on the screen um and so in this presentation I want to talk about uh the entertainment interblockchain communication protocol IBC and um progress that's being made to bring IBC to ethereum who here knows what IBC is who's working with IBC or like building an IBC okay great I'm always afraid that there's someone in the room that's like much smarter and tear apart my presentation so um first you know I I heard hatsu say this on a podcast recently and it kind
of blew my mind because you know as someone who has been like really passionate about ethereum but also Cosmos for the last couple years um I thought like how is this true like I mean IBC exists obviously in the in the context of of Cosmos it works really well but I I don't see a lot of progress being made or there's no tangible uh uh there's no tangible use case right now for using interoperably Solutions or at least Open Standards for improbability between ethereum and Cosmos and so I know this this quote kind of like stuck in my head and I thought like it's really cool I I'd love to see you know those two ecosystems clubbing closer together but like how do we get there and you know the answer is Open Standards and I think the one open
specification that has a potential to become a standard here is the the inter blockchain communication protocol that was built by the tenement team a couple years ago and is now in production and you know is servicing thousands of transactions per day and you know millions in volume um so for those who don't know what IBC is it's a universal interoperability protocol it's a specification that allows different blockchains to communicate with each other what it does is it guarantees reliable ordered authenticated Communications between different areas of State different domains essentially if you will so it it allows authenticated message passing
between these heterogeneous domains of state and it's designed to be secure it's designed to be modular efficient and it has obviously something that's really important for internal abilities like data packet ordering and one of the core tenets of IBC is that it pushes trust to the counterparty chains so with IBC I kind of like joke around about this once in a while it's like if you want to use IBC if you want to use IBC you don't have to trust the bridge so if you're going from like the good side of town to the bad side of town you can always come back as long as that bridge will still there and you will always know that the bridge is still there what happens on the other side of town though is your problem and this is a really important I think
to have trust minimized solutions that enable that sort of like Risk mitigation so if you're comfortable you interacting with another domain of State I know to Shane you can do that but the bridge will always stand on your feet so this protocol has been very much inspired by The OSI model and it works uh similarly in this layered approach and there's there's three layers um we're going to focus mostly on on the top two for a second and we'll come back to State um but essentially you know while uh most users will interact with IBC at the transport layer and that the application layer of the state layer is also very important so let's talk about the state layer for a second
this is like client verification so chain a verifies a state of chain B through a light client and the the commitments are verified um from one chain to another The Source blockchain creates a proof of a packing commitment and then it then it demonstrates to the other chain uh using its like client that that that the proof can be trusted and so like clients are a very important part of IBC it ensures the security and the efficiency of the protocol and this is how Cosmos chains talk to each other on a regular basis then we have the transport layer this sort of mirrors TCP in in the OSI model and this is the layer this is the
backbone of IVC that enables secure cross-chain communication it handles the authentication the transmission and ordering of packets it makes sure that a packet that a chain can verify that a packet is coming from the chain that says that it is that there's no man in the middle attack or some sort of like you know cross-chain civil attack that where a chain would be spoofing the identity of another and it it uh it guarantees that that reliable connection between the chains and finally the application layer and this is where the fun stuff happens and this operates on top of the transport layer uh it defines the logic for receiving data packets you know and it this handles various applications think of this as the SMTP the HTTP and all the
kind of like little higher layer protocols um that that we use every day and this provides um you know the versatility and Broad utility of IBC and so things that Opera operate at the application layer are you know ics20 so the the equivalent of erc20 tokens to move fungible tokens to move non-fungible tokens we can do things like cross chain queries cross chain Atomic swaps even interchange security so all these use cases where one chain needs to send messages to another there's a protocol there's a corresponding application that defines the standard for how that data is being transferred now the challenge when it comes to inter-operating IVC with ethereum is really the state player and this has
been the challenge and continues to be the challenge and will be uh something that you know we'll address here in this presentation so the evm does not um does not support the efficient generation of verification of Miracle proofs and because ethereum uses Patricia cheese and IBC because it was it came out of uh of the cosmos SDK it uses Merkel proofs that verification on the ethereum side can can be very expensive so basically building a Merkel proof verifier over on ethereum would be very costly in terms of computation and then there's the there's the finality aspect as well because IBC was built for tenement it has single slot
finality the two slot finality and ethereum poses a problem um for Byzantine fault supplements so what are the solutions well there's a couple of solutions being built that are being built currently by a number of teams that I can talk about one is optimistic IBC it's a very a variant of IBC that allows for the acceptance of State routes um optimistically so a lot like an optimistic roll-up the security here relies on tokens that are staked on an intermediary chain and so there are a number of teams that are building this sort of like intermediary chain that sits between two domains of state that would take on the risk um of
of a fraud proof being verified and it allows for you know participants to submit fraud proofs so um so that we can optimistically verify the transfer of tokens or messages across different domains of State then there's ZK IBC which is essentially having a ZK verifier that can generate a proof that can be verified like a snark it can be verified by an ethereum smart contract so there are teams working on like client tenement like clients that generate this proof that's compatible with ethereum that allows the batches Ed 25519 signatures that can be verified by
ethereum and these um these are inspired by you know the the types of ZK Roll-Ups that that we use currently um in the ethereum space and so teams that are working on this are like zika IBC team uh electron Amherst labs and polymer uh who built this ZK Min um like client and then the the final part of this and this is one of the big issues with IBC that's being resolved is um is that there's no routing so when you're moving tokens from one chain to another with IBC uh you can't do like this kind of multi-hop that where you go from chain a to chain C through chain b in a single transaction you would have to do that in
two transactions and so multi-hop IBC is the the future of like cross chain routing where we can find efficient pass even though we don't have direct paths between one chain and another and where it becomes useful in the context of of interoperability with ethereum is that if we want to have interoperability with ethereum in a multi-chain application specific blockchain or application specific roll-up world that means that like every one of those chains has to have a connection to ethereum either through like an optimistic uh IBC construction or a ZK IBC construction so using this multi-hop IBC we can have these these intermediary chains that would facilitate that transaction and do this
multi-hop so you could go for instance from like Juno to a chain like polymer which is working on this problem and then then to ethereum and so it leverages uh it leverages uh this um zero knowledge proof to to to create this efficient connection between different domains of State without having to have like a one-to-one on every single chain going to ethereum so to finalize here the talk you know I think when it comes to interoperability in blockchains we need to be very conscious of the benefits of building on Open Standards and I mean we're all here because we love the open web and we're
passionate about the future of web3 and web 2 was able to to flourish because of Open Standards when it comes to interoperability uh there's a there's a real risk that interoperability gets captured by proprietary protocols so one analogy that I would kind of post here is Imagine is every time you had to send an email you had to pay a fee to like email Inc because they operated the protocol that allowed us to send messages and there's a there's a risk that happens in blockchains as well with protocols that are not operating on Open Standards where there's no default to an open standard um and that really take on like capture the market for interoperability between chains um so you know where we have sort of one
with Open Standards are HTTP obviously TCP SMTP these sorts of things these Open Standards continue to proliferate and uh have you know built trillions of dollars in market cap where we've seen more failures with Open Standards I think we would all agree or things like messaging apps social media networks where their uh they're permissioned there's there's risk of censorship and and certainly uh corporate and political control so I would I would ask all of you to sort of keep that in mind when considering what protocols to use for interoperability and I'd end this with this quote from Punk 6529 um which is when everybody was having a
debate about Donald Trump and whether or not he should have access to his Twitter account nobody was having any debates about whether or not he should have access to email because there was simply no way that we could enforce that and uh I think that's really important also in the context of blockchains and the types of technologies that we use to provide better interoperability between systems so if you're interested in this topic and broadly if you're interested in the the cosmos ecosystem and the interchain uh I would invite all of you to check out nebular summit which is the conference that we're hosting next Monday and Tuesday here in Paris it's happening at the Albert school and we're actually kind of kickstarting the event on Sunday with nebular hack day it was a full day
of technical workshops and Technical talks that are designed really to help you boost your skills and sort of like learn how to build on The Interchange learn how to deploy smart contracts learn how to build with IBC all the details are at nebula.builders and you can follow us on Twitter using this hashtag QR code sorry yeah yeah thank you [Applause] [Music] I'll leave it up for one more second foreign