Verifiable Delay Functions
Verifiable Delay Functions (VDF) was introduced in 2018 and has become an active research aera in cryptography. VDF has many applications in blockchains, such as randomness beacon, resource-efficient blockchain, computational timestamping, etc. In this chapter, we first give a brief overview of VDF, then study and discuss several existing VDF constructions.
Author(s): phamnhatminh1292001
Introduction to VDF
Verifiable Delay Functions (VDF) were introducted by Boneh et al BBBF18 in 2018. Informally, a VDF is a funtion that requires a specified number of step to compute its output, even with a large number of parallel processor, but the correctness of the output can be quickly verified. While there can be many functions that require a specified of step to compute its output, not all of them are qualified to become VDFs. For example, consider the function . Calculating require iterations, even on a parallel computer. However, verification would also require iterations, thus the function , while VDF verification time must be within . VDFs has found it application in many aspects BBBF18. We will highlight some of them later in the Application section.
VDF Algorithms
A VDF consists of three algorithms where:
: This algorithm takes as input as a security parameter , and outputs a public key pair .
: This algorithm takes an input an evaluation key , a value a time parameter and outputs a value and a proof .
: This algorithm takes an input a verification key , a value , a value , a proof , a time parameter and outputs a bit that determines whether . This algorithm run within time .
VDF Properties
We require a VDF to have the following security properties:
Correctness: For all parameter , and if then
Soundness: A VDF is sound if every algorithms can solve the following problem with negligible probability in : Given output such that and .
Sequentiality: A VDF is sequentiality if for all algorithms with at most parallel processors and runs within time , the experiment is negilible in , where is described as follows:
:
- Return
VDF Applications
We present several applications of VDF below:
Randomness Beacon: To see the application of VDF in randomness beacons, we take a look at two examples below: In proof of work blockchains, miners find solutions to computational puzzles and then submits them for monetary rewards. However, there can be more than one solution, and a miner may submit the one that benefits him the most, or refuse to submit if it does not benefit him. Using VDF, then given the deterministic nature of VDF, a miner cannot choose any output other than the VDF output for his goal. Another example is the the RANDAO Ra17 that use "commit-and-reveal" paradigm. In RANDAO, each participant submit the commitment of a random value , after each participants reveal and the final output is defined to be . The problem is that the last participant may not submit his value if the final output does not benefit him. One approach to solve this problem is to use VDF. After all s are revealed, the value is used as the seed of the VDF and the beacon output is the VDF output LW15. With a sufficient time parameter, the last participant cannot predict the output on time, even if he knows the seed.
Resource efficient Blockchain: Various attempts have been made to develop resource-efficient blockchains to reduce energy consumption. However, resource-efficient mining suffers from nothing-at-stake attack BBBF18. Cohen proposes to combine proof of resources KCMW15 with an incremental verifiable delay function and use the product of proven resources and induced delay as a measure of blockchain quality. This scheme prevents nothing-at-stake attacks by simulating the proof-of-work mining process WXWJWR22. For other applications of VDF, we refer the readers to BBBF18.
A Survey of VDF Constructions
In this section, we study several well known candidates for VDF constructions. These include: the construction of Dwork and Naor DN92, the construction of Pietrzak Pie19 and Wesolowski Wes19, and the isogeny based construction of de Feo et al FMPS19. Then we compare these constructions. Finally, we discuss a possible construction based on incremential verifiable computation BBBF18.
Modular Square Root based Construction
One of the early example of VDF can be found in the paper of Dwork and Naor DN92. Their construction require a prover, to compute for a prime and input . When we see that , and thus computing requires computation steps. Verifying only require one multiplication by checking . The construction is formally described as follow.
: The algorithm outputs a bit prime where .
: Compute . The proof is .
: Check if .
This construction, althought very simple, has two problem: First, the time parameter is only to , thus to increase , a very large prime is required. Second, it is possible to use parallel processors to speed up in field multiplications.
Group of Unknown Order based Constructions
As its name suggests, most constructions follow this direction uses a group such that is unknown. These constructions require the prover to calculate the value and provide a proof of that allows efficient verification. Without the knowledge of , calculating requires steps. There are two candidates for such a group: The RSA group and the Class Group of Imaginary Quadratic Number Field. The RSA group is the group where is a product of two primes with unknown factorization. Computing the group order of is as hard as factoring , so can be seen as a Group of Unknown Order. However, the problem of the RSA group is that we require a trusted party to generate . To avoid trusted setup, we can choose to be the class group of an imaginary quadratic field. For a large , it is assumed that the order of the class group of is hard to compute.
Pietrzak's Construction
Pietrzak Pie19 proposed a VDF based on a Group of Unknown Order. His idea for generating the proof for is to use the identity for any where . His construction is described below.
: The algoritms outputs , where:
- is a finite group.
- , a hash function that maps arbitary input length to a bit string.
: To generate the proof for , compute , where and . The algorithm outputs =.
: To verify the output, compute and check if .
Wesolowski's Construction
Independently from Pietrzak, Wesolowski Wes19 also constructed a VDF based on a Group of Unknown Order. Unlike Pietrzak's, Wesolowski's construction has shorter proof size and allows faster verification. However, the proving time is slower, as it require computation steps compared to in Pietrzak's construction.
: The algoritms outputs = where:
-
is a finite group.
-
is a hash function that maps a bit string to an element in .
-
is a hash function that maps arbitary input length to a bit string. : By converting to an element , the algorithm outputs =, where . The trapdoor information makes calculation faster as follow:
-
Eval with trapdoor: With the knowledge of as a trapdoor, the value of can be computed within time by calculating and . Similarly, one can compute quickly by calculating and .
-
Eval without trapdoor: Without the knowledge of , computation of and require and time, respectively.
: To verify the output, simply check if .
Isogeny based Constructions
In 2019, Luca de Feo et al FMPS19 constructed a VDF based on isogenies of supersingular elliptic curves and pairing. Their construction is motivated by the BLS signature, which uses a bilinear pairing. FMPS19.
For more information about elliptic curves and isogeny graph , we refer the reader to see the Elliptic Curve chapter I wrote earlier.. Before continuing, we introduce some notations. Let be a small prime. Let be a large prime and be another prime such that is divisible by . For an elliptic curve , define where is the infinity point. The definition and properties of Weil pairing can be found in BLS03. In the construction, the authors consider the pairing . As the authors stated in their paper, the main important property the pairing is that, for any curves , isogeny and and we have . Now we move to describe the VDF Construction.
: The algorithm selects a supersingular ellpitic curve , then choose a direction of the supersingular isogeny graph of degree , then compute the isogeny of degree and its dual isogeny .
: For a point , outputs .
: Check that and .
The security of the VDF is based on the assumption that, to compute the isogeny the map , we are expected to walk times between some vertices in the isogeny graph . Currently, there is no efficient algorithm to find shortcut between these vertices of the graph. Finally, while the VDF is isogeny-based, it is not completely quantum secure, due to of the relation of bilinear pairing. Since Shor's algorithm can break the pairing inversion problem FMPS19, it can trivially recover the output from the relation above.
Comparision
Now that we have described several well known VDF constructions, we would like to compare them. The table below compares the evaluation time, proof size and verification time of the VDF we described. Note that the value in the table denote the number of processors.
Construction | Eval Time | Eval Time (parallel) | Verification Time | Proof Size |
---|---|---|---|---|
Dwork and Naor | ||||
Pietrzak | ||||
Wesolowski | ||||
Feo et al. |
Possible IVC based construction
Apart from the previous well-known constructions, we now discuss another possible direction to construct a VDF is to use Incrementally Verifiable Computation (IVC) BBBF18. The basic idea of IVC is that after each computation step, the prover can produce a proof of the current state. The proof can also be updated after each step to produce a new proof for the corresponding step. The definition and properties of IVC can be found in Pa08. Now, consider a IVC system for a function , it is possible to construct a VDF as follow:
: Run .
: Run and output .
: Outputs .
The construction above is rather general. Therefore, it remains a question to choose a suitable IVC system and a function to make the construction pratical. As suggested by Boneh et al BBBF18 and Ethereum KMT22, there are several candidate functions , for example VeeDo, Sloth++ BBBF18 or Minroot KMT22. Most previous IVCs involves using succinct non-interactive arguments of knowledge (SNARK). For these IVC constructions, at each step the prover has to constructs a SNARK which verifies a SNARK BBBF18. This involves many FFT operations each step, and the SNARK verification circuit can be very expensive. In the recent NOVA KST22 proof system, the prover does not have to compute any FFT, and the recursion overhead is much lower than SNARK based IVCs KST22. It is interesting to see if there will be any IVC based VDF using NOVA.