I like this idea.
Perhaps the client should generate khashes by default, using 25% of computer's cores (or 25% power of GFX cards) ?
This could strenghten the network a lot.
I think generation should always remain on, the only thing that should be tweakable is the CPU usage.
With more people, myself included, doing dedicated mining on GPUs, this will become more difficult, now that an OpenCL miner has been made public.
Also, if we get to the point where we've got that much notice from the government, we'll have bigger problems.
People will do GPU mining until they realize that it isn't that profitable anymore with difficulty ramping up, electricity bills coming in, and an unexplainable urge to turn the loud fans onf their computers off.
I think that getting noticed enough, for a government to dedicate a 100k$, budget probably doesn't take as long as you'd imagine, and then I don't really see what the bigger problems would be.
2. stop right after difficulty increase, significantly slowing down the block generation and transaction handling
The available transaction fees will accumulate. Whoever generates the next block might get 2000+ BTC. This will encourage a return to something close to a normal rate of generation. Bitcoin won't become unusable, just more expensive.
If the difficulty ramps up a lot, and the attacker stops generating suddenly, having to wait hours between each block might be a problem. Transactions will be slowed down a lot and might get very expensive.
This would never work in the long-run. In a few years, being a generator will require amounts of disk space and bandwidth that are unreasonable for most users.
PayPal does 382,000 transactions per minute. If we want Bitcoin to do 100,000 per minute, every generator would need at least a 5.76 megabit (upload and download) connection.
If some irrational and wealthy organization (such as a government) wants to take Bitcoin offline, there's nothing that can be done to stop them. It will be very expensive for them to maintain this, though.
You're making two assumptions :
- In the future you won't be able to generate without the complete block chain
- In the future every transaction will hit the bitcoin network
I think both are wrong :
- There seem to be lots of solutions around that address the disk space problem
- In the future, most transactions will go through service providers, like when bitcoins are bought or sold on mt gox, no transaction happens, happens only at withdrawal/funding time.
If some irrational and wealthy organization (such as a government) wants to take Bitcoin offline, there's nothing that can be done to stop them. It will be very expensive for them to maintain this, though.
My point is that, it is, and will certainly remain dangerously cheap to do so. Much cheaper than what seems to be thought around here.