/speedy-zero-knowledge

Prove someone has a piece of data with certainty using a fast challenge-response algorithm that does not disclose any piece of said data.

Primary LanguagePython

If two people have a file and they want to make sure that they actually both do indeed have it, how do you proceed? If you hash the file, then you can just assume that the person had the file at some point, hashed it, and deleted it. If you make a merkle tree, then you can assume that the person had the file, made a full merkle tree, then deleted the file altogether. This algorithm solves this problem through a challenge-response mechanism that guarentees that a user actually has the data that they claim they have. This algorithm can be used to shard blockchains and other data structures and audit the replications in a decentralized network to make sure people aren't screwing around with the data.