Decentralization is a hard problem to solve. Here I’m going to talk about a few forms of Decentralization. When you are forced to trust, when trustless systems start to become burdensome and how finding a deliverable involves a different form of trust than the deliverable itself. I’m going to be as factual as I can be since I am not an expert on the subject though its something I’ve thought a lot about. Consider this more of an intro to decentralization.
Decentralization of the Internet
Inorder to understand the decentralization of the internet we need to assume a few things
- Electricity is free (whether personally generated or taken from a source)
- Every Person has a wifi (or every ‘zone’)
- Each wifi extends just enough to contact other nodes
And there you have it. now this isn’t a ‘decentralized internet’ just yet, we also need domain names. This is done by a trustless ledger allowing the reservation of such names, probably associated to an economy of some sort. However, there exists a new problem, how do you get an IP address?
Before IP addresses were designed with location in mind. Each part of the ip homing in on a part of the world. However, now that we have become decentralized, how do we organize IP addresses?
- 8 Parts of the Earth – Right off the bat, splitting the earth into 8 triangles makes things very very simple
- Triangulation – Each of the parts can then be split into smaller and smaller triangles. Ideally 4 equilateral triangles until we find our local node
- Local List – When the purchase has been made, the node knows which connection / wallet made the purchase. In knowning this, it can very simply deliver the information to the correct computer.
But this implies we have all money and all technology available to us, which we don’t. So instead we would likely have to have a much more disorganized method.
- Tell all connected wifi nodes about my request
- Recursively – nodes tell all their peers (connected wifis)
- Event – Correct Peer is found
- A record of the pathway from current node to originator is noted.
- A response is then sent back
But how do we know who the correct peer is and who isn’t? By issuing a public key, a situation can be made where only the one with the private key knows how to decrypt it. However, there needs to be an additional location based or peer based signiture associated to it, otherwise it can be brute forced.
How do you create a node that is peer based?
- How many of your connected peers are connected to eachother?
- How many peers to each of your connected peers have?
- What is the number your peers gave you when you entered?
- How many of your peers have reached maximum registration?
- How far until no more unique peers are found?
- What is the biggest loop that can be made?
- What signiture did your peers give you?
If a node goes offline then online
- When you created a peer, what was your signiture?
- What were the signitures of your creators?
- What was the signiture they gave to you?
This involves a lot of trust which may or may not be possible in some certain situations. Ideally these will be unique. They likely will be so long as everything is counted and direct connections update their identities often. This has been a fun thought experiment but there is much more to discuss and diagrams to make