I have been thinking about something. Some time ago I was reading about wireless mesh networks. I stumbled at something called batman-advanced that is essentially a self organizing wireless (and also handles wired connection). It routes packets efficiently and handles moving nodes. It is unfortunately (or may be not) layer 2, so basically it acts as a layer two router and needs some kind of integration with IP (which becomes very strange since all the devices in the mesh network are basically in the same subnet). (I haven't played with any of this, i have only read how this works and watched a few videos of people playing.)
So I am wandering is it theoretically possible to create a self organizing wireless (and wired, it should handle it automatically) network that spans big cities, countries or originally the whole planet? I see two challenges:
  1. It seems like the devices will need some kind of a routing table that includes all the other devices in the world. This seems very unscalable. Can the same be accomplished in some other way?
  2. There should be routing incentives. Can the current or future functionality of bitcoin, lightning, ecash or some other thing accomplish some kind of micropayment where each hop along the way is paid? Has something like this ever been implemented?
167 sats \ 4 replies \ @Zk2u 28 Aug
I was thinking the other day that we could replace IP addresses with public keys if we made something like BGP and you signed your announcements/connections with peers. I.e. peer A could announce “peer A is connected to peer B” and attached would be peer A and B’s signatures. Scale that up a bit and you have a sort of validating mesh network. The problem as you said is scaling the routing table. If you had random keys then you couldn’t really optimise using primitive methods. BGP announces IPs in blocks, not individual IPs. So something like 1.1.1.1/24 would cover 1.1.1.1 through 1.1.1.255. The 24 is the “prefix” bit length that doesn’t change.
That is great for efficiency, but obv this is more difficult to do within a mesh network. Maybe I’ll post some more if I think about it any more
reply
this was already developed. Read about cjdns.
reply
21 sats \ 0 replies \ @Zk2u 28 Aug
cjdns
Yh. They seem to have dealt with the routing issue with a DHT, but I’m sure there are other methods of doing the routing.
reply
Hm... I quickly looked it up. Can it work with direct physical connections? It seems to rely on establishing connection manually (not good at all) to other peer over the internet (which means over your ISP, which I explicitly wanted to avoid). It seems to use source routing. Does that mean that a global network would require every device to contain a graph of billions of devices and their connections? How would that work? It doesn't seem to have incentives for routing built in. While I don't really expect currently anything like this to be implemented, I really think that some kind of pay hop payment (per packet or in some other manner) will be needed. And I would like to see even a theoretical suggestion on how this can be accomplished.
reply
To answer part of my question... This thing doesn't use source routing and it seems to use some kind of routing that uses numerical difference between addresses between the addresses themselves to somehow route the packet... I think I am too stupid to understand how this works...
reply
Project meshnet has something similar and it works using IPV6. We can use this idea in conjunction with LORA or Low Radio.
reply