Table of Contents
Identities are not passive, so should be the proof of access right. When using online services, the most existing authentication process is third-party oriented, and the verifying ID information is not fully autonomous. The key to the problem boils down to the inefficiency of current centralized authentication schemes, using excessive and unnecessary personal information to verify users’ access rights. To solve the issue, this project intends to renovate the authentication process through cryptographic means to realize user-centric identity verification with minimal information grants. As a proof-of-concept, an application with identity-based zero-knowledge proof will be developed and delivered by the end of the project.
- Set up Holder and Issuer
$ cd holder
$ go mod tidy
$ go build
$ ./holder
// same for the ./issuer
- Set up schema server
$ python3 -m http.server
- Set up Verifier
$ cd verifier
$ go mod tidy
$ go build
$ ./verifier
- Clean up executable (optional)
$ cd holder
$ go clean
Or you can directly use our built docker image and run the wallet on your system:
$ docker run -d -p 8080:8080 --name holder zksnacks/jcard3-wallet:0.0.2
- Add Issuer, Holder, Verifier
- Add IssuerSDK
- Add WalleteSDK
- Refact modules
- Conduct Threat Modeling
- Add frontend
- Write final report
ZKsnacks - @your_twitter - [email protected]
Project Link: https://github.com/your_username/repo_name