ZK12: Enhancing privacy in intent-centric protocols - Yulia Khalniyazova

17 Oct 2024 · 11:27

Anoma researcher Yulia Khalniyazova presents a Zero Knowledge Summit 12 talk on privacy in intent-centric protocols, recorded in Lisbon in October 2024. She contrasts transaction-centric privacy with the less understood problem of intent-centric privacy, covering information flow control, the cryptographic tools available to enforce it, and whether fully homomorphic encryption can solve the problem on its own.

Speakers

Topics

Transcript

[Music] [Applause] [Music] hi okay um so quickly to the plan we're going to talk about what intents and intent Centric Protocols are what uh some of the things that you need consider uh around privacy for them oh sorry yeah and privacy solutions for the intent solving phase more specifically so intense entric protocols so first of all what are intents intents

representations of user ones uh so they contain um constraints and preferences constraints are something that must be fulfilled and preference is something that would be cool and solvers are the actors who match intents to produce transactions and I added some cure codes to materials about intents um but don't feel pressured um so about intense CC protocols so most of the protocols that exist are transaction Centric um you send uh transactions to the machine and then they're ordered uh and executed and then applied to the state and the state is updated and that's how it works so intent Centric protocol adds uh another stage to that so instead of sending transactions users send uh intents to

solvers then solvers turn intents into transactions and then everything works as in transaction Centric protocol so this is intent Centric protocol and speaking about privacy we kind of can divide it into two stages uh the intent um uh solving phase and uh settlement phase and privacy approximately uh what we want is that nobody knows my intents uh when I send them and somehow magically they turned into transactions and for the transaction um um phase we um for settlement transaction settlement phase we want that uh nobody knows anything about the data that we store on the blockchain and this part is kind of

figured out to some extent like there are solutions like zcash that uh fund privacy Solutions but the intent phase is not really figured out because intent centc protocols don't really exist and you know privacy preserving intent centc protocols don't exist as well so we try to figure it out a little bit uh so now a bunch of notes about this um so first one is that for how long you need uh privacy for such protocols and actually uh duration is different for different uh goals for example if you want to store data on the blockchain it requires a lot of like uh long-term privacy like you know in zcash you have transactions encrypted and ideally they would be encrypted for a long long time

and well long long time like years something like that but at the same time for the solving phase when intend turned into transactions this is kind of like a short-term part so uh you want it to be uh you know like the Privacy for that phase uh should be I know uh well less than minutes probably I know um let's say seconds so big difference years and seconds uh so yeah for the solving you basically want um to be able to solve simple applications uh complex applications Doo they take more time but you know uh also small amount of time and it covers also some portion of me that is related to solving and for um

settlement phase you have this post execution privacy for storing data essentially and there is also pre-execution privacy that is related to um M but um at this point I kind of figured that this diagram is not perfect for representing it so I don't know how long the the duration of this pre-execution privacy compared to M and simple applications and complex applications so I just you know made a cloud um yeah so another thing to consider is a combination of uh phase privacy so we have solving privacy uh which is uh privacy uh when solving and settlement privacy is like when the data is stored on the blockchain Everything

Is private so if you have both you got fully private protocol that is really cool if you only have settlement privacy you kind of have you know delayed privacy well it's not a real term but but basically uh you send in tens uh and they're not private right so solvers sold them and they can see everything everything everyone can see everything at this stage but then uh when you publish it on the blockchain Everything Is private so um as long as nobody can see what's going on on the intent solving stage you know you're good but it's kind of you know a bit Shady uh at the same time you can also have like solving privacy without sement privacy which allows you to have

somewhat unbiased solving because solvers cannot see what they are solving they just know that something matches and some M protection for the same reason and if you don't have either it's kind of you know irrelevant no privacy at all so other things to consider first one is that users tolerance doesn't really grow with late uh with um protocal complexity so if you just you know throw a bunch of crypto to make intense uh um solving phase private is not going to really work unless it's um you know okay with time uh another thing to uh be aware of is that solvers uh that match intents are also users and this is uh the key reason for why f is not going to help us uh this is

