
This article is translated from: "Introducing the Open Oracle Gateway for Polkadot"
By Bette Chen and Bryan Chen
secondary title
1 How Acala views oracles
Acala’s Previous Approach to Oracles
Up to now, Acala operates the oracle network through multiple self-built nodes, so as to provide the network with off-chain data and evaluate the on-chain lending capacity and system liquidation risk. According to the specific needs of current DeFi-related applications, the oracle machine infrastructure we designed has the following characteristics:
Multi-party operation: The Acala oracle provider network accepts multiple node data sources and aggregates all data sources to obtain a single optimal price, thereby reducing attack factors
QoS (Quality of Service): In the Acala network, oracle services are classified as system-level important transactions, and each block will reserve a certain amount of space for oracle services, so the price feeds obtained by the network are more reliable and delayed The smallest
Custom service fee: Acala has implemented custom service fee settings (for example, the oracle machine price feed service does not charge a service fee) and anti-DDoS attacks, such as allowing each authorized oracle provider to be called once per block, so as to Ensure Network Security and Reduce Costs
Gradual decentralization: In the initial stage, each oracle service provider needs to be approved and authorized by Acala to enter the whitelist to maximize network security and predictability. In the future, as the network continues to develop, it will become more and more decentralized and permissionless
secondary title
2 Departure - Open oracle gateway
Moving Forward - The Open Oracle Gateway
Currently, the Open Oracle Gateway (OOG) is jointly developed by the Acala, Laminar and Band teams, and the first milestone version has been launched. The current features of the gateway are as follows:
Multi-Oracle Network
In addition to Acala operating its own oracle and providing price feeding services, the oracle gateway solution allows multiple parties to join. Essentially any oracle service provider can become a new oracle provider for the network after being approved by governance, and it will take effect after the Runtime is updated. Then set up as a new node operator to start providing off-chain data for Acala. These data sources will be aggregated into a fair price feed through the gateway.
Default oracle pallet (provider):https://github.com/open-web3-stack/open-runtime-module-library/tree/master/oracle
Providers in the current oracle network can make their oracle Pallet (based on the Default Oracle Pallet) meet their specific requirements, such as verifying cross-chain data input. We can also easily integrate with existing signed Oracle APIs, such as Coinbase price oracle (https://blog.coinbase.com/introducing-the-coinbase-price-oracle-6d1ee22c7068), just add a Coinbase Provider Pallet and verify its signature.
The gateway is essentially a meta-network or meta-aggregator, which will allow many ecological service providers to provide differentiated services to meet the various needs of applications.
Acala is a progressively decentralized network. Network governance will start with PoA (Delegated Parliamentary Governance), and then gradually turn into elected parliamentary governance, and finally achieve true decentralization. So those providers or node operators who want to join this oracle gateway need to go through parliamentary governance approval.
Choose the price feed source you want
Each Dapp can choose a specific service provider to provide price feeding service according to its own preference. In addition, each Dapp can choose to integrate the aggregated price feeds of all providers, or it can obtain the raw data of an independent node operator or aggregate the independent data source. In short, the price feed aggregator will continue to customize and optimize according to market demand, so users who need data services can choose intermediate prices, average prices, and other methods that suit their preferences.
Quality of Service (QoS) & Free
The price feeds provided by all Acala-related oracle providers will serve the Acala network in the form of QoS-Quality of Service. The transactions submitted by the oracle operator are operational transactions. Simply put, the key transactions in the Acala system need to be prioritized and guaranteed to be completed in each block. This solution will prevent invalid and outdated price feeds caused by Gas Fees and network congestion, such as black swan events.
Black Thursday:https://medium.com/aave/crypto-black-thursday-the-good-the-bad-and-the-ugly-7f2acebf2b83
secondary title
3 Project Status & Next Steps
Project Status & Next Step
Currently, the oracle gateway solution has been deployed and running on Acala's Mandala test network. In addition to the Acala and Laminar teams, the Band team also contributed to the oracle gateway solution. We hope that this oracle gateway can become an infrastructure in related DeFi systems such as Polkadot, Kusama and Acala. Therefore, we welcome oracle service providers to view the relevant technical codes of the oracle solution, discuss with us the way of integration, and contribute code or provide services for each growing ecology.
In the future, we may have a separate oracle council for on-chain governance of provider and operator membership and other related things. The important thing is that Acala's on-chain logic and economic model are customizable. Therefore, the design space for the oracle economic model and on-chain payment mechanism is huge.
An example of running an oracle network on the Acala testnet: Acala Oracle Example:https://acala-testnet.subscan.io/runtime/OperatorMembershipAcala?version=606
One of the price feeds on the Acala oracle operator chain:https://acala-testnet.subscan.io/account/5Fe3jZRbKes6aeuQ6HkcTvQeNhkkRPTXBwmNkuAPoimGEv45
Checkhttps://github.com/AcalaNetwork/acala.jsCheck
4 join us
Get Involved
The Open Oracle Gateway is intended to be an infrastructure that everyone can participate in expanding and improving. If you are a developer or an oracle service provider, the Open Oracle Gateway hopes to become an infrastructure that everyone can participate in expanding and improving. Check out the Open Oracle Gateway Wiki:https://wiki.acala.network/learn/basics/oracle,Join Acala Official Discord:https://discord.com/invite/6QHVY4X, to discuss a more open future for oracle machines.