On Mon, May 14, 2012 at 11:57 PM, Michael Rogers
<mich...@briarproject.org>wrote:

> It doesn't seem like that would be very difficult. If there's some
> proof-of-work step that makes it hard to generate an ID, that step has
> to be easy enough for an ordinary user's device to perform when the
> user first install the app. Let's say the proof-of-work takes a minute
> of CPU time - then an attacker with the same hardware as an ordinary
> user can generate 1440 IDs per day, displacing 1440 peers from the
> buckets for some random DHT keys. If the attacker's only interested in
> one key, 1440 random IDs might not be very useful, but if the DHT is
> full of content the attacker's interested in, all those node IDs can
> be kept around until they come in useful.
>

I think tying them to public keys provides the properties you want from a
"proof of work" system while still making the keys (particularly if they're
ECDSA keys) easy to generate.

I don't know if tying node IDs to public key cryptography has negative
effects on the statistical distribution of node IDs, but I think it makes a
lot of sense for every node ID to have a corresponding private key, such
that to obtain a node ID you must first generate an asymmetric key pair,
then derive your node ID from the public key fingerprint.

I am actually quite surprised to learn this isn't how DHT systems work
today. It's what I've been planning all along for my project.

-- 
Tony Arcieri
_______________________________________________
p2p-hackers mailing list
p2p-hackers@lists.zooko.com
http://lists.zooko.com/mailman/listinfo/p2p-hackers

Reply via email to