Submind YouTube summaries
Thumbnail for Zero-Knowledge III (Eurocrypt 2026)

Zero-Knowledge III (Eurocrypt 2026)

Watch on YouTube

Video summary

The Zero-Knowledge III session at Eurocrypt 2026 presented three significant advancements in cryptographic proof systems, focusing on adapting polynomial commitment schemes for binary fields, enhancing privacy-preserving cryptocurrencies, and developing robust combiners for multi-property primitives. The first talk addressed the challenge of operating Succinct Non-Interactive Arguments of Knowledge (SNARKs) natively over tiny computation fields like binary towers, which are significantly smaller than standard trace lengths. By packing coefficients from small fields into single elements of a large extension field, this method achieves an optimal adaptation that transforms large-field polynomial commitment schemes without increasing bit size or prover overhead. This approach allows for efficient verification through sum-check protocols and offers substantial performance improvements over existing libraries like Plonkyt, particularly in reducing commit sizes and proof generation time while maintaining security within the pure random oracle model. Building on these efficiency gains, the second presentation introduced a new framework for privacy-preserving account-based cryptocurrencies that resolves previous limitations such as weak security models against insider attacks and inefficient multi-receiver transfers. This framework utilizes actively homomorphic public encryption and labeled Non-Interactive Zero-Knowledge proofs to create "range-proof friendly" systems that seamlessly integrate with protocols like Bulletproofs. A key innovation involves the development of Deer-based homogeneous and heterogeneous K-after-proofs, which replace heavy polynomial mechanisms with lightweight indication bit vectors to achieve optimal linear costs for both provers and verifiers. An implementation in C++ demonstrated that this approach yields superior concrete performance, smaller transaction sizes, and better scalability compared to established solutions like Monero's AnonLaser, effectively balancing strong security with rich functionality. The third and final topic focused on robust non-interactive zero-knowledge combiners, which allow system designers to bundle multiple candidate instantiations—such as pre-quantum and post-quantum schemes—into a single secure primitive. Theoretical analysis revealed that achieving full robustness is impossible unless at least half of the input candidates are secure, leading to constructions where breaking the combined system implies compromising multiple underlying candidates simultaneously. One specific construction uses recursive evaluation of NX proofs to ensure that if even one candidate remains secure, the original witness stays hidden and zero-knowledge properties are preserved without introducing new cryptographic assumptions. While these combiners offer critical reliability for post-quantum TLS and mission-critical systems, their efficiency degrades rapidly with increasing numbers of candidates, prompting ongoing research into alternative models and definitions to overcome current scalability limits.
Read the full video transcript
Okay. So, uh let's start a session. Welcome to uh the third zill knowledge session. We have three talks here. Let's start the first one. But uh unfortunately none of the authors come to come to the stage here. So instead the presentation is done by uh um their representatives. So the title is poly polyarismic proofs for multilinears over binary towers. So the Jako will present it. Thank you for the introduction. Uh yes Ben and Jim could not uh do it so you're stuck with me in in theirstead. Okay. So what is this object of this session and what do we want to construct? We want to construct snarks. And there's many reason I don't think you need me to elaborate too much on why these primitives are interesting, but I'm going to just do it anyways and give you like an example. And a narc is something that allowed you to verify a computation faster than it can be carried out. As an example, suppose that you have a claim that the quadrillion digit of of pi is at zero. In a snarak you can generate a proof of the fact in a quas linear amount of time in the number of steps in this case a quadrillion and you can verify the proof in poly logarithmic in the number of steps which is much much smaller time to compute than what it would take to compute it. Further the proof is also similarly succinct and these particular primitives have many application including letting blockchain verify state transitions very efficiently. It's an important uh part of the Ethereum road map and it's really a very fun and cool primitive in general. Okay, the natural question that follows is how do we go about building snarks? And the claim is that if you have an ideal functionality known as a polomial commitment scheme, then you can build any kind of narc. And in practice like modern constructions are almost entirely made and efficient depending on the polinomial commitment. So let me introduce what uh exactly a polinomial commitment look like. So it's an interactive protocol between a proven verifier and I'm going to give it like as an ideal commitment an ideal functionality description. So there's going to be a commit phase in which the prover chooses some multilar polomial that according to whatever reason it might do it sends it to the ideal functionality and the ideal functionality outputs a receipt confirming confirming that it has committed to the polomial. Later on the verifier can choose an evaluation point chosen over some field submit it to the functionality and the functionality will return the evaluation of the polomial committed to at that point. Okay. So once you have one of these you can build any kind of narrow that you might want in reality the situation in practice is more complex than that. Before I assumed that ideal functionality was defined over a single field but in reality for performance characteristics you actually want your computation to be arithmetized over a small field while it needs to be proven over a large field. So just to give you like some crash course this is not a a old realization this is something that came from practical implementation of snarks before 22 and22 circa like all snark use single cryptographically large 256 bit uh prime fields. Later on it was realized that this actually was inefficient and the trend from then from then on to actually go towards smaller and smaller fields with a lot of practical deployment using 32-bit fields. You know the natural question is can you go even smaller and in this work the motivation is to actually go for tiny fields which are fields which are much smaller than the trace length. Translength is the uh number of steps of the computation and the previous work by Ben and Jim were the first to write a narc for multilinear over this bin over binary field. So the smallest possible field you could deal with unfortunately you did not get such thinness which is not uh desirable in many application. for some bike shad notation I'm going to write L over K for the for L is a large field which is an extension of a small field K and you should think like for example F to the 2 128 as an extension over the binary field but most of this work works for other setting of small field and large fields okay the main technical challenge that this work solves is how to take any large field PCS and adapt it to one that works native ly over computation carried over a small field. So okay, what should this look like? So I'm going to have a tell you I have a large field PCS and I'm going to assume I have this ideal functionality I showed you before. The transformation will will take this and try to build a small field PCS out of it. So in the commitment phase the prover will specify a polomial whose coefficients are now defined over the small field uh the small field k and then the compiler will somehow adapt it to some polomial t prime over some large field. Now I once I have that I can commit to what I want with the with my deal functionality receive the receipt and once the verifier wants to query a point now over the large field very crucially like the the proven verifier will run some interactive protocol which will allow us to reduce the evaluation of the polomial to an evaluation of this uh t prime polomial and this will like the adaptation that we want and what we care about is doing this in an efficient way. So there are many question you can ask. So effectively how is the you know what are the parameters that you get of the committed underlying scheme and the works answer that the polomial over the the the small field and it adaptation over the large field will be the same size. So you actually don't get any any blow up by adapting from like a a small field to a large field. The proverhead is linear in the bit length of the input. The verifier overhead is logarithmic in the size of the input and there is a very small soundness penalty. So essentially this is a optimal essentially optimal adaptation from a small from a large field PCS to a small field PCS. Okay. How do we go about doing this? So there are some standard possible approaches stman which I'm going to show to you and then I'll tell you why they're terrible. So suppose I give you like a polomial defined so say these are the coefficient of a polomial defined over a small field and I want to commit to this with a with a large field scheme. What I can do is I can zero pad each of the coefficients of this polomial to get corresponding large field elements. Now this is a polomial which is honest to go defined over like a a large field and I can commit this with the with a um I can commit it with a large field scheme. Fortunately this is a bad is a bad idea because the size the bit size of the polomial over the large field that we have defined is now scaled by the the degree of the extension. And secondly, you also have a problem that you know you have no guarantee in your protocol that the prover actually committed to a polomial where actually each element is padded. So you have both a soundness and an embedding overhead problem. Okay. So in this work we show some different ways to do better and you know once you see this uh picture a very natural question you might very natural approach that you might have is to try to pack things more efficiently. So what does it mean? So I'm going to take again my polomial which is defined over this small field and now instead of padding each element and then interpreting each padded element as a large field element what I'm going to do is I'm going to chunk it. So I'm going to take you know extension degree many chunks of this polomial and then pack them together a single large field element. So now if you paid attention the bit size of these two representation are exactly the same. So while before we were ballooning by like a degree a degree um sized ballooning now I'm actually keeping the same bit size exactly and yeah so the plan of attack for a transformation will be that the prover adapts their small field polinomial to this packact large field polomial and commits to it using the underlying polinomial commitment scheme. Okay, the problem that we have is that now we have this pack polinomial where like the structure is different like with the with the padded polomial we you know we know exactly that an evaluation of the padded polinomial and an evaluation of the original unpadded polomial would give you the same result. Now when you pack you're kind of changing the structure of the polomial that you're dealing with and so you might have problem. So what we need to do is to be able to reduce evaluation claims on the unpacked polomial to evaluation claims on the packed polomial. So we're going to just do some definitions. So I'm going to have this beta v be a basis of the of l over k. Um yes I'm going to take a an evolation point and I'm going to split it in two parts R minus and R plus. So roughly since we're going to be we pack by um taking one element taking uh degree extension elements and packing them into a single mode field elements. What will happen is that the valuation point will be split in a part corresponding to the um corresponding to the uh base field and one part which is conf which remaining on the other variables and our starting point will be something that might be a bit confusing if you haven't seen it before but there's a standard vector matrix vector property of multi evaluation that is if I get any pol any multilinear polinomial t defined over some field. I can take its coefficients, write it in this particular matrix. I can like and I can write the valuation as uh a a matrix a vector matrix vector product where I have like uh the on the left hand side for you is the it is the left hand side for you. The left hand side is the part corresponding to the this R minus part of the valation point. Then you have the part on the right on the right and you have the coefficients in the middle. So looks ugly. The algebra works out. This is exactly what evaluating a polomial at a multi- polinomial at a point looks like. Our plan of attack will be that the prover will compute the right endpoint or the the right part of this. So the um the matrix vector part of this vector matrix vector product and it will send it to the verifier. Then once it has this part has been sent to the verifier the verifier can itself compute the remaining part of the of the product in time which is o to to do the k where k is the extension degree. Okay. So this is going to be the plane of attack and so yes so the prover has sent this uh this vector here the the matrix vector the result but of course the prover we're not in the business of trusting provers. So the prover might have lied. So now you have to verify that the that the um prover has effectively sent you what it claims to be. So with this the prover should have sent this vector SV which is claimed to to be equal to the polomial evaluated on the R plus part of the valuation point. So what is it suffices to check is that this SV satisfies this u this equation. So this is the equation there. So for every V in the for every for every V you want to check that this star equation holds. Now it might be very tempting now to do something which is uh bit is there's something very natural which is to take this equation which is defined over two to the kum constraints and then combine them using the basis. So it is true that if I take the sum of these claims over all these with the scale by the basis I exactly get an evaluation of the packed polomial at the R plus point. This is tempting. Are we done? Like can we can I just then ask the polinomial commitment scheme to give me the valuation at R R prime? Unfortunately, no. Otherwise, this work would be much easier. Um and the the annoying part is that if you look at this equation over a star, both sides are divine over the large field L, not over the base field K. So while BV is linearly independent over K, it is not linearly independent over L. So basically this is not sound. The prover can choose like can choose like SV in a way in which the this equation over here cancels out and you actually can make the verifier believe whatever you want. So we need to be more a little bit more careful. Okay, let's do this. So the so our problem before was that we have these many claims that were defined over the large field and we wanted to uh and we had a problem that like the BVs were independent only over the small field. So what we're going to do we're going to take this claim and we're going to decompose them as much as we can so that they are actually defined over the small field where we know that we can de compose using the basis we can recompose using the basis. So you have these many claims and now each of each of SV is going is defined over the is defined over the the large field. So what I can think of it I can think of it like as a vector of base field elements. So I can also look at the right hand side this TVR I can do the decomposition of a multilinear polinomial into its components and since TV is actually defined over the base field the only thing which is defined over the extension field is this EQ polomial so I'm going to de compose that as well right so I'm going to do the same things and now I have this equation and my strategy is that I'm actually just going to look at rows so I'm going to define one claim for each of the rows. So I'm going to look at the first row over there of SV times the is equal to this EQ that time that okay sorry just to go there. So before I had like one claim I just combining by the basis but now I'm going to have these claims for each row and I'm going to combine each row. Now each of these rows will be defined over the base field. So actually the trick that I was doing before for the basic combination will in fact work. Okay. So this leads to this following protocol. So I going to have the prover send you this SV matrix which is going to be the claims as before. But now I'm going to think as being like a de composed matrix where I've taken these elements over L and I've actually decomposed as element over the small field K. So the prover claims now that each of the columns satisfies the original claim. So the the verifier uses it to check the columns to check the the consistency with the matrix vector product that we saw before. Good. Then the verifier needs to still check the rows and the rows induce the constraint that we saw in the previous slide. So this will give us these kind of constraints. And now if you've been in this field for more than five minutes, this is a sum check. So the final strategy is to run a sum check on these claims. Well, will this eventually end up the sum check will batch all these different claims over to a single evaluation of t prime at a at a point in the extension field and this will be exactly what we use our large field commitment to evaluate. Okay, so this is the old protocol the Yeah, so this gives you this strategy gives you an essentially optimal adaptation from like a small field PC uh to a from a large field PCS to a small field PCS where the proverhead is basically just doing the sum check. The verifier overhead is like effectively computing this major vector product but you should think about the parameters being set so that everything is logarithmic and everything is fine. Okay, good. So the paper also has further contributions in that they also analyze like the baseful polinomial commitment schemes for read solomon and foldable uh codes and to make it work over concurren characteristic tool. This involves a few adaptation like uh using the additive entity and uh yeah and other than that there's also like uh you know theoretical works and nice and all but you also are interested in figuring out whether the techniques in a work end up having concrete performance. So the the is that if you work for like um if you work um on binary fields and you have like lesser embedding overhead, you're able to get much more efficient protocols. And this is comparing this work with the the plonky free library which is a very optimized uh library for working on um on proof systems. And you can see that like the the fact that for the same for the same input size you actually get like much smaller like everything across the board. So the commit is smaller, the proof uh the proof time is smaller, the verification time is basically the same. Good. This was my time. Thank you for your attention. [applause] He's happy to have questions. Any any questions? Maybe I have missed uh from your talk but is there what is the assumption behind it? So all of this is a pure random oracle model. So here we're trying to do like an IOP with this good characteristic and you can instantiate it with we can instantiate this recipe with any polinomial commitment that you want but for this particular work for the baseful instantiation we are just making things secure in the pure random oracle model. Uh thank you for your talk. Just quick question. Uh this only works for extension fields. So not for large prime fields. >> Yes, exactly. You need an extension structure in order to like decompose claims claims. as well. If you're working over the same field uh or you want to do like some sort of like module switching then you can also do this kind of things but there are different techniques from this work. >> Thank you. >> Perfect. >> Okay. So let's thank the the speaker here. Thanks. >> Thank you. Okay, the next talk is um care out of and proofs and applications to privacy preserving cryptocurrencies. Speaker is you. Okay, go ahead. Okay, thanks for the introduction. I'm Uchan. It's my great honor to be here to present our paper entitled key after proofs and application to privacy preserving criminal currency. This is a joint work with my student Mjang and Shan Fu. So let's begin with the background. Here is the underlying of this talk. So transaction privacy in payment system breaks into confidentiality and anonymity. Confidentiality means that outside observer cannot lend the transfer amount while the anonymity means that outside the observer cannot lend the identities of the sender and receiver. So in decentralized payment system transaction are kept on the blockchain to ensure public verifiability. Bitcoin and ethering simply expose all transformation in public at the cost of sacrificing privacy. The UTX model and the accountbased model are two mainstream model in cryptoc currency compared to the UTX model. The accountbased model offers superior functionality but attaining privacy is more challenging due to state posistence. So in this work we forced we focus on accountbased cryptoc currencies. So the initial work like PGC and the simply focused on the confidentiality and the later work diamond just to focus on how to add anonymity. Diamond develop many of the main proof to build anonymous za with an anonymity on top of zer. So let's have a close look at the anonymous zer because it represent the sort of pbc with sketch it as below. So each account is associated with an algama key pair and encrypted balance with public key serve as its account address. To generate a transaction the sender first select an inside an set then decide a vector of transfer amount and encrypt each transfer amount under the public key with reduced randomness. Finally generate a proof to test the legality of the transaction. However anomalies suffer from three shortcoming. First is a security model is weak because the counter model fails to capture the inside attack notably the roy attack. So the vulnerability stems from the random reusing which is also very crucial for the anonymous zus design. So although we have mitig mitigation approach it require participant to proof proof knowledge of their circuits during registration which is not satisfying for the following reasons. So the first techn technical challenging is how to defend against a wide range of inside attack including the ro key attack. The second one is limited anonymity in anonymous many proof requires the sender index and receiver index size in obvious of opposite parity. Such constraint halves the anime guarantee. So although this deficit can be remedied by picking larger enemy set but comes with the cost of increased communication cost and transaction size. So the second techn technical challenge is how to achieve bad anonymity guarantee without sacrificing efficiency. Well the third shortcoming is inefficient multi- receiver transfer ano only support single receiver transaction. That [clears throat] means if a sender want to pay t receivers, he must syncially executing the basic protocols t times. This incurs prohibitive overhead for largeity and reveal the transaction patterns. So because the sender must lie in the intersection. So the third technical challenging is how to enable efficient built-in multi-receiver transaction. So motivated by the state of the affairs, this work aimed to develop a well-rounded PBIBC that featuring strong security, rich functionality and high efficiency. We present the first account-based cryptocurrency simultaneously achieving strong privacy and the efficient multi-receiver support. So let me first let let us first introduce the framework of PBBC. So formalizing security model for PBSA turns out to be very tricky because the security model must be strong enough to capture all real world attack while remaining clean and handy to use for security reduction. We introduce a bunch of oracles to capture re to capture the adversar's abilities. Notably the we introduced the rich register the crafted account oracle to capture inside attack. We establishes the security of PBBC upon three oragonal pillars. The authenticity ensures safety resistance. The soundness ensures policy compliance while the ledger indistinguishability ensures privacy. Uh due to time limit I will skip the formal game definition here. Please refer to our paper for the details. So our framework only require two building clock building blocks. The first is actively homorphic public encryption while the second one is a labeled NISK. Let's see how it works. We just focus on the most important part. Consider the sender want to conduct a multi-receiver transfer. He first randomly pick inside an emity set and then forms a bonding transfer amount vector and encrypted each transfer amount vector each transfer amount on the corresponding public key using independent randomies. Well, here we use independent randomies to break the correlation among session keys of multi-receiver encryption. This help us to completely solve the technical challenge. one about the inside attacks. Secondly, we admit the multi-receiver transaction solves the technical champion two about the built-in multi-receiver support in syntax sense. Well, let's have a closer look at the legative statement which can be for decomposed into the following sub policies. Particularly the a positive enforces strictly positive transfer to intended receivers. This setting not only align with practice more importantly combine with the binding property of the public key encryption the sender index the receive index and uh the decoy set must be disjoint. This makes the proof of disjoint redundant which was exactly the most complex and restrictive part in anonymous ether. This help us to solve the techno chion too about the limited anonymity. Well, we prove that if the underlying public encryption is indep simulation sound extractable and adaptive zero knowledge, then the ppbc framework we proposed to satisfy authenticity, soundness and ledger indistinguishability. Well, let's move to the most technical part of this talk. How to give an efficient instantiation of our generic generic framework. As as to the choice of the encry encryption component, we choose twist gama. Why? Because it is zp friendly. Look, the right half of the cyex is exactly a person commitment. Even nice subtext on the different public keys still share the same commitment key. This enable twister gama seamlessly s with all the kps that accept the p commitment as instance notably the bulletproof and uh a lot of sigma protocols for linear relations. Well, by plugging the twister gama into our framework, we obtain concrete legal statements. The once highlight in red requires a so-called K proof. That means just to prove partial knowledge. More precisely, proof knowledge of openings of some key subset among impublic commitments without revealing which key subset. Well, as to the choice of key after vamp proofs, general purpose zikps or general key after vamp proofs a bit heavy. The deer based key after vamp proofs turns out to be the best choice due to its high efficiency. This line of research start with the back start with the breakthrough of the GK protocol achieving logarithmic precise for k equals one and the followup work try to extend to general key. However, all these workers share a common limitation. That is they support only homogeneous statement. That means all the substatement are committed under the same discrete logarithm commitment key. Well, now let's build the proof piece by piece. We begin with pi 0 which stipulates exactly n minus t minus one transfer amount equals zero. So this can be proved via the existing deal based homogeneous care proof. Well let's come to the pi positive which stipulates exactly t after transfer amount are positive. This should be proved by the deer based homogeneous range proof. However no such proof exist in the literature. It will require a brand new design. So the design turns out to be difficult. Why? Because on one hand so that the homogeneous K after V proof take uncommitment as input and just prove knowledge of key hidden commitment while on the other hand the range proof like bully proof take key commitment as input and prove constraint of all key commitment. So the technical changing is how to fit the hidden commitment to the ranch proof without revealing their indices. Well, our start pointer is the GK1 bending proof. Why? Because we find it is ranch friendly. That means it pick mechanism allows the verifier to obtain a randomized version of the real touched commitment. However, it only supports the case K equals one. So a nice method for extending to arbitrary key is just invoking the very basic GK one of many proofs key times. The problem is that both communication and comm computation complexity a linear in K and even worse a malicious prover could cheat with duplicated index during the key invocations. So to solve the inefficiency in SE our idea is to aggregate correction terms via random linear combination. This helps to reduce the computation cost make it independent of G and halfves the communication cost to solve the security issues that means guarantee no duplicated index are used. Our idea is to introduce indication bit vector to represent the secret index set. and let the prover first commit the indication bit vector to P and let in the protocol. The verifier use the same polinomial mechanism to homorphically reconstruct an other commitment called P prime of the selection the indication bit vector SI and check its consistency with P and P indeed commits to K1s. Well, thanks to the B design, we successfully generalized the classical GK1 proof to arbitrary key C and it still preserves the ranch proof friendliness because the verifier can now obtain a randomized version of key aggregated commitment. It remains to show how to build PI balance and PI servant. Well, because we use independent randomies for different public keys in encryption. So these two proofs require the DL based heterogeneous C7 proof. That means proof statements over unpublic commitments generated on the distinct commitment keys. Well, most debased homogeneous C proof crucially depend on the homorphism across sub statement. When commitment keys are different, such homorphism does not hold anymore. So extending deer based homogeneous cap proof to the heterogeneous setting is non-trivial. Again, it require new design. So our start point is the SF protocol because it does not rely on cross commitment homorphism. Well, the major downside of the SF protocol is its verifier and the pro complexity are both quadratic. So why SF is quadratic? Our main insight is that the SF protocol use polinomial to encode the secret index set which is overkill. It make it results in a very dense basy matrix and thus the aggregation cost is quadratic. So our idea is to drop the heavy polinomial mechanism and use lightweight indication beta vector instead. So this change is so simple yet powerful because the best matrix immediately become diagonal and highly sparse. So this help us to reduce the aggregation cost from quadratic to optimal linear. Note that our new protocol does not require cross instance homorphism. It can naturally extend to heterogeneous setting just by modifying the basis. So in some we reduce the pro and verify cost from quadratic complexity to optimal linear complex complexity at meanwhile we enrich the statement expressiveness from homogeneous to heterogeneous. So this table highlight our contribution to zonog proof. So we propose the first deer based homogeneous cap proof with ranch proof fine and the first deal based heterogeneous cap proof with linear proof and a verifier cost. Putting all the together we obtain anonymous PGC and efficient instant instantiation of our PBC Pabc framework. >> [clears throat] >> Okay. Uh we implement and evaluate our proposed CF V proof and uh the transaction layer of anonymous PGC in C++. So the experimental result confirm our theory. Our homogeneous CF proof integrates range proof seamlessly. The cost rate are even below one. Our heterogeneous cap proof greatly improves the SF protocol in both functionality and efficiency. While compared to the anonymous laser, in addition to asymptoic improvement and security enhancement, our anonymous PGC also exhibits superior concrete performance and significantly better scalability in the multi-receiver setting. Okay, here's a brief summary of this talk. First, we enrich the ZKP toolbox for partial knowledge. We extend the GK Wing proof to generate K for the first time and make it range proof friendly. And we also constructed the first deer based heterogeneous C proof based on the SF proof with the optimal prover and verified cost. As the application, we present a generic framework of privacy preserving accountab currency from actively homorphic encryption and NISK achieving strong security and built-in multi-receiver support resolves the open problem in diamond at all about inside attacks and multi-receiver transfer. uh we also present a efficient instant called the out anonymous PGC which outperforms the sort of anomalizer in both security and efficiency. Okay, that's all that's concluded my talk. Thanks for your attention. I'm happy to take any question. Thanks. [applause] >> Question from the front line. Um, so why not just unconditionally send to all of the n receivers so that you don't need the uh pi zero and pi positive proofs? >> Mhm. because you're you're only um the sender uh would only be um compromising its own privacy by sending to more than the intended number of recipients. >> Sorry, >> the sender would only be compromising its own privacy by sending to um more than the intended number of recipients. So more than K. Um that doesn't seem to be necessary for um balance preservation for example. >> Mhm. So so so what's the question? >> Sorry. Why not send to n recipients unconditionally? >> Why is the sentence the recipient? >> So, so you're doing a lot of work to make sure that the send has only sent to exactly K [clears throat] >> of the recipients why send to all N unconditionally. >> Oh, okay. Uh the the number of real the number of real intended is public in the transaction information. It's kind of public. So, so >> just we don't know which K receivers but the the number of real intent the number of real receiver is public in the transaction that's the requirement for the CFM proof. So what I'm saying is is there an efficiency reason for that or um I I don't know what why do you need to um kind of only send to K recipients >> uh because uh is uh all the KF proof require it as a statement otherwise the proof does not work. No, no, no. I'm saying why do you need the proof? Um, rather than just sending to all n I mean is is it because the the transaction size would be n over k times larger? Is it because that doesn't seem to be the case because you need you need um that n times overhead anyway. >> Uh sorry I don't quite catch you. We can talk offline. Okay. Yeah, probably other questions. I have actually one usually partial knowledge. Yeah. >> Partial proof of knowledge means that uh you have K in case of K out of N. >> Mhm. >> It usually means that you have you know at least at least K witnesses out of N. But in your case exact exactly >> exactly K. >> Yeah. Yeah. Yeah. Yeah. >> I watch it. Okay, that's that's interesting. Okay, so all the product questions will be given directly to the to the speaker. Thanks. Thanks again to the to the speaker. >> Thanks. [applause] >> Okay, the let's move on. The third talk is the robust non-interactive zero knowledge combiners. Um the speaker is Lorenza. Okay, thanks for the introduction and thanks to all of you for being here. Particular thanks goes also to my coders Mikuel Champi Daniel and Yusha who should be somewhere here in the audience also. And without further ado, let's see what these robust combiners for NEZ actually are. We will just have a very brief introduction to robust combiners in general and then we will have a quick stroll through the main results of our work which as you can see really embed the the full package. Right? We have definitions and possibility results all the way to constructions and then we will just conclude with a few closing remarks and related open research questions. So today our favorite subject Ellis will be tasked with uh having to instantiate some mission critical piece of software that fundamentally relies some synchroraphic primitive P and in her design process she actually has to instantiate this primitive at the end of the day. She's faced with the existential dilemma. Do I pick implementation B1 or implementation P2 where mind you these are implementations of exactly the same primitive whose security may be rooted in completely different premises. Right? You can have pre-quantum versus postquantum, different setup assumptions, different instantiations of the same setup or even different implementation specific characteristics. What's important that is that to the eyes of Alice really uh this um distinction points that she has identified are such that each of these instantiations has its own pros and cons. Be it efficiency uh better reliability with respect to potential future attacks and the list goes on. Of course, by taking into consideration more uh tension points, well, Ellis could very well end up in a situation but which is really unable to uh pick uh with reasonable certainty which among uh all these candidate instantiations will actually lead her to achieve security on the long run uh and will actually be able to uh again safeguard the security that uh her users are actually expecting to receive from her piece of software. So how can we help Ellis sleep tighter at night? Well, we can remove this decision point alto together. So instead of having to pick, Ellis can now just pick all the candidate instancations she wants. This may very well have uncomparable uh features, let's say, that uh Alice would like to tap into with respect to each individual candidate and bunch them together into into a single instantiation that will indeed securely instantiate the primitive as long as only a subset of the candidates is secure. Yeah. Yeah. So that even if the Qday arrives, if some postquantum assumption is broken or if say some standardized primitive gets backed just hypothetical, then uh you know hair users will still be able to uh sleep tight at night. These are combiners in general. Robust combiners are a particularly interesting class of combiners uh that from a formal standpoint restrict the combiner from introducing any new uh cryptographic assumptions other than the fact that t of the input candidates were indeed secure candidates and this allows for ruling out uh let's say a non-combiner which could very well discard all the input candidates implementing the primitive from scratch. This was first formalized back in 2005. And uh the way this was introduced consisted of asking that whenever we have an adversary that attacks the security of the combiner, it truly must be the case that we are violating our belief that at least t of the candidates were indeed secure candidates. Yeah. In particular, it must be the case that uh we are able to come up with some n minus c plus1 amount of reductions meaning that we can for sure break all the candidates we deem to be broken plus at least one of the candidates which was instead secure. And just to clarify this end C++ one let's see a very quick example uh you may be familiar with uh this construction. So like if you concatenate multiple hash functions, you indeed get a collision resistant hash function as long as at least one of these input candidates is uh collision resistant. Um what um why is this a robust combiner? Well, the point is that whenever we can find a collision for the combiner, it really must be the case that we have found this n minus c plus uh plus one reductions we were looking for. And as you can see on the right hand side, we have our N minus C reductions that are not surprising, but for sure we can violate our belief that at least one of the schemes were secure. Okay, so that's the idea. Let's see how we can cast it in the context of NISK. We would like to keep the same semantics, right? So we have T candidates that are secure out of N. We would still like to get a NISK, but now Nisk is a multi-propy primitive. At the bare minimum, we require soundness and zero knowledge to all at once. And so, uh, we need really to clarify what T actually means and what we're actually breaking. What security property are we breaking for the combiner and what does this imply for the security of the underlying candidates. And to do that, uh, we can see an example with n= t3 and t equal 2. A combiner will securely instantiate uh, both properties at once. So soundness and zero knowledge and as long as at least t of the input candidates are secure with respect to each individual of the properties. And this may be a bit surprising you may wonder I mean what's the point in considering such a definition as opposed to asking that two of the candidates should be simultaneously sound and zero knowledge at once. And the advantage as you can see is that this configuration that is displayed here allows for t equal 2 meaning that we can salvage partial security of the candidates. So that even if some crypto assumption uh leads uh gets broken and leads say to the breach of zero knowledge of scheme 2. Well we could the combiner could very well reduce the soundness of the uh of this partially broken primitive so that it can still meaningfully contribute towards the security of the combiner. Second question, what are we breaking? Well, a valid adversary for the combinary is such that uh any of its underlying security properties gets broken. Uh and this should imply the existence of n minus c plus1 reductions to the security of the underlying candidates. But mind you, it's not sufficient to just ask in this case for reductions to soundness given that indeed the candidates are also zero knowledge candidates and we really do not want to leave security on the table. So it is acceptable to either break soundness or zero knowledge of the underlying candidates in order to in the context of defining a valid adversary for the combiner itself. So what we are saying here is that indeed improving the security of each individual property of the combiner. Well, we could very well use all the security that we have from the combiner and this really embodies uh the spirit of robustness that we would like to to capture with a multi-property primitive. Finally uh our definition is parameterized by the runtime of the versaries so that we can capture computational as well statistical properties alike. Okay. And that's more or less what we get at the end of it from at least from a pictorial standpoint. The first result that we show is that indeed it is impossible to achieve any such combiner unless we have at least that is at least greater than the major than the half of the candidates. And the way we do that consists of exhibiting a counter example. Yeah, very roughly this counter example is in a setting that looks like this. So we have two candidates with t equal one. And u this just to give you a bit of an hint uh the candidate primitives that we are providing as input to the combiner look like this. So one simply outputs the witness, the other simply outputs zero. So that we have one candidate that is unconditionally sound while the other is unconditionally is your knowledge. As you can very well imagine, these candidates are not really providing much security on their own. So we should not expect the combiner from in to get NSI without relying on any external assumptions intuitively, right? And crucially, yeah, this combine I mean such a combiner relies on the fact that we can salvage partial security. Um, of course, if you are unhappy with that, well, we still have some more crafty under examples that allow one to rule out even more restrictive definition of combiners, uh, such say as a one that would ask one candidate to be simultaneously sound and zero knowledge at once. Okay. And these are obtained from let's say adopting the spirit of these two these two candidates. So this specific counter example in a more crafty way. Now I just want to uh show you one of our three constructions just to see also how this definition is operable in practice. Uh and we will do that with evaluating NX in a recursive fashion. That's the only building block we will need. So we are essentially in the realm of knowledge sness. The prover will first evaluate a proof uh a proof of knowledge uh pi one using the original statement a witness and then it will go for another layer of nix. So that at the end of the day the verify instead of verifying pi one uh it will be verifying a pi12 which is a knowledge sound proof for which uh uh yeah that proves knowledge of the fact that the provers was an accepting proof for the previous layer. Yeah. uh and if both skins are knowledge sound well this is indeed still a knowledge sound proof for the original statement and witness intuitively while uh also of course preserving zero knowledge and as well as hiding by one uh from [clears throat] uh to the actual verifier. Yeah. And um what we're going to see that this core idea can be uh used in a rather intuitive way to achieve some fall tolerance the some degree of full tolerance that we would be expecting from a combiner. Yeah. So this fact that we can crucially hide by one. So let's see an example with n= 3 and t equal 2. Uh we first take all the possible combinations of sides t out of the n candidates. In this case combinations of sides two out of three. the prover will just run the recursive proof strategy that we mentioned before so that it will be computing this final layer proofs and now the verifier will accept only the proofs are accepting. So as you can see we're really not introducing any external crypto assumptions. We're not doing anything crazy. We are exclusively relying on u the security of the underlying candidates in order to prove that our final scheme is indeed uh an why is this a robust combiner? Well, let's see it for zero knowledge for instance. Uh we must be able to define an adversary that somehow manages to leak information from any of these final proofs so that it may break zero knowledge. And um let's try to do that. If this adversary does not really violate zero knowledge of any of the underlying candidates, well then there's no hope to do that. All these final layer proofs are simulated and indeed the verifier really cannot do much just by looking at these final proofs. If we have one reduction, so if the adversary manages to violate zero knowledge for one of the candidates, well now it can start doing something so that say it may retrieve the pi tree from by looking just at pi tree one. But as you can see in each of these combinations, we have at least one zero knowledge scheme so that uh intuitively we are able to hide the original witness and we're able to break the chain. Let's say that this verifier is attempting to build to get all the way back to the original witness. Okay. And indeed we can define a simulator with such a configuration of schemes as long as these equal to one essent. I mean as long as we have at least one at most one broken scheme. Of course if as soon as we introduce a second reduction. So as soon as this verifier breaks zero knowledge of one another of the schemes then indeed we violate zero knowledge. But as you can see now we have our desired number of reductions. And if we really instantiate our scheme with at least one scheme with at most one scheme that is broken well then we really have the security we were expecting. This scheme can be generalized actually to arbitrary N&T uh and we show that uh our construction has tight threshold with respect to the lower bound we have identified works for all of MP but as you can very well imagine it's not really that efficient of a scheme. Yeah at the end of the day we need to evaluate tentious proofs. So if you start combining many candidates then things are just going to blow up very very quickly. And on the paper you can also find two other constructions that trade off uh either uh the class of supported languages or the threshold in order to improve on this ladder metric so that we can indeed combine uh even a polomial number of uh schemes in the security parameter. Yeah. So we get better performance. But again, still these combiners at the end of the day are still relatively theoretical. If you want to learn more, there is a pointer here to the full version of our paper. U you can find really a lot of formal details and that's arguably the main contribution of our work. So getting to actually properly formalize what the robustness means, how we can prove that say a zero a combiner is zero knowledge combiner. So how can we get the reductions and so forth? So if you're into that type of stuff, I would definitely invite you to to read the paper. Uh and um yeah, we also have a few open problems uh that we're leaving along the way stemming from definitions u by considering say different alternative models, alternative security properties as well as of course more definitions of combiners. uh given that again these are tools that are gaining even a bit of traction um also with respect to other primitives such as king capsulation modules for for the postquantum transition of TLS for instance so getting um designing new constructions that can actually be deployed in practice can actually make a difference for let's say certain mission critical settings in which we really value security over efficiency and over which uh we really want to ensure that the user can have some reliability ility in terms of uh ensuring that there is the defined schema there knowledge that's all and thanks a lot [applause] question from from >> really interesting and actually have probably many questions. Um the first is um if I look at your T out of N construction at the end um you know you like the one before the slide. Yeah this one basically. So whenever you take T out of N then you have to like reorder them I guess the I mean you have to pick an ordering for each of them >> for for the schemes in how you nest proofs you mean? >> Yeah. Basically because like when you pick P3 and P1 you could have done the other way around but I guess it doesn't matter that much. >> Yeah. But the efficiency that you get in the end is like sort of n to the t proofs in in in order. >> Yeah. And ch proofs. Yes. >> Yeah. So what's the most efficient thing you got? Because you mentioned also other constructions. So I wonder >> um I mean very roughly these other two constru I mean the output of this final construction is just a concatenation of proofs. So yeah this case linearly with the with the security parameter. Um the final construction is similar as in we still have n I mean a linear number of proofs uh actually n proofs we have right n proofs plus some additional material coming from for instance from the mpc >> wait you had t choose n sorry n choose t before right I think >> yes for this for the scheme that we showed here yes >> yes >> for the others no >> so what's the the order basically between n and t I'm not sure to understand >> the sorry >> the order like How many proofs do you get at the end? Basically, because before it was n choose t roughly. >> Yeah, with these other two schemes. N times uh yeah n basically. Yeah, we get proofs. >> Okay. >> With these other two schemes. >> Um and then second question, can you do something with folding? Because you know you're recursing. So I'm not sure if this can do something like this. Um I mean I'm not really sure because really at the end of the day in order to keep this invariant right it's not like we can compute less proofs than that. Uh yeah well for instance yeah for zero knowledge you need in order for zero knowledge to hold you need to ensure that each of these cominations has at least one knowledge sound scheme. So you cannot I don't think you can really compress that further in any reasonable way and a similar argument also holds for knowledge soundness. So thanks. Welcome. [snorts] >> Okay. Wait foration, right? >> Uh it depends. Uh this construction is non blackbox because we need to nest proofs. So yeah, we need to >> Yeah. But this second construction is blackbox. The third construction is not blackbox. >> Right. Okay. Um so if we kind of look into the structure of um the proof system so for example suppose there an IOP that we um we know is um information theoretically secure so we're less worried about that being broken uh and a PCS then um we can consider combining the the PCS's. Um but what can you say in in general about um how much more efficient you can get for white box combination? So that would that allow you to break the um the t um uh the the um impossibility result you have on the threshold. >> Um so could you repeat the question? I mean a bit. So if we if we know more about the proof systems, we know the the structure. >> Yeah. >> Um >> does the impossibility result the threshold still apply? >> Yeah, I mean this is fundamental impossible. Yeah, I don't think uh you can get around it in any way because yeah, you can always find a counter example like the one you we we showed on the slide. But yeah, maybe I didn't get your point. I mean, what's your proposal, let's say, to make it work? >> Well, I I'm not sure. Um it it seemed to me that the impossibility result um okay I I can't think of a way to a way around it. So yeah maybe it's yeah still >> yeah we can talk more okay more from the back and then moti next. >> Hi uh thanks for the talk actually my question is very similar like about this impossibility result. And you show this counter example where one of the scheme is not zero knowledge, the other is not sound. >> Yeah. >> What if you want to get this robust construction only from schemes that are perfect zero knowledge? So you only care about uh the possibility that soundness have been broken. >> Okay. So you you Okay, let's see. So you're asking basically whether uh I mean you assume you're already preassuming that the final scheme is zero knowledge no matter what and you still want to and you only want to consider soundness. I mean you want a combiner for soundness let's say you can do a combiner for soundness uh if these uh lesser yeah I mean with you can go around this impossibility pretty much but yeah and um yeah it's the construction is similar to the one for hash functions pretty much. Yeah. So I mean you need to you have multiple schemes one of which are sound and yeah you can but again arguably this goes a bit um beyond let's say the spirit of the commerce you want to consider because at the end of the day yeah you would like to I mean even if a scheme is perfectly zero knowledge could be broken for whatever reason right you can have a I don't know a broken instantiation uh whatever I mean >> okay the last question from moti It's a com It's a comment. I know the field is getting older older than usual. It's already 50 years. So concepts uh don't pass the century barrier. But uh the I see the paper as a very good application of what we called in 1990 meta proof. a proof that I have a proof >> it's a crypto paper and then just to refresh the the minds of the people in in 2012 we put a very old version of of the work on e-rint I think so it's good also to use the old terms because the theory of 1990 is now in blockchains and everywhere and it's good that the field will keep the legacy >> so I'm it's a it's a comment in general not just for this but this this proof that I have a proof in Nisuk >> is called metaproof >> metap proof okay >> and other people already reinvented it and they called it other names but this is the original name >> thanks for that [laughter] >> okay so let's wrap up thanks speaker again and all the people joined to the session