Proof of Stake - double spending I'm unsure how Proof of Stake prevents double spending. 
In PoW it's evident that I need 51% of the hashing power of the network, to "overtake" the real chain with my fraudulent fork. But what stops me in Proof of Stake to:


Save the current chain as is.
Send 1 coin to Bob
Go offline and add blocks to my backed up chain, excluding my prior transactions, and wait until it's larger than the real blockchain
Go online and broadcast the fraudulent fork.


Does the rest of the network have a way to see that I cheated by adding my own blocks? In PoW they could check the hash, but they can't here. I of course wouldn't get any fees or rewards for the "fake" blocks, but I would still get my money back, that I send to Bob.

Hope someone can clarify why this is not possible, and how the network can spot that I wasn't selected to add those blocks.
What you are describing is a well documented problem with Proof of Stake called Nothing at Stake theory. 


  In PoW they could check the hash, but they can't here.


That's incorrect. You could produce a valid hash and still have double spend transactions in PoW. That is because bitcoin blockchain is designed to accept the longest chain (technically, chain with the most proof of work). However, to launch such an attack in a PoW chain, the attacker must either control >50% of hashing power to mine faster than the rest of the network or split his computing power in half if he wants to mine on competing chains. That is not economically sound decision and hence cannot be achieved with PoW. However, in PoS the shortcoming arises because it costs a validator nothing to validate transactions on multiple forks. 


  How to prevent Nothing at Stake Attack?


There have been proposed theories that involves penalizing validators if they simultaneously create blocks on multiple chains, by means of including proof of misbehavior. This means malicious validator's deposit is deducted if two conflicting signed block headers are found into the blockchain as a later point in time. This can be achieved because, to qualify as a validator, nodes will have to lock certain in the chain through a smart contract.