So it looks like some Scuttlebutt folks have made a new protocol called PZP (previously PPPPP, which was a better name) and they even have a section in their docs about Nostr: https://pzp.wiki/guide/intro/#how-pzp-is-different-from-nostr
But aside from that the protocol seems to be pretty much like SSB, but with per-device keys and no strict need for a key to follow a single chain of notes. I can only imagine this makes the implementation much harder.
Do you have opinions @rabble @Matt Lorentz?
Thread
Login to reply
Replies (5)
I still think that one Identity key and multiple device specific keys isn't that complicated. It's what we have now, except you validate in-event identity claims, and when you see a new revocation event prune the disavowed device events.

GitHub
NIP-102: Subkey Attestation by ynniv ยท Pull Request #1450 ยท nostr-protocol/nips
This NIP defines a way to separate identity from authentication using hierarchical deterministic (HD) keys. This allows people to use one key pair ...
Anyone who's implemented NIP-09 is most of the way there already - revocation is just a deletion request for every event by that key.
I'm not an expert, but I did write NYSE's SSO
Sounds interesting, look forward to testing it out when its a bit more built out. One of the strengths of Nostr is simplicity, a user signed 5 field object is all you need to know. And if you want to get fancy, a websocket subscription and some event filtering.
> sig-chains - you know if you're missing content in PZP
You could do the same on nostr if anybody actually cared about this. Just include a "prev" tag with the ID of the previous message in the chain you're building. You could also have a "last" tag or something to indicate the chain is complete. Clients could render it as "message 3/9" or whatever, like people do manually on Twitter.
In fact, PZP's replication appears to *rely* on these hash chains, since it uses hash graph replication:
I did some analysis of this sync method and if you tried to use it for non-linked data you can easily cause it to degrade into a worst-case behaviour:
IMO RBSR/negentropy is better, one of the reasons being you can sync arbitrary collections of (unlinked) data, for example all kind 0 notes, or all notes with a certain hash tag.
Codeberg.org
pzp-sync
PZP replication using Kleppmann's hash graph sync
GitHub
GitHub - hoytech/automerge-poison
Contribute to hoytech/automerge-poison development by creating an account on GitHub.