I understand "oracles" in blockchain lingo refer to pieces of software that connect a smart contract chain like Solana to some "real world" data.
I am trying to wrap my head around how this can/will actually be accomplished.
All that Solana programs can do, is literally [1] execute BPF (i.e. they cannot access anything outside Solana), and [2] access Solana accounts, which are also inside the Solana world, and not connected to the outside world.
Let's take an oft-cited example for an oracle, a weather oracle. Using a weather oracle, I am supposed to be able to query, from my Solana program, what the temperature was at San Diego International Airport on July 24, 2022, at 4:00:00pm PDT.
How does that work?
I can only read data from Solana accounts, right? Not from the oracle's account. Not from any Chainlink (a leading provider for oracles) account.
So I assume there has to be another Solana program that we trust for some reason, that writes the weather data into a Solana account so that I can read it from within my own Solana program.
Then... Why do we trust this program, without breaking the point of running on a decentralized blockchain?
I assume it could either be a centrally controlled program that we just have to trust (pretty much the same way we have to trust AWS, Chase Bank, etc).
Then I'm thinking: There could also be a decentralized network (blockchain of its own) that collects weather data from multiple sources, and validates that information just as any other blockchain does, e.g. with PoS and votes.
Then that chain (let's call it the "weather chain" for now) would have weather data that is validated in a decentralized way.
But then, the data still has to make its way from there into a Solana account.
How can we make it verifiable that what ended up in the Solana "weather" account(s) is actually the data that was verified by the "weather chain" validators?
Maybe the answer is quite simple, but I can't really figure out an easy way, from the top of my mind, to "connect" these two chains without loss of decentralization, censorship-resistance, etc.
Any hints greatly appreciated.