This is a purely speculative question. In the real world, IP addresses are allocated by a central authority, the Internet Assigned Numbers Authority. I wonder how the address space of IP or a similar protocol would be allocated in a free-market world. Or maybe the analogue to the internet in such a world wouldn't use such a protocol, but something completely different? I'd love to hear others' thoughts on this.
The keyboard is mightier than the gun.
Non parit potestas ipsius auctoritatem.
To add to this: Cato published a paper some years ago that presented a homesteading method for radio broadcasting. It consists of three elements: transmitter location, frequency range, and signal power. AFAIK, the Internet Protocol presents only one definite scarce resource, namely the global address space (in IPv4, 32 bits; in IPv6, 128 bits).
The basic building block of a dynamic network - such as the Internet - is the routing table. IP addresses basically permit each node in the network to answer the simple question "which way do I send this packet?" Think of postal mail. At each post office, the postmaster must determine whether his office is the final destination for each piece of mail or whether it has to be sent further on its way. Since he does not have a direct connection to every other post office, he must forward the piece of mail in the right direction, such as North, South, East or West, where it will be routed further. For example, if a piece of mail from LA arrives in the Boulder office, destined to New York City, the Boulder office may choose to send that piece of mail eastward to Philadelphia for further routing.
This is what Internet routers do and they use routing tables to automate the process. Whenever a packet arrives, the router will inspect the IP address of the packet and compare it to the routing table to determine which direction to forward the packet. From a propertarian perspective, it should be obvious that there is no need for a central authority at all, as all the owner of a router needs to do is subscribe to an IP-address lookup service - the equivalent of a privately-printed phone book.
The Internet as it is currently built is a bit of a death-trap. As is the case with roads, there is a false presumption among the Internet community that basic services - such as routing services and maintenance of IP-tables - was, is and always will be free... for no particular reason except it has always been this way. The problem with IP-address scarcity is a by-product of this tragedy of the commons, created by ICANN, the meddling of corporate giants, and doubtless the hidden hand of public agencies. Peer-to-peer services have long ago solve these problems without any need of central look-ups and issuing "authorities".
I was hoping you'd reply to this, Clayton, because I know you're a fellow computer guy. And you didn't disappoint.
You're absolutely right about routing tables. Are you suggesting basically something like DNS at the level of routing? That is, applying routing directly to human-readable names as opposed to numbers?
From what I understand, numbers have been used for IP addresses because they're more efficient for computers to work with. Human-readable names are "messy" by computer standards, as they don't necessarily have a fixed length (or, if they do, it has to be much longer than four bytes to be very meaningful). Then again, maybe it doesn't matter whether numbers are used under the hood, if the routing services are operated on a subscription basis. Certainly there could be multiple routing protocols used by multiple companies, and that would be largely or entirely transparent to the end consumers.
This is an interesting topic, and I don't have the knowledge to speculate here. I just wanted to say I hope you guys continue the discussion as I am very interested in what you guys have to say about it.
@Auto: All you need is a wide hash function... something that produces 128-bit or greater hashes... problem solved. The odds of hash-collision in the 128-bit region is calculated in one paper I read (Google "extendible hashing", look for the original IBM labs paper) to be 10-15, which is rarer than hardware failures. However, to be on the safe-side, we could easily bump that up to 256 bits with no appreciable loss of performance on modern systems and if I'm not mistaken, the probability of collision should then go to roughly 10-30, which is about 10 billion times less probable than two people choosing the same star in the visible universe at random (according to Wiki).
It sounds like such a wide function is essentially identical to a GUID implementation. At least theoretically, the probability of two 128-bit random numbers matching is 2^-128 or ~3*10^-39. The issue I have with such an identifying system is that it's entirely non-hierarchical. The vast majority of IP addresses are actually split between network prefixes and host identifiers. Per the notion of classless inter-domain routing, this split can exist anywhere within the 32 bits of an IPv4 address or the 128 bits of an IPv6 address. Routing tables use this hierarchical organization of the address space to make routing more efficient - instead of having to remember routes for every computer on the internet, they just have to remember routes for different (often large) groups of addresses. (You're probably familiar with all this already - I'm mainly explaining this stuff for people who might be reading.)
I do not believe that this is as difficult as it sounds. The reason is that although the internet is not owned, the cables, routers switches ect. are owned. It is these owners who would have to come to some sort of agreement on how to allocate domain names, IP addresses, etc. to satisfy their customers, namely the end users. Even without force, these organizations managing all of this would still have to work together as their consumers would demand it.
although the internet is not owned, the cables, routers switches ect. are owned.