Panel on Intents
ETHDubai 2024 · 21 Apr 2024 · 23:43
Intents let users specify an outcome while solvers choose execution, shifting smart contracts from imperative computation toward verification of proposed state transitions. Panelists disagree on concentration: one says a single solver can be acceptable if alternatives can join when censorship appears, while another warns that latency and vertical integration drive centralization. Common standards could defragment liquidity and improve pricing, but may weaken gas optimization or impede innovation; proposed uses beyond trading include payments, outsourced ZK proofs and cross-chain operations.
Speakers
Topics
From ETHDubai 2024, hosted by DeFi Dubai.
Transcript
awesome so the solver just returned so yeah uh we have a panel on intense so let's just introduce ourselves uh I'm sarin I used to lead engineering at Sushi Swap and I'm an adviser to them and I'm going to tell everybody to give like a 10 words definition of what do you think intent is for me it is whatever I don't know how to do it I just give it on the intents you know just people to do it that's that's it for me um hi my name is Kil I am the lead backend engineer at 1 in uh where we are working on on chain aggregation and also intense our Fusion protocol uh for me intense it's something hard that can be simple for
the user and professional market makers will do everything for user hi M from the Paras swap in portugus I believe intent is a simplification of user objectives that we use in our daily life uh like an example of booking in Uber we don't get to tell Uber what to do we just tell Uber where are we going and we just push a button and it's done for us yeah I'm Adrian I'm co-founder of anoma um and intend is a partial State transition you say exactly what you want you want to go from A to B you don't care about how it's computed because you've sort of cryptographically
committed that you have a and you want B and then someone else can figure out the actual compute and you don't care whether there's one counterparty a thousand counterparties 15 different Bridges doesn't matter you just Define HB and the rest is figured out by someone else so I'm Alex I do product marketing at cwap and for me intents are limit orders no no they're I mean I agree with what everyone has saying is basically a way to just Express what you want to do and then you know especially within this Tech because it's so complicated it's like I don't care just figure it out and then I know I want to get B and like is what Monir said I know I want to get
there just figure out the route and how to pick me up and that's it awesome so since I'm a smart contract Dev uh one of the questions that I have is you know while building smart cont applications I've not seen a lot of them interacting to uh intent based architect recently right there still some of them coming up uh so what are the best ways that as a smart contract Dev you could recommend me or you know tell me some tools tricks on using your intent apps much more you know like a defined Manner and you know like probably a bit more standardized I think like you just gave a presentation on that right so so I'll give it a short not to repat myself but basically is H developing your smart contract with a ERC 1271 signatures because then you allow the smart
contract to kind of create this like is valid signature and then you you the order creation is just this function call for the signature and the order digest for in the case for c for cow protocol and that's pretty much an easier way for smart contracts to leverage intense um maybe it's important to note here like the model changes as soon as you have intense um right now contracts smart contracts are very imperative sort of they actually try to compute things uh this is in my opinion clearly the wrong model because uh sort of shared Global comput is pretty expensive and there's no reason why everyone needs to compute the same five values um so like from a developer perspective the model changes to much more verification so you
sort of Define like what are valid State transitions in the in the system in my application and then the application actually just verifies whether a proposed state transition is valid right like if you have a simple uh Trade A to B uh a for b b for a in the application you just verify that this balance is to zero you don't actually try to compute the actual uh thing that's happening uh so this is much more moving away from let me Define a de imperative sort of execution Trace towards um applic applications check declarative State updates and solvers will figure out exactly what state updates um should happen and then they will submit those
and then the application just verifies which is why also intents uh wonderful for ZK because this is the model in ZK anyway where we do compute somewhere else and we do verification in the middle it seems like also it's a holy gray for uh account truction developers who can have intense integrated natively into their app without having to worry about a lot of details because now we have a lot of deps who are I mean I would say in the space for a while they understand how smart contract work and all of that but I think the next million developers that will join the space they don't need to understand all the details besides what Adrian said maybe verifying and proving that what happens
and did happens as expected but they can focus mostly on their business logic and delivering the best possible service to their users actually um because I just had a thought here which is something I I think as a developer developing applications is just an order of magnitud easier if you're in this declarative framework and more secure because you don't have to worry about like whether you execution Trace is correct you can just go and just like verification is just easier to build yeah but I think that there is a paradigm change as well right because with smart contract you want automic of operations when the user executes it right like either it happens or it doesn't but in this case like I actually trying to integrate like one in limit orders so I had to create call backs on my contracts wait for the operation to
happen you know wait for your contracts to submit and then uh the the application flows you know kind of moves to the next step so I think like this uh there's this new IDE like parad that we need to be worry about and you know when we develop apps which a lot not a lot of people might be CED to right so yeah basically as everyone said intend it's pretty simple architecture where you just need to sign some message and submit to sumary layer but on top of this signature you can add a lot of business logic conditions Etc like you said in limit orders uh besides the signature you can provide some interaction and for example made the deposits to
Ling protocols for example you can um uh make a leverage trading with it you can provide liquidity within the single limit order so you can do any action yeah that that makes sense um so the other question I have is like up to what extent we're basically making like the intent architecture centralized so like back like 8 9 months 10 months ago like where ints were very hot you know like everybody wanted to know what that is and integrated uh but now like 10 months later we find that most of the protocols which actually have intents or you know like mainly for order execution right uh there are only very very less solvers filling it you know and that to
take up a majority share uh I was just reading an article in the morning which said that tokal laabs and winter mute does 80% of Unis swop X's volume uh we have similar numbers for 1 in cow Swap and other exchanges as well right would that reduce solver competition and kind of you know increase the Monopoly of certain solvers into the space if yes then how do we solve it uh so if we are talking about the centralization in the high efficient uh defi trting system you need some kind of balance between the decentralization and centralization and from our point of view the main thing that should be decentralized it's order execution itself it's the price uh and um other
stuffff we can delegate to some peer-to-peer network uh or just a back end just for storage to distribute the orders to the professional market makers and um so it's um makes sense to uh keep some part of the architecture centralized but you should always uh perform an execution on chain um yeah I I think from my perspective so theoretically it's fine that you it' be actually okay if you only have one solver um this is not structur a problem because solvers can't uh front run like
user sign of a specific State updates so like as a user you actually doesn't hurt you if there's only one Global solver like if one one person builds a universal solver that is going to be the fastest and cheapest for everyone uh I think that's that actually be fine the important thing is you want to decentralize the architecture so that or you want to have an architecture where the topology can shift for example as soon as one solver starts Behaving Badly like as in they try to sensor you there's an easy way for other people to um hook into this so like I think what really matters is and not enough people in the space ever think about this is how do you actually build resilient P2P gossip networks that can sort of handle arbitrary intents that then solvers can
sit on top um I I think this is really by far the most important thing that we want to have the capability that at any moment I can decide on my own solver like either I can say well I only want to interact actually with this one guy um or we can all switch away from this one guy because he's starting to sensor half of this like solving should never be a this is for example also I think like having um close Source provos in ZK is horrendously bad because this is effectively now you've created a lockin for one solver to always be um the only available solver and then you have centralization problems so you want to build architectures that are topology agnostic where topology can flow from actual user behavior um where if people
want to switch away to a different solver they can easily do this and this even comes not even from the sensorship resistant way but even think of this of in terms of latency right latency really matters and latency is fundamentally determined by speed of light um like if we want to get this fastest execution we should do local Sol solving in this room because we can have like five Optic Cables between our machines right now this will like no chain will ever be faster than this unless they break the laws of physics um and so you want to have architectures that support either we can have a global solver because maybe I care about cost but not latency but maybe I also when I really care about latency you want to have a very the same architecture should be able to support that I can like easily roam
between all these different topologies I mean I think so for one hand it shouldn't matter if it's centralized like at least the like input of creating the intents what should matter is like that you know kind of like the availability to access these intents is decentralized but at the same time like going a little bit on what you say it's a little bit like idealistic to kind of think that there's not going to be centralization because there are all these other things like latency and like I don't know you know vertical Integrations that lead to centralization like we haven't solved this yet at the ethereum level with builders for example where like yet this system with PBS was supposed to be more open and more
decentralized and yet it has actually made it more centralized and we have Builders which I'm not getting into the point that if they should or they shouldn't it's up to each person to decide like you know what do they follow and and whatever but it is happening that it's censoring and yet if from the chain level we can't really figure it out it's kind of I don't know if naive or very idealistic to think that at a much lower stack which is even harder to deal with we're going to be able to solve it at least in the short term I would say that like in PBS the problem though is that uh Builders exist but no one really worried about how to build an opt-in Network stack that where can easily like reconnect um so as a result like we are locked into these like
couple of handful of builders that um that are the only people that actually are connected to the relays and the Val is only connect to like two relays effec maybe three right um I actually think long-term latency really plays in our favor because latency is like the one thing you can't get away from um and so like this I think will heavily favor localized solving and very decentralized solving because this is by far going to be the lowest latency thing it's also an open market right because the most efficient players are always going to be winning we see that in exchanges in general like you see centralized or decentralized exchanges you will always have one party dominating others simply because it's more efficient and also ethereum we have Lio that's taking a
large share not because the system is decentralized like ethereum design I agree with with the idea that the design should be decentralized should maximize on the core design architecture decentralization but also we always have actors that will emerge simply because they are more efficient than than others yeah so you mean to say like lier should get 50% I'm just joking I would get you canceled you know uh that that actually drives me towards my next question is you know that okay like on ethereum you had flashboards that lets you access you know a lot of me stuff in a much easier fashion before that people could still do it but they have to go talk to you know a lot of like Tai chain like these Chinese miners to get those transaction in and they were used to do it on very
case toase basis right flashboard made it available for all uh we have now you know like before 4337 people still used to have gas transaction but they had all of that in in the private me pool kind of thing right this is what the scenario what I feel is for the intense right uh 1 in has private and C they all have their own private and like you know permission pools where like as as if I just want to go write solving for it I couldn't do it as easily as you know I would be able to run a validated node on ethereum right for instance uh or maybe like participate in the 4337 Network right so is does that call for a standard for you guys to kind of collaborate and share your orders or is that something you would not want to do
because that's coming from your order flow you know uh so I knowa doesn't no it's infrastructure right like uh it's just intents we don't know what those intents do they may be messages they may be trades who cares um so in that sense if you want to build an application on top of this sure you can make the choice to have private order flow that you do not gossip on right like a front end could make a choice that you only submit the front end only submits it to one um effectively one solver and this becomes now private order flow but there's nothing in the architecture restricting this it's like I think in the end it will come down to if we build open architectures it comes down to user behavior of whether they want to take advantage of these open architectures uh I I think this is actually one of the
big problems with flashboards and like the entire thing in ethereum like at the moment we had this very ad hoc thing where like a bunch of IP addresses are fixed um and it's very difficult for users to actually influence the topology uh and so as a result we're seeing some amount of centralization here and I really hope that like a normal intent machine for ethereum can start addressing some of this where it's like can we make this a more open architecture that where users can more easily pick where they like what the topology should look like yeah I mean like in l2s right now you guys have a lot of power because l2s don't have anything like flashboards right like I'm not like maybe they let's say in case of arbitrum right uh we hope that arbitrum sequences doesn't M us out but you guys
can because you guys are getting the native order flow in most cases right uh so like shouldn't this power be kind of like shared between all of us as a user because as a user I might get bad execution on one of these I mean yes and no like because the problem with the standards is that they're kind of like self-interest and opinionated and unless you go like the anoma route and kind of which maybe ethereum should do or not like this is the standard for everyone or like for all these Network and then applications decide like how you treat them and like how you want to create your own architectures or else it's just going to be opinionated and then ultimately like the leader of the standard is going to you know know sweep the standard towards their
infrastructure yeah I mean they're always going to be opinionated right there standards of standards of Standards right but you still got to pull off something you know yeah there is a small problem with standards that uh each protocol try their best to optimize the smart contracts as much as possible in terms of gas usage for the solver like be because uh the user's price also depends on the the gas cost of the solver if the protocol itself consumes uh a lot of gas it will be not be so profitable for the user that means that each protocol trying to optimize each of their functionality as much as
possible and if we will have some shared standard how to do this uh there is a way that uh the smart contacts would not be uh gas optimized as much as we can but I would add that this field this C infiny we've been talking about intent like when you guys launched two years ago um building standards at this time may not be efficient for Innovation because we haven't discovered yet what is the best design so we still have a lot of opinions a lot of project working on decentralization working on improving the flow on maximizing the the the supply side like you you mentioned we still have this centralization on the
supply side how how do we get more solvers how do we make the barrier to entry lower we see now some dexas building their own solvers so that they can fulfill their very specific intents uh specific use case sorry um so I believe it's still early it may happen maybe 10 years from now or 20 years from now who knows but I still we have a long way of innovation uh and discovering what is the best possible model that we be building I think this will take some time and and at the same time it's kind of feels wrong from the point of view of like an open market to dictate how like the application should kind of deal with these H Intense or kind of order structures because it would be like as
if suddenly like I don't know the internet Market tells like all these internet companies how they should optimize their servers in this way or they're not allowed to actually you know play the game so it's like why would an open market say I have to treat this in this way unless there is the an infrastructure point of view that then you're like okay because you know we kind of verify or trigger the transaction in this way like in the internet no https or tcip like it just works this way and you have to figure out your architecture around it that's it I I think the biggest reason for and really like I mean we started thinking about intens like 3 years ago kind of thing and I think we were by far the first I think like a year later the next
s of wave of people started thinking about this and so generaliz intense are just coming I think this is sort of the biggest takeaway um but the one reason why I'm pretty optimistic about uh that we'll see sort of a convergence in the architecture is because you defragment the liquidity especially on the trading side right like if every application ends up having its own standard this is fine they can live at the same time but um most likely the actual generalized standard will win uh or like will propagate long term because it can provide better pricing to users because users now don't have to decide what specific application to trade with but rather can decide where the best price is like users can effectively say I
don't care whether I'm on cow SW or one inch or something like this I just care give me quickest execution lowest latency lowest cost whatever right and so this is I think the really strong argument for why generaliz intent would actually be um like end up providing better ux to users in the end yeah that's fre good just to add on one thing you say like on the fragmentation liquidity and like how with the standards we haven't been able like within defi to standardize one stable coin how many versions of USD is there out there and yet it's the most simple thing right one St one stable coin I don't know two stable coins there's why not 10,000 yeah now that
that that that makes sense um what are your favorite use cases for intense uh apart from orders swaps and trades scale free money scale free money it's a what do you think could be like an emerging use cases because most people when they hear int they just think of this right more than that so payment that's a pain point I had personally when I receive usdc and I want to use it and it was a big hustle because I need to load my wallet with gas and which wallet I should use once I had to do an on-ramp which is not very defy at all but yeah just to get the gas I think uh for payment that should be something like a big use that will should be seeing in in the future anything that abstracts the
usage of crypto to the masses that they don't care about how the back end works like how the complexity of the magic that is done in the back end they just worried about pushing a button like worried about their use case they just want to push a button and get the stuff done and they don't need to know more makes sense I think the other really big use like it's outside of financial assets like because generaliz intense affect L just um stand like just have this idea that you Outsource compute right like you may Outsource compute over traits but you can also Outsource compute over other things like ZK proofs and I think so intense will actually end up being a lot of about how do we Outsource compute to third party solers
in a way that is very Dynamic and flexible so that individual users can make choices on sort of who they actually trust here and the other thing is um as soon as you start having this like outsourced compute uh you can start building models like scale free money where it's like well I may be like 15 hops away from the next person that I actually want to pay but there is a path through system and I can pay someone to figure out that path rather than me having to figure out how do I transer between all these centralized things or decentralized things just like I have X and you want y great there you go and I'm paying like 5 cents for that actually cost um I think the good use case is uh cross chain operations when you can issue an intent on one one chain and
some professional can execute it and for example the same bridging like to give you a token on the one network uh uh and receive your token on another Network that's pretty good use case for the intense yeah um does from the audience people have some question we at the end of the panel good yeah I think I think we good thanks for you know giving such fful information [Applause]