This afternoon a few workmates and I discussed domain names and whether the internationalization of them was a good thing or a bad thing. Through a convoluted series of arguments I found myself defending a ridiculous point of view: that domain names should be restricted to fewer characters than currently, rather than more.
As stupid as this sounds, it was based on some reasonable arguments, which I won’t go into because they’re clearly ridiculous; but still fun to argue. Also, it’s because I’ve found a much better solution.
During the bus-ride home, I came up with a way to fix many of the problems of the DNS, together with the ubiquitous problems inherent in domain-name registration in one go: get rid of domain names altogether.
Hear me out before you scoff.
While I was mulling this over, it became apparent that not only was this the correct next step, but it was already starting to happen.
It’s probably easier to explain what I’m trying to express by giving real-world examples of how domain names are already being rendered pointless.
- You need to visit “My Big Assed Bank” – how would you get to their site without domain names?
Well, how do you do it now? Do you type their “correct” URL into your browser? Or do you type their name into Google and click on the link? Maybe you click a bookmark? Either way, you don’t need to know their “real” domain name – especially as most of these hopeless organisations will bounce you to third-party “verification” systems en route to your final destination where you part with your cash. Domain names are currently ignored during this process. Even TLS (SSL) has been abused at this point with the use of iframes. “Verified by Visa” is one of the worst ideas ever produced – and it undermines the vast majority of sensible, effective, and cheap authentication mechanisms available today.
- How would someone be able to send you a link to an interesting site without a domain name?
Well, how do you do it now? Do you send someone a link and rely on them copying the text of the link and pasting into their browser? Or do you send them a blob of opaque stuff that they click on? Maybe you drag the link to the email? Why need an address when you can send an opaque “web site link object” (which could mean anything from an .lnk file, to a shortened URL) that they click on?
- What about advertising? How will companies promote their website without a URL people can use?
People don’t need a URL! They type the company name into Google! The technology to prove that someone has connected to the correct website is already available. It’s called TLS – and if banks understood it well enough to use it properly we would all be much better off.
- But URLs (URIs) are memorable! What would we do without them?
Do you know your friends’ cellphone numbers by heart? If so then you are in the minority. Most people rely on their phone’s contact-book – to connect them to the correct party. Why need the details of the address? Opaque addresses are not only feasible in this day and age, but widely used! If you’ve ever clicked on a bit.ly link, or scanned a URI from a QR code, you’ll understand what I mean.
But there is a fly in the ointment: HTTP currently gives a great deal of credence to domain-names when identifying websites. For example, a single IP(v4) address may host a thousand websites; the only way the web server knows which site you actually wanted is by the domain name you requested. But, like NAT, this is a workaround for the inadequacies of IPv4. When IPv6 actually comes into play, this need is obliterated. There will be no need for people to know the address of the server to which they are connecting. Already, when you go to google.com, you have no idea, nor any reason to care, which IP address you are connecting to. And why should you care?
The DNS is tightly tied to IPv4, which is on its way out. Let’s ditch it once IPv6 becomes as ubiquitous as it bloody-well should be by now.
People don’t need domain names, they need “links” which can be abstracted as much as you like. URI’s need to stick around, obviously – but they work perfectly well without DNS.