Oracle Overview
FuturesChain is a blockchain bringing together EVM support, cross-chain transaction, and off-chain oracles.
About FuturesChain Oracle
FuturesChain Oracle is a cross-chain data oracle aggregating and connecting real-world data and APIs to smart contracts.
The protocol is built on top of FuturesChain, a Cosmos-SDK-based blockchain designed to be compatible with most smart contract and blockchain development frameworks.
The network is designed to modularize and offload the heavy and resource-intensive tasks (i.e., fetching data from external sources aggregating them) from the smart contract platforms onto itself. This not only prevents such tasks from congesting or causing high transaction fees on the destination network, but the same data points can be packaged, used, and verified efficiently across multiple blockchains.
Its flexible design allows developers to query any range of data types, including both on-chain data (token balances, transaction data, etc.), real-world events (sports scores, flight status, weather, etc.), and any data that is available through the web or any other mediums (stocks/token prices, random numbers, etc.)
Data Oracle on a blockchain can fuel exponential growth and adoption in a diverse array of use cases, from collateralized lending, money markets, betting, asset, and tokenization, to both on-chain and real-world insurance. We also aim to expand further the scope of what is possible with our oracle, including for data providers to receive payment directly on-chain from developers using their services on FuturesChain, and allowing for cross-chain oracle requests through the Inter-Blockchain Communication (IBC) standard.
The new feature also enables a new cohort of products and services that FuturesChain Oracle can provide developers. Some examples of these are a more decentralized price oracle, verifiable randomness, and performant cross-chain communication.
The Need for Off-Chain Data Oracles
Smart contracts are very useful for immutable storage and verifiable transaction, but their use cases have previously been restricted due to their access to off-chain data. Most blockchains are neither aware of anything from the real-world, nor can they access any data not native to a chain.
The data that they could not previously access includes any data available on the traditional web, as well as those accessible through APIs. When you start to consider just how many of the products and tools we use today rely on these data, the problem becomes apparent.
While there has been a multitude of efforts to solve this issue, most of the solutions have come to meet at least one of three main limitations.
Data Centralization Issues - Solutions for centralizing existing real-world data such as API feeds and other oracle solutions are centralized by design. This not only goes against the ideology of decentralization and trustlessness but also represents a severe security risks. Relying on a central authority to report data means that you are exposing yourself to the possibility of data manipulation and outages, both of which can have catastrophic implications on any services that depend on it, not to mention the end user app’s experience and usability.
Network Congestion - Most of the existing oracle solution of them are constrained by network congestion. This is mostly the result of the solution being on the same blockchain as the application itself – competing for block order. Thus, if the blockchain’s network were to become full with pending transactions, the data request transaction themselves would also be delayed.
High Operational Cost - They are expensive to integrate, deploy and maintain. This comes from both the cost to research, develop, and deploy an oracle solution, as well as the various costs associated with operating and maintaining it in the long run.
The FuturesChain Oracle
FuturesChain Oracle acts as a middle layer operating between smart contracts platforms or decentralized applications and the various data providers. The oracle’s job is to,
- handle data requests coming from the dApps,
- query the data from the corresponding providers, and
- report the results back to the application.
FuturesChain Oracle differentiates itself from other oracle solutions in 4 major ways:
- Decentralization
- Flexibility
- Scalability
- Cost
Decentralization
FuturesChain Oracle is decentralized through the introduction of maximum redundancy on two separate layers in the infrastructure design, FuturesChain validators (consensus level) and data source level.
First, FuturesChain is operated by a globally distributed pool of validators, whose performance and actions can be easily monitored and verified by anyone.
When a data request is made, it is these validators that will be responsible for fetching the results.
The results reported by the validators are also taken from multiple data sources, which acts as our second layer of redundancy. Further more, FuturesChain’s delegated proof of stake design helps ensure that these validators have monetary incentives to properly and correctly report the data or risk of capital loss they’ve staked as well as their reputation.
Finally, the entire data request flow itself are also publically available to be viewed, verified, and audited by anyone.
Flexibility
Our data source scripts and oracle scripts allow maximum customization and flexibility for the user to query and compute their desired data feed.
Data sources are the most fundamental unit in FuturesChain’s oracle system. It specifies the primary source from which FuturesChain’s validators will retrieve data. Here users can freely select where the data sources come from.
An Oracle script is then the piece of code that defines the logic of the data request. In particular, the script specifies two things:
- the set of data sources that the validators will query data from
- the method in which to aggregate the result from those data sources into the final result
- These oracle scripts can be programmed in multiple programming languages and act very similar to smart contracts.
Scalability
Unlike general-purpose blockchains, FuturesChain is designed explicitly for oracle data request and computation. This is reflected in the benefits it provides.
For one, an average block time of only 3 seconds, compared to Ethereum’s 10-15 and Bitcoin’s 10 minutes, means that data request transactions are both received and resolved very quickly.
Not only that, but we are also able to offload all the heavy oracle computations from the requester’s chain and onto FuturesChain, which have been specifically optimized for these sorts of computations.
All this boils down to the fact that an average data request to FuturesChain’s oracle can be expected to resolve in less than 6 seconds.
This allows FuturesChain Oracle to continuously upgrade throughput capacity with the same base-level infrastructure.
Having our own chain also means that the oracle core logic and operations do not need to be duplicated onto a new chain or App for each integration, making integration with dApps scalable and streamlined.
Cost
FuturesChain Oracle allows anyone looking to request data to do so only when they need to, and pay the associated fees on a per-request basis. This is significantly more economical than having to, say, update the price of an entire set of assets when, in fact, you might currently only need the latest price of one.