Skip to content

abipalli/zkMember

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZKMember

ZKMember is a benchmark project designed to build and evaluate membership circuits using various SNARK protocols and finite fields. This project aims to provide a comprehensive comparison of different approaches to constructing and verifying membership proofs in zero-knowledge settings.

Overview

The primary goal of ZKMember is to:

  • Implement membership circuits using different SNARK protocols.
  • Explore the use of various finite fields in these implementations.
  • Benchmark the performance and efficiency of each approach.

Features

  • Multiple SNARK Protocols: Support for various SNARK protocols to provide a broad comparison.
  • Finite Fields: Utilization of different finite fields to assess their impact on performance.
  • Benchmarking Tools: Comprehensive tools to measure and compare the efficiency of each implementation.

Installation

To quickly get started with the ZKMember CLI application, follow these steps:

  1. Ensure you have Rust installed. If not, you can install it from rust-lang.org.
  2. Clone the repository:
    git clone https://github.com/abipalli/zkmember.git
    cd zkmember

Run Benchmarks

groth16

To run the benchmarks for groth16 circuits, run the following:

cargo bench --bench groth16

groth16 always uses circuit-specific constraints.

marlin

To run the benchmarks for marlin circuits with circuit-specific constraints, run the following:

cargo bench --bench marlin

To run the benchmarks for marlin circuits with universal constaraints, simply add the universal-constraints feature:

cargo bench -F universal-constraints --bench marlin

About

zkSNARK for organizations to vend membership attestations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages