3 ms·
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
by Inthenameofmine 11y ago
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).
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 "generate" 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.
That said, it does not solve the "problem" of deciding on who creates the next block in a truly distributed system, it only makes immutability of state possible.
At our devshop we have come to the conclusion that current "blockchain" 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's like tracking IOUs on a huge Google spreadsheet, it makes no sense. All state should be stored and state transitioned on it's own blockchain because the finality of the transition depends on the issuer anyways, and the blockchains need a common input/output based protocol for reconciling, sequencing, and verifying each other's state.
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.
- saganus 11y agoVery nice explanation. Thanks a lot! So if I understand correctly this would be somewhat akin to having a "universal clock" that is ever increasing, and that can be read/seen by anyone (like you said, universally). So you only need to know the "time" on the clock, when you do something, so that afterwards you can verify that indeed the "timestamp" happened. Is this somewhat of a correct analogy? At least that's how I understood it. In any case, it does seem interesting to be able to have a universally verifiable time keeping "signal". I'm guessing there must be other uses as well.
- Inthenameofmine 11y ago> So if I understand correctly this would be somewhat akin to having a "universal clock" that is ever increasing, and that can be read/seen by anyone (like you said, universally). So you only need to know the "time" on the clock, when you do something, so that afterwards you can verify that indeed the "timestamp" happened. As long as you where online during that time, or as long as you trust a third party to record the CMB radiation for you, yes. The really cool thing is that this wold apply not just anywhere in the universe, but because nothing travels faster than light any communication being done between blockchains between planets would always be in sync. The CMB Radiation simply reaches the other planet at the same time the communication does.