Post
Topic
Board Bitcoin Discussion
Re: WARNING! Bitcoin will soon block small transaction outputs
by
justusranvier
on 06/05/2013, 19:54:11 UTC
Going from that, a DHT is quite a step down, quite a bit less secure.  DHTs are vulnerable to hot spots -- where the whole world queries just a few nodes -- and sybil attacks[1].  On sybil attacks, bitcoin's current peer finding mechanism does a better job of intentionally spreading itself widely across networks; a DHT tends to concentrate on a few nodes.

It becomes much easier to attack a portion of the blockchain, if it were stored as (hash,block) key-value pairs as commonly suggested.  If an attacker may DoS even a single (hash,block) pair, you prevent the entire world from downloading or verifying the entire bitcoin blockchain, because the chain is thus broken.  The time spent looking up each hash across a worldwide DHT would be quite slow; that is the equivalent of downloading 234,831 different torrents, not one big torrent.

Storage via DHT is a fun toy idea, but it's stupid, slow and insecure as a primary method.  Massive replication is far more secure and decentralized.
You should look into Freenet's datastore. They have managed to implement a secure, distributed, redundant content-addressed filesystem that avoids most of those pitfalls. It's resistant to attack by malicious nodes and maintains good data persistence even though storage nodes come and go randomly. Right now the Freenet datastore is several orders of magnitude larger than the blockchain.

Their network is slow because it's being careful to anonymize who is inserting and requesting data, but you could get the other benefits at a much better performance with those constraints removed.