this post was submitted on 01 Mar 2024
42 points (85.0% liked)

Technology

59534 readers
3183 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

cross-posted from: https://lemmy.zip/post/10816479

So I was thinking about what if we could make a network that the only thing you needed to connect to it is to directly connect ( through wires or directed wireless antennas ) to at least 1 computer that takes part in it, with no centralized node of any kind. For that we would need a whole new protocol and address system. THIS IS JUST A THING IN MY MIND TO TALK ABOUT. I AM NOT ADVANCED IN THIS DOMAIN.

At first I thought at making groups of 256 nodes so that every node inside of that group knows every other node. A node will know nodes's group address that until now are just 2 hexadecimal digits like "D8" and the location address. A location address means what path to take to connect to any node, a location address for 98 would be "connect to 63, ask 63 to redirect message to A9, ask A9 to redirect message to CF, ask CF to redirect message to 98". Messages between a groups nodes would be all encrypted and all steps of the location address would be encrypted for each node in part.

Now every node in a group can send encrypted messages to anyone else in that group.

Now lets say that another node wants to connect to that network, but the group is already 256 nodes: That node will create another group. The first node of a group picks a random 2 digit hexadecimal address for that group. A node knows at least 1 computer's location address from every group. Untill now addresses are like "D8.01" D8 is a computer's address in a group and 01 is that group's address. 256 groups will create a kilogroup, each node knows at least 1 computer's location address from every kilogroup. Untill now addresses are like "D8.01.8F" , 8F being the kilogroup's address.

This thing can scale ever more, creating megagroups, gigagroups etc...

If I wanna connect to D8.01.8F then I first connect to a node that I know is in the 8F kilogroup, that node will connect to a node it knows in the 01 group, and that node knows D8 directly so it will connect to him and give him message, this kinda works like a DHT, wich me sending the message to the closer node I know to the destination node

Now this is very very far from perfect or usable, what happens if 2 networks grow independent and when they connect they have the same addresses? What if someone wants to sabotage this with a fake node? The location is also not very private.

Can this get better or even usable? Do you have any ideas or just want to discuss this?

all 11 comments
sorted by: hot top controversial new old
[–] Brkdncr@lemmy.world 17 points 8 months ago

IPv6 and mesh wireless networking already exist.

A while back you could flash a linksys router with firmware that would participate in a mesh network like you’re talking about. It didn’t take off because of distance limitations.

The internet started in this manner.

BBS was(is) sort of like this.

[–] Dalraz@lemmy.ca 16 points 8 months ago (1 children)

Will not exactly as you explained and other have already pointed out this type of network exists. This may peak your interest.

https://meshtastic.org/

[–] DABDA@lemmy.world 4 points 8 months ago
[–] rmuk@feddit.uk 9 points 8 months ago (1 children)

Take a look at FRIEFUNK, a cooperative mesh WiFi network covering a number of cities in Germany. They primarily use firewalls running OpenWRT with the mesh handled by the amazing BATMAN project, which presents a standard network interface for IP traffic to run over. I'd love to live in a city where this kind of thing is possible.

[–] Fisch@lemmy.ml 2 points 8 months ago* (last edited 8 months ago)

Is it FRIEFUNK or FREIFUNK? The latter would make a lot more sense as it's an actual word

[–] Zachariah@lemmy.world 8 points 8 months ago

Next you need to invent a compression engine with a 5.2 Weissman score.

[–] AA5B@lemmy.world 7 points 8 months ago* (last edited 8 months ago)

That description looks a lot like Ethernet in the early days, down to the network hubs and even the beginnings of routing. It worked great when there were dozens or hundreds of computers, anfpd you mostly connected to others in the same lab

But how do you scale it up to todays global network with billions of devices? First you’ll need separate routers instead of some devices getting bogged down repeating stuff. Then you’ll want faster links connecting far away points, or reducing the vast number of repeaters. You’ll want better ways to provide all sorts of services to many people. Maybe you’ll realize that an address space that in theory can reach 2 billion devices is just not enough. Maybe you’ll need to add ways for time sensitive operation ps to be on time, or ways for huge operations to still allow others. Eventually, you might get to todays internet

[–] towerful@programming.dev 5 points 8 months ago

Have you described IPv4, subnets and eBGP?

A subnet defines a group. A group knows how to talk to eachother.
A node is nominated to be able to talk to other groups (the gateway). If that node doesnt know how to reach a destination, it sends it to its super-groups gateway.
At some level of scale a gateway-node might have multiple upstream gateway paths, where if a destination is part of group a it sends it to the gateway it knows can handle group a. Which is essentially a very simple BGP.

Its just that instead of dedicated hardware doing the routing, you have everyones computer doing it

[–] BlueMagma@sh.itjust.works 3 points 8 months ago

You should have a look at maidsafe, It's not at the routing level, but it is a decentralised internet, that might sprout ideas.

[–] BurpBlog@lemmy.world 3 points 8 months ago