To solve the problem where we each have to repeatedly upload and over-share entire private documents to gain access to services or prove something about ourselves (or about where timber was sourced, etc.), I have created ProofPack, it's an open source NPM package for making selective disclosure proofs.
At its heart is a JSON format defining a Merkle tree, plus a pointer to an attestation of the Merkle root hash on a service like EAS on e.g. the Base blockchain.
The JS library (npm) makes it easy to create proofs as well as read and verify other people's proofs.
The general idea is that many of our apps could be providers of strong proof. We can bear witness to "bundles of facts", i.e. short records, onchain and then offer downloadable proofs to our users which can then be uploaded to some other app.
The canonical example is a passport checking app can make a proof of date of birth which can be read by a gambling app, but all kinds of stuff can be proven, e.g. where your steak was sourced from.
Thanks for reading. It's free - I don't make any money from this. I just think we need to stop uploading PDFs or photos of our passport, and that as engineers and product people, we need to agree a way to exchange verifiable records.
Btw, it's different to ZKP; you'd use it when you want to actually share the data.
To solve the problem where we each have to repeatedly upload and over-share entire private documents to gain access to services or prove something about ourselves (or about where timber was sourced, etc.), I have created ProofPack, it's an open source NPM package for making selective disclosure proofs.
At its heart is a JSON format defining a Merkle tree, plus a pointer to an attestation of the Merkle root hash on a service like EAS on e.g. the Base blockchain.
The JS library (npm) makes it easy to create proofs as well as read and verify other people's proofs.
The general idea is that many of our apps could be providers of strong proof. We can bear witness to "bundles of facts", i.e. short records, onchain and then offer downloadable proofs to our users which can then be uploaded to some other app.
The canonical example is a passport checking app can make a proof of date of birth which can be read by a gambling app, but all kinds of stuff can be proven, e.g. where your steak was sourced from.
This use-cases doc is a good place to learn.
https://github.com/zipwireapp/ProofPack/blob/main/docs/suppl...
Thanks for reading. It's free - I don't make any money from this. I just think we need to stop uploading PDFs or photos of our passport, and that as engineers and product people, we need to agree a way to exchange verifiable records.
Btw, it's different to ZKP; you'd use it when you want to actually share the data.
Luke