-

@ Nuh
2025-06-09 16:05:42
Message passing is the paradigm of organising your architecture as actors sending messages to each other, as opposed to say a central hub that everyone writes to and reads from.
Email is Message passing for example, whereas Nostr is a shared heap of data.
Message passing doesn't scale because you need to send n^2 messages (each email server will need to send a message for each other email server mentioned in a thread).
Shared heaps scale because instead of the (many to many) that results in an n^2 messages, you have a (many to one to many) so you need 2*n messages (from each client to the relay, and from the relay to each client).
Of course that ignores another important downside of message passing which is lack of global view, which henders statistics and engagement signals etc... but that is another topic, although it also relevant because if `n` is so small, it is cheaper to do this aggregation and counting on client side.
So it all comes down to how much scale do you need, and there is always a threshold after which you are doomed to be centralised because ...costs and incentives don't match any more for more than few services that can monetize somehow.