How to make PoS system work? In a r/bitcoin I've found the following statement:

I think it should be noted that this paper covers a &quot;pure&quot; PoS system, but there have been some hacks to PoS systems to make them &quot;work&quot; (work while being insecure). These hacks include having a central authority control the coin (peercoin, blackcoin, and a ton more), making grinding more difficult but certainly not impossible along with making buying old private keys to attack difficult through having a centralized premine that makes the currency insecure to attacks from a central authority (NXT), or even making the next block signer deterministic, which solves stake grinding by substituting the problem with a problem that is probably much bigger, colluding delegates. , this also doesn't solve the problem of people rewriting history (bitshares).

Could one explain in details how to protect PoS system using full pre-mine and a central authority? Will the system be theoretically secure or still not?
If you want a system with centralized trust, I suppose you could do a 100% pre-mine, and have some checkpoints to 'lock' this, and have all nodes verify against the checkpoint coming from a trusted set of nodes. Even with this, you could have some bad players trying to cheat, and it would involve constant 'supervision' and checkpointing as needed... Why would any outsider want to use such a system, is beyond me. If we assume centralized trust, there are probably more efficient ways to build a token exchange platform anyway.

PoS can't really work for the same reason perpetuum mobile is impossible or in other words - you can't pull yourself up by pulling on your own hair.

The problem boils down to the fact that, with PoS, what you're staking and what you're winning is one and the same thing, a digital token. So, you're staking something that doesn't physically exist, to win more of something that doesn't physically exist. And the more you have, the more you're able to win. Sure, because there's a market you can say you're staking something of 'value', but if you got it cheap in the first place and it appreciated 100x in the meantime, the cost for you to start foul play is not at the new price, but at the old price at which you got it. Also, if you're happy with 100x, you just dump it on the market, exit clean and let some other poor soul be exposed to the risk. There's no 'investment' you can lose, because it's all digital - both the prize and the stake.

With PoW, your stake is something physical. You used 'real' money which still stands for actual human work performed, invested into specialized hardware, and consumed hard, physical energy to win the prize. Why this is important? Because energy can't be created out of thin air - you can't cheat laws of physics. This means that the punishment for attempts at cheating will always cost you real-world resources and not some digital token which came into existence from thin air in the first place. Even if you sell all your winnings, it doesn't erase your investment/stake. You still have the hardware you invested in, and there is still incentive to keep it running as long as the market gives value to the token it creates. You can't get rid of it at 100x like in PoS, because only the token appreciates, while the mining gear depreciates.
See the difference?

There's good research on the subject: https://download.wpsoftware.net/bitcoin/pos.pdf

But why do we need PoW at all?

Problem is, in digital world, anything can be simulated. If we're trying to simulate gold, what's to stop us to change the color of this 'virtual gold'. If we can do it, then why it should have value? The most important property of a cryptocurrency is ensuring certainty of its properties, like emission, fungibility, immutability, security etc. We often hear the term 'voting' but I think it is misleading. When you vote, it's someone else performing some action. This is not the case with cryptocurrency. When you 'vote', you're really only saying "the crypto with xyz properties is the one I consider valid" and if someone sends you something with xyq properties, you ignore it as invalid. If there are many peers stating exactly the same xyz properties, then it becomes a currency among them, and anyone accepting xyz as properties is free to join and transact. The more peers accepting it, the more certain you are you will have peers to transact with who're accepting the xyz properties. So where's the vote making someone else do something? There's no such vote. You either accept xyz or you don't. That's the role of nodes. There's one property which the nodes simply aren't able to verify - chronological ordering of transactions and for that, we need miners. That's it.

With PoW, any attempt at rewriting history is expensive. With PoS, it's free. 'Solutions' to make PoS 'work' like checkpoints defeat the purpose because how can you tell which checkpoints are the 'right' ones? Someone said so? Some 'trusted' server? I thought we're building trustless decentralized systems here :)