Skip to content

abraj/vdf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verifiable Delay Function (VDF) Implementation in Golang.

Build Status Go Report Card

What is a VDF?

Verifiable Delay Functions take a prescribed time to compute, even on a parallel computer, yet produce a unique output that can be efficiently and publicly verified.

Description

We implement the approaches described in the following papers:

  1. Sloth(Quadratic Residue) Verifiable Delay Functions. Boneh, 2018
  2. Simple Verifiable Delay Functions. Pietrzak, 2018
  3. Efficient Verifiable Delay Functions. Wesolowski, 2018

How to Build

To build from the source code you need to have a working Go environment with version 1.12 or greater installed.

$ git clone https://github.com/keyfuse/vdf
$ cd vdf
$ make build

How to Run

./bin/vdf -x=7 -t=1000
T:1000, x:7, P:8740186361822062383
-->
Type:	Sloth Quadratic Residue
Value:	37602270514657052337634791495305873950174757777621818362566683935496339681801
Delay:	0.10983 secs
Verify:	0.00064 secs
Verify Result:	true
Delay/Verify:	170.32087

How to publish

git tag v0.2.0
git push origin v0.2.0
GOPROXY=proxy.golang.org go list -m github.com/abraj/vdf@v0.2.0

License

VDF is released under the GPLv3 License.

About

Verifiable Delay Function (VDF) Implementation in Golang

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 84.4%
  • Makefile 15.6%