Skip to content

Conversation

@steliosrammos
Copy link

This a three-part proposal for creating fully anonymous identities and private likes/views on Nostr, using ZK-proofs.

Part 1: Anonymous, PoW-based identities

The motivation behind this is to have:

  • Fully anonymous identities on Nostr (with no correlation analysis possible)
  • Sybil-resistance so these identities cannot spam events without cost
  • Identity-level PoW (instead of PoW for each event), which can be upgraded/accumulated over time

This is covered by NIP-X.

Part 2: Anonymous Likes/Views

With the anonymous identity primitives, we could then have certain anonymous actions published by those identities. Think:

  • Fully private likes
  • Fully private view statistics.

This is covered by NIP-Y.

Part 3: Bitcoin-fee-based Identity PoW

Finally, I am proposing a way that you could replace PoW with a provable Bitcoin-based fee payment, which does not involve burning Bitcoin, in NIP-Z.

Caveat

All NIPs are mostly conceptual. They rely on ZK-proofs and I am certainly not a ZK-proof expert to do a thorough analysis to know if this is feasible in practice or not.

There are certainly trade-offs with this approach, like a degree of centralisation around MRPs and complexity for clients. My hope is that the discussion can clarify those trade-offs, take what's useful/doable in this proposal and leave out what's not.

Updated the document to reflect changes in terminology and clarify the scope of actions.
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.

1 participant