Oracle Pools: Decentralized Truth for the Modern Age
Oracles have been around for thousands of years. Originally the channel through which a deity might speak to humanity, oracles have since taken many different forms. Spokespersons, elected officials, celebrities, and teachers can all be thought of as oracles in their own right: delivering information to a receiver through the lens of weighted authority.
When it comes to blockchain the need for oracles holds the same weight. Modern day oracles within society act as a glue which binds communities together, few and many alike. Blockchain oracles are needed for the same reason, and act as a true north for a digital world — and, as I am about to propose, even for us.
For instance, you can think of the world in two realms: the real world (which you know and love) and the on-chain world (which is only beginning to become more and more a true Metaverse).
Why Do We Need Oracles?
But why are oracles needed in the first place? As I stated above, there are two worlds: the real world and the on-chain world.
The real world is aware of what happens on-chain. We can read data and know how to interpret it. However, the on-chain world has no knowledge of the real world, and so we must provide it with that knowledge.
An obvious, if not over-used, example is the price point of an asset. Let's say we're building a decentralized application (dApp), and we need to know the price of a single Bitcoin.
It's true that we could just get the price point from Coinbase, and we'd be set.
But, let's remember the purpose of blockchain: to decentralize and remove any need for a trusted third-party, and still have provable consensus about an order of events. So, if that's the purpose, everything would break down if we were relying on a third-party (like Coinbase) and that was it.
For example, imagine an ecosystem of decentralized apps all pulling the Bitcoin price from Coinbase. What happens when Coinbase has a different price than its competition, Binance (this happens fairly frequently, and is called an arbitrage opportunity)? All these dApps would now have a close but not perfect description of the price of Bitcoin, and therefore our ideal of an oracle as a weighted authority — a trustworthy source — is invalidated.
And with that fall of trust goes the whole stack of blockchain. Oracles are foundational because they are all about getting the most accurate data possible; they feed our new digital universe with real-world data that the blockchain can't possibly know about, such as:
- Weather events
- Public and private property valuations
- Hotel and travel prices
- Asset prices
- Sport scoring
- Other blockchain data
- Voting outcomes
- Much more
We need oracles because blockchain is only as useful as it interacts with our daily lives. If we can't interact with real world data, then what is the point of any of this?
As such, oracles are foundational to any mass adoption that might come to blockchain. But, as I'll lay out below, they have the potential to go beyond the digital world and completely disrupt society in ways we can barely yet imagine.
How Oracle Pools Work
Oracle pools aren't really new or novel as a concept, but more so as an implementation. For instance, there are already great oracle solutions out there, namely Chainlink.
Chainlink is the forerunner oracle of the decentralized world, and is currently built on Ethereum through its ERC-20 token, $LINK (to be accurate, Chainlink itself is technically blockchain-agnostic). Its $LINK token is used to pay for oracle requests, and allows users and node operators to spin up their own communities to support a datapoint (i.e. the price of Bitcoin).
However, Chainlink does not allow governance other than for the whole blockchain network, and includes some other limitations when compared to oracle pools (for instance, you can't stack oracle pool networks on top of each other to further decentralize the data). So, how do they work?
The Technical Underpinnings
For clarity, oracle pools (from here on out, referred to as OP's) should be used to reference those that utilize the EUTXO model. Regular oracles, such as Chainlink, utilize Ethereum standards and therefore use account-based models and lean heavily on smart contracts to deliver and compute data requests.
The beauty of EUTXO's is that they are both cheap and fundamentally faster than account-based transaction models. In comparison to their predecessor (the UTXO model), EUTXO is named after its extended functionality — namely, they have smart contract capabilities built into them, as well as the ability to add additional metadata into each transaction output.
The two blockchains that currently use EUTXO are Ergo and Cardano, with Ergo doing the bulk of the research and work on OP's in general. However, it's worth pointing out that while Ergo and Emergo are partnered together to work out a framework for OP's, they are technically possible on Cardano as well (given its shared transaction model).
In the OP model, oracle providers all submit their data via a regular transaction, including the datapoint in some agreed format, such as within Cardano's transaction metadata.
The cost of providing this datapoint is a single transaction, but as we stated above each transaction in a EUTXO model can reference other UTXO's. The oracle provider references the entire pool's EUTXO when they submit their data (you can think of this as the pool's funds, or treasury), and this is how they get paid later, as described below.
Lastly, the oracle provider that accumulates and aggregates all the other oracles' data into a finalized transaction gets paid double. This incentivizes timely delivery and a reward for minting what can be thought of as a "mini-block".
Once this finalized datapoint is posted, the agreed-upon reward is dispersed from the pool's UTXO to all the participants of that epoch's datapoint posting.
The unique factor in oracle pools is that they are both free and self-funding. How? Because for any dApp to use the oracle pool, all they need to do is post a transaction requesting the latest UTXO, and the data is there. Usage of the entire ecosystem's dApps actually fund the public database of decentralized data, and these payments go into the pool's UTXO account.
Since each finalized datapoint is stored on-chain as a UTXO, anyone can reference that older data for free — essentially making oracle pools a public service, where users are "taxed" in small amounts on top of whatever dApp developers charge, that they don't notice (some estimates anywhere from 5 cents to 25 cents per transaction).
A Public Service: Decentralized Truth
Of course, the word "truth" is a bit loose here. Consensus doesn't always equal truth, it just equals an agreed upon statement of truth.
But the implications of oracle data being freely (or near-freely) available to a society is something that has not yet been experienced.
The arrival of the Information Age, made possible by the internet, created a wealth of information that was freely available to anyone with a connection. Yet, with the internet also came centralized control, and the information age has slowly began reversing itself back to the original gatekeeping of what is truth and what are lies — decided by the few and not the many.
Publicly available sources of truth that are vetted through consensus and in the light of day offer an escape from the age-old battle for being society's oracle, and replaces it with a trustworthy source built on trustless technology.
Cardano and Ergo may very well be the vehicles upon which the "truth market" is born.