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

Loading player…

Across V3: How Intents Solve Interoperability | Nicholas Pai - UMA Protocol & Across Protocol

Ethereum DenverWed, Oct 9, 2024, 12:00 AM

Speaker

Nicholas Pai

The session explains Across' intents-based bridge design and does a deep dive on its hybrid, off/on-chain smart contract system, which produced a competitive market of third-party relayers that drive cross-chain transfer speeds higher and fees to near zero. APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply

Transcript

cool hey guys my name is Nick P and I'm the CTO of across particle today we're going to talk about across the settlement layer for cross chain intents so we're going to cover Bridges intents and chain abstraction so the agenda today is to discuss what is the chain abstraction problem I'll frame that we'll talk about why intense are the best architecture for cross chain chain abstraction how intense work under the hood so a quick technical preview we'll frame Bridges as settlement layer for cross chain intense and then finally we'll talk about chain abstraction we'll bring it full circle how do we make the cross chain experience for users invisible and for that I think we're going to need some cross chain standards which I'll propose at the end of the talk I think VC from socket explained the interoperable problem very well so today in blockchains we have multiple l2s connected to l1's and they have in partical or canonical Bridges to each other this is kind of like the optical fiber between continents while chain abstraction and the Magical ux that you have is is the internet on top of that optical fiber so today in the multi rollup world we have multiple l2s connected to an L1 via these uh optical fiber paths these in partical paths are slow but they're very secure because they're secured by the same uh consensus layer that secures the L2 consensus itself these the problem with these paths are that they are complex and they all offer different user experiences so users when they want to bridge from optimism to main net or arbitrum to main net polygon to main net they have to call different functions and that's very complex as a developer and user to support so fast bridges are built on top of these Optical fibers and they offer fast paths that uh forward user users intense cross chains however Bridges introduced new trust assumptions so the question is can we re-architect Bridges so that they can still offer Speed without adding additional trust assumptions and I'm going to present how we think that replacing the bridge with a market of competitive Rel layers is the uh gives us the properties of speed low fees while maintaining security so intent based Bridges introduced a solver competition on top of the optical fiber these solvers compete to fill uh cross chain user intents with their own balance sheet and they can take on deferring amounts of finality risk so these solvers can be very fast and very cheap and end users can get very fast cheap secure user experiences so the relayer not the end user interacts with the bridge so where were we're ultimately driving towards is chain abstraction so chain abstraction is is cheap fast secure interoperability that is so seamless you don't know you're dealing with a blockchain and critically that doesn't rely on a corruptible trusted vendor so one of the sub problems of chain abstraction is cross-chain value transfer you if you can't send value between chains so with sending tokens then there's a very limited set of actions that users can do and so uh AC cross is trying to solve the sub problem of abstracting away value transfer so one key Insight that across has is that value is fungible it doesn't really matter how your money got to the destination all that matters is you you got your money um this is the mental model for why Intense or in other words a competitive market of solvers work so well so the rest of this talk I'm going to convince you that intense solv chain abstraction and ultimately we're going to need a standard for intents and how to originate them efficiently so first I will propose a straw man uh the one way to bridge is via message passing message passing is a user on the left depositing tokens into a contract a bridge contract and that bridge contract talk to talks to its sibling on the destination side either via optimistic relay ZK relay or proof of authority relay the the really small here but the problem with these sort of message passes is that they're either slow or insecure so if if there's a centralized message passer I would argue that's insecure while if the if the relayer is optimistic or ZK it's going to be uh pretty slow because the message pass can only happen after full finality On the Origin side message passing also cannot price transfers dynamically so not only is pricing slow but when the message is passed by the bridge the bridge usually will release tokens on the destination side via some sort of amm pool or Dex pool or or some other way but the thing is the bridge can only the bridge encodes its path to solve the user intent into the code it's it doesn't really have the ability to dynamically pick the most optimal route for pricing the upshot of message passing though is guaranteed execution and this is important intense does not guarantee execution in all situations but intense does offer a potentially faster and cheaper way to bridge so bridging with intense does not actually send messages between blockchain a and blockchain b a message is an event is emitted on blockchain a and it's seen by solvers who are running offchain sophisticated uh Soph phisticated code and what they'll do is they they'll fulfill the user intent on blockchain B then the solver will go to the bridge and ask for repayment later cross chain intents uh solvers fill users with their own Capital quickly and cheaply and then get repaid later so intense can be very fast across is a lot faster than it's competition because there's a competition for fillers because there's always a filler who can take on some finality risk and they will always beat the others to it so you can think of intense based bridging really as a Marketplace for fulfilling fulfilling orders um it's kind of a cross-chain limit order Market where any user sends like an order like I have usdc on optimism and I want to get we on mainnet and then there might be three Re layers who see this and they're going to compete on speed and also price to fill that quickly intense also can be really cheap and this is a similar property in that Rel layers are going to compete to fill this uh to fill this order intents are also very cheap because messages don't have to be to be passed on every single Bridge um imagine a user sends a 100 different deposits that leads to the filler sending 100 fills but there's no messages being passed here the message can be the the total repayment for the 100 orders can be batched at the end of all 100 orders into a single message pass to repay the Rel there so the mental model that I use for how fillers price um intend transfers very cheaply is that they essentially have access to OTC loans external dexes um binance coinbase they they can access these liquidity sources offchain to make their own balance sheet and then fill the user cheaply and finally intents can be really secure and this is because intents separate the Urgent part the user need meing the fast fill from the complex part which is determining whether a user's intent has been fulfilled correctly and and whether the filler needs to be repaid so the intent can be verified via optimistic fraud proofs ZK proofs could be proof of authority whatever it could be it could take a long time that's that's the key point and these intents can be refilled in batches it doesn't actually the fillers are not urgent users users need their liquidity very quickly whereas fillers are sophisticated and are and are willing to wait and fillers ultimately can be repaid on the chain of their choice using these canonical messaging paths or in protocal paths and as long as these imperal paths are the same canonical messaging uh imperal messaging networks that are used by the l2s then uh intents doesn't really add any more security assumptions so I guess the uh the main point of this section is that bridges are ultimately intense settlement layers we have an intent layer which surfaces the user order um for example in RFQ in Unis swap X or cow swap or maybe some sort of batch auction or it could be an aggregator and then we have the solver later layer which competes to uh fulfill user orders and then finally we have the settlement layer which determines which orders have been filled correctly so I would argue that Bridges should be focused on the settlement layer and not solving optimal value transfer paths bridges are going to compete at this bottom layer and these bridges are going to offer differentiated Services ultimately settlement contracts are going to win based on what services they can offer to fillers and whether this leads to faster refill or cheaper fees for example here's a set of features that across offers um across offers battery payment intense can be fulfilled hundreds thousands at a time and that that leads to lower amortise costs repayment speed there's a spectrum there relayer fee models so Rel layers or fillers solvers are ultimately going to be charged some fee in one way and so the model is going to ultimately determine what price the filler can show to the user flexible repayment chain uh fillers all things being equal are going to prefer being able to be repaid on any chain they want to um back stopping intentful filaments so imagine you send an order and no no filler uh can fill it can the settlement layer use its own balance sheet to repay the intent that that would be a nice value ad but also adds complexity exclusive relayer periods does the settlement layer allow the user and the solver to enter into an exclusive negotiation for Price imagine this is an RFQ responded by the filler intent expirations should user orders should be should they be allowed to expire and then more exotic options like multiple input or output tokens and change ultimately this competition is good for users so we want many different settlement layers across as just one option that I work for but ultimately what we do need is a standard for intents these orders are intents are grounded in network effects um we we want as many fillers on the network as possible and these fillers ideally should be interacting with every single settlement layer so would be best if all the settlement layers spoke the same language and if we had a similar uh a universal order intent so I'm imagining some sort of EIP that defines a cross-chain limit order and I will say that the downside of intense is that if not enough Rel layers are online then the ux suffer so it is a network network effects all the way up and all the way down so the a vision for across and what we're working on and all add some contact details at the end if you want to collaborate is that across wants to firstly help build an ecosystem where we have an efficient RFQ for surfacing intents at the solver layer we established a standard so that different fillers are speaking the same language and we are offering a settlement layer so I'm going to go now talk about intent standards and auction auctions for cross chain intents this is more experimental green fields that we haven't fully flushed out yet so here's my strawman proposal for a cross chain order intent it's a permit to compatible intent the key Point here is the highlighted settlement contract in the order the user when they submit their order they're going to be able to specify whether they want to their order to be settled by a cross or some other some other settlement layer and the choice of settlement contract will impact the user security whether how confident they are that their fill that their order will be fulfilled how cheaply they can get the fill off because the fee model is going to affect their pricing um and and other other uh the other properties of settlement contracts I was talking about before the other the other fields are pretty obvious and I think not too contentious um the swapper so the person who wants to swap and then the permit to kns and the permit to initiate deadline if anyone's not familiar with permit to think of it as an allowance that you sign offchain that allows anyone to pull your tokens from the chain that you have specified so this this sort of order would allow users to initiate a cross-chain bridge without sending an onchain transaction the settlement contract would then have to Define a simple resolve function that takes in the AR arbitrary data sorry that that's the last field here Order data that then Returns the actual contents of this arbitrary data and this arbitrary data would be more settlement contract specific Fields such as input token um output token for for example some settlement contracts might want multiple output tokens so on to the last part which is how solvers are going to discover user intents um I propose we add an auction to the beginning of the user experience the user if if the user wants to send eth from one chain and receive usdc on another the user should enter into a quick auction where they can negotiate with fillers to get the best price this auction should produce the the cross chain intent as a permit to order the filler can then take this order and bring it on chain the filler can then uh take this permit to order Bring It On chain and then the filler has initiated the user bridge for them at the end of this interaction the user will receive funds on the destination chain and the user's intent will have been fulfilled the filler will then request repayment from the bridge protocol um after some optimistic or ZK challenge period so at the end of all of this interaction we now have a situation where the user has not transa has not sent an onchain transaction but has signaled their intent and has ultimately received funds on the destination chain this is almost 95% of the way there to to cross chain abstraction and all we're missing is for the order to have some sort of arbit call data such that when the fill is sent on the destination chain um the user funds can be used to enter into a lending position or a staking position so at the end of this with intents we have user signing message offchain and entering into a staing position on the destination chain without having ever sent a transaction so this is my contact information on Twitter and telegram here's my GitHub Hub and today across is working on across chain intent standard we're hoping to publish that next week and across wants help designing a cross-chain intent auction architecture cool thank you any questions yeah so the question was when a user submits an intent how do they how do they set the price correctly um and so that's where I think an auction is really good for discover price Discovery and I I know there are issues with auctions for example Unis swap X their Dutch auction it's a great auction in that you start at a price and you descend to a reserve price however the problem is where you actually start the price and I think that's a really hard problem I think that's where maybe an RFQ system can do really well an RFQ to set the price to to lead into the Dutch auction this is I think auction design is really interesting and there's a wide open space here but I I do think auctions are the best way to set intense because today the way it works is the user essentially picks a price out of the air sends it and hopes a filler fills it yeah sorry okay oh yeah so the question was how does the solver prove that they fulfilled the intent so when the solver uh fills the intent they send a transaction so then the bridge protocol after say 2 hours looks at the last two hours of fills and says and tries to match the fills with the deposits and comes up with a list of successful fills According to some protocol rules so the solver is not really tasked with proving anything the solver just has to interact with the right contract and and set the parameters right because the the solver is essentially bringing truth from a different blockchain onto the destination blockchain doesn't the doesn't the user not get what sorry yeah so I didn't quite get all that but I think the suggestion was that auctions are not the most efficient way to surface intents and I agree with that and I don't I didn't hear the I didn't actually hear your solution but I'm sure it's better than auctions um okay thank you [Applause] guys

Automatic transcript — names and jargon may be misspelled.