Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gpestana/htokens-rs
Suite of verifiable anonymous credentials that can be used by applications and systems to enhance/provide privacy to users without impacting practicality.
https://github.com/gpestana/htokens-rs
anonymous-credentials cryptography privacy verifiable-credentials zero-knowledge
Last synced: 28 days ago
JSON representation
Suite of verifiable anonymous credentials that can be used by applications and systems to enhance/provide privacy to users without impacting practicality.
- Host: GitHub
- URL: https://github.com/gpestana/htokens-rs
- Owner: gpestana
- License: mpl-2.0
- Created: 2021-12-22T20:49:54.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-02-18T14:44:34.000Z (over 2 years ago)
- Last Synced: 2024-10-08T15:33:42.598Z (about 1 month ago)
- Topics: anonymous-credentials, cryptography, privacy, verifiable-credentials, zero-knowledge
- Language: Rust
- Homepage: https://humanity-tokens.com
- Size: 45.9 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Private Humamity Tokens
[![](https://img.shields.io/badge/Version-0.1.0--alpha-brightgreen)](https://crates.io/crates/htokens-rs) [![](https://docs.rs/htokens-rs/badge.svg)](https://docs.rs/htokens-rs) ![](https://github.com/gpestana/htokens-rs/actions/workflows/tests.yml/badge.svg)
`htokens-rs` implements a suite of verifiable anonymous credentials that can be used by applications and systems to enhance/provide privacy to users without impacting practicality.
In general, the schemes implemented by htokens-rs have three main participants: an issuer , a wallet and a verifier. The issuer, *issues* htokens to a particular wallet. The wallet stores and utilizes issued tokens by making *claims* about tokens to third parties. Finally, a verifier *verifies* whether the claims made by the wallet about their token are valid. Importantly, the wallet identity may remain hidden when the claims about their tokens are verified.
The claims can be, for example, of the form `"This token has been issued by Issuer X in the past month"` or `"Issuer X of this token guarantees that the owner is a human based on properties Z and Y"`, etc. In general, these schemes allow wallets to fetch tokens from issuers and prove properties about themself to verifiers without disclosing their own identity.
While htokens are not necessarily issued/verified by a smart contract, many of the schemes implemented in this crate allow for smart contract integration (WIP).
The htoken-rs library supports (or will support) the following schemes:
- Third-party issued credentials with public and private metadata and private verifiability (e.g. [Privacy Pass](https://datatracker.ietf.org/wg/privacypass/about/))
- Third-party issued credentials with public and private metadata and public verifiability
- Self-issued credentials with private verifiability
- Self-issued credentials with public verifiabilityIn addition, `htokens-wallet-rs` implements an API and CLI for users to manage and use their credentials.
**Application examples**:
- Privacy Pass tokens and CAPTCHAs
- Privacy-preserving humanity attestation
- Private access management and delegation
- Smart contract access/reputation control