Post
Topic
Board Bitcoin Discussion
Re: WARNING! Bitcoin will soon block small transaction outputs
by
jgarzik
on 06/05/2013, 16:42:18 UTC
Not a file sharing, but distributed DHT-like database HASH=BLOCK

This "DHT" call comes up frequently.  This is fine for experiments, and as a backup method akin to the recent blockchain-over-twitter project.  But it is woefully less secure and resilient than the current scheme.

Bitcoin uses a "D1HT"... a fancy term for "everybody has a copy of the database."  Currently the entire blockchain is massively replicated, perhaps 20,000+ times or more.  This is larger than all but the largest torrent swarms.

Benefits:  More secure and resilient.  Far more decentralized.  Better chance of useful work, if one honest peer is found.  100% provable for any node; no "holes" in the history.   Costs:  Network and disk resources required to store the blockchain, and provide it to others for download.

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.

Hard drive technology has no problems keeping up with blockchain growth.  Network technology is probably the same, though I think there will be some amount of balancing on-chain versus off-chain transactions.

It is also thought that the nodes bearing the brunt of the blockchain downloads in the future will be a few professional and volunteer "archive nodes", that store the entire blockchain.  And certainly the blockchain torrent will continue to exist as an alternate method.




[1] Remains an active area of DHT research, and several mitigation mechanisms are deployed in the field.  Even with these new techniques, the DoS-a-block, DoS-all-of-bitcoin implications make DHTs an inferior solution.