Oracle market data price feeders are a critical component of the Nolus core architecture, leveraging its proprietary Oracle system. Each price feeder operates as an independent, lightweight, off-chain module that sources prices from a predefined set of price providers for specific currency pairs. Those price providers are the integrated decentralized exchanges which are currently the Osmosis DEX on Osmosis and Astroport on Neutron. To calculate prices, the Oracle uses a modified version of the Exponential Moving Average (EMA) algorithm, allowing for more weight to be given to recently observed prices within a defined time period. The Oracle's current observable period for the EMA algorithm spans 2 minutes in total, with 12 samples taken at intervals of 10 seconds. The discount factor is set to 75%, which means the latest price has a weight of 75%, while the price from the previous sample has a weight of 25%. This results in earlier prices having less influence on the overall calculation.
By voting "YES" on this proposal, you agree to adjust the parameters of the EMA algorithm used by the Oracle instance for the Osmosis stATOM integration. The proposed adjustments are as follows:
Change in Sample Period: The sample period will increase from 10 seconds to 50 seconds. Currently, each feeder is set to push a price update every minute, with 5 feeders active on the mainnet. This translates to a price feed approximately every 12 seconds, aligning with the current block time, which is about once every 2 blocks. Increasing the sample period allows for more observations per sample, thereby smoothing out the impact of rapid price fluctuations and reducing the risk of liquidation events caused by sudden, short-lived price drops.
Reduction in Discount Factor: The discount factor will be lowered from 75% to 65%, giving slightly more weight to earlier prices. This adjustment further reduces the effect of rapid price dips, contributing to a more stable price calculation and reducing the likelihood of sudden disruptions.