doc

VDF research

A Survey of Two Verifiable Delay Functions

On Verifiable Delay Functions

计算耗时,校验简单,并行计算不能明显提速

Proofs of sequential work (PoSW)

randomness beacon (unpredictable), multiparty random (not bias), consensus from proof of resources(blockchain, elect/vote)

Setup pp = (ek, vk)
(y, 𝜋) = Eval(ek, x)
Verify(vk, x, y, 𝜋)

Correctness, Soundness, Sequentiality, Decodability, Incremental

Proof of Work

blockchain 求解小于某个t值的 H(nonce, x)

hidden order groups, RSA

euler,n = p*qϕ(n)=(p-1)*(q-1)

unknown order, 则为Time-lock puzzles

trusted setup, small subgroup attack

Wesolowski

Wesolowski: Efficient verifiable delay functions

verfier随机选定l, 也可改造为nizk,例如置l=next_prime(hash(x, y, T))

r = 2^T mod l 
2^T = m*l + r

𝜋 = x^m 
y = x^(2^T)

Verify  y = (𝜋^l) * (x^r)

Pietrzak

Pietrzak: Simple Verifiable Delay Functions

QRN是Zn 上的二次剩余的|x|绝对值集合,因此是1/4的Zn。

选取的cyclic group QRN+ 与 QRN 同构,x值在{−(n − 1)/2, . . . , (n − 1)/2}以内。

P: μ = x^(2^(T/2)), y=μ^(2^(T/2))
P->V: y

P->V: μ
V->P: r
P: (x', y') = (x^r * μ, μ^r * y)
P -> V: (x', y'), T/2
V: verify y' = x'^(2^(T/2))

De Feo

De Feo: Verifiable Delay Functions from Supersingular Isogenies and Pairings

trusted setup, attack在于curve内部结构

例如bls signature选用的pairing curve,是在embedding degree k, characteristic p的F_(p^k)上order为N的subgroup

X1, X2, Y1, Y2, G 的order为N

φ, ˆφ 为 E, E’ 之间 degree l 的同态映射

φ : X1 → Y1 
eY : Y1 × Y2 → G
X1 × Y2  -> Y1 × Y2 -> G

ˆφ : Y2 → X2
eX : X1 × X2 → G
X1 × Y2 -> X1 x X2 -> G

eX (P, ˆφ(Q)) = eY (φ(P ), Q)

P为X1的生成元

pp = (N, X1, X2, Y1, Y2, G, eX , eY , P, φ(P ))

supersingular curves over Fp

类似CSIDH

supersingular curve E/Fp, order N

E, ̃E 在 Fp2 上 quadratic twist 同构,分别对应X2, X1

u ∈ Fp^2 \ Fp, u^2 ∈ Fp

υ : E →  ̃E
    (x, y) → (u^2 * x, u^3 * y)

X2 = E[N] ∩  E(Fp).
X1 = υ^−1 (  ̃E[N] ∩   ̃E(Fp) )

Y2 = E′[N] ∩ E′(Fp)
Y1 = υ^−1 (  ̃E′[N] ∩  ̃E′(Fp))

isogeny φ : E → E′ of degree l^T , 对应 ˆφ;

P为X1生成元

(ek, vk) = (ˆφ, (E, E′, P, φ(P)))

Eval( ˆφ, Q ∈ Y2) = ˆφ(Q)

Verify(E, E′, P, Q, φ(P), ˆφ(Q))
ˆφ(Q) ∈ X2
eN (P, ˆφ(Q)) = eN (φ(P), Q).

supersingular curves over Fp2

Let π be the Frobenius endomorphism of E/Fp, the trace map on E/Fp2 is the map

Tr: E/Fp2 → E/Fp,
     P → P + π(P).

 eN (P, Tr(R)) = eN (P, (1+π)(R)) 
               = eN ((1−π)(P), R) 
               = eN ([2]P, R) 
               = eN (P, R) ^2

 f : E′[N] → X2,
     Q → (Tr ◦ ˆφ)(Q);

 Eval( ˆφ, Q ∈ E′[N]) = (Tr ◦ ˆφ)(Q)

 Verify(E, E′, P, Q, φ(P ), (Tr ◦ ˆφ)(Q))
 (Tr ◦ ˆφ)(Q) ∈ X2
 eN (P, (Tr ◦ ˆφ)(Q)) = eN (φ(P), Q) ^2

Univariate permutation polynomials

Verifiable Delay Functions

Y ⊆ Fq^n to X ⊆ Fq^minjective rational map F = (f1 , ...., fm)

fi( ̄y) = xi for i = 1, ..., m
fi( ̄y) = g( ̄y)/h( ̄y) = xi
zi( ̄y) := g( ̄y)−xi*h( ̄y) = 0

Rational functions on finite fields

有限域上求根

F(X) = g(X)/h(X)
GCD(X^q − X, g(X) − c · h(X))
outputs X − s for the unique s such that F(s) = c

Rational maps on elliptic curves

曲线上求公共点

E(y, x) = y^2 − x^3 − ax − b
R = Res_y (z1 , z2) is a univariate polynomial in x of degree deg(z1) · deg(z2) such that R(x) = 0
R ′= Res_y (R, E)

weaker VDF

基于GCD/Res求解的困难度

Setup(λ, t): choose a (q, F, X , Y) ∈ F specified by λ and t, and output pp := ((q, F ), (q, F )).

Eval((q, F),  ̄x): 
for an output  ̄x ∈ X ⊆ Fq^m
compute  ̄y ∈ Y such that F ( ̄y) =  ̄x; 
The proof π is empty.

Verify((q, F ),  ̄x,  ̄y, π) 
outputs Yes if F ( ̄y) =  ̄x.


Published

31 May 2023

Tags


Share On