← Back to home

zkMoku

Secret White List app using Zero Knowledge Set Membership. We prove only belonging

Screenshots

zkMoku screenshot 1
zkMoku screenshot 2
zkMoku screenshot 3
zkMoku screenshot 4

Problem Statement

Provides an SBT that allows user to prove that user has certain attributes without having to show certain specific things. For example, you can prove that you voted but not which way you voted, or you can prove that you like fruit but keep secret which fruit you like. Others are included in the whitelist but do not reveal who they are, so you can check your rights while maintaining your privacy.

Solution

This ZkMoku consists of three components.The first is the webfront end. This simply communicates with the server to use ZkSM and with Polygon Chain to handle Contracts.It consists ofReact / Nextjs / Ether.js / SIWE / Wagmi etc. It communicate with Go server using gRPC/Protobuf with Connect-Go.The second is Solidity. It is a simple ERC721 based class. However, Json of Metadata is managed by OnChain. I managed contract using HardHat.The last is a Go server to run zkp SetMembership, which is the core of this project.The core of this project is a technology called Zero Knowledge Proof for Set Membership. https://eprint.iacr.org/2019/1255.pdfThis is a technology that can prove membership, but keeps any of the members secret. This allows for various use cases such as being on a whitelist but not knowing which one you are.

Hackathon

ETHGlobal Tokyo

2024

Prizes

  • 🏆

    🏊‍♂️ Polygon — Pool Prize

Contributors