Verifiable delay function (VDF)
A verifiable delay function (VDF) is a mathematical function that is designed to take a certain amount of time to compute, but can be verified much more quickly. The primary use case for VDFs is in distributed systems where nodes need to agree on a common state or a common order of events, but cannot rely on any single party to provide this information.
A VDF must satisfy three properties to be considered a valid VDF:
1. Delay: The function must take a specified amount of time to compute. This is usually measured in terms of a number of sequential steps or iterations.
2. Verifiability: It must be possible to verify the result of the function quickly, ideally in a time much less than the delay time.
3. Unpredictability: It must be difficult or impossible to predict the output of the function without actually computing it.
VDFs have a number of potential applications, including in proof-of-work consensus algorithms for blockchains, as a building block for random number generation, and in cryptography for secure message passing and digital signatures.