Welcome to Eg to E to E to E to E. Hello everyone. Um so yeah very bold title. Um it is actually different than what you think. Uh it's a very short talk and there's a lot that you can say about privacy here.
My main idea is to give you two simple um lessons, new ideas about the approach that we have against privacy and this is what it is all about. So first of all let's define like what are different types of achieving privacy. Uh this probably you know but I will explain a little just to give you some context and make a comparison between these two in about like which one is better um in some cases maybe. Uh so the first one is any encryption based solutions. So FHE also falls under this category or plain old encryption is also of this type.
Um basically you have the data you send your data to a cloud. It can be internet it can be a blockchain. Uh but the data is encrypted and the storage key is not known by everyone. And the second one is the ZK proving based client side solution which a bit more different. Um so first of all what is the encryption based secure storage solution?
Um there we have encryption and that allows us to hide the information. We can also use cool stuff like FHE to actually perform on this encrypted stuff. So basically you encrypt that thing but you don't use decryption in order to make computation. So you actually work on the encrypted values which is a very strong tool to achieve privacy for sure uh with some limitations that I will touch in a bit. Um and yeah information cannot be decrypted because the key is not known by everyone.
the key can be a a shared key. So maybe it's not only me but like there are different parties holding parts of key. So they do decryption uh in parts uh different parties that's also possible. Um but then that's the idea. There's always a key and that is the way of achieving privacy and in these type of encryption based solutions the idea of uh security comes from a hard cryptographic problem.
So before it was discrete log. Uh nowadays new quantum resistant stuff they are using latis space or different stuff to achieve like postquantum encryption security. Uh but there is always a hard problem. And when we say hard it means that if you know the answer it is easy to verify it's easy to solve. If you don't know the answer it's really hard to guess the answer even if you have a lot of stuff that had the same answer for different questions.
So it's hard to like solve the problem. So that's the idea of encryption based solutions and the second one is zk based client side solutions. So this is actually the only way of achieving privacy with zk. Uh when people say zon knowledge gives you privacy this is not fully accurate because zk's privacy is different from encryption's privacy. Encryption is about hiding something from others.
ZK is about hiding something from everyone else for all the time. You don't share the information in any context. You just prove that you had the information at some point while generating the proof and you generated the proof in accordance with that information. So the information is used as private inputs and it never leaves the client side. If you are generating the proof in your computer, the information stays in your computer.
You don't need to send it to any cloud or anything such. Um and so there is no storage of information. uh as I said before since never leaves and the information is cannot be extracted by other parties so that part is a bit different so in encryption we said that there is security because there's a hard problem and we can't actually get the information from the encrypted value because we can't solve the hard problem if we don't have the key that was the idea of encryption with CK that's not the case uh and I will try making it simple with some intuition so you know that CK proves proofs have constant size. So it can be either the size doesn't depend on the input or maybe the proof like over aggregation keeps the same input meaning that multiple proofs can be combined into a single proof without you know increasing the proof size. But in any case we see that the proof has a constant size.
Even if the input size increases the proof size doesn't increase. And that actually shows us very well that there's privacy. Why? Because if there wasn't privacy and it was possible for us to understand the information from the ZK proof, this would mean the infinite shrinking of information into constant size which is like impossible theoretically. Just think I have infinite amount of information like my entire browser history and I create one proof how this single size proof can include all this information there is privacy because information is not inside the proof.
That is like very very simple to understand how ZK proofs work. That's complex. But why they are secure and private? I think that's quite easy to see because of their constant size. There is no information that can be leaked from the proof.
So then let's make a comparison between the two. Is ZKP better than encryption? And I believe there are three advantages that are not that much spoken about. The first one is an attack resistance uh what I call store now decrypt later attack. When I say that something is encrypted, people always think that if I cannot decrypt it at the moment, then that's secure.
This is not true. I can store the encrypted information up until there is a decryption method available. So quantum computers are coming. Someday quantum computers will break latisbased problems as well. And don't only think quantum like 20 years ago, we didn't have quantum computers, right?
Or 100 years ago, we even didn't have quantum. Maybe 50 years later, we will have this new physics or core maths mathematical maths problem uh approach that we have that will solve all the encryption methods that we have at the moment. Of course, once we have quantum decryption or this new cool decryption, there will be another new cool encryption as well. So, it will always be possible to encrypt something to find new hard problems. But old hard problems, they will become solvable.
So, if I have your sensitive data at the moment, I can decrypt that later. And there is no guarantee that it will stay private up until the end of time. Or to be exact I can be say that 100% at some point it will be solved. It's impossible that it will stay private up until the end of time. It's not possible.
At some point it should be solved. And science teaches us like in science everything is broken. Newton's dynamics was broken. Relativity Galo's relativity was broken. All physical concepts everything that we understand today they will be achieved.
they will be improved at some point and at that point our encrypted data can become public. That's the first advantage of ZK proofs because in ZK proofs even if there is no quantum resistance the proofs privacy is not a problem. If quantum computers come and they actually break our ZK proofs they attack the soundness. So after the point that quantum computers are available the proofs that we generate will no longer be valid. So people can create unvalid proofs but proofs that have created until that time will still be valid and they will leak no information and it's quite easy to change a protocol.
Right now Mina is not quantum resistant. Once we have a quantum computer that's really available we can make Mina quantum resistant quite easily and nothing will change about Mina's history. It will stay as private as this today. The second is the legal side. So if there are legal person here I think that's quite interesting and if you're a developer I think it's also important if you have big application and big I mean like thousand people you need to store the data in a very legally okay way in European Union there is GDPR and these regulations make storing data quite hard even if it's encrypted you can't just go to court and say data is encrypted I don't know about the data so you know it's a problem no they say that even if it's encrypted You need to have good data engineers.
Your data service probably should be in uh European Union or you know for instance I'm from Turkey. In Turkey they say that if you have sensitive data like healthcare data or military data or you know these type of sensitive data you need your databases to be in Turkey that's a huge limitation. So storing data is a problem even if it's encrypted even if it's FHE or some other cool stuff. But with ZK that's not the case because you don't store the data and if you don't store something you cannot be actually legally responsible from it. No one can say you and say that like I don't like this proof system I don't trust it so you know have this legal obligation.
No in like I didn't have the uh data on my own. So that's a huge advantage. And finally, this third point, I think that's like a huge debate, but I think that like it's easier to audit um with a ZK proof. If the proof system is broken, then you know maybe it's not soundness resistant. So there's an error with the proof system, but still it's private because the size is constant.
Understanding that the ZK proof has this property is much easier than you think. Is the proof size constant? So I think in terms of privacy applications ZK proofs are safer. Uh with encryption based solutions you need to be sure that the encryption that you have is resistant against all possible attacks. How you would know that?
You need some mathematical you know experts. But with ZK systems you can just adopt another proof system and by just checking some simple properties you can be like yeah this should be private. So that's also a huge advantage for developers. So yeah, was I talking about the fact that ZK proving is better? It's the better privacy choice.
Everything should be ZK. No, that's not the case. Uh and that was the first lesson about this talk. No solution is better than others. Uh no tech is perfect and there is no best option for anything.
Make your own research, make your own decisions. Um think for yourself. Yes, ZK has advantages over encryption based solutions, but ZK cannot be adapted to everything. It's not possible. In some use cases, it's practically impossible.
ZK encryption cannot give you the privacy that you need. For instance, let's say you want to make a voting application uh where votes don't get revealed until the end of election, but you want to count them. So, you will first count votes and then you will reveal the result. you need some type of FHE without FHE that's almost impossible because you want to count the votes but you don't want to learn the result like or you can have a trust trust setup or something but in the end using only ZK wouldn't be the solution so we need some kind of encryption in some setups um but the second point of this talk there are use cases for ZK much more than you think if you are building a privacy application don't don't just look to the FH or like other cool encryption solutions. Don't be like, "Yeah, this one should be 100% private.
I will use this one." If you can use ZK, use ZK because it can be the better option. And some very interesting use cases that is rarely talked about. I think private voting we all know. Um ZK authentication is interesting.
You can actually get rid of passwords. For instance, all passwords can be ZK proofs. That's huge because then you can't even know user's password. User never sends the password to the server. That's like ultimate type of um resistance that your server can have against you know password leaks.
That's quite strong. Uh also private transactions of course ZK has great use cases. Uh also with mixets by the way you can actually combine ZK inside your network better type of transactions. Uh and a final example I think this one is quite undervalued uh is on data tracking. Um, so data tracking is not about storing data.
It's about getting a value out of the data. If you can prove that the data has some value like let's say that I want to sell something to someone um who is a female living in Amsterdam um older than 25 years old. I don't need the exact data. I just need to know that that person is from that group. So I can combine all these in the client side and by using a ZK proof I can be 100% sure that that person is inside my group and this type of an approach has amazing advantages over encryption like we don't store the data there is no legal applications there is no privacy breach it stays encrypted up until the time so I think all these are really important points uh and there are many many many other use cases I can't talk about all of them here um so yeah that's the basic point if you want to learn about the use cases of ZK Okay.
And like the better way of achieving privacy in some use case. Just come to me and ask. Um we can talk about like what is the best way of achieving privacy in that particular use case. Uh but please specify use case because without an application there is no way of achieving it. Thank you very much.
Thank you Ununas. Uh I have some time. Can I get some questions if there's any? I mean you can one question any questions like any questions anyone? No.
All right. Someone did have a question. Can you maybe uh give us a good example of a use case where Mina was applied? Was applied? Yes.
Um so I think a novel example uh would be success of long-term results in modular use cases. So recently we built this voting application uh but it's also applicable to a DEX. You can basically have a DEX on top of Mina that is shattered around different layers. So first there is client side to generate ZK proofs. Uh Mina ZK proof technology is powerful enough to be working in the client site.
Um so that's a huge advantage. Uh the first layer brings us privacy. First of all you can have a private text as you like but it also brings us scalability. Everyone generates their own proof. So there is no uh problem of scalability with more number of people joining the network.
It stays the same in terms of computation power because computation power increases with each browser. Then there's a DA layer. Mina doesn't have its own limitless DA layer. So you can actually adapt any DA layer inside Mina. For instance, in our use case, we use Celestia and aail.
You can just push your vote on the DA layer without any permission. You basically say that um I have this DEX order. I have this um I don't know auction item. Um but this CK proof representing this action. I want this CK proof to be included in the chain.
So you put it uh in the DA layer to someone to aggregate and then you can design an permissionless aggregation sequencing layer on top of the DA layer and it's very easy to make it permissionless because DA is open to anyone and the light nodes can actually get the data without any sensor from the DA. Um so I'm running out of time so very quickly then there's theation setup and then you need to settle in the settlement. We also have a our own design uh using pre assertions in Mina to make sure there is such presence while settling and once it's settled now the entire result is succently proven in Mina and then you can just bring it into Ethereum with very low gas fees so that you can actually have the result in Ethereum. So we use like six different blockchains in one deck and we enabled a perfect DEX by only using the best of everything. Cool.
Thank you.
Automatic transcript — names and jargon may be misspelled.