Skip to content

chore(approaches|use-case): update private auth with more relevant details#97

Merged
rymnc merged 3 commits intomasterfrom
chore/reposition-private-auth
Mar 6, 2026
Merged

chore(approaches|use-case): update private auth with more relevant details#97
rymnc merged 3 commits intomasterfrom
chore/reposition-private-auth

Conversation

@rymnc
Copy link
Collaborator

@rymnc rymnc commented Mar 2, 2026

What are you adding?

  • Vendor/Protocol
  • Enterprise Use Case
  • Update to existing content
  • Other

Description

rephrasing and modifying private auth approach and usecases to stay up to date

Checklist

  • I've checked this doesn't duplicate existing content
  • All links work
  • Info is accurate

@rymnc rymnc force-pushed the chore/reposition-private-auth branch from 652bc0f to ced8255 Compare March 2, 2026 07:11
@rymnc rymnc self-assigned this Mar 2, 2026
@rymnc rymnc marked this pull request as ready for review March 3, 2026 07:12
@rymnc rymnc requested review from Meyanis95 and oskarth March 3, 2026 07:12
Copy link
Collaborator

@oskarth oskarth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where does things like OpenAC (unlinkability) and Self (ZKPassport) fit in this framework?

@rymnc
Copy link
Collaborator Author

rymnc commented Mar 5, 2026

Where does things like OpenAC (unlinkability) and Self (ZKPassport) fit in this framework?

ZKPassport fits under Document based ZK, already mentioned. OpenAC fits with eu digital id, so this could go there too


**Universal:**

- Must not require a single canonical identity provider or central registry
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not clear.
Does it mean that 1 request cannot be solved by 1 provider? Or is it more that you don't, in general, see 1 universal identity system as a whole?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6


- Must not require a single canonical identity provider or central registry
- Must support credential revocation without re-identifying holders
- Proof generation must be practical on consumer hardware
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a lot of property we can list here:

  • Unlikability
  • Openness
  • Interoperability
  • Decentralized
  • ...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

| [zk-TLS](#c-tls-transcript-proofs) | Web2 data source | Notary + TLS server | Medium | PoC | TLSNotary |
| [On-chain attestation](#d-on-chain-attestation) | Trusted issuer | Issuer signing key | Low | Production | EAS, ONCHAINID |
| [Anti-collusion voting](#e-anti-collusion-voting) | Encrypted vote + ZK tally | Coordinator (decentralizing) | Medium | Pilot | MACI / ETHDam |
| [PCD framework](#f-pcd-proof-carrying-data) | Event/community | Attestation issuer | Low | Pilot | Zupass / Devcon |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe wa can replace this by POD2 -> https://github.com/0xPARC/pod2

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

- [zk-TLS](../patterns/pattern-zk-tls.md)
- [Selective Disclosure](../patterns/pattern-regulatory-disclosure-keys-proofs.md)
- [Co-SNARK](../patterns/pattern-co-snark.md)
A registry operator (institution, DAO) maintains a Merkle tree of approved members. Provers generate ZK membership proofs demonstrating inclusion in the tree and exclusion from a revocation tree, without revealing which leaf they correspond to. [Semaphore](https://semaphore.pse.dev/) is the most established implementation, using identity commitments as leaves and nullifiers to prevent proof reuse.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we specify trust assumptions regarding the operator?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

**Deployment:** EAS is production-grade across multiple chains.
**Limitations:** Issuer linkage: the issuer knows which attestations they signed, creating a linkability vector unless combined with ZK membership proofs over the attestation set.

### E. Anti-Collusion Voting
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this item be here?
Doesn't feel like it solves private-auth; it's more like using it to achieve private voting.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

- **ZK Frameworks:** Semaphore for membership proofs and exclusion proofs, Aztec Noir for custom circuits
- **Registry Management:** [Attestation infrastructure](../patterns/pattern-verifiable-attestation.md) (EAS, W3C VC, ONCHAINID), custom Merkle tree contracts
- **Identity Standards:** ERC-3643 for permissioned tokens, ERC-734/735 for identity claims
### F. PCD (Proof-Carrying Data)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above, PCD and Zupass are not under development anymore, but we can replace this with a mention of POD2.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

| TLS proofs | [TLSNotary](https://tlsnotary.org/) | PoC |
| On-chain attestation | [EAS](https://attest.org/), [ONCHAINID](https://www.erc3643.org/) (Tokeny), W3C VC | Production |
| Anti-collusion voting | [MACI](https://maci.pse.dev/) (PSE) | Pilot |
| PCD framework | [Zupass](https://zupass.org/) (0xPARC) | Pilot |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re Zupass here

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

| Category | Vendors / Frameworks | Status |
| --- | --- | --- |
| Merkle membership | [Semaphore](https://semaphore.pse.dev/) (PSE), [Iden3](https://github.com/iden3) | Pilot |
| Document ZK | [ZKPassport](https://zkpassport.id/) (Noir/Barretenberg), [Anon Aadhaar](https://github.com/anon-aadhaar) (Circom) | Pilot/PoC |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can mention Self, Rarimo

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed in 27cd9e6

@oskarth
Copy link
Collaborator

oskarth commented Mar 5, 2026

ZKPassport fits under Document based ZK, already mentioned. OpenAC fits with eu digital id, so this could go there too

Maybe we can link?

OpenAC is also used in other env but not public. Agree not production-ready, but it has key properties and is soon in pilot stage and EF/PSE is pushing it, so we can mention it with disclaimer IMO.


See detailed architecture and trade-offs in [**Approach: Private Authentication**](../approaches/approach-private-auth.md).

## 6) Open Questions
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we should again have the main question in terms of compliance. How the tech building blocks fit into a more global landscape.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont exactly understand, added a question if you wanted that, in 27cd9e6

@rymnc
Copy link
Collaborator Author

rymnc commented Mar 5, 2026

ZKPassport fits under Document based ZK, already mentioned. OpenAC fits with eu digital id, so this could go there too

Maybe we can link?

OpenAC is also used in other env but not public. Agree not production-ready, but it has key properties and is soon in pilot stage and EF/PSE is pushing it, so we can mention it with disclaimer IMO.

fair, addressed in 92da634

@rymnc rymnc requested review from Meyanis95 and oskarth March 5, 2026 10:42
- **Openness:** proof systems and verification logic must be open source and auditable
- **Interoperability:** must work across credential formats, chains, and verifier implementations
- **Decentralization:** must not require a single canonical identity provider or central registry
- Must support credential revocation without re-identifying holders
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this adopt same formating as previous bullet points?

@rymnc rymnc merged commit 53cf0db into master Mar 6, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants