- SurvivalBlog.com - https://survivalblog.com -

“Internet” Without Infrastructure – Part 2, by R.H.

How the Network Works

Basically, as soon as people start transferring files between computers, a network of sorts exists. A complex system can then be developed to get information to the right place as quickly as possible and keep everything running smoothly and efficiently. This is what the Internet does now, using millions of powerful computers and extremely complex software.

There is a much simpler way of building a network that requires only the basic technology items listed above and the adoption of a few very simple standards and rules. All we need, basically, is to get a given “file” from point A to point B. If you multiply that by millions or billions, you have a very useful network. The first problem is, how do you identify point B? The second problem is, how do you find a path from point A to point B? The Internet has a system for doing this very efficiently, by having a central registry of addresses and each computer knowing all of the computers that it’s connected to and having a system for finding the shortest distance between points. We are solving a different problem entirely. Sure, it would be nice to have the kind of speed and efficiency that comes with a “real” network, but failing that we just want our communication to arrive as soon as possible. In some cases, next week or even next month would be great!

Let’s say that point A is Sam and point B is Joe. In a TEOTWAWKI scenario, we can’t count on any email servers or text messages. Worse, after TEOTWAWKI, we don’t necessarily know where either Sam or Joe is located, and we don’t know if either one still has a working computer. It turns out that all Sam really needs is a unique address for Joe and the network I am about to describe. As an example, we will just use Joe’s pre-TEOTWAWKI email address as his unique address. There are better ways for Joe to create a unique id for himself, which we’ll cover later, but this will do for now. After all, nobody on the planet but Joe has that address, so it is a unique address. Sam creates a new text file using the computer notepad (or TextEdit on a Mac). He gives the file a universally-unique name (unique across the universe or at least across the network) that starts with the destination address. For example, it could be “Joe@gmail.com-jd8ifdf.txt”. The “-jd8ifdf” part of the filename is just some random characters that were “made up” to ensure that the filename is unique; it could have been anything. Sam puts the file into a “pouch”, along with hundreds, thousands, or millions of other files. If Sam doesn’t have a computer, he contacts his nearest “Postmaster” (anyone with a computer and a willingness to help). In the course of his duties, the Postmaster seeks out as many other Postmasters as he can, and they all swap files by copying from pouch A to pouch B and then back to pouch A, ignoring all duplicate filenames. This results in a “merge” of all files on both pouches. Even if many of the files already existed on both pouches, that doesn’t matter; we now have a copy of each file on both pouches. Each of these Postmasters, in turn, seeks out as many other Postmasters as possible, swapping files with them in the same way. This is why the filenames need to be universally unique; if not, one of the messages won’t get through; it will be “dropped” somewhere along the line. This is “Six Degrees of Separation [1]” in action. Depending on the interconnectedness of communities, it may well take more than six of these Postmaster swaps, but eventually Sam’s message to Joe will be all over the country. No matter where Joe is in the country, all he needs to do to find his message is find a Postmaster. The filename of his message always starts with Joe’s address, so even among millions of files, this is not too difficult. All Joe (or a Postmaster helping him) needs to do is a simple search, or sort the files by filename, and go down to his address.

Similarly, blog entries can be posted by the author using the name of the blog, the date, and a unique suffix, like “survivalblog.com-2015-01-17-UYTRS.txt”. These files are treated just like other messages; however, instead of the recipient’s address, we have the name of the blog. Again, random characters are added at the end to ensure the filename is unique. Thus, anyone interested in a particular blog would just look for that address. There is a caveat, though. Anyone could post something to the blog, which opens the door to counterfeit entries and other problems. There are solutions to this that mainly involve encryption as covered later, but this basic method could be used initially. Depending on the diligence of Postmasters and the lack of saboteurs acting as Postmasters, this method alone could continue to work for some time.

There are a few more simple rules and protocols that must be understood by Postmasters in order to keep the system from getting clogged up or sabotaged. There are also much better ways of creating secure addresses and making messages secure, but the basic idea of how it works is the same. There are sure to be numerous complexities and enhancements that can and will be added by Postmasters over time, but the key ideas are:

  1. Messages are stored in small files.
  2. The name of the file is the destination address of the communication, plus some random characters to make it unique.
  3. “Postmasters” (anyone with a computer and a willingness to help) swap files (pouch A to pouch B, then back to A), combining all files together, and pass the contents of their pouch on to as many other Postmasters as possible. They also purge large and old files from the system, as necessary, to keep the network from becoming “clogged” with data.

Basic Techniques and Definition of Terms

Before discussing protocols, there are some basic techniques and terms that need to be defined.