All nostrdb nodes (damus ios, notedeck, damus.io) are caching nodes. They have the ability to collect notes and note stats incrementally via relay hints. There is no single “global” view of the network, it’s a much more accurate reflection of what nostr is and how it works under the hood. With negentropy, you will be able to sync between any two nostrdb nodes.

This is true for the rust nostr-sdk as well (it’s even further along dev wise) but it may not collect note stats (like/zap counts , etc) like nostrdb does.

This is a really cool vision of the future of nostr: massive redundancy for nostr notes spread across millions of devices. Every device is a potential cache.

They tried to build internet v2 this way (ICN/CCN). We are way ahead of them with a practical implementation of a store and forward, information centric network. The only thing missing is an overlay network for linking nodes, but people can continue innovating on that front once we move beyond websockets.

Reply to this note

Please Login to reply.

Discussion

👏

Complicated stuff eh , to transform from traditional fetching data collection based on IP address into fetching data by data identifier without IP address . Is data centric address working as an IP address for the data ?

you can imagine sending out a REQ into some gossip overlay network, if there is some node willing to service that request it could initiate a negentropy sync with you.

The ideal scenario is:

1. send to immediate subnet to see if there are any other devices on my network who can service it

2. send it into some wider local area network

3. reach out to gossip on the internet

4. reach out to oribtal relays to see there is anything cached off planet..

5. reach out to the mars relay to se... ok getting silly but still

Maybe ICN can even help is here somehow if that ever gets implemented.

One thing that comes to mind is having TTL on the packet to limit the reach of each tier of request.

Let's say you send out N REQ packets, each with different TTL. Then at the router where the packet is about to expire, the router can see if there are any nearby nostr nodes to service the request.

All this would require is new kind of IP protocol outside of the regular ones (TCP, UDP, etc) so maybe this is a bit far off for now 😂

Hmm like “In Gossip network Caching “ man can cached any node on that gossip network something like that , can fetched data faster and faster reload origin … no?

Forget mars .. you silly

yes it would mean that your node will get synced as quickly as possible with nodes closest to you.

if you get data quicker from local nodes, the negentryopy sync at furhter and further layers would return less and less data, assuming closer nodes already have the data

May sound silly after 4 but I very much like that idea!

I realize this is basically multicast but you can't multicast to the wider internet.

I'm going to at least try with the local network (eventually) and then look into overlay networks for the wider internet

now that I think about it, any nostr node could join a nostr multicast group via IGMP. Then anytime you post, it could be sent to alls other nostr nodes on your local network. you wouldn't need internet relays for corporate networks. your nostr apps could communicate on your local network without internet.

would be a cool tech demo.

This would be cool to demo at a Nostr unconference 😁

Nostr conference ? Where when ?

#Reticulum Network is the overlay protocol you are looking for:

https://media.ccc.de/v/38c3-reticulum-unstoppable-networks-for-the-people

🤝🤝🤝

ok I will look

Wow I just read this , so

It’s cryptograph based networking stack

Under the radar of corporate alias very secret

Doesn’t use source address

All encrypted , any unencrypted transmission will be invalid .

Faster

Hmm sounds very interesting 🧐

The off planet stuff makes me think of IPFS

The potential of Nostr is very exciting!

2 years ago i was working on such idea to make a p2p overlay network over nostr for syncing. since no one paid attention i thought probably its a dumb idea and i stopped it.

more:

spec: https://github.com/zurvan-lab/IPNN

a repo which was intended to be the implementation (kind of empty repo): https://github.com/zurvan-lab/redvin

note: you may see im using libp2p in my spec which is awful. back then i was obsessed with ipfs and these kind of stuff and i maid this mistake. if i start it again, it would be a custom protocol probably, much efficient and of course a working one.

> The only thing missing is an overlay network for linking nodes, but people can continue innovating on that front once we move beyond websockets.

And then a miracle occurs.

what do you mean?

The overlay network is the hard part, maybe start with that.

got it. yes. anyone can start this idea again...

I think local multicast is easy and obvious at least. Almost have a working demo

first time hearing about this. let me do some searches...

I don't think this has anything to do with my notes on p2p. I like p2p, p2p is good every time it is possible. Direct syncing between specific devices is such an instance.

got it. so do you think working on this idea worth the time and energy required?

I wouldn't put it at the top of my priorities for Nostr at this point.

makes sense.

What are your priorities?

1. Always remember to reboot my computer when the microphone isn't working;

2. Have more Nostr apps that work well and correctly available for new users;

3. Get the multisig FROST NIP-46 bunker thing working for onboarding and for allowing people to use many microapps recklessly without risking their keys.

you think clients are more important than relays?

i mean implementations.

considering a long term view.

I remember the forum days of BBCode and how we were able to add tags for bold, underline, hot link images, ect.

#Reticulum Network is the overlay protocol you are looking for:

https://media.ccc.de/v/38c3-reticulum-unstoppable-networks-for-the-people