Privacy Panel
EDCON 2023 · 20 May 2023 · 25:24
Vitalik Buterin, Barry Whitehat and Toni Wahrstätter examine privacy on Ethereum through zero-knowledge proofs and stealth addresses. They discuss proving group membership without exposing identity, private social-graph applications and proofs of solvency, alongside the tension between misuse of privacy tools and their value for individual freedom.
Speakers
Topics
From EDCON 2023, hosted by EDCON.
Transcript
why so who here has used the CK Stark before amazing um who here has written aziki sonark circuit before okay um who here has verified aziki Stark before if you've ever run an ethereum node you've verified a zika snark who here has verified aziki Stark with their own bare hands no just kidding I haven't done that either um okay well great so welcome guys to the Privacy panel um so I and I talked about privacy a lot in uh
my presentation and uh you know Tony talks about stealth addresses and we're going to keep talking about privacy over the next three days because privacy is uh a super important uh topic both because privacy is a human right and and an incredibly important thing uh broadly and also because of how it's like uniquely important in the given how blockchains as a technology kind of start with zero of it but at the same time there's all these technologies that can you know give us much more privacy back and so when we wanted to talk about is both the state of privacy today and uh you know what what we're doing to try
to do more what can we do more and uh you know what the what the future of uh improving people's privacy and our lovely ethereum ecosystem looks like so maybe um Barry to start off one of the probably the biggest technology that people are using right now for improving privacy is uh ZK snarks so could you maybe just introduce what ZK Snorks are and uh like what kinds of things people have been using them for okay so one way to think about this is that like ZK Starks are like the language of truth that you can create these you can create this system where you're only able to say true things and like DK Starks or or ZK snacks are a
tool to do that um so you're able to make this kind of like specialized circuit that you can only make up you can only prove that it's true like you can only prove that like inputs like okay let me try and say this another way so maybe it's good to give a motivating example here and one example of an application that we often want to do is to make a proof that you're a member of a group without revealing like which member you are and zero knowledge proofs let us do this they let us do they allow us to make these proofs by by using some kind of clever mathematical tricks so we can use it for for like that simple use case where we're where we're using the
benefits of ZK snacks for privacy but we can also use the benefits of ZK snacks for scalability because it turns out when you when you have this technology that can compress compress the verification of a of a program you can compress it you can use that for scaling purposes too so another example is like ZK EVMS so some people are using uh zika snacks to make proofs of like the ethereum virtual machine has been in the computer correctly and like I kind of think of like this as like the first step on a long journey that like right now we're able to make a proof about a virtual machine that's the equivalent of what a mobile phone could do in like 1995. like we still have a long way to go in like the set of things we're able to make proofs about and my expectation
is that we'll eventually start making proofs about like almost everything that we do make sense maybe exam also just introduced a bit about yourself and you know what you're what you're up to in the ethereum ecosystem um you know how you got in here and you know what you and your privacy is stuff is all about okay hello yeah okay so I've been in the ethereum ecosystem for like 10 to seven years and I've been like I originally got involved because I really wanted to make things the first thing I wanted to make was like I was really interested in like Cooperative movements and how people could organize and I wanted to make a application that would would sort of prove this concept
so I decided to try and make a a teacher to purchasing Cooperative so basically people would pull their money and they would get like a bulk discount on purchasing t-shirts this is where I started trying to like uh build sort of community projects and since then I've sort of branched out into doing a whole bunch of things in the kind of private realm and I I think that like when they're important to include like the the bn254 off codes the things that makes ZK snacks possible to verify on ethereum I got super excited because it was just this whole world of things that we were able to do and so I started to make like some proof of concept applications and try to to explore from there I was there was so much to explore
it was a very exciting time but it was also like there was like limitations in one I could do by myself so I started to like work with more people some people in ethereum foundation and some people outside and together we've been like as a community we've been trying to push forward zero knowledge proofs to become like the technology that we that we really need because in today's world it's very difficult for people to be able to to to have privacy in their lives and maybe Tony just for people who have not who weren't here an hour ago kind of introduce yourself a bit and uh like how you got into the space and some of the stealth address stuff you've been doing sure
test yeah um I'm Tony um I came into the Privacy stuff through Bitcoin so I started using or focusing more on privacy Technologies back on bitcoin where the most promising or the most prominent privacy tools are coin joints where you have these unspent transaction outputs and you just bundle them with a lot of other people that you don't know you mix them together and then you create one transaction that spends to again to yourself so it's kind of a mixing on bitcoin and it's quite old so on bitcoin I think it's um almost 10 years old by now and yeah that was kind of my first experience
coming um experience I had with privacy on public blockchains I then got to ethereum and found that tornado cash was a really cool applications and did more research into CK snarks wanted to know how to Nato cache works and finally um two steps back stealth addresses which are much simpler much less complex than CK snarks um just using elliptic curve cryptography and this was then the point where I was why I thought okay this is really something and that can be rolled out very quickly that a lot of wallets can adopt that can be standardized very
simple and although it doesn't give you the same privacy like tornado cache or coin joints because both of them tornado cache and coin coin joints they give you untraceability which always requires some mixing to be involved and staff addresses can only give you unlinkability which is for many many applications already sufficient to be used so in terms of uh specifically privacy for coin transfers right like there's uh over the last 10 years it feels like there's been this kind of progression right where we started from uh coin join and then we went to Monero and then Monero started you know supporting like more mix-ins and then we started having zcash and tornado cash could you maybe
kind of go through this sort of sequence of Technologies and like what what are the like what is the thing that we've been gaining and we've been getting better at as we've moved further and further toward the more like the more powerful cryptography yeah sure um so stealth addresses them so the first privacy we had on public blockchain was essentially Satoshi proposing pseudonymous accounts that are just um accounts that you cannot link to a real world entity so everyone can create a new account which is already a lot of privacy that we get and then a few years later already in 2011 the first stealth of trust proposal was proposed which required the sender and
to recipient to generate a shared secret so a Diffie handman secret and if you hash the result of the DPM in secret you get you can use that as a private key that can be used between two entities more or less then staff addresses were continuously improved and very interesting story in 2013 there was this synonymous entity Nicolas van saberhagen who is still sorry the nimus he proposed the crypto node y paper which then laid down the foundation for protocols like Monero ccash and and so on and the crypto node white paper already included stealth addresses it included ring signatures
and it also included um the first snarks that then have then been adopted and slightly used differently but came into the ccash protocol and yeah then more or less tornado cash was then the first application I think it was the first application that then built this Merkel trees where you can then prove to be part of a group without revealing which exact entity in this group you are and this then allowed users to deposit funds prove that they have deposited some funds and then move the funds out of the contract again without um revealing um which exact address they used to to
deposit great so that gets us into a financial privacy a bit right um maybe yeah very good we talk about some of the non-financial use cases and like some of the specific ideas that uh um you know either PSE or some or some of the other groups that we've been uh were working with have been trying to do and how some of the minor zika Starks help provide privacy there sure so one thing that's like Financial privacy is exciting and it's interesting and it's useful but there's a whole bunch of other like interactions in our world that are not like financially based like one example of those of that is like
reputation right that this seems like there's a very powerful primitive that like you use much more often than money like being able to have privacy for a reputation is also like at least as interesting as having Financial privacy so one example of this uh one example use case of this is is that like at zuzolute the Xerox Park uh community members made this uh ZK passport and basically it's like a a proof of residency at zuzulu and basically anytime you want to use this proof you can you can provide the zero knowledge group to someone and they can verify the proof there they become convinced that you are in fact a member of the group but they don't know which member you are
what are some of the applications that the zoo pass got used for right so Zupas originally started as just like a ticketing thing it was just like to to enter into venues and stuff but people have managed to build a whole bunch of interesting things on top one example is something called Zoo cast which is like this kind of ZK Twitter where you're able to to post about being like a member of of zuzulu and and like post whatever tweets you want and there's like I I think it's the URL is Zoo Cas dot St zoocast and you can check there and you can see a bunch of the phone discourse that's been going on mm-hmm great um any uh any other particular
non-financial applications that come to mind either of you what's your what are your favorite non-financial applications that we could have much more privacy in oh so I really like the idea there's this algorithm algorithm called eigen trust right and basically the way our Eye controls works is that like you can given like a a graph of connections between people you can calculate the like Global trust score of everybody in that graph and I think that this is really interesting because our world is very like like humans are very Network focused things like they understand that works a lot better like the concept of like a friend of a friend is is a is a lot more natural and intuitive than than
like like a lot of other Concepts so like making a zkp for eigen trust would be really fun so you can you can you can prove that you have a certain score without revealing like how who you're connected to so I think in general like zkp is about social graphs can be really interesting there's another algorithm called Sybil rank which might be fun to explore as well yeah one one possible application that would for example in the last two years would have helped us a lot would be assuming now we trust the government right so the government could just have put our every vaccinated person also into a Mercury and allow people to prove against that mercury providing a Serial
knowledge proof that they have been vaccinated and this will then would have allowed people to not expose their identity any time when they visit a restaurant and have to prove that they were vaccinated or something like that so that would actually be not that complex because the government would just be the central entity having the power to update the Merkle tree to add every person that has been vaccinated for example into that Miracle tree and then people could submit their knowledge proofs to show that they have been that they should be allowed to go into a restaurant something like that yeah and that that would be basically exactly the same technology as you passed right
right right that would more or less be the same and it's also actually the same like tornado cash only because only at the native cash works decentralized so there's not one Central entity that is allowed to to add the leaves to the Mercury and and nullify them right but it would just be the government in this case that we adjust anyway that makes sense what are some of the technical challenges that both of you see that we still need to solve before we can see much larger scale adoption of these kinds of technology is like how long before people in Montenegro are using you know ZK payments and uh and ZK voting and ZK a reputation and all these
things so like normally the problem is approver time especially on like low powered devices ZK snarks still require like a lot of work in order to be able to create the proof and you can think of this as like it's work to create the proof so that the verifier has to do only a tiny amount of work so for me this is the biggest bottleneck and let me like with the with them before the tool that's being used in zoo pass where the prover time is not an issue anymore it's very highly optimized in order to be able to work you can make proofs on mobile in less than a second and even with bigger groups you can do this but there's
another there's some other issues for example if you want to make a proof you need to download a lot of data you need to you need to download that you're like a member of the tree and you need to download a proof that you're a member of the tree and to do this download you actually need to download all of the data because if you just download some of it then the the person who gave you the data will be able to tell who you are that we're we might have to explore some things like private information retrieval and things like this in order to be able to like make really bigger groups but I think so let me slow down I think that like I feel very optimistic about like the example of people in Montenegro using zoo pass as like to prove that they have received their
covert vaccine for example I think that that's practical today and I think if we want to do like more advanced things we still need to like improve our our approve our infrastructure okay what do you think there um yeah I would definitely agree to that and I think um so for all the people that have never used the Sue pass this was really this very straightforward way to kinda it felt like logging into something but without revealing who you really are you just revealed I'm allowed to log in here um but I won't tell you who I am and then after this layer of logging in you could just participate in what was offered there and for example you could just um truly anonymously vote for things or tell people um how you feel
and stuff and without really revealing um who you are and I think um when it comes to mainstream adoption people always need something that they trust and if we can prove that the technology behind it so no one can build in a backdoor or something like that then people um might be feel really comfortable using it and yeah that's essentially my point how uh how worried are we about bugs in these systems right because the more private assessors become the more like bugs and abusive bug it becomes just totally undetectable so how do we mitigate this
so this is something that worries me especially because the systems that we're using are very new and very complicated we've also built on top of Primitives that are very experimental for example there's this saying in cryptography don't roll your own crypto but for zkps we have a bunch of Specialists crypto that we're using for example the hash function we're using is like a snack friendly Ash function so this is a concern but you see what I see happening is where's the move away from like uh very like the reason we need to use a snack friendly hash functions is because the proof system is not very efficient and I think with like a couple more
generational improvements in in zero knowledge proof technology will be able to replace the we'll be able to replace the snack friendly things with snark on friendly things and start using standard Primitives that's interesting because I would have like my guess would be that if one of these things gets broken there's like a less than five percent chances to Hash function that's the problem yeah look just the complexity of these um you know 100 000 line circuit files in general okay right on what timeline um next decade okay I I suppose that like the way I reason about the circuits is that like it's okay there's a lot of there's a lot of constraints in the circuit but it's normally the same thing
right it's a miracle like for semaphore for example it's a Marco proof right right it's just okay I guess I have in mind like a ckvm yeah absolutely that's another that's another level right okay so it's interesting there's like different use cases that have different threads and around this okay [Music] as far as use cases go maybe yeah talking about one more um so zkml there has been a lot of excitement about AI recently um like how ex um I guess excited are you about the possibility of using ZK to kind of improve the uh you know verifiability privacy trust properties of AI do you think of this as a uh you
know do you think this is a good direction is this something that excites either of you personally interesting um so okay so there is some nightmare scenarios here where where there's like uh just an advanced AGI that's on chain right and it pays people to train it improve it and it pays people to like execute it and right pay for it to think and this is like 100 decentralized and there's no way to shut it down and there's Financial rewards for everybody for anybody who participates so this is this is like one thing that could be very scary but like I the place I see zkp is helping is more on like the proof of individuality level that I like the way I think about it is that I see
the development of AGI as being like another way of losing like authenticity that like it started with the internet when you could make money sybils and it just gone more and it's just been become easier and easier and now you can impersonate a person writing a PhD thesis or whatever like you're able to like produce this incredible body of work and you can fool many many people so I think that that's going to become super important okay yeah that's that's very interesting actually yeah um I guess um we are currently all experiencing that we are interacting with with different models more and more and I'm definitely not an expert on CK machine learning but I I think in the
future we will need some some proving which machine learning model we are actually interacting with right now um probably what data it was trained on and all that stuff um yeah so just to know um with what exact model we are actually interacting with because it might be um we might have different models for different use cases of course some are much more sensitive and depending on the application and at this point I definitely think that some proving on the it's improving of which so what the model exact exactly contains what it was trained on and what's the properties of the model and so on it's definitely um
something that is very quiet it's a good one okay maybe your last set of questions is uh so people often argue um like sometimes argue against privacy by basically saying that like like privacy gets abused by yeah like a Bad actors basically right and people make this point in Ai and for finance and for social media sometimes so are there ways that um in which the zero knowledge proofs could be designed to still give people privacy but at the same time I kind of remove the remove the risks of uh Bad actors doing like some of the worst things that they might otherwise be able
to do um yeah definitely so I really like the the quote you had on your talk um about giving privacy to the week and um forcing transparency transparency to the to the Richer to the powerful so this is essentially um I would totally sign that and I definitely think that when it comes to privacy often the First World countries we don't have issues with privacy we can just um interact with organizations um have standpoints that are against our political parties and so on without facing real issues but especially thinking of developing countries it's not that easy and they should not be
forgotten in this in this discussion in this case because um when we build privacy tools yeah there might be some people exploiting the Privacy for selling stuff that should not be sold but more or less privacy is very very fundamental and there's also this quote um I can't I don't know it by heart but without privacy we won't have freedom and stuff like that so although privacy might be exploited by Bad actors it's still a very positive sum game for the for whole society yeah there's also a whole bunch of like application like places where we really
need privacy that can like make our world much better even for the people even to help solve some of the problems that that like businesses face for example there's one project called proof of solvency where like an exchange or a company can prove that they have enough money to pay everybody who owes that money and like this becomes like a really natural way to allow to have like the Privacy that like a business needs in order to function while also providing Society with guarantees that like everyone is able to get their money out okay so very uh very optimistic future for Zig historics and privacy technology thank you guys thank you
[Applause] [Music]