Proof Systems
The following zero-knowledge proof systems are currently supported by a frontend or backend
provider
:- Succinct Non-Interactive Arguments of Knowledge (zkSNARKs)
The following zero-knowledge proof systems may be supported by a frontend or backend
provider
in the future:- Succinct Non-interactive Oecumenical (Universal) aRguments of Knowledge (zkSNORKs)
- Succinct (Scalable) Transparent ARguments of Knowledge (zkSTARKs)
The following
provider
implementations are either supported or are being considered at this time:// ProverProvider provides a common interface to interact with zero-knowledge provers
type ZKProverProvider interface {
Compile(argv ...interface{}) (interface{}, error)
ComputeWitness(artifacts map[string]interface{}, argv ...interface{}) (interface{}, error)
ExportVerifier(verifyingKey string) (interface{}, error)
Prove(prover, provingKey []byte, witness string) (interface{}, error)
Setup(prover interface{}) (interface{}, interface{})
Verify(proof, verifyingKey []byte, witness string) error
}
Note that not all of the above interface methods will be implemented by every
provider
.Last modified 1yr ago