makeasnek's avatar
makeasnek 9 months ago
Sometimes my client has to go "find" a note from a random relay, often because my relay got the "re-tweet"/reply but not the original. There's no reason a relay should be needed for this operation, a DHT like a magnet link or IPFS would work fine. I assume event IDs aren't hashes, but given that they are signed, you have a similar way to verify authenticity of the note.

Replies (6)

you can store events in any file system with their ids if you separate signature and event data event consist of following: event_id = sha256([...event_data]) signature you can calculate ipfs cid instead of sha256 event id and find event from ipfs: cid([...event_data]) if you include signature in some place else, you can have full event: https://ipfs.io/ipfs/event_cid#signature where curl https://ipfs.io/ipfs/event_cid finds event data without signature problem is that if you know event id as sha256 hash, you cannot derive ipfs cid for event. i dont think you can really find event from ipfs without specifically telling that ipfs cid within an event.
makeasnek's avatar
makeasnek 9 months ago
well then, guess we don't need relays to store them, only to keep track of their existence. And storage/delivery can be done by nostr relays, fully P2P, via DHT, IPFS, or any other hash-based storage table.
makeasnek's avatar
makeasnek 9 months ago
fair enough. I've just seen plenty of fully-functional P2P protocols over the years and don't think centralizing around relays is necessary or good. I love a lot about nostr, but not that part.
for what its worth, I also prefer true p2p networks where each user has/is a node/server. but I have an even stronger preference for open protocols and I haven't yet seen a p2p network that a considerable number of people care about and use daily that is ALSO built as an open protocol. I have some ideas for slowly increasing the ratio of relays:npubs on nostr... it might not ever get to 1:1