New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Building with Hyperlane Interoperability Framework - ETHGlobal Brussels 2024

ETHGlobalWed, Oct 9, 2024, 12:00 AM

Join Trevor Porter from Hyperlane, for a workshop titled, “Building with Hyperlane Interoperability Framework," to learn what you can build with Hyperlane, get a sneak peek into their latest AVS development and get an overview of the bounties and project examples that will inspire you. This workshop took place during ETHGlobal Brussels, a 3-day hackathon held in Brussels, Belgium from July 12 to 14, 2024. ETHGlobal Brussels brought together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ---------------- Follow us: x.com/ethglobal Website: https://ethglobal.com Email us at: hello@ethglobal.com

Transcript

[Music] awesome um hey everybody my name is Trevor I work at hyperlane uh I'm the backend team lead there so kind of all this rust infrastructure that powers a lot of the delivery of messages um that's what my team does uh today I'm going to be talking a little bit about just what hyperlane is I'll give like a brief overview of like the architecture what we do what problems we solve and then uh a little bit about some recent work U that I think is pretty exciting around using igen layer um for economic security for messages between two different chains um so just to give some background on the motivation for hyperlane uh we are a modular and permissionless interoperability protocol and what this allows you to do is just essentially send messages between two different chains um you can build applications on top of this messaging that like natively span uh multiple chains whether it's evbm Cosmos salana pick your chain um yeah the motivation for this uh I guess taking a step back and looking at some of the history um at the very very beginning we had a pretty homogeneous view or or architecture of blockchains uh it started with Bitcoin then we had ethereum there was kind of this new wave of smart contract style l1s uh there was no solid story for scaling that we have today but uh a bunch of you know alt l1s were created that were evm compatible and this was still like a pretty homogeneous environment but slowly getting more specialized um and then there's the app chain movement uh where you have these chains that maybe don't even have a VM um they're tapping into like consensus layer changes protocol level changes to try to uh extract these new like novel protocol level features um you're seeing that with rollups today um and you're seeing all these different types of chains that each have their own little flavor of what they're trying to do best um and this paus it's a problem where uh if I'm just a normal user now I kind of need to know what all of these different quirks are for all of these different chains I need to have different tooling different wallets if I'm a developer it's even worse um you know there's a reason why most people are just evm developers it's because it's easy to do and you can kind of Bring It most places uh but if you do anything like outside of that or want to go to other chains that's where things get a little bit tricky um even just managing token balances across all these different rollups I have Ethan like 20 different places total pain um and yeah interoperability is an interesting one because a lot of the uh the solutions for this rely really heavily on like consensus layer or protocol level details of these chains so you can have amazing security between two chains by tapping into the specific features of the consensus algorithms of these chains uh and you can spend a lot of time and money to build something like this but it's not very transferable so there's this kind of trade-off of spending time solving security problems when it comes to interoperability that tap into the specifics of chains and that provides attention with wanting to be in as many places as possible uh so what we do is we noticed hey security between chains when it comes to interoperability um is almost an unsolved problem uh and today developers want this today users need this um and our solution was to decouple the transport layer and the application layer uh so what this means is there is a single onchain interface for sending messages from one chain to any other chain whether it's from evm to salana whatever you want um and the security for these messages is not baked into the interface that you use so if I'm an application I can continue sending messages through this single contract we call it a mailbox um to whatever chain I want and as new Security Options come out I can update that um so applications can opt into what security they want without the protocol dictating what they need U so this provides yeah consistent application interface for messages if you want to develop an application today that's only on the evm but you have plans to go to other chains you can do that really easily with hyperlane uh if you're excited about a ZK proof that's coming out um you know for ethereum consensus but it's not available today you can build today at it later uh you can also do cool things like having the security scale with what the message content is so let's say you're building a bridge um you might want cheaper security for a message that is only transferring $5 but more expensive security for one that's transferring a million dollars um so you can kind of dictate dictate the level of security you want depending on what exactly you're doing um and this kind of just leans into the general ethos of being maximally composable um developer first and modular in that like we have this this single protocol that doesn't enshrine what applications want to do um yeah this is kind of more on that like you can configure what security preferences you want uh we have kind of these like little Legos of security modules which is what what we call them um where as an application developer all you really need to do is just configure some onchain things onchain contracts that you can provide or we provide um and you get kind of different flavors of security uh so we have um like a single interchain security module which is a contract that defines this function that can verify proofs whatever you want for the validity of messages uh and we provide like some little Legos of of how to create those which is nice um and modular interop is the one interface to message and secure them all um so meaning we've kind of made these like really specific design decisions so that way we have this like single immutable protocol you can build all these cool things around it as crypto evolv uh so more specifically this is what the architecture kind of looks like um so On the Origin chain we have ascending contract uh you would encode whatever message you want um so at its core it's really just like bites over the wire between these two different chains you can build these like abstractions applications bridges on top of it whatever you want U this message gets put into a Merkel Tree on chain similar to how the E uh like original uh e 2.0 like deposit contract worked um and again we don't really like uh require a specific model of security but we have this commitment which is the Merkel route including all of these messages um that you could have ZK proof of you could have people signing this whatever you want um but the gist is on the origin chain messages go into this thing a commitment that attests to all these messages is uh provided you need some kind of proof um to the validity of this commitment and then this is provided onto the destination chain and then ultimately this is sent to the recipient so we run this like offchain infrastructure that will deliver these messages to the recipient so from your perspective as an app developer or a user you're just interacting with the origin chain we handle the rest when it comes to delivering this message to the destination chain um okay so getting a little bit more into the weeds of of the first thing I alluded to of some exciting things we've been working on um you know we we're not prescriptive about the security model that people use uh but it is still important to provide really solid security um as the default mechanism so today the default security we have is closer to like a proof of authority set and again applications they can opt into whatever they want but we make it easy for people to uh run these validators that sign these messages and if these validators all agree on the validity of a message then a message is is considered fine um but what gets even better or or the next iteration of this is you want those that proof of authority set to have something at stake so if they commit fraud if they say that a message occurred that didn't actually occur um something bad should happen to them uh without this they can kind of commit fraud and they get a slap on the wrist or like you know social slashing is what people often say like you know my reputation is on the line is running one of these things but putting real money on the line is uh is kind of more in the crypto us um and this is what the proof of stake bit here it looks like so these validators they're signing these message commitments their signatures are used for the verification on the destination chain and they have stake that's up uh stake um okay so what does this actually look like like how do we slash these validators um so one interesting thing is we have a really nice slashing condition on the origin chain so I mentioned earlier when you dispatch a message it's put into this Merkel tree and uh you can trustless verify if a validator has signed a message that does not include it was not included in this Merkel tree so we have a a deterministic 100% slashing condition on the origin chain like the root of the whole problem is how do you kind of prove this on other chains and that's what interoperability is uh but we have this very nice slashing condition and we can have an observer be responsible for looking at the signatures of validators and provide to this proof of State contract hey Alice just committed fraud let's slash her her State um some cool things happen when you compose this with Igan layer uh so if you're not familiar with IG layer it allows um the eth that's being used already for validating ethereum to also be used uh by other applications for security um and there's like a huge ecosystem around this uh there are these things called abss which I think stands for like actively validated stakers yes um and we recently released this uh uh there's a whole LRT ecosystem of these like different versions of eth um that uh have these igon layer operators um but the general idea is on ethereum you have this uh eth that's put up as stake um and again in in the model I just described you would only be able to have like a deterministic slashing condition on ethereum that means that only outbound messages from ethereum will have really good security but the other ones things get a little bit iffy you don't have like 100% slashing condition but an interesting observation is you have also ethereum Roll-Ups um which have their native Bridges Roll-Ups themselves are defined by their Bridge um so if you have a rollup that is settling to ethereum they have this trustless bridge and this means that you can have the uh uh the proof of somebody committing fraud let's say you're sending a message from rollup a to rollup B um you'd be able to still have the stake live in ethereum by letting me prove to on roll up a the slashing contract hey Alice committed fraud let's send this trustless down to ethereum that Alice committed fraud for her origin message from rup a and then slash Alice so we kind of get the same level of um of like 100% % deterministic really good slashing conditions now from origin chains that are not just L1 ethereum but L2 ethereum um so that's kind of it on the The Economic Security part um we have some yeah recent work that we've done there that I think is super exciting I think there's like opportunity for you guys to kind of hack around this uh which could be cool now I'll just talk briefly about some other kind of um abstractions and things that we have like out of the box uh that could be cool to to use as well um so warp routes are our play on token bridging um and again we're not uh prescriptive about the security model for for token bridging um or any kind of usage of hyperlane and warp route's also leaning into this so we offer uh the ability for you to just deploy out of the box tokens that are bridged um whether it's nfts er c20s um xc20 as well uh and you can spe specify what security you want for these chain um or or or these messages uh one bridging um so we have a UI that you can use we have a bunch of tooling to let you deploy these yourselves um so if you're looking to maybe support another chain that's here um maybe build out some kind of like proof of concept of bridging for them like this is a whole self-service thing that you guys can play around with um you can also we have this like uh yield bearing version of this so you can have maybe like when I I'm bridging my eth it gets locked into a contract that contract is generating yields and then that yield gets um shared amongst all of the people who bridged which is pretty exciting as well uh we also have interchain accounts and interchain queries so these are two abstractions that are kind of borrowed from the cosmos ecosystem um also known as icas and I guess icq um and what these do is uh in the first case interchain accounts let's say I live on ethereum I have a balance on ethereum um but I I want to own assets on other chains maybe I have a nosis safe on ethereum I don't want like you know signers to have to have balances on all these other chains subit transaction themselves um you can have uh your origin chain sender control a what it's essentially a smart contract account on the destination chain um and you can even have this cross between like evm and cosm wasm which is pretty cool uh interchain queries this is let's say I'm on ethereum there's some kind of like important state that lives on Avalanche I can use an interchange query to receive that information back on ethereum um so this would be useful for like oriz data maybe like an identity provider that lives on a certain chain you want to bring it onto another chain um another thing worth mentioning for all of these things like a big differentiator for us is anybody can deploy hyperlane onto whatever chain they want um anybody can deploy these kind of contracts on whatever Shain you want so if you're even spinning up like a devnet running Anvil locally you can do this really easily we recently made some steps uh to make this even easier with like a more friendly kind of CLI uh so yeah this kind of leaning into like one of our big things that we say so uh our design is modular and it works really well with the modular stack this is kind of the typical like you know Celestia perspective on on what comprises of a blockchain uh and we posit that adding interoperability to the top of this U is our biggest contribution so come build the modular expansion with us um we have an office in New York London we're hiring uh we have a bunch of bounties um come by the booth if you haven't already we have swag QR codes list of what the bounties are um I'm an engineer and with other Engineers here we're willing to help um and I think I have like maybe a minute or two for some questions if you guys might have them any questions I'll go with no well cool come by the booth um and yeah happy to chat a demo for it yes so we have a bunch of documentation about it um i' would say like no guides but uh well we have a guide if you were an operator uh but this is targeted for like I don't know the The validator Operators of the world who want to actually like run one of our validators and and earn rewards uh but yeah come by the booth and we can chat more cool thank you very much guys [Music]

Automatic transcript — names and jargon may be misspelled.