Oracles are vessels that relay communication from an external system to a blockchain. However, the story of the term oracle describing a vessel or relayer of communication began long before blockchain technology.
In Ancient Greece and across the Mediterranean, oracles were known to be a communication medium between the people, the mystics, and gods/ goddesses. Renaissance artist Michelangelo once painted an oracle in the infamous Sistine Ceiling.
Not too dissimilar, oracles, as we’ve come to understand today, serve as communication vehicles between blockchains and external systems such as databases, IoT devices, and other blockchains to inform the execution of a smart contract.
This blog post describes:
- What are oracles?
- Why oracles are essential for blockchain technology
- Oracles provide functionality for intelligent contracts
- Issues with oracles that are used today
What are Oracles?
Oracles, as we’ve come to know them today, have transformed alongside technology. A blockchain oracle is an entity or device that connects a blockchain with data that is located off-chain (BetterProgramming). Put a different way, oracles are smart contract enforced connection points between blockchains and any external system that is based upon inputs and outputs.
Why Oracles are Essential for Blockchain
Oracles enable the philosophy of a user-directed Web 3.0 to become alive by filling many different roles. The most significant use case is to create a simple, manageable oracle for a wide range of participants and use cases. Oracles enable Layer 1 Protocols like Bitcoin, Ethereum, and Accumulate Network (formerly Factom Protocol) to query data sources from other chains or off-chain databases.
For example, let’s pretend that an airport wants to ensure that a person has a driver’s license that is valid from a specific state. That airport could use a blockchain oracle to communicate with the state driver database to ensure the information is valid. Once the driver’s license is found in that state’s database, a smart contract can be executed that is dependent on the validity of the license being in the database.
At the early stage of blockchain oracles, communication mainly existed from one chain to another. However, due to need-based use cases such as checking an ID at an airport, communication between blockchains and external databases are becoming more popular.
Oracles Provide Functionality to Smart Contracts
Smart contracts need to be fed data in order to be logically executed– they need to know if X is true so that Y can occur. Essentially, oracles are vessels that express the information to know that X is true in the real world so that Y can occur in the blockchain’s smart contract.
As blockchain technology continues to evolve with the expansion of Layer 1 protocols, more smart contracts will be built that require decentralized oracle technology.
Issues With Oracles
Despite the market’s progress in the development of oracles, there are still several looming issues:
- Lack of oracle reliability when dealing with private information
- Efficiency decreases when data arrives from a single source of private information
- Networks are congested and have limited bandwidth
The current industry-leading oracle providers work efficiently for public data, but not for private data or a single data source. This is problematic since the security of private data is of utmost importance, especially now, as decentralized oracles enable on-chain code and off-chain infrastructure to pair together in a way that’s never been done before.
Oracle security has never been more critical because the value of oracles securing DeFi assets continues to rise by the day. Any oracle exploitation is destructive for DeFi. Thus, blockchain oracle networks need to enhance their security at the same rate that DeFi expands. Additionally, blockchains require reliability to operate in a secure way to handle any type of sensitive data, whether that be real estate market data or government-issued IDs. Oracles muddle the reliability of blockchains considering many oracles import data to blockchains (Computers & Electrical Engineering). Oracles, especially from multiple sources that deal with private data, need to have the wherewithal to perform consistently.
Another barrier right now is the human requirement. Some oracles require human-involvement
However, as Lo, Xu, Staples, and Yao uncovered using Fault Tree Analysis, reliability dips in oracle providers for several reasons, the most significant being the involvement of humans to compete over who has the strongest oracle. These issues will work themselves out though as technology advances.
As a final note on issues with modern oracles- while the popularity of Ethereum increases, the network is becoming increasingly congested with transactions. The cost for transactions is also increasing due to the rising demand. Gas fees are a real issue. This issue lowers the bandwidth that blockchains can handle, thus indirectly lowering the operating efficiency of oracles that the network relies on.
Accumulate Can Help Serve Private Market Asset Data
A proposed marketplace to be built on Accumulate is focused on serving private market asset data, where the valuation of the asset is credentialed by its owner.
For example, a security-compliant developer could create a commercial real estate index token on the platform. Accumulate will feed the token with off-chain commercial real estate valuation data such as all of the multi-family residences in the Miami greater metropolitan area. Accumulate will then aggregate the valuation data of a whole array of assets, then that data is fed into a smart contract. Since this is a single data source, all of that data should be synced to the blockchain to add to the data’s security and reliability. When looking at the price feeds, you can see all the specific data feeds since all these assets are tokenized, and the data is embedded in the token, albeit in a hash format.
You’re able to verify that a particular price feed is made up of these specific assets. Then another person can also see by looking at the ledger to view the exact feed that created this index price. The oracles in the above example are made to facilitate not only Accumulate’s private market data but also external private market data.
Use Case Example: Sponsored DAO
An SDAO is an excellent example of a consumer of that marketplace’s data. Rooted in the philosophy that DAOs represent that next frontier for private market assets, SDAOs provide real-time, trusted data for assets without the owners relinquishing real control of that data. Instead, SDAOs hand access over to another entity that enhances the reliability and validation of that data. As we explain in more depth in this blog post, SDAOs are member-owned organizations that are managed by accredited institutions like fund administrators.
Accredited institutions can specify different criteria for Sponsored DAOs such as:
- Borrower lending criteria
- Liquidity for assets that are locked in Digital Special Purpose Vehicles
- Verify Data Validity
- Maintaining KYC/ AML records
This type of data given by SDAOs and managed by accredited institutions can inform a wide range of decisions that are required for smart contracts to function properly.
There is room for more integration between real-time asset performance, data evaluation, and financial oracles. As more private market data is obtained, evaluations by CPAs and auditors can help individuals and entities leverage that data.
Accumulate Network minimizes the risk involved with trusting a single source of data by adding validity and reliability. It’s not hard to imagine if the owner of an oracle’s data feed posted inaccurate information with the goal to sway smart contracts in favor of a specific decision. To minimize these risks and many others, Accumulate secures private data from several sources, each with its own modifiable share function, to make data available on a case-by-case basis (even on the same ledger). Furthermore, Accumulate ensures that data’s validity by being rooted in identity and key management as a universal, interconnected protocol bridging addresses across Web 2 and Web 3 together.