#vrf #curve #secret-key #proofs #thin #ring #pedersen

dleq_vrf

来自Chaum-Pedersen DLEQ证明的VRFs,可用于环VRFs

1个不稳定版本

0.0.1 2023年4月13日

#12 in #pedersen


用于nugget_bls

MIT/Apache

83KB
1K SLoC

DLEQ VRF-AD

实现了从Chaum-Pedersen DLEQ证明中产生的两个相关带数据(VRF-AD)的可验证随机函数(VRFs),支持Arkworks的椭圆曲线。

轻量级VRF,即ThinVrf,提供了一种类似于常规VRF但更优越的VRF。轻量级VRF支持批量验证或半聚合,就像Schnorr签名一样,而EC VRF则没有。本质上,轻量级VRF就是一个基于伪随机(Fiat-Shamir)线性组合的基点的Schnorr签名,而EC VRF是在不同基点上的两个链接的Schnorr签名。轻量级VRF应该比EC VRF略快,在典型的Edwards曲线上大小相似,但在更大的BLS12曲线上略大。一般来说,新应用应始终优先选择轻量级VRF而不是EC VRF。

佩德森VRF,即PedersenVRF,类似于EC VRF,但用佩德森对秘密密钥的承诺替换了公钥,这使得佩德森VRF在匿名环VRFs或可能是在组VRFs中非常有用。我们提供了佩德森VRF的批量和非批量形式。我们更喜欢批量形式,因为我们的盲化因子已经增大了我们的签名,使得批量形式相对于EV VRF的批量形式来说不那么重要。

由于佩德森VRF需要两个验证方程,因此我们支持具有相同子群阶的两个不同曲线之间的DLEQ证明。在此基础上,我们支持省略跨曲线DLEQ证明中的盲化因子,例如,在BLS12曲线的G1和G2上证明公钥具有相同的秘密密钥。

依赖项

~6.5MB
~116K SLoC