This question already has an answer here:
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?