The idea behind oracles as a way to outsource information to be off the blockchain (Verifiable computing), Can solve a lot of problems, mostly related to randomness, As well as interacting with other APIs to get infromation from outside the blockchain.

For the issue of getting information that is related to a "PLATFORM" such as youtube, We have no choice but to trust youtube since we are depended on it...

(We may also have to trust the oracle itself, if its not open source).

But what about getting a random number from random.org for example? We need to put our trust in a service that will report back information to the blockchain which is a trustless system, Interfering with such an external service to create exploits does present a problem.

What about future security/compatibility, Can anyone promise that what 3rd party APIs broadcast now will be valid data for future requests? With blockchain on the other hand, Everything stays on, Forever.

There is also the option of generating your own random data, But that falls short for more than obvious reasons.

When it comes to other platforms, we have no choice, But when it comes to randomness, I think we need to have a method within ethereum itself as a protocol that will allow us to generate random numbers.

Any ideas on how to get secured random number, that won't rely on oracles nor private key/public key combo or self generated random number?

  • Entropy is impossible/hard using Ethereum due to it's deterministic nature. This is a tricky problem and I am curious about the points you make and questions you raise but this will probably get marked as too broad. Feb 14, 2018 at 16:27
  • @Richard Horrocks Yes i read about it, I didn't find it satisfactory hence i created this topic which is verbose by explaining as to what issues we face while the other post is about proposing different ways.
    – Illasera
    Feb 14, 2018 at 16:50
  • I think currently the (well-known) answer to that other question is as good as you will find, I'm afraid. Feb 14, 2018 at 16:52


Browse other questions tagged or ask your own question.