Across: Solving Cross-Chain UX Through Intents | Hart Lambur - Across Protocol
Ethereum Denver·Wed, Oct 9, 2024, 12:00 AM
Speaker
As we move into the predicted "1,000 rollup world," token bridging will play an increasingly vital role, however the current UX has resulted in CT agreeing that "bridges need to go away." In a response to this, Across Protocol, one of the leading cross-chain bridges, has created Across+, a dapp add-on tool that allows users to interact with L2 dapps without ever technically leaving their native chain, as transactions are bundled with Across-powered bridging behind the scenes. No more bridging, no more worrying about having gas tokens on the destination chain - Across+ completely transforms the cross-chain experience. APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply
Transcript
Um, and I don't think really anyone disagrees on this. Uh, the question is all about how we get there. And um, there's sort of a model around around what interop should look like. Uh, people are modeling it after TCP. Uh, they think that blockchains should talk to each other the way servers on the internet uh, talk with each other.
Uh, it's cheap, seamless, don't even have have to think about it. And while I agree that this model is really appealing, I'm not so certain that it's uh, it's accurate or that's the way it's going to work. Um, the the core thesis here is that people think bridging should be like message bridging should be like sending a message. Uh, you have two blockchains, blockchain A and blockchain B, you want to move value between them or move move an NFT between them, you just send a message, right? Uh, connect these two chains, send a message, you're done.
But the problem is that sending messages quickly, cheaply, and securely is basically impossible. This is something people have been working on for a long time, um, and it hasn't worked. Bridge hacks, all sorts of cost issues, it's problematic. And if you step back and think about it, it it makes sense. It's like this trade-off, this trilemma between these three things, uh, intuitively makes some sense.
If you want to do something fast, it's going to cost a lot. If you want to do something securely, it's going to either be slow or expensive. Um, doing all all three of these things at once is just really challenging. So, the solution is just to stop sending messages. Uh, that's that's the core idea from how Across attempts to use intents and this intent architecture uh, to communicate between blockchains.
So, there's an observation we can make here. Uh, TCP/IP is equivalent to moving bytes. It's just moving messages between servers. Um, but blockchains are really about moving value, at least mostly. Mostly's in brackets, we can come back to this.
95% of what people care about uh, when they're interacting on blockchains involves some sort of value transfer. It's a swap or a swap plus an action. Um, from the interop space, it's bridging an asset, usually the same asset, from one chain to another. This is what people want to do. And if we're trying to move value, um, at least most of the time, the observation here is that value is fungible.
You don't care about how your money got somewhere. You just care about the dollars actually getting there. And this is our mental model of why this intent framework works so well. The idea um, in bridging with intents is that you don't actually send a message. You don't send a message from blockchain A to blockchain B to move value between them.
Rather, you have a third party, uh, call it a solver. In Across, we often call it a relayer. And this third party uh, or this collection of third parties are watching blockchain A for deposit transactions, and when those happen, they fill the user on blockchain B with their own capital. They send money to the user on blockchain B without sending a message. And when you think about it, okay, this makes sense because we're moving value.
It's fungible. We don't need to send a message, we just need to fill the user. And from a user's perspective, this can be great because solvers can fill them very, very, very quickly. Um, and that's that's the core idea. With a cross-chain intent, solvers are using their own capital, and they're filling users quickly and cheaply, and then getting repaid later.
And so um, the cross view of what cross-chain intent looks like, um, where it looks like a cake. Uh, this comes from uh, some some memes that Near Foundation and the Frontier Research guys are doing. Um, but the idea is that there's three layers to the stack. There's three layers that users care about. There's the top layer, the intent layer.
What does the user want to do? In this case, it's usually move value from blockchain A to blockchain B, swap an asset from blockchain A to blockchain B, or swap plus do an action. And at that intent layer, users are going to uh, articulate what their intent is. We're going to talk about what that might look like in a second, but they're going to articulate what their intent is, and they're going to send it to some source, an RFQ system, an aggregator, some input source. Where then in the second layer, solvers compete to fill them.
Um, they compete to fill them with their own capital. So, they see this intent, and they say, "Hey, user, I'm going to fill you on blockchain B and do exactly what you want, and I'm going to do this without sending a message. I'm going to use my own capital to fill you and execute you and complete your cross-chain action." And this second layer is maximally competitive. And this is part of the reason why this is so cheap.
The solvers are all competing with each other to fill the user cheaply and quickly. At this point, the user's happy at this second layer. They're filled, they're done, they move on with their day. Of course, the solver though isn't yet happy. They've made a loan, and they haven't got paid back.
And that's the third layer, what we're calling the settlement layer, where the user funds on the origin chain are escrowed, and they're held there until we verify that the intent was fulfilled. And at that point in time, we repay the user, uh, sorry, repay the solver and send them back their money. So, it's worth going through why this intent framework uh, works so well. Um, intents can be really, really fast. And according to our data, um, our the Across bridge average fill time is one to three orders of magnitude faster than message-based bridging systems.
Um, in this chart, I think you guys can see this. Uh, I'm looking at the median L2 to L2 fill times of Across, Stargate, and CCTP. Um, Across's median fill time is about 7 seconds, um, and there's room for this to get a lot faster still. Um, and we are just so much faster than message-based systems because solvers are able to take on finality risk. They can fill a user as quickly as they see the deposit transaction, and they do not need to wait for the origin chain finality.
Um, unlike a message-based protocol, which simply cannot send a message between chains until we have some origin chain finality. So, this intent framework allows solvers to compete on speed and actually assume some finality risk, allowing for users to get much, much faster fill times. The second advantage is related to security. So, this slide's a little text-heavy, uh, but the the important concepts here is that in this framework where solvers are filling users with their own capital and getting repaid later, what we've essentially done is we've separated the architecture between in two parts. There's the urgent part of getting the user their fast fill, and then there's the complex part of doing the cross-chain messaging or figuring out if that fill actually happened.
And by separating these two parts into the urgent part and the complex part, um, we're able to take our time and kind of expand the design space of how we do the hard part, how we do the complex part. And from our perspective, this intent-based bridging framework, we can verify intents using any number of techniques. We can use the canonical bridges uh, that rollups use to talk to Ethereum layer one. We could use ZK proofs, which are expensive and take time to generate, but it doesn't matter if we have time to to waste. Um, or we can use optimistic systems, which again have really elegant security um, guarantees, but take a lot of time to verify things.
And so, the argument here is this intent framework can allow us to maximize security by separating this complex part from the urgent part. And the third advantage here is intents can be really, really cheap. Um, and this is uh, some data on the cost, the average cost of Across to move from uh, Ethereum layer one uh, to a rollup uh, versus Stargate and CCTP. These costs vary um, with gas fees, but the overall point here, this is the 90-day data set. Overall point here is Across is cheap, um, and it's really cheap while being faster than these other solutions.
And there's a fair bit of complexity here around all the optimizations we do to make this cheap, uh, but at a high level, what Across is able to do in this intent framework is to batch the verification that these intents occurred. So, rather than verifying each individual transfer, we can batch them over a 1-hour period and be like, all these intents did in fact occur over that period. And then we can optimistically verify those intents, which allows us to maintain high security guarantees, while also very cheaply verifying what happened. The trade-off here with the intent framework is that these solvers are short-term loans. These solvers are fronting their own capital to the end user, which is how it gets to be so fast.
And so, what we really need to do if we're going to do a proper kind of cost analysis, is we have to look at all the cost savings we achieve by reducing messaging against the cost of the loan that the solver is making. So, this is just a sort of theoretical example here, where let's pretend we're bridging $50 million in volume over 25,000 transactions. So, an average transaction size of about $5,000. Um this is something that Across does today. We're doing 50 million in volume relatively routinely.
Volumes have been going up. Um and we can just do a comparison against a message-based system like Stargate. Not picking on Stargate, just an example here. And in both designs, we are going to have the user, there's there's no way we get around the user making a deposit transaction, and the protocol or the solver making a fill transaction on the destination side. So, there are gas costs coming in and out that are simply unavoidable.
But what we can compare is the difference in verifying how those verifying those fills. And in the intent bridge that Across has, we have solvers extending loans for about an hour. And if you think about the cost of a 1-hour loan on $50 million at a 10% annualized interest rate, that's $500. It's a very small amount of money to make a loan for that short a period of time. And then because of the way Across batches things, we only need to send one message every hour period.
This is hypothetical, but we're really sending like a handful of messages every day to support this $50 million of volume. And so, those messages, we're using canonical message bridges to pass those messages from Ethereum mainnet back to the spokes. And our cost here, I'm estimating it at about a thousand bucks of total verification costs for this entire $50 million spread over 25,000 transactions. Meanwhile, if you were to compare that to a message-based design like a Stargate or most other bridges out there, for each one of those 25,000 messages, we have some verification cost. There's some cost of verifying of sending that message or of making sure that message was secure.
And here I'm estimating that cost at at $2. It's hard to know, but it's it's something non-zero, and it adds up to a real amount of money. And so, this intent framework, really by minimizing messaging, is able to have far cheaper costs, even though we have this cost of a loan of solvers extending extending a loan. So, the TLDR here is that Across, functioning as the settlement layer for cross-chain intents, can can scale to transfer a billion dollars a day of cross-chain interop, while only sending on the order of 100 messages per day. So, huge volume, huge number of transactions, very, very few messages sent.
Meanwhile, the other way of thinking about cross-chain interop, if I'm sending a message for every transaction, you know, sending a billion dollars of value is going to cost me on the order of 10,000 10 million messages, and to me that just seems expensive. That seems like something that's going to cost a lot. So, what's what's the idea here? What's the vision? So, going back to our our stack, our three layers of this cake, Across thinks about the intent layer at the top um as where user intents are ingested, where user order flow comes from.
And there should be auction or RFQ systems that exist to have solvers compete for the right to fill that user order. So, one of the things the directions we're going in is helping build an ecosystem of efficient RFQ and intent aggregation systems that are going to allow users to get the best price and speed for their order. The second layer of the system is the solver layer, where we want the deepest, most efficient network of off-chain liquidity of solvers or relayers or searchers or or fillers, whatever word you want to use for them. We want these solvers to be competing to profit from that user order. And this is a high this is a super competitive PVP layer, where everyone is trying to maximize their profits, and that competition is all in service of the user getting the best fill.
The bottom layer here is what we think of as the settlement layer. So, this is where user assets are escrowed when the user makes a deposit transaction, and they're only released back to the solver after we verified their intent was fulfilled. And this is really actually what we think Across does today. Across is this settlement layer for cross-chain intents, kind of masquerading as a bridge. And bridging, in our mind, the future of bridging looks like the settlement layers.
It looks like it's going to be this intent framework where user assets are escrowed, and only released back to solvers after we verified their fill. So, yeah. Our stack, the future of interop, the way we see this playing out, is these three layers: intent, solver, settlement, working together to emphasize competition to best fill the user with fast speeds and minimal messaging. So, our our version of the future here is the actual number of messages sent per day is on the order of thousands, not millions or tens of millions. And a thousand messages a day in this framework can support billions of dollars of interop.
And that's all because the settlement layer does this batch repayment only when needed to to minimize the messaging costs while maximizing security. So, one more thing as I wrap this up, we go back to thinking about the solver layer here. The way we think we can maximize competition is by developing standards. Standards for what a cross-chain intent looks like. And the idea of that standard is that if we can have a user write an order ticket for what they want to do, and I mentally model this literally as an order ticket where a user is saying, I have asset A on chain one, and I want asset B on chain two, and then they sign that.
If we can develop a standard for that order ticket, we can standardize what the auction systems look like to have user have solvers compete to fill those transactions. And we can maximize solver competition by having all the solvers understand what this common order standard looks like. And so, our version of the future is that we do want to coalesce around what a standard for cross-chain intents could look like. Here's a proposal for something we're putting together. And to leak a little alpha, this is something we're going to be working on with a number of other partners in the ecosystem to attempt to establish the standard for cross-chain intents, since we think it will make interop and cross-chain UX better for everyone.
And so, guys, that's that's my presentation. You can follow me on Twitter at Hal2001, also on Farcaster, trying to do a little bit more there at Heart. And follow along with Across Protocol. We are currently the fastest, cheapest, and most secure bridge in the EVM space, and we're looking to push further into this intent-based bridging framework. Thank you very much.
Automatic transcript — names and jargon may be misspelled.