BitTorrent Based DNS To Counter US Domain Seizures
torrentfreak.com
torrentfreak.com
You know, I'm not actually against that so long as I can verify the end site in some way. Perhaps all traffic over this .p2p network should be SSL? And perhaps someone somewhere can hold a verifiable list of certs.
Basically, who in this arrangement can I trust to route my request to the right site? How do I know they won't lie? I know that applies now too, but DNS is based on trust and that generally means the roots are trusted and they won't risk that trust. In this decentralised world, who can be trusted?
Also, I think the intent is that any solution to this would include a cryptographic web of trust. However, it's probably still going to be the case that by visiting any .p2p site you are accepting risk--just as visiting many seedy torrents on an unpatched browser is risky now.
Obviously you should use discretion when using it, but that doesn't mean it isn't a good idea.
Sure, most websites still live in the 90's where it concerns security, but with P2P it suddenly starts to become much more important to have proper authentication for both sides :)
Incidentally, I think that if DNSSEC ever gets deployed, you'll be able to verify records even after they have been removed from the "real" DNS. That will solve both problems at once... but of course, the Internet always chooses workarounds in favor of clean solutions, so don't count on this happening any time soon. (My house has IPv6. But nothing else does...)
"In this decentralised world, who can be trusted?"
Thats a good question. An equally good question is "In this centralized world, who can be trusted?""By creating a .p2p TLD that is totally decentralized and that does not rely on ICANN or any ISP’s DNS service"
Sadly, the acronym p2p is tied with media piracy. If this alternate DNS system relies on the .p2p TLD, ISP's will have an easy way to filter this traffic. Beyond simple blacklist blocking, similar to what Comcast is doing to Level 3, it would make more sense for ISP's to simply charge extra (a lot extra) to access the .p2p side of the Internet.
A similar conversation was had years ago around the .xxx TLD discussion. In the end, the Internet needs to be open and priced at a level where everyone can access the information contained within it. If the US, China, etc start to impose drastic, unresonable restrictions then we will have no other choice except to create alternate systems. Eventually, this will create a fragmented, disjointed Internet completely different from the one we are using now.
One can easily set up a .com or what-have-you that's also got a .p2p equivalent, e.g. "ChrisWSite.com" and "ChrisWSite.p2p" have the same IP address.
Regardless of the tech, it's the fragmentation that this sort of behavior causes that is the real problem.
"According to the project’s website, the goal is to “create an application that runs as a service and hooks into the hosts DNS system to catch all requests to the .p2p TLD while passing all other request cleanly through. Requests for the .p2p TLD will be redirected to a locally hosted DNS database.”"
We know what encrypted Torrent traffic looks like. We don't need to know exactly what is being transmitted, only that an encrypted torrent session has been started. Similarly, I'm guessing that we would be able to draw conclusions based on size, timing and flow?
In the music/movie industries wet dreams maybe.
Certainly, $ISP could block all BitTorrent traffic if they wanted to prevent this, but that would be a much different situation.
It's also worth noting that there are a number of alternate roots [1] out there right now (that use DNS, not BitTorrent) and AFAIK ISPs aren't trying to block them, either.
This line of thinking is very similar to what happened when the Gnutella network itself was formed. It was created as an alternate system to the FastTrack network. Nervous of the legal system, the decentralized network was built with a (still increasing) number of clients available.
In the same way that the Gnutella network further fractured the web, alternate DNS systems have the same capability, on a much larger scale.
In my mind, there is nothing wrong with creating alternate systems that work beyond the view of government agencies and the public in general. However, every time we do this, we create yet another fracture in the Internet that we know and love.
"The Net interprets censorship as damage and routes around it." -John Gilmore
In short, "encryption" was a really bad thing to call this, because many people believe encrypted BT connections are safe and encrypted in the traditional "you can't tell what I'm doing" sense.
For example, how will they protect against domain poisoning by someone hacking their client to send out fake entries which redirect a domain to something they own?
The only system I can see has to do with polling multiple hosts, taking the most popular response for a domain and routing that way, but then it is still something that can be overcome with enough machines on the network.
Using OpenAuth / OpenID / Facebook login etc. would mitigate the password problem.
The Bitcoin approach that I've mentioned looks basically like the following:
Basically, you use Bitcoin's block chain described here: http://www.bitcoin.org/wiki/doku.php?id=block_chain However, instead of using the chain for monetary transactions, you store new domain registrations in each individual block.
Now you just need a mechanism to fend off the domain squatters. Again, we can use an approach similar to Bitcoin (and to Hashcash): If you want to store your registration in a block you need to "pay" for this with some CPU power. So if you want to register a given domain you need to calculate SHA-256(domainname + data), where data is chosen in a way that the first X bits of the resulting hash are zero. So basically you need to use a brute-force mechanism to find appropriate data. If it, e.g., takes on average 1 week to find this data, this is acceptable for an individual who wants to register a domain, but (hopefully) too expensive for a squatter.
However one problem with this approach is that there's no incentive for someone to participate in the block generation. In bitcoin participation gives you Bitcoins which have a real monetary value. But I think creating some incentive shouldn't be too hard. E.g., it should be possible to couple the block chain to Bitcoin, so that generating blocks for the secure domain system also gives you Bitcoins (as a side effect).
That still would leave the system vulnerable to massive botnets where a blackhat can 'flip a switch' and point a domain at a different IP on hundreds of thousands of nodes.
It's an interesting idea and problem. The DNS system has always felt pseudo-distributed to me - not exactly centralized, but still limited in its redundancy.
The idea of making a torrent-based DNS seems akin to a starfish - you can cut off every limb at the root and not only will it not die, it will completely regenerate.
Cool, so, uh, /etc/hosts?
Tricking windows users still need to get around UAC to overwrite the file but most inexperienced users just click 'Continue' anyway.
However, instead of supporting standard registrations my idea was more similar to Tor's .onion namespace:
You first generate a RSA keypair and build a hash of the public key. This hash is your domainname.
Then you timestamp your zonefile and sign it with your private key. Afterwards, you store the result in a DHT under the key of the hash generated earlier. DHT nodes responsible for your data verify that your signature corresponds to your public key and that your public key corresponds to the hash.
As a last step you need a way to retrieve the data: The first possibility is to use your own local resolver on your PC that queries the DHT. An alternative would be to have several public resolvers that make this data available under different subdomains.
Supporting non-hash domainnames is somewhat harder due to security problems (if you want to have a fully decentralized solution). However, it might be possible to do this with an approach similar to Bitcoin's, where a block-chain is used to store transactions.
The power users run the DNS caches.
Nobody uses DNSSEC, so it's still easy to poison DNS caches. Power users know how to do this, and can "poison" the DNS caches with the correct entries instead of the government-sanctioned alternatives.
I'm getting some popcorn. This will be fun to watch.
I'm not sure if that's accurate - I believe source port randomization has made it extremely difficult to poison recursive DNS servers. I think a recent "successful" attack on source port randomizing showed it took them 7 hours on a 10Gb/s link to poison one A entry.
Think about how much bandwidth is used every day for downloading porn. Use 1% of that for poisoning DNS, and DNS points wherever the poisoners want it to.
This will not be significantly harder.
By connecting to this tracker, the translation from "www.someplace.com" to 12.13.14.15 (what the machine really understands) is done regardless what the ICANN dns says. No way to redirect to a "this page is closed" server, no web page can be cut off the internet. Check mate.
This game is far from over. Filtering web requests based on the requested host is enough to disrupt this, and even SSL requests send cleartext hosts (sadly).
I'd assume that anything of this nature needs critical mass more than anything else. Like Google Public DNS/OpenDNS supporting it on day one, or the next version of BIND (whenever /that/ happens!) having it built in.
I envision future where individuals and companies are free to buy/sell services and goods from each other, without government sticking in its nose.
Also, I envision p2p marketplaces, where online ads and other goods are sold and bought. Can anyone come up with an open source p2p AdSense killer? Do we really need Google to do it for us?
Tor already provides that https://secure.wikimedia.org/wikipedia/en/wiki/Tor_%28anonym...
> users aren't going to install a new piece of software or a special browser to access masked domains.
Sure they will, just like they install BitTorrent clients. It's only a matter of proper incentive.
Yes.
You will however need to run the Tor software -- Privoxy or Vidalia bundle or... something. I don't think the plugin can do the routing itself.
I haven't used Tor in a while, but there used to be wikis, forums, even shell account servers and search engines available as hidden services. Don't expect anything interesting though.
http://wiki.opennic.glue/dotP2PTLD
The page they meant to link to, within the normal dns root is:
>>>>>> http://wiki.opennicproject.org/dotP2PTLD <<<<<<<<<
update: what I wrote still stands, but it has been fixed in the article.