RingVRF
Overall
In this project, committee members need to be rotated to achieve time-limited security for private key shards. Therefore, a method is required to select different batches of committee members.
Simultaneously, the identities of committee members must be kept confidential to prevent them from colluding with each other and launching attacks against signatures.
Thus, a method is needed to identify committee members holding specific private keys without revealing their identities.
Core Objectives
Secure Committee Rotation Enables periodic rotation of committee members holding private key shards for time-limited security.
Identity Confidentiality Prevents committee member identification to avoid collusion attacks on signatures.
Anonymous Key Ownership Proof Allows a member to prove their public key belongs to a specified set without revealing which one.
In essence: Ring VRF lets a user prove their public key is in set {pk₀,...,pkₙ₋₁} and generate verifiable random output
v
using private keysk
, while hiding their specific public key indexℓ
.
so we introduced Ring VRF algorithm.
The purpose of the Ring VRF algorithm is: To allow a user to prove that the public key corresponding to their private key exists within a set of public keys, without revealing which specific public key they possess.
RVRF = {((pk0, . . . , pkN−1 , r, v),sk, )|∈ {0, . . . , N − 1} s.t. (pk` ,sk) ∈ Rpk ∧ v ← PRFsk(r)}
The inputs to the algorithm are a public set of public keys and a random number.
Pedersen commitment is used as the commitment scheme.
The algorithm achieves its core functionality by utilizing the one-out-of-many protocol. Additionally, a sub-proof guarantees that both the commitment value c
(from the Pedersen commitment) and the PRF result v
correspond to the same private key (sk
).
Algorithm Definition
Inputs/Outputs
Input:
Public key set {pk₀,...,pkₙ₋₁}
Random seed r ∈ {0,1}*
Output:
Random value
v = PRFₛₖ(r)
Proof
π
verifying both:pkₗ ∈ {pk₀,...,pkₙ₋₁}
for someℓ
v
was correctly generated fromsk
Key Components
1. Pseudorandom Function (PRF)
Definition:
PRFₛₖ(r) := H(r)ˢᵏ
Parameters:
Cyclic group
G
of prime orderq
with generatorg
Hash function
H: {0,1}* → G
Security: Computes verifiable random output bound to
sk
.
2. Pedersen Commitment
Role: Hides prover's index
ℓ
and secretsk
.CRS: Commitment key
ck = h
(public parameter).
3. One-out-of-Many Protocol
Core innovation: Proves
∃ℓ
such thatpkₗ ∈ {pk₀,...,pkₙ₋₁}
without revealingℓ
.Achieves: Full anonymity within the public key set.
4. Consistency Sub-Proof
Critical guarantee: Links Pedersen commitment
c
and PRF outputv
to the same private keysk
.Prevents: Forgeries using mismatched keys.
Protocol Workflow
Prover (sk holder):
Compute
v = H(r)ˢᵏ
Generate Pedersen commitment to
sk
Use One-out-of-Many to prove
pkₗ ∈ {pk₀,...,pkₙ₋₁}
Run sub-proof linking commitment and
v
tosk
Output
(v, π)
Verifier:
Validate One-out-of-Many proof (key membership)
Verify consistency between commitment and
v
Confirm
v
is correctly derived fromr
Last updated