Comment by rm30

1 month ago

I don’t take concepts as a 'full package'. I evaluate what is worth taking based on the requirements. The brilliant part of FidoNet is the asynchronous persistence.

In a 'sea of supercomputers,' a real-time mesh (like Bluetooth) fails because it requires an end-to-end path right now. Store-and-Forward allows a node to hold a message until it 'sees' any valid peer, turning every 'meat-bot' into a mobile post office.

My main concern with this entire discussion is the reliance on Bluetooth to achieve the result.

If we truly want to build a free and open intercommunications system, we must put all ideas on the table, establish clear targets (a doomsday system or inviting a friend for a drink), and evaluate what is truly available versus what is not.

Only from that foundation can we begin to define a project that survives the real world.

Yes. There's a lot of things to work out.

Here's one scenario:

Node A has a message to send to node H, but A is disconnected (no peers). Node A stores this message for eventual delivery.

Eventually, node K (ie "any valid peer") appears. Node A gives them the message that is intended for node H and rinses its hands of it.

Does node K's possession of this message actually improve the odds of node H ever receiving the message?

  • In theory, yes. There are now two nodes with the message for H.

    In practice? A and H might live in the town and K might be just visiting for business, they might never come back.

    • Well, no: In the scenario I outlined, there's now still just one node with the message for H. A passed it to K, and promptly forgot about (having passed it along to "any" valid peer).

      ---

      In your scenario, both A and K store the message for H -- suggesting replication (or perhaps, redundancy) by visiting peers. And maybe replication is OK.

      It seems obvious that it can spiral out of control, but our pocket supercomputers do have a fair bit of bandwidth even at Bluetooth speeds, and flash memory is very cheap and available (a gigabyte of flash can hold a lot of short-ish text messages and costs very little).

      So the network can afford quite a lot of replication in an effort to promote distribution -- and maybe that can work. Maybe the message isn't stored by just A and K, but also E, I, O, and U because they happened to stroll by and see the outbound message for H.

      But there must be limits, if for no other reason than without limits then any single bad actor can ruin the whole works by exceeding the bandwidth and storage capabilities of the network.

      These limits could be hop-based, or time-based, or geography-based, or any/all of the above.

      Suppose a message lives until any of 50 hops or 5 days or 50 miles is exceeded? Yeah, maybe something like that works. The capabilities can be mathed to find some version of "ideal," and probably enforced somehow to prevent bad actors from doing too much bad stuff.

      (But we're very rapidly straying very far from Fidonet's normal distribution behavior here, and dismantling that concept was the main crux of how I got to thinking about these things may theoretically work to begin with.)