/powersoftau

An independent implementation of the Powers of Tau MPC ceremony.

Primary LanguageGoMIT LicenseMIT

powersoftau

powersoftau is an independent implementation of the Powers of Tau MPC ceremony.

It is written in Go, shares no code with the main Rust implementation, and uses the RELIC toolkit for BLS12-381.

Installation

You will need a recent version of Go (1.9+ is known to work) and a C compiler.

git clone --recursive https://github.com/FiloSottile/powersoftau $(go env GOPATH)/src/github.com/FiloSottile/powersoftau
cd $(go env GOPATH)/src/github.com/FiloSottile/powersoftau && make
export CGO_LDFLAGS_ALLOW=".*\.a" # only needed for Go version 1.9.4
go install github.com/FiloSottile/powersoftau/cmd/taucompute
$(go env GOPATH)/bin/taucompute --help

Usage

Usage of taucompute:
  -challenge string
    	path to the challenge file (default "./challenge")
  -next string
    	path to the next challenge file, optional
  -pprof
    	run a profiling server; use ONLY FOR DEBUGGING
  -response string
    	path to the response file (default "./response")

To facilitate running multiple implementations of Powers of Tau, you can run taucompute with the -next flag, which will also write a new challenge file once done with the computation. NOTE: you will have to submit both response files.