So at this point, we all know what sort of damage a 51% attack could do to our credibility, right?
What all of us may not know is, there's a potential solution that doesn't rely on morals or ethics(if we can make it that way, I'll explain in a moment).
It's possible for miners to negatively impact a pool's overall income by withholding valid hashes. See here for details:
http://coinbits.com/2014/01/22/how-you-can-stop-a-51-attack/Now the problem with this is, a client capable of performing the attack isn't enough because it depends on the miners to decide when to execute it.
I'm of the opinion that one should never craft a moral solution to a technical problem...what if we were able to create a client that could intelligently determine when a single pool was over XX% of network hashrate and invoke the attack all on its own?
The problem that I'm having here is figuring out how to decentralize the information that the miners use to determine if the next round is an attack round or not. The block chain seems the logical place to go, but we currently depend on the pools to be honest about which pool published the block, right?
I'm beginning to think that a solution of this nature is going to require buy in from Bitcoin core dev. Perhaps the pools would have some required way to sign blocks so that the miners could look at the signatures for the last XX hours and determine if a single signature published too many? But then how do you deal with variance due to luck, you don't want to punish a pool/miners for being lucky, right?
Then how do you keep a pool under a single person's control from masquerading as multiple pools with multiple signatures? Obviously we can't create a centralized signature authority.
I'm thinking that once the PoC has been demonstrated that the threat alone would be enough to cause pools to self-regulate and this hopefully wouldn't kick in very often.
Anyone have any other ideas?