You don't need 51% of the coins just 51% of the active stake. In no currency can 100% of the money supply be used for minting. If it was then the currency couldn't be used for anything else.
I'm talking Nxt, because I know Nxt.
First of all, I believe Nxt has ~30% of the stake currently forging, so you're talking more like 15% of the stake needed. New tools coming out and coinbase like wallets that could forge for people and pay them interest and leased forging(like pooled mining), as well as increased wallet security coming soon should increase this in the future.
It is estimated that an attack against Bitcoin would cost $1.15 billion. (
http://www.coinometrics.com/bitcoin/brix)
Bitcoin also has a market cap of $ 8,133,288,923 meaning that a 15% attack against Bitcoin would be $1,219,993,338.45, so similar costs.
BUT Nxt's is maintainable.. next time Bitcoin halves, miner's will have to drop off the network. Transaction fees simply can't support the miners. Afterall, Nxt will have very low transaction fees, it is currently surviving off of 1 Nxt transaction fee, which is to be lowered, while even Gavin is predicting that the current fee should be $0.41.. once the inflation halves, Bitcoin is in trouble. Nxt on the other hand can currently survive with $0.05 transaction fees, to be lowered as Nxt grows. Meaning Nxt's security and fees will go up, Bitcoin will go down.
For PoS attacks you need currency units of the network you intend to attack. If you succeed, you diminish the value of the owned currency units - estimatively by vast amounts; there's no reuse for different networks.
No you need to have currency units in the PAST. That is the basis for the nothing at stake problem.
Say the active stake is 10% of the money supply.
In block X I have >5% of the money supply.
In block X+1 I sell my coins.
By x+10 the transaction is confirmed the new owner(s) have the coins.
I now have NOTHING as in nothing at stake.
I can still re-org the network by building an alternate chain back at block x when I did have the majority of the stake. It doesn't cost me anything to try, there is nothing I can lose in the process. I am using not coins but the history of coins I once had to perform the attack.
Few things preventing it:
- If the network network sees you double forging on different forks, it will ban you for 1440 blocks. Good luck performing such an attack when you can't write to multiple chains. This means that you do indeed need to own 51% of the forging power.
-This need to take place with 720 blocks, at which point the network essentially agrees to a decentralized checkpoint.
-
Economic Clustering, Nxt intends to make sure that transactions happen with a given 'Economic Cluster' which basically means that when you sell your Nxt you and the person buying your Nxt agree to which fork you are selling your Nxt on. The more Nxt transferred on a given fork, the stronger that fork is. If you transfer 15% of all Nxt, you need to pick which chain it is being transferred on, and therefore make that chain valid with that choice. People buying your Nxt won't be willing to buy that much without pinning it to a specific chain. Your new chain will not have that many transactions pinned to it.
Also, if you decided to cash out 15% of Bitcoin within about 10 hours.. you would crash the price down to zero.. meaning you do do a lot of damage by cashing out that much there too. To the point that you might kill it.