I think servers should just become routers/relays, with data and logic stored within nodes/peers. I never thought this was viable until a realized how well nostr relays worked as a NAT workaround.

this is just a half baked idea but there might be something to it.

I like the store-and-forward functionality of nostr without the permanence. Some kind of p2p protocol with state. Maybe im talking crazy. Ill stop now.

Reply to this note

Please Login to reply.

Discussion

I like servers if mine.

The only thing that makes a server a server is that it has a port open to the internet. If more clients could open ports then you wouldn't need a server. But since mobile networks all use heavy nat firewalls and everybody is on mobile now, prob not gonna happen. Take a look at coturn though, it's probably what you want to put on the server if you don't want relay servers to have to store anything.

🤔🤔

I feel you. I get hung up on the permanence of event data today, or maybe lack of explicit impermanence?

we effectively have a decentralized event bus with persistence, that lacks delivery guarantees. we can build small functions and views on top of this to create pretty much anything. peers come and go, updating the state.

I think it would work for most apps.

Thinking through what you might lose… 🤔

Search, discovery, and history unless you created centralized caching and indexing services (like how primal is now doing).

A single source of truth, like say for commercial systems where you don’t want to sell more products than you have.

You also might lose that dashboard of engagement metrics that most content creators are used to getting (which could hold back distributed P2P publishing from mainstream adoption if influencers are addicted to their ego stats).