The Magic of Zero-Knowledge Proofs

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 พ.ย. 2024

ความคิดเห็น • 106

  • @mavaction
    @mavaction ปีที่แล้ว +168

    This got so complicated... But I have to trust it. The places where I do understand all seem valid. Trust. I'll be returning to this to actually learn something I hope.

    • @colin-alexarobinson3542
      @colin-alexarobinson3542 ปีที่แล้ว +89

      So this video is like a probabilistic zero-knowledge proof of the existence of zero knowledge proofs! You’ve walked away convinced of their existence, without gaining any direct knowledge about them

    • @kwiky5643
      @kwiky5643 ปีที่แล้ว

      @@colin-alexarobinson3542is it really possible to prove something exists by using this something if we haven’t proved it yet ?

    • @zlodevil426
      @zlodevil426 ปีที่แล้ว +1

      @@colin-alexarobinson3542i feel the same way… i wonder if it was on purpose

    • @yash1152
      @yash1152 ปีที่แล้ว +7

      @colin-alexarobinson3542 i recognise the memer in u, but the "any" part in "without gaining any direct knowledge" doesnt apply here.

  • @jeemin_kim
    @jeemin_kim ปีที่แล้ว +66

    One little mistake I'd like to point out for those who might be confused.
    It is E(Q(s)) \otimes E(s - *z*) = E(P(s) - y) \otimes E(1) at 20:23.
    It becomes evident by comparing the unencrypted version of the equations.

    • @therawmeatball6883
      @therawmeatball6883 ปีที่แล้ว +1

      i got stuck on that mistake being confused for so long...

  • @skeletonboxers7336
    @skeletonboxers7336 ปีที่แล้ว +23

    love the timing of youtube recommending me this, i just finished 'Proofs, Arguments, and Zero-Knowledge' by Justin Thaler published just this past july and its 300 pages of hefty ZKP stuff. i hope i can pivot from computer science software dev stuff into more applied cryptography stuff because this stuff is just so interesting to implement.

    • @academyofuselessideas
      @academyofuselessideas ปีที่แล้ว

      @skeletonboxers7336 A coincidence? or does youtube know that you just finished that book? Spoooky! I also love that i got this video recommended... there are so many cool applications I can think of!

    • @RohitRaj-ot9ws
      @RohitRaj-ot9ws 6 หลายเดือนก่อน

      even i m trying to switch from dev stuff towards more cryptography as its just awesome

  • @marcfruchtman9473
    @marcfruchtman9473 ปีที่แล้ว +3

    The music is very distracting. It is a very interesting concept, and I am sure I would enjoy the video much more if the background music wasn't present, or was barely present.

  • @MathPhysicsEngineering
    @MathPhysicsEngineering 11 หลายเดือนก่อน +1

    Superb quality video!
    Deserves way more views. You have done an amazing job covering in a short video key ideas of a complex subject.
    The amount of work that went into this video is huge, but the result is worth it.

  • @andremeIIo
    @andremeIIo ปีที่แล้ว +9

    The sudoku example only works assuming Victor is not interested to know the solution. Because before he shuffles the piles, they contain the solution. I know it's a toy example but I wish it demonstrated how real privacy could be accomplished.

    • @andytroo
      @andytroo ปีที่แล้ว +2

      Peggy can watch the piles to assure that Victor shuffles before peeking.

    • @jameshulse1642
      @jameshulse1642 ปีที่แล้ว

      or peggy could have shuffled the piles while victor watched

    • @jasonbourne485
      @jasonbourne485 7 หลายเดือนก่อน

      absolutely, victor also could have deployed 3 camera drones watching peggy at all times so he can find out exactly which cards she put where, such a trivial way he could have found out the solution.

  • @yash1152
    @yash1152 ปีที่แล้ว +5

    2 ppl saying bad audio quality for this video ... umh wow to them. only music here was distracting - the voice was loud and clear - maybe not top notch, but not bad.

  • @PragyAgarwal
    @PragyAgarwal ปีที่แล้ว +34

    Great video!
    Please reduce the music volume - it is distracting and makes the voice difficult to understand.

    • @tomerkandel5824
      @tomerkandel5824 ปีที่แล้ว +1

      seconding it was immediately confusing. Great video otherwise

    • @marcfruchtman9473
      @marcfruchtman9473 ปีที่แล้ว

      I would like to echo this concern. When the background music is too loud, it overshadows the voice of the narrator.

  • @Amipotsophspond
    @Amipotsophspond 2 หลายเดือนก่อน

    3:38 I know the example is a simplification but it seems like peggy is trusting victor to shuffle the cards. because if she is the one shuffling the cards and handing them to victor then, victor is trusting that that peggy is not just handing him 1 to 9 cards that don't necessarily come from the row.

  • @warmCabin
    @warmCabin ปีที่แล้ว +36

    For the sudoku proof, how does Victor know that Peggy isn't messing with those triplet piles between making them and placing them? Maybe she could wrap each pile in a rubber band and shuffle that "triplet deck" of 81.

    • @mavaction
      @mavaction ปีที่แล้ว +31

      They make the piles of three together. I had to recheck the same point. 2:43

    • @NStripleseven
      @NStripleseven ปีที่แล้ว +4

      You could say that the two make the piles together, then place each inside sealed envelopes. Peggy then places those envelopes in their correct places, and when Victor sees the envelopes still sealed, he knows that they have not been altered.

    • @person8064
      @person8064 ปีที่แล้ว +2

      @@mavaction But after the piles of three are made, Victor must look away to let Peggy place the cards down. During that time, Peggy has the opportunity to reshuffle the cards to form a false proof

    • @FedeFede-zb6gj
      @FedeFede-zb6gj ปีที่แล้ว

      I think the assumption is that based on the initial conditions (aka the initial numbers and their placement) there is only one solution

    • @mavaction
      @mavaction ปีที่แล้ว +4

      @@person8064 P and V are trying cooperate on two objectives... Proving she knows a solution, and not giving V any actual numbers for unknown cells in the sudoku. P and V can agree to keeping each triplet of cards in tact. V can observe this. They could put a rubber band on each three cards and have Peggy treat them as single cards. She is not trying to do sleight of hand.

  • @explosionspin3422
    @explosionspin3422 ปีที่แล้ว +4

    I am a bit confused by the beginning. What stops Victor from peeking at the face down cards? How are they kept secret in practice?

    • @PopeGoliath
      @PopeGoliath ปีที่แล้ว +22

      This is just a toy example. In real problems, cryptography is used to hide the information. Victor would have to break modern cryptography in order to "peek at the cards".

    • @DrBlueCow
      @DrBlueCow ปีที่แล้ว +12

      Well he wants to play the sudoku as well so why would he want to cheat?

  • @adlsfreund
    @adlsfreund ปีที่แล้ว +7

    More please. I would like a longer video or a series that spends a bit more time on each aspect you showed here because it was a bit much.

  • @1ballad
    @1ballad ปีที่แล้ว +12

    Could’ve said “Just trust me bro”

  • @skaunov_code
    @skaunov_code 5 หลายเดือนก่อน

    Did I miss that or Peggy didn't prove that each cell contains the same number for each color and this way can craft proofs very widely?

  • @DevonParsons697
    @DevonParsons697 ปีที่แล้ว +5

    Why should Victor be satisfied that the set of questions and answers yielded by the Fiat-Shamir transformation are an appropriate and sufficient set of questions? Actually, I'm confused how the Fiat-Shamir transformation lets Victor discern between valid and invalid proofs. Isn't it essentially "With this commitment, you will get this list of questions and answers" - but how does Victor know that the answers are correct?

  • @tinkeringengr
    @tinkeringengr ปีที่แล้ว +15

    Wonderful explanation! Very talented.

  • @hymanimy
    @hymanimy ปีที่แล้ว +1

    The ZKP Sudoku solution protocol is really cool, but, I'm not yet convinced that it 100% guarantees that Peggy found a correct solution. It seems that there is a very high likelihood that Peggy found a correct solution given that all the shuffled columns, rows and boxes contain each number from 1 to 9, but is there not the possibility that after shuffling, all the rows, columns and boxes seem correct, yet Peggy gave a bogus solution. Maybe I've not thought about it hard enough, but I don't see why there's not a (really) small chance that Peggy can give an incorrect solution yet after Victor shuffles and checks, the 'solution' appears correct.
    EDIT: Sorry I seem to have commented too early, at 7.03 you begin to talk about how there is a low probability of accepting a false positive! Nonetheless, my question still remains, is it possible to construct a non-solution which becomes a solution after some random shuffling?

    • @djridoo
      @djridoo ปีที่แล้ว

      You can be convinced by considering Victor doesn't care about knowing the solution, so the only thing that changes is that he will not mix. Victor can verify now that all rows, columns and boxes are right by judge flipping the tiles directly on the board, and now you're convinced she has a (the) solution.
      By doing the operation in the video, you DON'T change the content in each row, column and box. So if Victor checks directly on the board, then flips back the tiles, divide them by rows, columns and boxes, mix them and check again, each pile will have the SAME content, just not in the same order. Voilà !

    • @jameshulse1642
      @jameshulse1642 ปีที่แล้ว

      in the sudoku proof victor verifies that all the starting digits are in there correct place (as those cards are flipped over) that every row has all the digits from 1 to 9 exactly once(using the first layer of cards), that every column has every digit from one to 9 exactly once(using the second set of cards), and that every 3*3 block has every digit from 1 to 9 exactly once (using the third set of cards. these are all the restrictions that the game of sudoku places on the player.

  • @ingo_ZK
    @ingo_ZK  ปีที่แล้ว +5

    Thank you all for the feedback and support! 🙏
    We're amazed by the number of views and excited to see how many of you are interested in the topic.
    So, what would you like to see in our next video?
    We've got some options lined up:
    1. History of Zero-Knowledge Proofs (ZKP)
    2. Arithmetizations
    3. Elliptic Curves & Pairing Functions
    4. Lookup Arguments Explained
    5. Fully Homomorphic Encryption (FHE)
    Comment below to let us know 💬

    • @authenticallysuperficial9874
      @authenticallysuperficial9874 ปีที่แล้ว +1

      Elliptic Curves and Pairings

    • @authenticallysuperficial9874
      @authenticallysuperficial9874 ปีที่แล้ว

      FHE

    • @Zzznmop
      @Zzznmop ปีที่แล้ว +1

      Serious question - are you learning these for the first time while making a video about them? It seems like a common pitfall that leads to tutorial hell on TH-cam

    • @ingo_ZK
      @ingo_ZK  ปีที่แล้ว +1

      No, we have a team of researchers that are professionals on the topic: github.com/ingonyama-zk/papers

  • @skylark.kraken
    @skylark.kraken ปีที่แล้ว

    But you can quite easily construct a fake proof for the sudoku with what you described if you can put non-matching numbers in the same place. Proving that numbers match would require knowledge either inspecting and watching it be placed, or inspecting certain tiles.
    It is only valid because you can check the other numbers under the known numbers. But that wasn’t made explicit

  • @ramuk1933
    @ramuk1933 ปีที่แล้ว +3

    Okay, you don't want me to know any details of any of your proofs, but want me to know you have proved them. Great, you can prove it with a zero knowledge proof. Now, how do knowledge proofs work, again?

  • @christopherleubner6633
    @christopherleubner6633 ปีที่แล้ว +1

    One use of this is authentication of nuclear emergency action message codes. The codes are verified in a manner very similar to the one shown. Nobody knows exactly the content means but the syntaxes used for a valid code are known. This allows for exclusion of false codes.

  • @Speed001
    @Speed001 ปีที่แล้ว +3

    Counting the cards, just verification, is like those (parody?) bits that tell you if there is even/odd number of 1's in a data set.

    • @DerIntergalaktische
      @DerIntergalaktische ปีที่แล้ว +8

      Parity bits 😂 Though parody would be a fun name :)

  • @francescodero8759
    @francescodero8759 ปีที่แล้ว +1

    in the video it's stated that we can claim pegi knows the solution because she sent to the verifier E(p(s)), E(q(s)), y, z and we can check that the following equation holds:
    E(q(s)) E(s - y) = E(p(s) - y) E(1)
    we can even rewrite it as:
    E(q(s)) (E(s) - E(y)) = (E(p(s)) - E(y)) E(1)
    and given that E(s) is known as the second element of the vector [ E(1) , E(s), E(s²), E(s³), … ] we can actually verify the solution
    it is not explained at all why is that incorrect solutions do not match since this equation was not derived in any way from the correct solution.
    we assume a vector of "right" coefficient exists for the polynomial p(x) to be the exact solution. BUT it's not apparent how our way of checking if pegi knows the solution or not actually take into a count the solution itself.

  • @idegteke
    @idegteke ปีที่แล้ว +1

    Say, you are Peggy, the designer of a system with intelligent Victors inside. Can you prove them that their whole system was created from the outside and is merely a subset of everything without making it obvious to them by causing events inconsistent with the rules you created for the whole system to follow (internal miracle)?

  • @iantimmis651
    @iantimmis651 ปีที่แล้ว +8

    Nice video. I'd recommend upgrading your microphone or doing some post processing on the voice audio. the strange echo/airiness to the audio is pretty unpleasant, but overall great video, keep going

  • @moritzroth4178
    @moritzroth4178 ปีที่แล้ว +1

    How does this translate to the example use cases of proving citizenship of a country, or that I have enough money for a transaction? Do I need a trusted third party like the government or a bank to create this proof for me or can I create it on my own? The amount of money in my bank account isn't exactly a problem and any value might be valid. It would be pretty easy for me to lie if the proof just relied on data that I can make up. I guess a bank could provide me with an encrypted check number tied to my account and current balance which I could then use to create a proof on my own?

    • @yz9551
      @yz9551 ปีที่แล้ว

      You create(utilize) the proof by feeding it into an application that actually does the hard work.

    • @moritzroth4178
      @moritzroth4178 ปีที่แล้ว

      @@yz9551 Of course. If I had to do all this complicated math by hand each time I want to buy something I'd stop buying things 😂. My question is: What is the problem that I provide "proof of knowledge" for? The end goal is not to prove I have solved a problem, but to prove I have enough money. So I suppose I need to wrap the information of how much money I have into a problem that I can't solve unless I have enough money.

    • @ingo_ZK
      @ingo_ZK  ปีที่แล้ว +6

      In the current system, you're correct that a trusted party, such as a government, is typically required to vouch for claims like citizenship or financial status. These trusted entities hold your data securely in a centralized database. When you need to prove something like your identity or that you have enough money for a transaction, you would request the necessary proof from this centralized database.
      Once you have this proof, you can present it to the party requesting the information, such as insurance companies, banks, or voting systems. The requesting party would then verify the proof by cross-referencing it with the centralized database. Importantly, this process allows you to maintain a level of privacy, as no other information is revealed to the requesting party beyond what is needed for the specific verification.
      So, while you do gain some privacy in front of the party asking for the information, the system still relies on having a trusted third party to hold and verify your data.
      Check out some teams that operate in this space:
      - Outdid (www.outdid.io/)
      - Sealance (www.sealance.io/)
      - Trudenty (trudenty.com/)
      - Worldcoin (worldcoin.org/)
      Additionally, it's worth noting that blockchain technology offers an alternative to this traditional centralized model, potentially adding an extra layer of privacy and security by using a decentralized, transparent, and immutable ledger.

  • @grumpyyellowfang3344
    @grumpyyellowfang3344 ปีที่แล้ว +6

    Im shocked that such a small channel is able to give such a good video on this topic. Loved the video

    • @AndreasToth
      @AndreasToth ปีที่แล้ว +1

      I don't see the correlation between channel size and video quality.

    • @grumpyyellowfang3344
      @grumpyyellowfang3344 ปีที่แล้ว +1

      @@AndreasToth Typically small channels are underfunded and don't release good/well researched content. It is also rare to see a small channel releasing high quality content and be small because good quality content also raising subscriber count.

  • @johnchessant3012
    @johnchessant3012 ปีที่แล้ว +3

    great video

  • @kasugaryuichi9767
    @kasugaryuichi9767 ปีที่แล้ว +1

    Thank you for this!

  • @juancristi376
    @juancristi376 ปีที่แล้ว +1

    Great video!

  • @bbok1616
    @bbok1616 ปีที่แล้ว +1

    I don’t understand it but it’s very important

    • @yash1152
      @yash1152 ปีที่แล้ว

      hahahaha

  • @7thAttempt
    @7thAttempt ปีที่แล้ว +2

    I thought your whole explanation was just going to be: trust me it's possible haha

  • @Moe5Tavern
    @Moe5Tavern ปีที่แล้ว

    Man this video is so good but the sound quality of the voice recording.....

  • @siddanthvenkatesh2744
    @siddanthvenkatesh2744 ปีที่แล้ว

    For the sudoku, shuffling randomly is impossible, so doesn't victor always have a way to "undo" the shuffle thus finding out the solution?

    • @Hunterdog
      @Hunterdog ปีที่แล้ว +2

      victor doesn't want to know the solution, so he either doesn't keep track of how he shuffled it to undo it later, or asks a third party to shuffle each set while he closes his eyes to not know their shuffling before checking that set for sudoku rule compliance

    • @siddanthvenkatesh2744
      @siddanthvenkatesh2744 ปีที่แล้ว

      @@Hunterdog Thanks for the reply.

  • @mulllhausen
    @mulllhausen ปีที่แล้ว

    There is a much simpler way of doing this - if you know the sudoku solution then hash it and ask someone else to hash their solution and see if the hashes match.

    • @edgarsarriatenes1884
      @edgarsarriatenes1884 ปีที่แล้ว +3

      That would require for the other person to have the solution, it would not be very useful. And also it is not really zero knowledge, the other party could (with a lot of time) check all the possible entries to the hash ang get the solution that way

    • @jameshulse1642
      @jameshulse1642 ปีที่แล้ว +1

      one of the properties of zero knowledge proofs is that they can be checked by someone who does not have the information you are proving. If the proof you were going for was 'I have enough money in my bank to pay for this' then you could not get someone else to independently verify without giving up your banking details

  • @dontthrow6064
    @dontthrow6064 ปีที่แล้ว +16

    How can we talk about 0 knowledge proofs without mentioning Fermat, trust me bro, i just need lil bit more paper margin.

  • @sangamo38
    @sangamo38 ปีที่แล้ว

    The music is not helping. Please avoid adding music to these videos

  • @wj11jam78
    @wj11jam78 ปีที่แล้ว +1

    I need to prove that I'm innocent, but there might be an evil guesser...

  • @HaMMeRSI
    @HaMMeRSI ปีที่แล้ว

    That escalated quickly lol
    Thanks for the explanation, but how do we build upon this?

    • @ingo_ZK
      @ingo_ZK  ปีที่แล้ว

      There are many implementations and potential use-cases to ZKPs
      To learn more about ZKPs, check out our knowledge repository Ingopedia: www.ingonyama.com/ingopedia

  • @helicalactual
    @helicalactual 11 หลายเดือนก่อน

    wouldn't it be better said, as, obfuscated conditional proofs, rather than zero knowledge, as you are giving some understanding away but not enough to discern the information your trying to obfuscate.

  • @ayte1549
    @ayte1549 ปีที่แล้ว

    really good video! though I lost it when the polynomials kicked in, I'll make sure to come back and rewatch it

  • @davejoseph5615
    @davejoseph5615 ปีที่แล้ว

    His first example fails. Peggy touches the stacks of cards during the setup. No, not allowed. Then Victor touches the cards before they are shuffled. No, not allowed. An infallible and honest intermediary is required for these tasks, however the idea that a computer is an "honest intermediary" cannot be proven since computers are hacked or infected constantly and no software can be proven to be bug-free.

    • @jameshulse1642
      @jameshulse1642 ปีที่แล้ว

      the sets of 3 cards are placed in tamper evident envelopes and have enough security detailing (provided by victor and verified by Peggy to ensure that all cards of a particular number are the same) to make replacement impossible. Peggy lays out the unopened envelopes in the pattern then invites victor back into the room. She opens the envelopes corresponding to the starting numbers and he verifies they are in the right place. she then does the row column 3*3 block thing with victor watching and shuffles the cards (this part requires victor not to see but a small scannable chip on every card would make it easy to detect if Peggy had a card concealed somewhere to substitute in). It is also important to note that the point of the example at the start was to give an example of how the proof is structured and so it does not have to be completely watertight to do its intended function.

  • @wdobni
    @wdobni ปีที่แล้ว

    i'm not convinced ... you can easily argue that a giraffe is really just a horse with a long neck but i'm not convinced ... because zero knowledge can't transmit knowledge

    • @ingo_ZK
      @ingo_ZK  ปีที่แล้ว

      zkintro.com/articles/friendly-introduction-to-zero-knowledge

    • @pauselab5569
      @pauselab5569 ปีที่แล้ว

      0 knowledge proof means that you can sometimes check whether a solution is correct without actually knowing the solution. some properties of it can be enough and to not get the actual solution, it can be encrypted by someone.
      in the sudoku example, V managed to test P's solution without knowing what the solution actually is. he just knew that if and only if what P gave to him was a solution, then there had to be 3 properties(the rules of sudoku). P then suffles the card (which encodes information) but doesn't change whether the properties are satisfied or not. This convinces T that P does indeed know of a solution but that encoding step makes it impossible for him to know what it is exactly.
      so 0 knowledge proofs doesn't transmit the solution itself but it does transmit the fact that a solution has been found. This is obviously extremely useful for a lot of reasons in real life situations.

  • @vaap
    @vaap ปีที่แล้ว +1

    the sudoku analogy was almost really good

  • @CakeIsALie99
    @CakeIsALie99 3 หลายเดือนก่อน

    Its not a proof, its a probabilistic claim

  • @MDNQ-ud1ty
    @MDNQ-ud1ty ปีที่แล้ว +1

    In the example, If Victor has access to the data to split up and shuffle he can just turn over the data and directly check. There is no reason to split and shuffle. So there has to be some intermediate steps to make sure one can carry out this process without victor actually getting the original solution in the first place. This was not mentioned so the example is misleading. It would also seem that Victor could ask enough questions to reserve engineer the solution, at least in the soduku problems.

    • @kitlith
      @kitlith ปีที่แล้ว +9

      The video starts with a simplified example and complicated it as it goes on. The initial premise is that Victor doesn't *want* to be spoiled, but you could also say that Alice is present and preventing Victor from doing so, just like Victor was present when the piles of cards were created.
      With regards to the questions asked, note that they are not arbitrary questions, they are questions of the form "does this row/column/box follow the rules of a valid solution?" -- aka "does this row/column/box contain a set of numbers from 1 to 9". They get no new information if the answer is yes, because a valid solution already has to follow that constraint. If the answer is no, then they know the solution/proof is incorrect, and might be able to glean information on where exactly the solution is incorrect, but that's fine, I guess.

    • @jameshulse1642
      @jameshulse1642 ปีที่แล้ว

      kitlith is right about the initial premise but here are ways to patch the security holes (for example a pre programmed robot with a shuffling function that includes some randomness with both source code and physical structure checked by both parties could do the handling of the cards.

  • @WeirdMedicine
    @WeirdMedicine ปีที่แล้ว +9

    Peggy could just wait until Victor has completed the puzzle; it's called delayed gratification.. I don't like Peggy.

    • @PopeGoliath
      @PopeGoliath ปีที่แล้ว +5

      This is just a toy problem. There are plenty of situations where Victor isn't supposed to know the answer. Like in the example of verifying citizenship without giving up anonymity. Waiting for Victor to solve the problem would be saying, "Yes I'm totally a citizen. Instead of providing proof I'll just sit here and wait while you try to track down who I am via digital surveillance."

    • @WeirdMedicine
      @WeirdMedicine ปีที่แล้ว +2

      ha ha of course@@PopeGoliath , I was just being an a$$

  • @Mempler
    @Mempler ปีที่แล้ว

    sum all numbers together, thats your proof although insecure. *I didnt see the solution yet*