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
this was already developed. Read about cjdns.
reply
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