I'm a software engineer trying to wrap my brain around Zero Knowledge Proofs just out of curiosity. I came up with the following puzzle to test my understanding... but was unable to solve it. Your help in solving it ("as if I were 5") would be appreciated, thanks! 🐣

The Scenario

Let's say I had a time machine able to send information back in time one day and I want to use it to sell stock movement forecasts to a big trading company. Obviously they are a bit sceptical, so want me to prove that my machine works by sending them some predictions. But I'm no fool. I want to prove my machine works to them in such a way that 1) I don't reveal any useful market data to them ahead of time and 2) even if someone eavesdrops on our communications, they will just think we're colluding and won't be convinced that my machine works.

My Work so far...

To avoid pitfall 2 above, I believe the trading company will have to send me a $k$-bit random challenge on day 2 which they—but the eavesdropper doesn't—know is random, which somehow unlocks $\leq k$-bits of prediction after I respond which they can verify against my day 1 commitment.


Is that correct? What data should I send as a commitment on day 1, and how would I respond to their challenge on day 2? (Looking for a simple algorithm if possible...)

Thank you for helping me understand this tricky topic! 🙏



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.