Transitioning the web to Namecoin by addressing name-squatters
dot-bit.org
dot-bit.org
DNS isn't going away anytime soon; maybe not ever. Dot-bit domains can exist alongside the old domain system, competing by being cheaper, resistant to censorship, more flexible, etc.
Can't get mycooldomain.bit? No problem, grab mycoolerdomain.bit, or go old-school with mycooldomain.com. Apple can't get apple.bit? No biggie, they've still got the .com, and if they want the .bit bad enough, they'll pony up the cash. (It would also greatly help if a way to make purchase offers was baked into NameCoin itself.)
The posted idea is an interesting one, and it's worth considering, but from where I sit, the significant roadblock to adoption is implementation in browsers and/or operating systems.
I haven't adopted Namecoin yet, but i still will when this is implemented.
I don't think it's such a big deal to have names that aren't agreed by everyone across the world.
One idea would be to have an agent[0] with its own Bitcoin wallet purchase server time that it uses to index the web and compute a uniqueness factor of each page. The agent then calculates a tax based off a blended index of the website's size and uniqueness. Because squatters don't have the resources to make all of their sites unique they will get taxed hard. Big websites like Facebook and Twitter are unique but they are also large, so they could be levied a larger amount to support the agent which will presumably require a lot of server power. Small, unique sites would barely get taxed at all.
Just an idea.
Unless they are just going to reset the blockchain; the I don't really see how this type of "rule" will be implemented or supported by the namecoin hash power.
There might be more support for
- A .bit pool bounty to companies that become early adopters of .bit
- A .bit pool bounty to companies if some number of major DNS server support the .bit domain directly
- A sort of 'emminent domain' reward to the 'squatters' in a way that relates the "price" (paid in namecoin or bitcoin, probably) to the (alexa, or other) ranking of the domain with a time table for these companies to purchase.
The proposal is about introducing new namespaces that map today's DNS into namespaces that can be looked up in the Namecoin blockchain.
.bit domains are stored in the "d" namespace. These would go into others (that don't exist yet) based on their extension.
However, I still think the proposal is flawed but for a different reason.
How do you determine who owns the .com domain? When a domain is seized by the government does the com/piratebay domain respect the blockchain or the centralized DNS now updated signtaure? If it's the latter.. what's the point of using the blockchain version at all?
Another related topic is that a judges ruling is meaningless in regards to NMC, so for example, if someone were to steal google.com by stealing the private key, google.com would have no recourse besides paying a ransom. They cannot get a judge to force the address to be given back. Their domain name would be hijacked forever. In the case of bitcoin, it's great that you can't revert a transaction. In the case of domains on NMC blockchain, I'm not so sure.
Expiry dates would be set to match those from today's DNS entries, so that addresses new owners.
As far as domain-seizures go, first it should be emphasized that this issue affects probably less than 1% of 1% of internet domains. However, to answer the question: if the domain was stolen from its owners prior to the expiry date, I personally see no reason to change the entry contents in the blockchain to match that of the stolen property. They can wait for it to expire and then register it like everyone else. :-p
Meanwhile, I doubt the piratebay would be using the .com (and we know that they can't today). They'd be using the .bit (or whatever else), because they'd be protected from such theft. ^_^
You should setup an account on the dot-bit.org forums and voice your opinion there. It is a good suggestion, and I'm sure you'll have others!
The problem I see with this proposal is each client needs to check the DNS record independently to ensure a transaction is valid. What happens if the DNS server happens to be unreachable or the owner accidentally or maliciously removes the signature in a DNS record after their transaction has been included in a block?
Or maybe I'm misunderstanding things and Namecoin works differently?
This is not a problem with Namecoin, right? Traditional DNS has the exact same problem, namely general intolerance to failure.
Namecoin is essentially a key-value store. A .bit domain is a key under Namecoin's d/ namespace, and the value is some JSON data describing the domain, per this spec: http://dot-bit.org/Namespace:Domain_names_v2.0
Edit: Actually, to further clarify, Namecoin itself doesn't know/care about the semantics of what data is stored for a domain. The data is interpreted by applications that act as application layer bridges to other resolver protocols. Check out nmcontrol and NamecoinToBind for examples.
It seems like a pretty fundamental problem...Namecoin uses a system that enforces consistency, so you can't make it depend on a system that doesn't enforce consistency without breaking it.
If enough clients saw the transaction I don't see what the problem is. The domain owner would also be running a client after all, and they'd have the private keys to prove that they own the transaction.
Once it makes it into the longest running blockchain with enough confirmations there's no reason to check the old DNS again (I don't think, unless I'm missing something). The next time the old DNS will need to be queried is when the domain expires. Maybe, by that point, no one will be relying on the previous system anymore. ;)
So now one population of namecoin nodes sees the hacked entry, accepts the transaction, and puts it in a block. Another population doesn't see it and rejects the transaction. The blockchain forks.
You might get by if the hacked DNS is seen by a minority of users. Then the chain without the disputed transaction will win anyway and all is well.
But suppose most DNS nodes have the hacked entry? Then the minority will refuse to accept the majority chain, since they can't validate it, and the fork persists. If that seems implausible, imagine a hacker watching for a new DNS namecoin entry, and making his hacked DNS server immediately remove it.
A few things would help a bit:
- Only accept namecoin registrations when the matching DNS entry is old enough to have propagated everywhere
- If the longest blockchain has old blocks that don't validate against DNS, keep checking. Hopefully the errant DNS servers will get fixed soon and that'll resolve the fork.
- If the disputed block gets old enough, just go ahead and accept it if it's in the longest chain. You're just trying to minimize squatting, and letting some skilled squatters through isn't the worst disaster.
But it's still kind of a mess because namecoin isn't just a naming system, it's also a currency. For as long as the fork persists, people can doublespend their coins. It'll be resolved but in the meantime maybe a merchant has shipped goods. You're essentially creating money that depends on the integrity of DNS for security.
This proposal involved hard-forking Namecoin, and has a lot of inherent issues with it. Also note that this proposal is by "some guy on a Namecoin forum", and not anything official.
And note that Bitcoin was a proposal by "some guy with a fake name."
Yes, this needs to be addressed. The proposal can be kept as-is with the following modification/addition:
In order to prevent such attacks, it could be required that transactions need be confirmed across N "different networks", where "different networks" can be measured by some metric (IP2location, the first two octets of an IPv4 address, etc.). The value for N can be based as a percentage of the number of nodes running in the past 48 hours, or some other means.
Copied from here: http://dot-bit.org/forum/viewtopic.php?p=7746#p7746
I like Ripple's general idea but I'm not convinced they've actually come up with another solution to distributed consensus. So far they're sticking with a master list of trustworthy peers, which suggests they're not convinced either.
Bitcoin's colored coins might accomplish similar objectives though.
But, as a software developer working in the systems management space, I care. And, as someone that has always been uncomfortable with the centralized control of the DNS system and the horribleness of most registrars, I care. Namecoin is one potential solution to the latter problem, and it's something that I need to have on my radar for the day when it may become relevant to the users of the software I work on.
To answer your specific questions:
Who gets paid in this value vs who doesn't? The miners who maintain the Namecoin network get paid. They validate and secure your transactions when registering domains. Right now, the cost to someone registering a domain with Namecoin is very low...a few cents to register a .bit domain. And, it is expected to remain low, as it is not an expensive network to maintain (relative to Bitcoin, for example; at least for the time being).
To register a domain with Namecoin, you install a Namecoin client, and make a transaction, as documented here: http://dot-bit.org/HowToRegisterAndConfigureBitDomains
You need a tiny amount of Namecoin to do this. It can be purchased with Bitcoin on many exchanges, or can be mined with Bitcoin ASIC mining equipment (it is merge-mined with Bitcoin, so it doesn't require resources to be diverted to mining Namecoin...but it also means it is not effectively mine-able with consumer hardware because a large percentage of the Bitcoin network is also working on Namecoin).
As for who can see the names? Anyone who has a DNS server that has .bit information. There are a few out there: http://dot-bit.org/How_To_Browse_Bit_Domains
But, it is mostly theoretical. There's little reason for clients to configure this, and until their are lots of clients, there's little reason to have a Namecoin based domain. But, maybe that'll change. I'm tinkering with it, and will likely launch some services around it before too long, as I think it's a really cool idea. And, while the implementation has had some hiccups, it's the best we've got...and the chain hard fork a couple weeks back (to fix some problems with name registration) was successful, so we're probably on a pretty solid footing now.
I, personally, find Namecoin to be one of the most interesting Bitcoin derivatives...it has a very clear purpose, and solves a problem that has been a minor thorn in every IT admin's side since the beginning of the Internet. It'll likely never see the kind of speculation that Bitcoin has seen, and that's probably a good thing. Domain names should be cheap, and responsibly used and managed by the Internet community as a whole.
One way you could hinder them is geometrically increasing cost of registering additional domains from existing accounts.
Examples:
- Adam wants to set up his personal site. It costs him X to register.
- Bob wants to set up his personal site, and 3 hobby sites. It costs him X + 2X + 4X + 8X = 15X or (2^4 - 1)X.
- Carl the domain squatter wants to register 100 domains. It costs him (2^100 - 1)X. This could be defeated by changing Carl's business name, or other details, which creates extra hassles for him.
Edit: Didn't know that registering new accounts is near 0 effort. Guess that nixes this idea.
edit: the notion of "existing accounts" is broken here; "new accounts" are free/cheap and not related to identities.
That's somewhat of a moronic statement considering the namecoin crew invented the idea of merged mining. But I digress...
I remember back when namecoin came out... they started the difficulty at 512 instead of 1 (bitcoin's initial difficulty) which made sense at the time, because GPUs were everywhere by then. But with namecoin being so new (and worthless) the difficulty soon dropped to the ~200 range, and anybody with a few GPUs could literally mine 1,000s of NMC per day.
Case in point, the 50 NMC they charged for the first domains was still much too cheap. One could theoretically mine with an average rig for 1 week and register a few hundred of the first domains available.
But then again, for domains there's something to be said for first-come-first-serve protection.
http://sourceforge.net/mailarchive/message.php?msg_id=317705...
With some new opcodes.
How this particular proposal works was outlined in the thread. It assumes that the reader knows enough about how Namecoin and DNS work for it to be obvious how an implementation would be carried out.
Re: "how it fixes DNS issues", you might find this document interesting (about a Namecoin-based DNS system called DNSNMC):