News for hackers. Stuff that matters.
Re:Transitioning the web to Namecoin by addressing name-squa... by tlrobinson on Saturday December 21, 2013 @10:58PM (#6949273)
I don't know exactly how Namecoin works, but I assume it's pretty similar to Bitcoin in that all clients must agree on which transactions are valid or invalid, otherwise they risk forking the blockchain and disagreeing on which transactions are included.

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?

Re:Transitioning the web to Namecoin by addressing name-squa... by sliverstorm on Saturday December 21, 2013 @11:32PM (#6949353)
What happens if the DNS server happens to be unreachable

This is not a problem with Namecoin, right? Traditional DNS has the exact same problem, namely general intolerance to failure.

Re:Transitioning the web to Namecoin by addressing name-squa... by tlrobinson on Sunday December 22, 2013 @02:44PM (#6951415)
I don't think you understood my concern. The problem is if a signature stored in a legacy DNS record is used to verify a "registration" of a Namecoin domain, every Namecoin client needs to see the exact same "view" of that record, otherwise some Namecoin clients will consider it valid and some will consider it invalid, forking the Namecoin blockchain.
Re:Transitioning the web to Namecoin by addressing name-squa... by sliverstorm on Sunday December 22, 2013 @03:02PM (#6951486)
You're right, I didn't pick up on that. Sorry.
Re:Transitioning the web to Namecoin by addressing name-squa... by GigabyteCoin on Sunday December 22, 2013 @01:49AM (#6949594)
Right. Mainly because everybody who runs a full namecoin node will have access to the equivalent of a root name server: http://en.wikipedia.org/wiki/Root_name_server
Re:Transitioning the web to Namecoin by addressing name-squa... by sargun on Sunday December 22, 2013 @02:53AM (#6949705)
More like they will have access to the dot-bit TLD name servers.
Re:Transitioning the web to Namecoin by addressing name-squa... by cantfindmypass on Sunday December 22, 2013 @12:33AM (#6949481)
It is possible to delegate stuff to DNS (and some DNSSEC patches were recently merged - see http://dot-bit.org/forum/viewtopic.php?f=5&t=1434&p=7718), but even if records are delegated to DNS namecoin doesn't know or care what's there.

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.

Re:Transitioning the web to Namecoin by addressing name-squa... by DennisP on Saturday December 21, 2013 @11:06PM (#6949301)
No you're right, it's Bitcoin with a few extra transaction types.

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.

Re:Transitioning the web to Namecoin by addressing name-squa... by itistoday2 on Saturday December 21, 2013 @11:30PM (#6949349)
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?

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. ;)

Re:Transitioning the web to Namecoin by addressing name-squa... by DennisP on Sunday December 22, 2013 @08:17AM (#6950209)
Let's say someone hacks a DNS server and adds the namecoin sig entry. They don't get it into root servers, but there's a population of namecoin users who see it. Hacker then issues a matching namecoin transaction registering that domain.

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.

Re:Transitioning the web to Namecoin by addressing name-squa... by cantfindmypass on Sunday December 22, 2013 @02:00PM (#6951232)
As of right now, Namecoin doesn't look at data in DNS for validating transactions.

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.

Re:Transitioning the web to Namecoin by addressing name-squa... by DennisP on Sunday December 22, 2013 @08:01PM (#6952506)
Yes, I was writing about the proposal the OP was about, not Namecoin as it exists today.
Re:Transitioning the web to Namecoin by addressing name-squa... by itistoday2 on Sunday December 22, 2013 @05:21PM (#6952033)
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."

Re:Transitioning the web to Namecoin by addressing name-squa... by itistoday2 on Sunday December 22, 2013 @05:20PM (#6952026)
This was brought up in the forums, and here was the reply:

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

Re:Transitioning the web to Namecoin by addressing name-squa... by DennisP on Sunday December 22, 2013 @08:11PM (#6952537)
Hm. I suppose if each node connects to a large number of DNS servers scattered around the internet, that would help a lot.
Re:Transitioning the web to Namecoin by addressing name-squa... by itistoday2 on Monday December 23, 2013 @11:26AM (#6955023)
Yes, that's one way, although I think it would be safer for the verification to be done by other peers (on the answers provided by other peers), as opposed to peers doing it themselves by connecting to many DNS servers. The reason being the possibility that the traffic on a network is controlled entirely by an adversary, and thus all outgoing connections to port 53 (via UDP) could get routed to the same IP, regardless of what the destination IP actually is.