People did try to brute-force the anagrams. On two occasions, Kepler unscrambled analgrams from Galileo into the statements that (i) Mars has two moons and (ii) Jupiter has red spots. Bizaarely, both turned out to be true facts, but not what Galileo's anagrams were about!
Zero-knowledge proofs let others perform that verification before the full answer is revealed (and it might never be).
I think the difference is that the teacher already has the full knowledge and learning isn’t as easy as telling a secret once and then the learner can quickly parse it and keep it forever.
Despite that, I’d also prefer to proof I know a topic by writing an essay at home rather than under pressure within an hour under supervision.
https://www.researchgate.net/publication/221355016_How_to_Ex...
I don't understand how the thief can be sure to never walk into Ali Baba coming down the other path at some time.
What am I missing?
In general though I think the example problem might be worth mentioning in the beginning:
"by the end of this article you will understand how to ..."
https://zeroknowledge.fm/248-2/
Transcript, look for the timestamp with 28:55 to see that discussion:
https://assets.fireside.fm/file/fireside-images/podcasts/tra...
How does the interactivity exactly work with the maze example?
Now imagine the maze has a large number of exits, all hard to find by luck, and the verifier tells you before you go in which exit they want to see you come out of. You don't know in advance which exit they will ask for. After you come out, they ask you for another one, and again you don't know in advance which one. These rounds are the interactivity.
Each time through, you have a soundness error's probability of finding the requested path by luck, i.e. winning the lottery kind of odds. The probability that you found all the exits the verifier asked for, is like winning the lottery multiple times in a row. Because you don't know which the verifier will ask for in advance, you can't take advantage of patterns in those requests to skew the combined probability in your favour. They are like independent random events: The probabilities multiply.
After N rounds, your probability of finding all the requested exits by luck is lottery kind of odds raised to the power of N. Pick a sufficiently large N and you have extreme probabilities like those used in other cryptography, numbers like 2⁻¹⁰⁰ or 2⁻²⁵⁶, which are so infeasibly unlikely they are similar to the probability of guessing someone's private key or guessing a SHA-256 hash preimage. We trust this demonstrates you know the maze, even though there's an astronomically unlikely possibility that you guessed right every time.
How would your friend know you solved it though? Does he have to take your word for it? Doesn't that defeat the purpose? This analogy seems flawed, correct me if I'm wrong
Edit: I misunderstood the kind of maze the article is talking about. Apparently it's not the pen and paper version.
They don't know the path you took and they can be reasonably sure you didn't brute-force it in that time.
ZK proofs only demonstrate knowledge of some fact. So, you could prove that you know the way through the maze, but then immediately forget it afterward.
Maybe the nuclear inspectors inspect the warheads frequently enough that rearming them would be detected? Or perhaps there is just some level of trust and you have to rely on the country to play by the rules.
That's a whole other kettle of fish.
Like doing an HMAC reveals a tiny piece of information every time…
This is the best use case for blockchain. Put the secret on the blockchain and show others that transaction. Since it's on blockchain, no one can deny your claim about knowing the secret. This is why blockchain was invented.
Before blockchain, I was miserable. There was no way for me to prove to my girlfriends that I knew a secret, without telling the secret. Now with blockchain, my life is so easy - I just show them the blockchain transaction and they know that I know.