Zero-knowledge proofs (ZKPs) are cryptographic protocols that allow one party to prove the truth of a statement to another without revealing any additional information beyond that statement itself; originally developed in 1985 by Goldwasser, Micali, and Rackoff, ZKPs have become essential for blockchain scalability and privacy through technologies like ZK-SNARKs, ZK-STARKs, and bulletproofs, enabling applications such as confidential transactions, private smart contracts, and identity verification while maintaining system integrity.
Zero-Knowledge Proofs in Blockchain: Privacy and Scalability Explained
Added:zero knowledge proofs they essentially just allow you to prove a statement so something like I am over 18 without giving away any other information so without giving away what your actual age is it really wasn't until Bitcoin that some of these cryptographic tools have now been completely accelerated into the mainstream Consciousness and something like 99% of the money that's been thrown at this technology has actually happened in the last decade think zkps allowing supply chain participants trying to work together which obviously a perfect example of how Bitcoin and blockchain should be used to prove you know authenticity origin and the journey of products without revealing sensitive business [Music] information welcome to another episode of the entangling web 3 podcast now two topics that crop up time and time again on this show and web 3 at large are privacy and scalability so one technology that actually tackles both of these issues at the same time is zero knowledge proofs or zero knowledge proof systems zkps if you've heard of it referred to as that before so we did touch briefly on how zero knowledge proofs are being used to improve blockchain scalability in our recent episode about layer 2 systems but today we're going to go one step further and do kind of full Deep dive on how zkps work and how they actually do apply to web 3 so so to tackle this question of course I'm I'm joined as ever by my co-host Alec are you excited for this one Alec yeah like you say this is very fundamental I think um we've talked about it a lot when we talk about some of the issues with web through at large like you said there when we had our polygon episode with Colin Butler he touched on this stuff as a real kind of method for actually getting around a lot of the issues that we see with kind of mainstream cryptocurrency adoption and you know other utility use cases as well so I'm quite excited to go through this we've kind of hinted at it and kind of talked of it at the very high level stuff and basically black booxed it so now it's on us to try and actually open that black box and try and explain what's going on on the inside which should be interesting yeah exactly it is as you said it's such a core piece of infrastructure to web 3 now and it's not just a web 3 topic it's been around for a lot longer as we'll go into but at a very high level just taking this as a glance because it is very technical we don't want to get too bogged down in the weeds but Zer knowledge proofs they essentially just allow you to prove a statement so something like the statement I am over 18 they allow you to prove a statement like that is true without giving away any other information other than the fact that it is true right so without giving away what your actual age is and that's where this term zero knowledge comes from it leaks zero knowledge about the statement other than the fact that it's true or false so that's kind of at a high level what they are now there's a lot of deep technical detail that goes into that but it's interesting to us because it is used for scaling for privacy preserving ID in web 3 so yeah it's definitely one we should go through in detail I think yeah we touched on this quite a lot in the digital identity the two episodes we did on that as like a kind of a core component benefit of actually taking identities into the digital space so it's I think that's the example that most people use is that I am over 18 without actually giving you my you know my date of birth I think another really core one that's kind of semi- obvious in a way is ecdsa signature schemes how we actually send Bitcoin and unlock and lock Bitcoins to people's addresses and that's a completely fundamental to the entire Bitcoin ecosystem but that's one that's maybe less obvious in a lot yeah and it goes back to that idea of like privacy preserving computation is generally pops up as a theme anywhere where you want to preserve privacy in any blockchain system there's lots of actual blockchains now that have popped up purely based on zero knowledge Tech because you want to do things like confidential transactions or private smart contracts and things like that which we'll get into a bit later yeah so should we jump into where this all originated I mean I wasn't born neither were you jack we're both two youngsters in the space but think was back in 1985 by someone called gold waser mall and rakoff I just butchered those pronunciations or yeah it's close enough goldwaser I think M and rackoff and M is a really interesting one because he is actually the brains behind algorand if you've heard of that blockchain it's kind of around the top 50 I think it was actually significantly higher before one of my first introductions to the space was looking at algorand and what that does so yeah these are some really heavyweight people in cryptography these guys have come up with some of the most fundamental protocols that we've used one of them being zero knowledge system so in 1985 their paper really introduced this concept as a thing that we now use today and I think it kind of makes a lot of sense like at a high level you have a secret and typically to prove knowledge of that secret you have to show someone the secret and as soon as you share the secret it's no longer a secret right so I think really fundamentally this paper back in 1985 kind of talked to a method of allowing a party in this case we call them the Prov to prove something to another party the verifier that actually shows they know the secret without revealing the secret itself and obviously that's us describing it without going into the deep mathematics that was in that paper but that's kind of fundamentally what it was about and what zero knowledge proof is about at a high level yeah whenever we talk about it those are the two key parties you always have to bear in mindover and a verifier so someone's always trying to prove that statement like me going to a bar or something trying to prove you are over 18 the verifier being the B man who wants to check you are over 18 so I can sell you alcohol for something like that so you always have those two parties and then zero knowledge proofs are this very new way to allow you to prove that statement right as you said you don't want to give away all that information you don't want to have to show your passport because that shows your home address or your place of birth and things like that which aren't necessary to revealing what your actual age is yeah and in that original paper they I think some of the things that they talk quite generally about the me what we just mentioned there proving identity without disclosing sensitive information another thing they talk which is really interesting is the idea around secure voting systems so obviously there's a whole kind of area around your approvability of voting I mean in the UK we have like ballots and paper based voting which is you know mindboggling in the digital age to do that and I was like okay why don't we just move that into the digital age it seems quite obvious to just do online voting and someone came back to me and said well as soon as I do that there's a provability thing there where if you have some digital receipt for your voting for example it could be very easy to Blackmail soone say Okay prove that you didn't vote for this party you did vote for this party or else I'm gonna take your car or something like that so it's actually really interesting it's not as simple in you know the Modern Age so just take paper based voting systems into the digital age without having all of these issues around privacy preservation but also proof of authentic voting that's another use case they talked about in that original paper yeah voting is always one of the hardest use cases to get right and I've heard a lot of people saying you know digital voting there's always going to be issues with it but zkps are seen as one of the most robust ways to acheve a it now whether or not there may be other problems associated with it but again just taking a step back so in 1985 we have this idea of how can I reveal that some secret I I have a secret I possess a secret I know some secret value I have a statement I can prove as true without telling you anything else about that that's taking us back 30 odd years now these Technologies developed I would say quite slowly through the '90s 2000s it really wasn't until Bitcoin and the rise of blockchain as we so often say that some of these cryptographic tools have now been completely accelerated into the mainstream Consciousness and so much money I'd say must be something like 99% of the money that's been thrown at this technology at the cryptography the research to develop them make them more efficient more practical so much of that has actually happened in the last decade maybe even the last five or six years so that's really the web 3 movement has been the spearhead for why zkps are now becoming much more practical much more feasible to use for everyday applications yeah like you say that's the the most obvious one that I'm aware of and what most people will be aware of I think it without going too much into the details of like private public key Pairs and how I can effectively say you know I am the private key owner of this public Key address and then sign transactions based on that that's the most fundamental and popular method of of zkp I think it that's kind of somewhat easy to understand because well easier to understand because it's all mathematical I think I struggle myself when you abstract it to when you have like actual content details like real world practical examples like how do you prove I am over 18 related to my date of birth I mean that again is kind of a numerical one right that's easy to understand okay if they have a threshold where the date today minus the date of birth is over 18 then fairly easy to work that out mathematically without revealing anything potentially I think it gets more complicated when it's like prove that they're allowed to drive this car for example or prove that they have this insurance I think that's where in my mind like how do you actually extrapolate something like that back to the mathematics that underpins it yeah and the mathematics that underpins it is very complicated it's very hard to understand and pass and for those simpler use cases like the identity verification or proof of age those are some of the simpler examples I would say and now we're web three this technology and the underlying proof system with zero knowledge that's now being applied to much much more complex statements really it's apply to things like prove that the last 10,000 ethereum transactions have been executed correctly because that's how zero knowledge proofs are being applied to scaling Solutions right for things like ethereum it's it's pretty much the most popular Angle now for scaling Solutions and and those are much more complex systems which we'll get into but we heard from Colin Butler as well a billion dollars been invested in zero knowledge projects by polygon right that's just one example of how much investment and capital has flown into researching these so it makes sense that they're being used but loads of that is being driven by the demand for the scalability for blockchain yeah and like you say the two motivations for this at a high level are the privacy and the scalability like the Privacy stuff is kind of easy to explain because I have a secret and I'm not revealing that secret but I'm proving to verifying party that I know that secret without revealing it so that kind of makes sense and the scalability aspect you can talk about that from different angles in the Bitcoin example well the point is you can generate this fairly low computational signature that is very difficult to fraud very easy to verify so I imagine that's one of the reasons why it makes it's Bitcoin is so scalable it enables the utxo model to you know independently create signatures and verify signatures where different parties can't double spend something like that for example you don't need a central custodian managing everything in in that example yeah and you know at a high level you can clearly see how digital signatures are effectively a form of zero knowledge proof that's not the form that we tend to talk about in blockchain at the minute but it gives you a simple example so to kind of move this on and make it a bit more tangible shall we go through another example that doesn't involve blockchain doesn't involve web 3 to actually explain what these Z knowledge proofs are and how they work at a high level go on Jack I know you want to give your a colored ball example so let's do it yeah we see if I can do this but so this is It's called the color blind friend puzzle and this is one of the most popular ways to explain it so this is by no means coming from me I haven't come up with this this is a typical 101 for hazard proofs work essentially think that you've got two friends say me and Alec and one of us is color blind so in this scenario I'll be the prover and Alec will be the verifier so Alec is my color blind friend for this example the verifier so let's say I've got two balls one of them is colored red one of them is colored green so I've got two balls you should get those checked out I've got one red ball one green ball and my statement that I want to prove is that these two balls are different colors because you Alec you can't tell that cuz you're color blind right so to you the balls look exactly the same to me they're different color so how do I prove the statement to you that these are actually different colors in practice what I can do is I can ask you to hold them and put them behind your back so I'll give you to the two balls you put them behind your back and then you can decide to switch them so again you're the verifier you're going to switch or not switch those balls you're going to show them back to me and then I'm going to tell you if you've switched them or not okay so because I can see the color difference I should be able to correctly identify if you switch them or not and you'll know if you switch them or not because you've done the physical movement of switching them okay that's a very simple kind of challenge response I you challenge me to identify if it's changed and then I respond to tell you it has or hasn't now I could get this right with probability a half okay so how do we make sure you're convinced by this statement is then you would repeat that many many times so switching or not switching and then I'll be able to guess right every single time and the probability of me doing that just by random chance is vanishingly small if you do many many of these challenge response back and forth so at high level that's how it works and you can be convinced even though you're color blind that these are actually different color balls yeah I think that's a fairly good example of how this stuff works like when I first heard this explanation it I didn't actually comprehend that the verifier who is color blind actually is keeping tabs on the balls as well right so like they have one in each hand at the start they can't see there's any difference between them and as putting them behind my back I am tracking where I'm going left hand right and left hand right and so I can keep tabs and always reference you saying red or green to my original starting point to know if it's always the same but yeah it's I think that's quite an interesting example it brushes over a lot of the more tricky stuff but yeah it kind of does make sense yeah I like it as an example because it tells you about the Three core properties that every zero knowledge Pro should have right so the first of those is what we call completeness so basically means if my statement is true I.E that the balls are different colors then as an honest verifier you should be convinced by an honest Prov right so if we're both acting honestly and the statement's true you should know which is true right so if the balls are actually different colors then I should be able to identify you've switched it every single time so that satisfies the property of completeness for this example so I guess on the other side then what you were saying before is you've got this property of soundness right so if the statement is false then it's really difficult for the approver to convince the honest verifier that it is true except with like quite a small probability you were saying there that if you're guessing each time for example in the ball example you've got a 50% chance of guessing it right each time but if you do it a thousand times it's very unlikely that we just guessing that you'd be able to get it right every single time right yeah it's like 0.5 time 0.5 time 0.5 10,000 times over however many times you do it so that that probability becomes so small that there's no way that I could convince you that if if the statement is false basically and then you also have the third property which is the one at the name zero knowledge so if the statement is true then you as the verifier shouldn't learn anything else about the balls or about the system about the the problem we're talking about other than the fact that the statement is true or the fact that the the balls have been changed right so it doesn't tell you whether the ball in your left hand is red or the ball in the right hand is red right it doesn't tell you which of the balls are in each of the hands all you know is that they are different colors which is exactly this property of zero knowledge it doesn't leak anything else about the system to you yeah I feel sorry for this color blind friend who's holding your paws but um so yeah I guess this example that you talk about there's a lot of interactivity between you know the verifier and approver which when we think about handing over ID or a University degree or something like that you want instant verification you want something that's quick and easy one step process right so I think one the example that you just gave is very interactive and when you know we're talking about verifying credential in the example of I'm over 18 I hand over my driver's license to prove that or I want to verify a credential like my University degree what we want is instant verification we don't really want that back and forth that you were talking about where I have to do multiple rounds and multiple iterations of me proving that this Ball's red and this Ball's green so then we come to this final characteristic which is interactivity so these zero knowledge proofs can either be interactive or non-interactive so the example that Jack gave there with the colorblind friend and the balls is an interactive zkp where the approver and the verifier are basically engaging in this back and forth this communication online that might not be particularly useful I said it's quite tedious there's a lot of effort involved in that so A more popular kind of method that I guess is emerging is quite useful for web 3 is the idea of a non interactive zkp where the proof can be generated and verified really without direct interaction between the prover and the verifier I guess an example of this would be the ecdsa signatures and transactions in Bitcoin right yeah exactly that's why they're much more powerful you can do them offline you can do them asynchronously so we don't have to be together and online in the same room or something to do this you can do it at different times especially when you're trying to do something like for scaling solution where you want the network to verify something about what's just happened offchain so that's exactly this kind of asynchronous communication asynchronous proving system that you want right so yeah non interactive zero knowledge proofs they're very much the the big flavor of Zer knowledge proofs that are being worked on fervently in the web 3 world at the minute okay and I guess there must be like a typical standard of how zkps work even know there are many different flavors and techniques do you want to just talk us through that yes again we are going to be generalizing here as you said because there are so many different versions but in general you have a kind of five stage process these stages are I'll just kind of summarize them so you have a setup phase so that's when the approver and the verifier they agree on what the kind of problem statement is what the parameters are so so you know that's the establishing the two uh balls the red and green ball in our previous example then the second phase is what we call a commitment so the prover then has to commit to certain kind of choices or values this kind of secret value without revealing them and that involves a kind of sometimes can evolve committing to multiple things depending on the system you're using but you basically have this commitment around the statement you're trying to prove then you get into this third and fourth step which is that challenge response so in the interactive proof scenario this is where the verifier is going to send that challenge to the prover so you're going to ask me to identify whether you've switched the balls right you as the verifier so that's the challenge then step four being the response I as the approver then calculate or or just give you my response to that challenge based on my knowledge of this secret uh information right so my knowledge that the the balls are actually different colors uh and then finally you have a verification step so this is where you as the verifier then verifies my response is correct so you have to verify did I switch the balls behind my back and in some cases you'll end up repeating that many many times in the simplest case but there are again much more complex ways of achieving this mathematically now okay that makes sense so now you kind of talked about the general setup and how you know zkps are typically done across the board should we go to some popular examples and popular I guess styles of zkp I think one of the ones that I've been hearing a lot in the space recently is This snarks this term snar which is maybe everywhere which it stands for for succinct non-interactive argument of knowledge so it's quite nice they got that down to something a bit more catchy than that I think you know just to go through some of the high levels of this snarks effectively enable a verifier to quickly check the proof without actually executing the procedure itself so some of the high level characteristics of it is it uses cryptography it relies on you know elliptic curve cryptography which is similar to what we're using Bitcoin transactions is an ecdsa setup it has to have a trusted setup phase where initial parameters are generated similar to what we were describing in the balls example with the colban friend and that phase is critical because if the setup is compromised then the security of the entire system could be a risk um is there anything else on these that you want to mention no I think that's probably one of the crucial aspects is this trusted setup phase and that's one of the issues some people might have with snark systems there's a lot of work actually being done to distribute that initial setup phase there things called distributed key generation where you don't just have a single point of failure for that trust point there you distribute that amongst maybe a network of different people but it is still a feature um of that system but again it does have the benefits as you said of the proof size is quite small and you can verify it very fast the other major kind of flavor of zero knowledge proofs that we're seeing a lot in web 3 are similarly I mean people in cryptography and web 3 do they just love their acronyms and and their naming convention so the other one is called a stark as in Tony Stark not named after him I don't think it stands for scalable transparent arguments of knowledge right so the the emphasis being more on the transparency here so they're similar to snarks but they don't actually require this trusted setup phase which is a huge benefit right so they are more secure against certain attacks on the system that might be related to that single point of failure yeah and I saw that instead of using um elliptic curve cryptography like snarks do they tend to use hash functions right which apparently might make them more resistant to Quantum attacks which I don't really understand I guess hash what functions are advancing more quickly you can actually scale up the hash functions more quickly than elliptic curves is that the reasoning there well yeah I think this is for another episode on Quantum security but basically the attacks that would be possible with a quantum computer there are many attacks that might apply to elliptic curve systems that don't apply to Hash functions basically as an artifact of how those two systems work right so there aren't algorithms that quantum computer could do that would efficiently attack hash functions in the same way they would attack ecdsa so with that is a good benefit actually of the star systems yeah I guess one of the drawbacks of starks versus snarks is they actually have larger proof sizes and longer verification times compared to snarks which can obviously be a drawback but yeah you said one of the benefits there is the absence of that trusted setup phase increases the transparency and security which makes them you know more appealing for a lot of applications where trust is actually a critical concern yeah and what I think you're seeing here is ju just like we said with the blockchain scalability problem right the the blockchain scalability trilemma where you have three different competing properties and if you have two you probably don't have the third you have this similar thing with zero knowledge systems where it might be uh efficient to prove but inefficient to verify or it might have large proof sizes but be efficient to verify and likewise so with one system you get two of the three properties normally with another you get a different two of three on that note you have a third flavor which I think is worth mentioning is they're called bullet proofs so this is again a non-interactive zero knowledge proof so you can do things asynchronously and why partly why they're so popular they also don't require a trusted setup so that's really good and they're actually really much more efficient than snarks and Starks but again there's always a drawback they do require a lot more computational effort to actually verify the proof so they're more scalable in some ways but less scalable and others okay and so just to summarize those three flavors that we've been through you have ZK snars which of have the smaller proof sizes and fast verifications times but require this trusted setup phase which can pose potential security risks you've got ZK Starks which eliminate the need for this initial trusted setup phase and are quantum resistant which we'll talk about maybe in a later episode but they have larger proofs and longer verification times and then the final FL flavor is bullet proofs which provide a balance of not needing The Trusted setup relatively small proof sizes not as small as zedk Starks but a well SU suited for applications you know that in need both privacy and transparency lovely summary and it's worth just noting before we move on but all three of those flavors are much much more complex than we were talking about with the the colored balls example there's so much mathematics that goes behind that that is very hard to understand but the basic principles of Zer knowledge proofs still apply and they will have those properties that we mentioned at the start I think that covers what they are in zero Doge proofs and roughly how they work at a high level should we talk a bit more about the applications of them and like specifically in web 3 what are they actually being used for yeah I think that makes sense we kind of we've talked about these two big motivators which are privacy and scalability might be worth just like diving into them and actually talking about specific examples of how that works like if we start off with privacy I gave the example of confidential voting it allows a user to vote potentially without revealing their choice but you're ensuring privacy of the voter but also quite importantly that the vote is legitimate and that's quite a difficult balance that we kind of talked about is actually really tricky to implement in the digital space yeah exactly and this idea of confidential transactions is it's been around for quite a long time with things like Monero and and doing almost encrypted transfers zcash is another example so that's a cryptocurrency that uses zkps to actually enable this private transacting and you have it in all sorts of smart contract systems now where you're trying to not have all that computation on chain not trying to give away all the information about your transactions and and pushing that to Layer Two networks like you know also like lightning there's a lot of zero knowledge work going on there to kind of uh provide also different functionality to bitcoin like being able to do smart contracts that verify using these zero knowledge proofs that you can't necessarily do with the base scripting level language it's really interesting with the lightning Network like when you go on their website and all the pages and people talking about it I thought that it was primarily just for scalability you know bundle and have all these transactions being like hand offchain and then being submitted onchain to get around High transaction fees and the speeds and all this kind of stuff but actually one of their main reasons for existing is actually the Privacy thing they say that you know we actually think that it's you know bad for a lot of applications to have one wallet that's linked to so many transactions and being able to track everything and have everything actually being linked to one another and having this transparency so yeah it's actually a big tenant of why they exist is the fact they want to actually increase privacy and have a bit more abstraction which is quite interesting one of the final I think things that fit into this is the idea of selected disclosure which we talked about in detail across the podcast but particularly in the digital identity episode the idea of like we always say proving that you're over a certain age without needing to give all the information like here's my date of birth for example I think that's something that makes sense to a lot of people they can understand the applications of that but it's actually quite tricky to understand how the mathematics relates to that maybe yeah and I think where zero knowledge proofs fit in here right is that they take the idea of selective disclosure that we've talked about before so not showing your part passport to prove your age because you don't want to show your home address it takes it one step further and it won't even show your age now it will just prove a statement about your age so it's almost like the most granular version of selected disclosure where you give away the least information right by definition zero knowledge you leak zero knowledge about your identity other than this very specific statement that you're trying to prove so that kind of deals with the Privacy element the other element we've talked about also is scalability and as we said in the layer two episode zero knowledge proof being used extensively in things called zero knowledge rollups right so these are the layer two scaling solution that is used to kind of aggregate multiple transactions and batch multiple transactions up into one single main chain transaction so many offchain transactions that are rolled up into a single onchain transaction to minimize how much you pay in fees how much Network congestion there is and zero knowledge proofs are as as you'd expect the kind of foundational cryptographic tool that's being used in these ZK rollups so they're actually allowing you to prove the statement that all these transactions have been executed using for example the ethereum virtual machine uh and all these transactions in the batch work and are valid and follow the protocol rules right and that's been one of the really key developments in the last few years is creating zero knowledge systems that are evm compatible which been a really big challenge where they've kind of just starting to crack that now and you've got some notable examples like ZK sync that's one of these Layer Two scaling Solutions there's been about $500 million dollars of ethereum locked into that scaling solution and that's the most popular layer to that uses zero knowledge proof right yeah like it's an interesting area again it's kind of so black box I don't really understand how it works but it's interesting that people think it does work and there's a lot of money going into that space and like we keep saying the main change right now there kind of the cost of actually transacting day-to-day for normal retail investors and the time it takes to actually get these transactions through is just ridiculous so if we're not going to change the actual protocols that determining how these main chains are working then we need to have Layer Two scaling Solutions side chains whatever it is and a lot of them like you say are underpinned with zedk tech right now so I think we kind of talked about those two umbrella characteristics maybe we should go through some specific examples that I think will make this feel a bit more material identity verification is obviously one we don't need to keep talking about proving you're over 18 plus but this applies to a lot of other areas as well you can imagine like basic kyc if you're gambling for example you need to prove that you're allowed to go to this gambling agent you need to prove their Access Control in with enhancing privacy and security and I think gambling is quite a good example because it's a bit of a maybe a non-desirable area that people want to do but don't necessarily want to have anything linked back to them for blackmail purposes whatever but I think kyc quite generally is going to benefit hugely from this space yeah definitely and you've had some quite notable examples of again to mention polygon polygon ID system is something that's come out in the last couple of years that uses an open source Ser knowledge protocol called the Iden 3 protocol and this is just becoming much more popular because of that application of selective disclosure it makes a perfect sense as the technology you should use for identity systems and we're seeing that more and more and it gives you that kind of more granular Access Control to which data you're going to share and it also helps you to kind of Safeguard against the anti-il systems so what's an anti cble system so yeah anti-il is interesting it's part of a lot of the cryptography that went into Bitcoin and things but a cble is basically where you can have many different identities controlled by a single entity that's like a civil attack I forget where the actual name for Cil came along from but essentially what you can use zero knowledge for is then to prove uniqueness of an identity right so prove that you are a unique kind of human entity but without again revealing that identifying information which is really important if you're participating in like a governance protocol or decentralized autonomous Organization for example you might want to participate in that which is often a global thing you know participating with people across the world that you don't know you don't necessarily want to give any identifiable information away other than this almost like a proof of of liveness right proof that you are a real human person so yeah it's a really good application of zkps I think so another big one is supply chain transparency we've talked about this is one of the key applications of blockchain I think one of the best examples we've given about the amount that Walmart saved in authenticating Goods taking like good origin kind of authentication from seven days down to 3 minutes and like reducing disputes on those goods by like 95% or something like this so the idea of zkps allowing supply chain participants quite importantly there are different independent actors all client to work together which is obviously a perfect example of how Bitcoin and blockchain should be used to prove you know authenticity origin and the journey of products without revealing sensitive business information this is quite an important thing when we think about Supply chains like a lot of reluctance to supply chains or companies actually putting their supply chains on public blockchain means is the idea of them revealing sensitive information to competitors potentially even if I'm not as Walmart not saying you know this good is on this part of the supply chain at this time and it costs this much there's actually a way for people to aggregate a lot of the data say okay well Walmart's doing Peak amount of transactions at this time this is when they get the most customers through potentially so the idea of using zkp to get around this to preserve privacy to potentially abstract things offchain so that people can't relate that to Walmart is quite a powerful thing for the supply chain traceability aspect that's obviously I think also one of the main reasons why lots of these kind of supply chain entities have in the past been just using private implementations of the blockchain right because they they haven't really had that especially like 2016 2017 when hyperledger was taking off a lot of the zero knowledge Tech wasn't really there to support this so they kind of had very little choice but to go and use private blockchains but now that the zero knowledge proof technology has advanced so much now it's a great solution for achieving exactly what you said said this kind of hybrid model between using a public blockchain but maintaining the Privacy over the data and for all the stakeholders in that supply chain which is really important another one that I think is interesting is on gaming and also for like nfts and gaming but I think when I think of gaming there's obviously different flavors but I think when you talk about gambling based games in particular is one that I'm interested in I think for the technology because you have all you have a a natural kind of information asymmetry in games right in gambling games because you don't want to give away information to your competitors your opponents in that game right if you're playing a game of poker for example so again there's a clear application here of zero knowledge where you can prove that maybe you had the winning hand in a game of poker without revealing what that hand was that kind of satisfies the conditions you need for an in-person Game of Poker typically and this has always been a really big challenge to solve is how do you do distributed online poker in a robust way so I think that's a really good application also for kind of provably fair random number generation getting Randomness is actually really hard if you're not just going to flick a coin 100 times especially in a distributed environment again where you can't necessarily trust everyone else who you're playing with then uh using zero knowledge proofs is a really interesting way to start injecting Randomness in a way that you can then prove later is fair and hasn't been gained by someone else in the system for example yeah and I think a really good one related to this stuff is the idea of um rates of success right and this applies to gamings in loot boxes where say you've got one in 10 chance or one in 1,000 chance of winning this amount of money or you know General gambling as well where you go to the lottery and says this is the chance of winning how do you prove that without actually referencing all the individuals data the bort say access or ticket or a lottery ticket to these events and zkp is another great way of doing it you don't actually reveal any information about the individuals participating in it but you can prove that the data is authentic in a way and then actually prove that someone won and Link that back to the rates I think this is quite an important one that's coming into the space we can also talk about privacy for nfts we've talked about your non-fungible tokens really being important for proving ownership and transaction history related to games it could be how good you are at a certain game how many times you've played it's also important to understand that you don't necessarily want to prove all the information about that and have every single game you've ever played and win on chain you just want to prove that it is authentic in a certain way so yeah there's lots of applications to this stuff it's quite exciting but I think it's much more than just proving you're over 18 in the bar like Jack always does yeah I think that's again we're throwing a lot at this today right because it's a hard enough technology to understand but I think what we've just shown is that there are major use cases for it and new use cases are coming out every day now there are some kind of implications and concerns you want to think about I think we should just highlight a few of those kind of before we finish the episode so for starters we've highlighted the benefit of privacy but that also always needs to be weighed against anonymity and the risks you have in Anonymous systems right so as soon as you have a high degree of privacy that may stray into an anonymous system then you have risk of abusive systems and where we talked about reducing civil attacks in some situations there may be other places where zero knowledge proofs and adding that level of complete privacy may increase the risk of civil attacks if you can't identify uh certain information about people so again it's a case-by casee basis thing in my opinion like zero knowledge proofs are a tool and they're not going to be the kind of golden bullet tool to use all the time for every application you need to look at what the actual specific needs are again there are so many different flavors which zero knowledge proof system you use will very be very much kind of use case application dependent right sometimes more information might be needed for transparency say it's a kyc process for example yeah I think a good phrase that I like here is the idea of secrecy versus privacy right blockchains are in despite what Jamie dimon says and everyone in the US Senate says blockchain and Bitcoin is meant to be the most transparent system that's ever existed but that and quite importantly there's privacy there there's not secrecy if I send Jack one Bitcoin because we've made it Jack knows about it I know about it in the same way that if I buy something from Amazon Amazon knows about it and I know about it the whole world doesn't need to know about that transaction and who we are necessarily that's privacy but when we start to get into this realm of zkp potentially and abstracting everything away it kind of borers on the is it secret now are we trying to remove any association does it become more ambiguous like do we need a bit more transparency there so I think it's a bit of a blurred area I'm not saying necessarily the these systems are intended to be fully secret but it's just something that we should be aware of um and I think related to this stuff there's also the whole trust Paradigm that you've touched on there like we are trying to we're very much in the space and we're trying to explain how these systems work and even we're saying you know a lot of this stuff is Black Box well if it's a black box imagine trying to discuss this stuff in a legislative environment that's going to be really tricky how do you prove to people actually this data is cryptographically backed and is authentic it just opens of a whole world of difficulty in legal terms yeah and on that topic of trust right we said some of these systems have trusted setup some of them don't so when you throw that into the mix as well of essentially there's a degree of trust in the people implementing these protocols it's similar with blockchains themselves right for most people it's so Technical and hard to pass as an individual that you are putting trust that someone else will be verifying that these things are true uh that these things are robust for example we have the same thing in encryption standards right so the encryption protocols we use today like AES that is encrypting our web traffic in the browser right now that stuff was all part of a a competition in America right with the National Institute of Standards and we H they we kind of trusting that they have that they've done all the necessary the necessary rigor to to prove that these things are are secure because we are as individuals aren't doing it and I think a similar thing applies with zero knowledge you have to kind of assume a little bit that other people are actually attacking the systems to try and break them we mentioned that term Crypt analysis before right so that it's a profession people should try and break these crypto systems because we need to know if they are secure and because it's an early stage technology as well maybe there are weaknesses that we don't know about yet there actually have been a few weaknesses in zero knowledge systems exposed in the last couple of years and we've moved on from them but it's worth remembering that we're always putting a little bit of trust while they're early Technologies yeah and on that point that you raised there about trust and kind of relying on someone or something like I say a lot of these setups you do have a trusted party in the interactive setups for example and I guess a lot of Bitcoin Maxes will be thinking you know this Bitcoin is all about decentralization removing unnecessary intermediaries but I think you that's never going to be the case with absolutely everything when we talk about you know digital identity for example proving that you are real authenticating data you're always going to need some trust provider I can't say that I have a British passport I need the British government to say this passport is valid and it relates to Alec so I think yeah I don't really dive or agree with that statement too much I think we're always going to need some kind of trusted intermediary for certain use cases and obviously one of the biggest challenges is the technical barriers like we've said that these are incredibly technically complex things and they are becoming more scalable cheaper to deploy more computationally feasible to deploy but still right now they are very computationally intense but hopefully that'll be become less so in the future and make the systems more usable for everyday applications yeah and if there's been one single trend from the last few years is that these technical barriers to adoption and scaling have been kind of slowly removed every year so all that investment that's going into the space is improving the efficiency of the protocols is making proofs more compact there people working on reducing the size of these proofs by bytes all the time and and that can make a big difference especially when you're thinking of millions of transactions a day or billions of transactions a day in the future in in web 3 so I think yeah I mean talking of the future I think that's going to be one of the big things we see is that continued march to adoption then you have maybe what what else do you see in the future right because I think we also T touched on the quantum resistance piece and the fact that people see Zero knowledge proofs and especially Starks implementation as quite a promising solution for how we can maintain privacy in the postquantum cryptography World um what else do you see being important in the kind of future of the zero knowledge landscape the quantum resistance question is really interesting like this is something that a lot of people are saying Is it feasible is it not feasible if it is feasible and it gets deployed in the world it's going to screw up so much of our security systems right across the board like it will completely undermine Bitcoin so that's a really interesting question we'll almost certainly do an entire episode about what Quantum resistance is and why it's relevant what Quantum Computing is and all that kind of stuff um I think that's an important point I think another important important Point apart from that and mainstream adoption is Regulatory Compliance we love talking about regulation on this show we talk about gdpr and all the issues that are arising with companies around the world trying to comply with gdpr but in a world where we can use zkp dat people don't necessarily companies don't need to handle the raw data that relates to an individual so it could help significantly with the gdpr and data maintenance burden I think that's going to be a huge Boon for this industry as well yeah it's it kind of goes back to that concept of like pushing data back out to the edges of the network so you don't have to store everything with the large companies it reduces your risk as an individual it reduces the risk of the big company for a data breach right so I think there's a huge impetus for this technology to be adopted and to continue to be adopted and on that point a kind of a final one for me would be the general theme of decentralization you know love it or Lo it I think zero knowledge proofs Dove tail into that quite nicely because of that again that point of pushing things out to the edge having distributed identity systems where you can self-manage and again not everyone will want to use it I don't think in the future but it will at least give us the option to take more control take more custody over our data and information if we want to and if we want to have these kind of higher level of security and privacy in our transactions where appropriate then I think that will be a big a big motivation for people to start using this and there'll be many more use cases that we definitely haven't thought of or covered today going forward but yeah I think it's an exciting space uh and the one that is just impossible to keep track of is gr so far so let's see where we are in a year's time on it and on that bombshell no um to summarize we've covered zero knowledge proofs and Technology how they work at a very high level we talked about the main reasons that this kind of area is being pushed that is privacy preservation and scalability for blockchain Technologies we talk went into a lot of detail on the applications how this can be used in you know day-to-day life and some of the big challenges that still exist and will continue to exist in the future and on that we also talked about the future implications and what it could mean but yeah it's quite a comprehensive summary I hope at at a fairly high level on zero knowledge Tech and thank you for listening wherever you may be and join us next time as we untangle a little more of web 3 [Music] [Music] thanks for tuning in to another episode of untangling web 3 produced by Emma caleri don't forget to send us your thoughts questions and comments on social media and be sure to follow us on your favorite podcast provider to catch the next episode see you next time to untangle a little bit more of web 3 the views we express here are our own and do not reflect the views of our employers
Up Next

Modern Cryptography: Hype vs Hope | LISA16
@UsenixOrg
399 views•2017-04-21

Torrent File Format & Bencoding: A Technical Deep Dive
@AsliEngineering
12.5K views•2022-08-08

Operational Security Essentials: A Guide for Hacktivists (OPSEC)
@hitbsecconf
157.4K views•2012-11-26

Understanding Ethereum: A Comprehensive Beginner's Overview
@99Bitcoins
3.1M views•2018-06-26
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Blockchain & Crypto





























![반감기는 시작일 뿐입니다! '이것' 때문에 BTC 급등한다! [토크라운지]ㅣ코빗 리서치 센터 최윤영 연구위원 풀버전](https://i.ytimg.com/vi/DU9-HBN8524/maxresdefault.jpg)














