3 ms·
IMO the strongest applications are blockchain-related, but here are some other ideas which have been suggested - - One can selectively disclose certain aspects
by dlubarov 4y ago
IMO the strongest applications are blockchain-related, but here are some other ideas which have been suggested -
- One can selectively disclose certain aspects of their identity. E.g. given a commitment to my DNA, I can prove that it doesn't match that of a suspect. (Though the police need some way to trust the commitment, perhaps a signature from the firm that sequenced it.)
- We can build trustless games, like an implementation of battleship where cheating is cryptographically hard.
- We could have trustless computation services, like ec2, or like SETI@home, etc. Though it's difficult to make this practical given the computational overhead of ZKPs.
- ZKPs can turn any delay function (like an iterated hash) into a verifiable delay function (VDF). VDFs could enable trustless lotteries/sortition.
- Given a general-purpose ZKP, it's trivial to build a signature scheme, e.g. by proving knowledge of a hash pre-image. This can sometimes lead to very practical signature schemes, such as Picnic, one of the leading hash-based signature proposals. Ring signatures are another generally-useful application.
- I think ZKPs have also been used as a building block in some FHE and MPC systems, though I don't know much about those areas.
- One can prove the existence of an exploit before divulging the details. This might be useful for e.g. convincing everyone to disable a certain TLS primitive which was just broken.