Paper 2024/968

Fast SNARK-based Non-Interactive Distributed Verifiable Random Function with Ethereum Compatibility

Jia Liu, Enya Labs
Mark Manulis, Universität der Bundeswehr München
Abstract

Distributed randomness beacons (DRBs) are fundamental for various decentralised applications, such as consensus protocols, decentralised gaming and lotteries, and collective governance protocols. These applications are heavily used on modern blockchain platforms. This paper presents the so far most efficient direct construction and implementation of a non-interactive distributed verifiable random function (NI-DVRF) that is fully compatible with Ethereum. Our NI-DVRF scheme adopts pairings and combines techniques from secret sharing, SNARKs, and BLS signatures. The security properties of the resulting NI-DVRF scheme are formally modelled and proven in the random oracle model under standard pairing-based assumptions. To justify the efficiency and cost claims and more generally its adoption potential in practice, the proposed NI-DVRF scheme was implemented in Rust and Solidity. Our implementation is highly optimised and is currently being investigated for deployment on the multichain layer-2 scaling solution provided by Boba Network to power its DRB service zkRand. Our experimental analysis, therefore, also evaluates performance and scalability properties of the proposed NI-DVRF and its implementation.

Note: Minor revision to correct typos and do minor polishing.

Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Preprint.
Keywords
distributed verifiable random functionnon-interactive DKGSNARKdistributed randomness beaconEthereumzkRand
Contact author(s)
mark @ manulis eu
History
2024-06-20: revised
2024-06-15: received
See all versions
Short URL
https://ia.cr/2024/968
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2024/968,
      author = {Jia Liu and Mark Manulis},
      title = {Fast {SNARK}-based Non-Interactive Distributed Verifiable Random Function with Ethereum Compatibility},
      howpublished = {Cryptology ePrint Archive, Paper 2024/968},
      year = {2024},
      note = {\url{https://eprint.iacr.org/2024/968}},
      url = {https://eprint.iacr.org/2024/968}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.