upsetting and a third thing to consider is that for two phase privacy protocols where we have both privacy at intense uh solving phase and settlement phase um the Privacy is going to be overlapping and here's what I mean uh the diagram uh so basically because the um output of the solving phase is the input of the transaction Centric part of the protocol and what is usually input uh to ordering is already shielded transaction whatever is output from solving has to be a shielded transaction so this is kind of you know difficult because uh you know solvers have to create a shielded transaction without

seeing it um so now a bit more concrete uh so what we expect for intent uh solving phase specifically is uh shortterm to midterm privacy which is like not defined in numbers but we basically want to hide intense uh while it's being solved and uh the more complex application the more time it takes um and we also like kind of want to destroy intense after solving if we have two- face privacy because um you know if the intend of floating around uh it's kind of dam in for the long-term privacy and yeah we also remember that solvers are users and keeping all of that in mind uh we kind of consider different cryptographic approaches and

here I want to mention that um we consider them from the perspective how it's going to solve the problem of um adding privacy to intent solving like you know uh we just uh solve the full problem uh at the same time you know uh The Primitives that don't really work kind of can work partially uh maybe in different context but here we really consider like solutions that are either fully helpful or not so the results are that MPC and T kind of both uh work to some extent if it doesn't work um because it's not applicable to solving even though it allows private computations and the rest uh what we considered also doesn't really

work yeah so um why which you can't I don't have time to explain this but basically uh because solvers say users they can pretend they're like legit users and just uh BR Force the intents of other users um so about MPC and T they kind of work but you know there are a lot of details to be considered so uh yeah as I mentioned the user tolerance doesn't grow with the protocol complexity and here we need to be really uh careful because as I mentioned for two-phase privacy protocol which is like the ultimate goal um we need this um should the transactions be output of the uh solving phase which is like um I don't know uh kind of probably going to be more expensive than just

nothing uh so you know empass is like maybe a bit slower but like compared to te but um so MPC is not as flexible as te as well but at the same time tees are kind of you know people don't like them people are like L te so this is you know problematic and also tees are kind of um there are not a lot of options right now so this is all to keep in mind no solution is perfect yeah but to conclude uh all of this intent Centric protocols involve two phases intent solving and transaction Centric part then int Centric privacy uh contains uh these two uh phases privacy plus the extra of connecting these two privacy phases settlement privacy

Solutions exist uh intent Centric privacy solutions kind of exist in theory but in practice uh problematic a little bit but I mean all solvable um yeah uh and uh yeah as the last Point mentions the solution probably is somewhere in between including the non-cryptographic approaches uh that's really all I wanted to say so [Applause] questions questions um I always thought about the uh privacy for the intent solving phase as being really hard to achieve for the

reason that I'm almost imagining this kind of order book scenario if you want to trade you know some currencies you have two transactions you need to match if they are a good deal for each other right so if they're fully private and you have end transactions that just exponential number of things you need to go through I think if you have an NPC's probably fusted do you do is it like actually like a reasonable problem to solve for me it's like for me this this privacy for intent solving it's like so much over the had that I never conceptualize this reasonable it's like IPC Solutions are solutions reasonable can they be reasonable in terms of their time I mean I think the solutions like the approach should be the same as for solving so you don't really try to come up with a generalized solution for

solving all possible intents you really come up with solutions for every application and uh you decide what your limits are you don't have to support the solution that works for arbitrary number of parties for arbitrarily complex protocols like you know start with a small and then like a developer solution with the progressing in cryptography and everything so really shouldn't think about it as solving like you know the big problem of uh intent um solving privacy just like I think it's manageable if you have hard restrictions and then you just upgrade them okay thank you all right lightning talk lightning Q&A we will have to move on thank you so much Julia