Skip to content

uvdsl/rdf-zkp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Combining Zero-Knowledge Proofs on RDF graphs (W3C Verifiable Credentials)

based on the cryptographic work of Lovesh Harchandani

We use dock/crypto for proof of knowledge of BBS+ signature, LegoGroth16 range proof and Accumulator non-membership.

Repository Structure

  • benches/ a sample benchmark of of the schema-free and schema-based approach.
  • data/ the Verifiable Credential (VC) and Verifiable Presentation (VP) that are being generated when running the examples.
  • src/ source code.
    • bin/ examples that you can execute.
    • poc/ proof of concept implementations of the different procedures (issue,prove,verify) in two versions: schema-free (no suffix) and schema-based ("_schema" suffix).
    • rdf4zkp functions for encoding RDF to field representations.
    • zkp4rdf functions for transforming zkp related variables and values to RDF.
  • vocab/ the vocabulary used to describe the proofs.
    • zkp-o.ttl general terms for zero-knowledge proofs.
    • zkp-o-spok.ttl terms for Schnorr proofs of knowledge (of discrete log).
    • zkp-o-bbs.ttl terms for BBS+ proof of knowledge of signature.
    • zkp-o-lg16.ttl terms for LegoGroth16 proof of numeric bounds.
    • zkp-o-uacc.ttl terms for Univeral Accumulator proof of set (non-)membership.

Run it yourself

# set up the repo
git clone <repo-url>
cd <repo>

# using schema-free transformation
cargo run --bin issuer
cargo run --bin prover
cargo run --bin verifier

# using schema-based transformation
cargo run --bin issuer_schema
cargo run --bin prover_schema
cargo run --bin verifier_schema

# benchmark the performance difference
cargo bench

We used the rust compiler rustc 1.88.0 (6b00bc388 2025-06-23). Just in case that is relevant at some point in time.


This is a proof of concept, not a library.


Please cite this work by referring to

Christoph H.-J. Braun, Tobias Käfer: RDF-Based Semantics for Selective Disclosure and Zero-Knowledge Proofs on Verifiable Credentials. ESWC (1) 2025: 383-402

or use the following BibTeX record

@inproceedings{DBLP:conf/esws/BraunK25,
  author       = {Christoph H.{-}J. Braun and
                  Tobias K{\"{a}}fer},
  editor       = {Edward Curry and
                  Maribel Acosta and
                  Mar{\'{\i}}a Poveda{-}Villal{\'{o}}n and
                  Marieke van Erp and
                  Adegboyega K. Ojo and
                  Katja Hose and
                  Cogan Shimizu and
                  Pasquale Lisena},
  title        = {RDF-Based Semantics for Selective Disclosure and Zero-Knowledge Proofs
                  on Verifiable Credentials},
  booktitle    = {The Semantic Web - 22nd European Semantic Web Conference, {ESWC} 2025,
                  Portoroz, Slovenia, June 1-5, 2025, Proceedings, Part {I}},
  series       = {Lecture Notes in Computer Science},
  volume       = {15718},
  pages        = {383--402},
  publisher    = {Springer},
  year         = {2025},
  url          = {https://doi.org/10.1007/978-3-031-94575-5\_21},
  doi          = {10.1007/978-3-031-94575-5\_21},
  timestamp    = {Fri, 04 Jul 2025 22:06:19 +0200},
  biburl       = {https://dblp.org/rec/conf/esws/BraunK25.bib},
  bibsource    = {dblp computer science bibliography, https://dblp.org}
}

About

Composite zero-knowledge proofs (ZKPs) on RDF graphs, e.g., W3C Verifiable Credentials.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages