Off-Chain Reporting (OCR) is the next Oracle network upgrade replacing the
FluxAggregator model. It represents a significant step towards increasing the decentralization and scalability of Chainlink networks.
See the OCR protocol paper for a technical deep dive.
What is OCR?
The OCR protocol allows nodes to aggregate their observations into a single report off-chain using a secure P2P network. A single node then submits a transaction with the aggregated report to the chain. Each report consists of many nodes’ observations and has to be signed by a quorum of nodes. These signatures are verified on-chain.
Benefits of OCR:
1.Overall network congestion from Chainlink oracle networks is reduced dramatically
2.Individual node operators spend far less on gas costs
3.Node networks are more scalable because price feeds can accommodate more nodes
4.Data feeds can be updated in a more timely manner since each round needn’t wait for multiple transactions to be confirmed before a price is confirmed on-chain.
How does it work?
Protocol execution mostly happens off-chain over a peer to peer network between Chainlink nodes. The nodes regularly elect a new leader node who drives the rest of the protocol.
The leader regularly requests followers to provide freshly signed observations and aggregates them into a report. It then sends this report back to the followers and asks them to verify the report’s validity. If a quorum of followers approves the report by sending a signed copy back to the leader, the leader assembles a final report with the quorum’s signatures and broadcasts it to all followers.
The nodes then attempt to transmit the final report to the smart contract according to a randomized schedule. Finally, the smart contract verifies that a quorum of nodes signed the report and exposes the median value to consumers.
All nodes watch the blockchain for the final report to remove any single point of failure during transmission. If the designated node fails to get their transmission confirmed within a determined period, a round-robin protocol kicks in, such that other nodes also transmit the final report until one of them is confirmed.
How does this affect price feeds?
For smart contracts that currently consume price feeds, there will be no interruptions. Service will not be affected, and the functions described in the Price Feeds API Reference will continue to work.
The upgrade will happen automatically so long as your contracts are requesting data from the proxy addresses as described in the Price Feed Migration Instructions from August 2020 and listed both on our Contract Addresses page and ENS.