Flux monitor: Difference between revisions
From Chainlink Community Wiki
(Created page with "Flux Monitor") |
No edit summary |
||
Line 1: | Line 1: | ||
Flux Monitor | Flux Monitor | ||
<h1>Price Feeds: FluxMonitor (FM)</h1> | |||
<p><a href="https://docs.chain.link/docs/jobs/types/flux-monitor/"><strong>Official Chainlink Docs for FluxMonitor</strong></a></p> | |||
<p>The deployment and migration from Runlog to FluxMonitor was a major milestone.</p> | |||
<p>The migration removed the high risks from the Price Feeds' dependence on the Deviator / Utility Node, while also significantly reducing operation costs.</p> | |||
<p> </p> | |||
<h2>Migration to FluxMonitor: ETH / USD</h2> | |||
<p>August 06, 2020: The ETH / USD <a href="https://github.com/smartcontractkit/chainlink/blob/develop/contracts/src/v0.6/FluxAggregator.sol">FluxAggregator.sol</a> contract was deployed at address <a href="https://etherscan.io/address/0x00c7A37B03690fb9f41b5C5AF8131735C7275446"><span style="font-family:'Courier New', Courier, monospace;"><strong>0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419</strong></span></a><strong> </strong>at transaction hash <a href="https://etherscan.io/tx/0x1697d1bd5ab87a246571186262cf5111cb469b60b9798d70a1fe307d3252c76c"><span style="font-family:'Courier New', Courier, monospace;"><strong>0x1697d1bd5ab87a246571186262cf5111cb469b60b9798d70a1fe307d3252c76c</strong></span></a>.</p> | |||
<p>April 06, 2021: The ETH / USD price feed was formally migrated from Runlog to FluxMonitor contracts.</p> | |||
<p><br>As Chainlink is extremely risk-averse, they did not want to migrate all of their Price Feed contracts to the new FluxMonitor contracts without a backup plan.</p> | |||
<p>If anything were to happen, the proxy contracts were each pointed at their respective FluxMonitor aggregator contracts. If anything were to happen, the Chainlink team could fall back to the Runlog contracts in a matter of moments.</p> | |||
<p> </p> | |||
<h3>FluxMonitor Operation</h3> | |||
<p>The operation of FluxMonitor feeds and all related contracts is rather complex, and outside the scope (Price Feed History) of this page. Please refer to Chainlink Contract Details for more information.</p> | |||
<p>The important changes from migrating to FM contracts, were:</p> | |||
<ul> | |||
<li>The Deviator / Utility Node was no longer necessary.<ul> | |||
<li>Monitoring data sources for deviation was pushed out to each Node Operator.<ul> | |||
<li>If a single Node Operator detected deviation beyond the set threshold, a new round would be fired.</li> | |||
<li>The Deviator / Utility Node was no longer a single point of failure.</li> | |||
</ul> | |||
</li> | |||
<li>The Deviator / Utility Node no longer sent transactions to each Node Opertor for every price update<ul> | |||
<li>This resulted in <i>significantly </i>reducing the cost of operating multiple Price Feeds</li> | |||
</ul> | |||
</li> | |||
</ul> | |||
</li> | |||
</ul> | |||
<p> </p> | |||
<h2>Price Feeds: Limitations of FluxMonitor</h2> | |||
<h3>Issues with Scaling</h3> | |||
<p>While FluxMonitor was a n<i>major</i> increase in efficiency over the previous generation Runlog contracts, it was not efficient enough to accommodate for the incrasing number of transactions on the Ethereum network.</p> | |||
<p>With the rapid adoption of DeFi in the summer of 2021, the blocks were filling up rapidly and the efficiency of FluxMonitor was not enough to keep up.</p> | |||
<p>Each new round for each Price Feed still required on-chain transactions from each Node Operator. This meant that at times of high market volatility, each Price Feed was adding 9+ transactions to the mempool for each Price Feed.</p> | |||
<p>As new DeFi protocols were launching with desire to support new tokens, more price feeds were necessary. FluxMonitor was not enough to meet the demand that Chainlink was experiencing.</p> | |||
<p>If only there were a way to reach consensus off-chain, without risk to the security of the Price Feeds…</p> |
Revision as of 08:11, 7 April 2022
Flux Monitor
Price Feeds: FluxMonitor (FM)
<a href="https://docs.chain.link/docs/jobs/types/flux-monitor/">Official Chainlink Docs for FluxMonitor</a>
The deployment and migration from Runlog to FluxMonitor was a major milestone.
The migration removed the high risks from the Price Feeds' dependence on the Deviator / Utility Node, while also significantly reducing operation costs.
Migration to FluxMonitor: ETH / USD
August 06, 2020: The ETH / USD <a href="https://github.com/smartcontractkit/chainlink/blob/develop/contracts/src/v0.6/FluxAggregator.sol">FluxAggregator.sol</a> contract was deployed at address <a href="https://etherscan.io/address/0x00c7A37B03690fb9f41b5C5AF8131735C7275446">0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419</a> at transaction hash <a href="https://etherscan.io/tx/0x1697d1bd5ab87a246571186262cf5111cb469b60b9798d70a1fe307d3252c76c">0x1697d1bd5ab87a246571186262cf5111cb469b60b9798d70a1fe307d3252c76c</a>.
April 06, 2021: The ETH / USD price feed was formally migrated from Runlog to FluxMonitor contracts.
As Chainlink is extremely risk-averse, they did not want to migrate all of their Price Feed contracts to the new FluxMonitor contracts without a backup plan.
If anything were to happen, the proxy contracts were each pointed at their respective FluxMonitor aggregator contracts. If anything were to happen, the Chainlink team could fall back to the Runlog contracts in a matter of moments.
FluxMonitor Operation
The operation of FluxMonitor feeds and all related contracts is rather complex, and outside the scope (Price Feed History) of this page. Please refer to Chainlink Contract Details for more information.
The important changes from migrating to FM contracts, were:
- The Deviator / Utility Node was no longer necessary.
- Monitoring data sources for deviation was pushed out to each Node Operator.
- If a single Node Operator detected deviation beyond the set threshold, a new round would be fired.
- The Deviator / Utility Node was no longer a single point of failure.
- The Deviator / Utility Node no longer sent transactions to each Node Opertor for every price update
- This resulted in significantly reducing the cost of operating multiple Price Feeds
- Monitoring data sources for deviation was pushed out to each Node Operator.
Price Feeds: Limitations of FluxMonitor
Issues with Scaling
While FluxMonitor was a nmajor increase in efficiency over the previous generation Runlog contracts, it was not efficient enough to accommodate for the incrasing number of transactions on the Ethereum network.
With the rapid adoption of DeFi in the summer of 2021, the blocks were filling up rapidly and the efficiency of FluxMonitor was not enough to keep up.
Each new round for each Price Feed still required on-chain transactions from each Node Operator. This meant that at times of high market volatility, each Price Feed was adding 9+ transactions to the mempool for each Price Feed.
As new DeFi protocols were launching with desire to support new tokens, more price feeds were necessary. FluxMonitor was not enough to meet the demand that Chainlink was experiencing.
If only there were a way to reach consensus off-chain, without risk to the security of the Price Feeds…