pull down to refresh

Thanks for sharing the thought provoking summary of the world's largest man made networks. One possible inclusion would be the SWIFT network which includes 11,000 financial institutions. source

oh, very cool idea! You reminded me that I could include several industries that have global branches:

  • All couriers (Fedex/UPS/post offices)
  • The banking system (all branches)
  • All fast food franchises (McDonald's/Subway)
  • All gas stations (this is really just another type of node on the highway network, but it's probably a better metric for how large the freeway system is than just counting all major cities)

Someone else reminded me that I should have included bittorrent, and after looking up bittorrent stats I found it's bigger than all the other networks by several orders of magnitude: over 126,000,000 bittorrent users run the equivalent of a bittorrent node. And you might think "but almost all of those are just users, they aren't transmitting other people's messages" -- you'd be wrong because they are!

That's one of the brilliant things about bittorrent. The standard clients support a feature whereby, if you are downloading a file, you also automatically share the parts you've already downloaded to anyone who requests them. Brilliant! It turns "normal users" into "node runners" by default. I want to do something like that in bitcoin too. (Just have to think of an equivalent thing to do. Maybe a block explorer where, if you look up a block, you also start sharing that block data with other users of the block explorer, if they request it.)

reply
That's one of the brilliant things about bittorrent. The standard clients support a feature whereby, if you are downloading a file, you also automatically share the parts you've already downloaded to anyone who requests them. Brilliant! It turns "normal users" into "node runners" by default.

This is, IMO, how nostr should have been designed. We have DECADES of P2P software to build on top of and so often nostr is just re-inventing the wheel. Among these softwares, some of which basically offer identical features to nostr, nostr is not more private, secure, or decentralized. And instead of building on and expanding existing networks, we instead decided to make a brand new one. If you're curious about these existing softwares, read about I2P, Freenet, Hyphanet, and the various darknet and mixnet softwares of the 2000s. etc.

In nostr, every user should be a node, but instead, for some reason, nostr devs decided to centralize things around relays. Notes are so small, even an entry-level android phone could store and route tens of thousands of them.

reply
how nostr should have been designed

Have you checked out Pubky? I'm told they did it right

nostr is just re-inventing the wheel

If something is good to invent, more people should invent it

Reinvention is good for the soul

for some reason, nostr devs decided to centralize things around relays

The reason is simple: it's easier

We do not choose lazy-friendly design patterns because it is smart but because we too are lazy, no cap

reply
Have you checked out Pubky? I'm told they did it right

I haven't thanks for the link I'll give them a look.

The reason is simple: it's easier

Is it though? It is easier or simpler than the basic gossip protocol that Bitcoin uses? Because that's pretty similar to how many of the other P2P systems work.

reply
thanks for the link

Pubky link

It is easier or simpler than the basic gossip protocol that Bitcoin uses?

Nostr is, yes

To connect to and communicate with a nostr relay, you write about thirty lines of code, and if you want to connect to a different relay, you only need to change one of those thirty lines of code -- the others remain the same and your app's functionality does not change

You do not need to ask for peers

You do not need redundant connections

You do not need to ping for liveness

You do not need to randomize your connections

It is much easier to make a nostr client than it is to make a client for a p2p system

There is a reason why the client-server model dominates over p2p models in every lazily-designed system. And nostr is the simplest client-server system I know of with this property: to pick a new server, just change one line of code, or make it a variable

That is not to say nostr is better than a p2p system

Only that it is friendlier to lazy devs

reply