Phase one of migrating to decentralized oracles involves transitioning to Chainlink networks for our forex and commodity synths.
As part of the migration towards decentralized oracles with Chainlink, we will implement the transition in phases. Phase 1 will involve migrating our forex and commodity synths to Chainlink pricing networks.
In the meantime the SNX centralized oracle will continue to supply the prices for the remaining crypto synths (including inverses and indexes).
As discussed in this issue, it is imperative that the Synthetix ecosystem move away from a centralized oracle to decentralized pricing networks.
It has also been established that Chainlink oracles could expose the Synthetix system to front-running as the deviation target for updates of
1% is larger than the exchange fee.
Thus in order to achieve a safe and secure transition, and to minimize any potential front-running risks, we have selected migrating to the forex and commodity prices first, as these have much less volatility on average than crypto prices and as such are a minimal target for front-running.
In addition, we will keep the max gas solution in place (SIP-12) during this transition and work with the chainlink nodes to ensure their gwei settings exceed our exchange limits to prevent front-running.
ExchangeRates contract (https://contracts.synthetix.io/ExchangeRates) will continue to be fed prices from the decentralized oracle. However, the logic for looking up prices will be extended with a mapping of Chainlink Aggregator contracts for each forex and commodity synth.
The synths are as follows:
sAUDAustralian Dollars (see decentralized oracle network on ropsten)
sCHFSwiss Francs (see decentralized oracle network on ropsten)
sEUREuros (see decentralized oracle network on ropsten)
sGBPPound Sterling (see decentralized oracle network on ropsten)
sJPYJapanese Yen (see decentralized oracle network on ropsten)
sXAGSilver (ounce) (see decentralized oracle network on ropsten)
sXAUGold (ounce) (see decentralized oracle network on ropsten)
In order to have both the centralized oracle and decentralized oracles work in tandem, we will abstract away the logic in the
ExchangeRates contract. Fortunately, the current architecture is such that this change is a fairly minimal impact to the Synthetix system.
To be added
To be added
Copyright and related rights waived via CC0.