Bitcoin is effectively an oracle service. It creates a random state which is dependent on a previous random state. Generating the state is NP hard, verifying it is P (can be verified in polynomial time). The oracle output state is used for sequencing state (meaning the blocks and who gets to sign off on the latest block). So POW is an independently verifiable method of sequencing state among unknown signing members (i.e. the miners).<p>The Microwave Background Radiation is a perfect candidate for both NP state as well as universal (really, anywhere in the universe!) time keeping. It is NP hard to &quot;generate&quot; the state which will be observed at a certain time in the future, but immediately verifiable as long as you are online to observe it at that time.<p>That said, it does not solve the &quot;problem&quot; of deciding on who creates the next block in a truly distributed system, it only makes immutability of state possible.<p>At our devshop we have come to the conclusion that current &quot;blockchain&quot; implementations are practically useless in the real world. There are several reasons for that, the main one being that it makes zero sense for state transition to happen outside of the state machine which created that piece of information in the first place. An example of such a wrong implementation would be Ripple, where IOUs are being state transitioned by nodes who do not issue the IOUs in the first place. It&#x27;s like tracking IOUs on a huge Google spreadsheet, it makes no sense. All state should be stored and state transitioned on it&#x27;s own blockchain because the finality of the transition depends on the issuer anyways, and the blockchains need a common input&#x2F;output based protocol for reconciling, sequencing, and verifying each other&#x27;s state.<p>The future is a bit like adding Git to a database and adding a cryptographic reconciliation protocol so the databases can talk to one another.