I have been very interested in proof of stake as an alternative to proof of work pretty much since the concept was first proposed on bitcointalk years ago, so I got pretty excited about the Ouroboros paper, after it was published by IACR last year, and also happy to see a group of people implementing it in Haskell. But while Ouroboros may solve most technical issues that PoS-based altcoins had until now, there is still one intrinsic problem that I think should be fixed soon: after the creation of the genesis block (a process that was geographically restricted in the case of Cardano) the only way for a new player to participate in the game is either personally knowing someone who owns tokens and is willing to trade with you, or using an exchange. In practice both ways carry some level of risk involved and may not be accessible for some people.
The big advantage of PoW over PoS is that anyone with access to a general-purpose computer (something that is very common nowadays) have the possibility of mining a new block and win the reward, so any player can join the game by transforming units of watts and hashing power into units of virtual currency. Unfortunately this incentivize a competition that is currently harmful to the environment and cost inefficient in relation to other decentralized methods like PoS.
I wonder then if some form of hybrid could be optimal. I am not sure if it would be feasible to incorporate PoW mining into Cardano, but I think this could be much better achieved by implementing cross-chain transactions. The LN people successfully tested this with Bitcoin and Litecoin very recently, and I find it fascinating. In this way I could for instance buy a powerful GPU in a totalitarian regime with the excuse of being an avid gamer, secretly mine Zcash, and then trade them for Ada to perform fast and cheap transactions, and also use the computation layer.