Post
Topic
Board Development & Technical Discussion
Re: The way how to double protection bitcoin network against 51% attack
by
casascius
on 24/12/2011, 02:34:20 UTC
I don't like it.   I hope you read on as to why ...

The dependency on individuals makes the network weaker not stronger.  Say Bitcoin someday did process billions of dollars.  The potential for large scale fraud will attract organized crime.  Coercion, bribery, or outright assault of registry operators isn't a far fetched idea.  Organize d crime uses violence and intimidation to orchestrate much smaller crimes today.

If a family member ends up kidnapped are you going to put the network over their life?  Or will you "approve" and sign the malicious blocks and anything else they "ask" you to do to ensure your loved ones aren't harmed?  Alternatively if the network ever did grow dependent on your service expect leverage and pressure from a government.  For example they would want backdoors so they can flag transactions they deem as illegitimate as not valid.

I think a "proof of stake" or "proof of history" is a potential mechanism but it needs to be more protocol based where those w/ stake or history are chosen by the protocol and the number of entities needs to be much larger not a handful but maybe a couple hundred.  Granted a couple hundred nodes having a more important role is "more centralized" but still sufficiently decentralized to make attacking an individual ineffective.

My registry wouldn't be of much use if I signed bogus blocks, because people would just unsubscribe from it, and because the other 11 (or n) operators probably aren't going to be signing the same bogus blocks, any manipulation I make would likely get outvoted by the others.  The network shouldn't ever grow "dependent" on my service - it need only have a spot where the user can pop in a URL to subscribe to block validity hints - the same way you can point a mail server at the antispam blacklist of your choice since they all have a similar DNS-based protocol.  My service would essentially be to offer a tiebreaker to choose the more legitimate of two competing blocks, each hint I sign would be open to scrutiny.  If I start publishing crap (for example, I am favoring a revision of a block that contains an obvious double spend against an earlier revision of that same block, or condemning a block with perfectly valid transactions, or am attempting to roll back several blocks at the same time without a flamingly obvious well-known good reason), people would see this, they would ignore me and go elsewhere for the same service.