Data Feeds Architecture
Basic request model
Chainlink connects smart contracts with external data using its decentralized oracle network. Chainlink API requests are handled 1:1 by an oracle.
The Basic Request Model describes the onchain architecture of requesting data from a single oracle source.
To learn how to make a GET request using a single oracle, see Make a GET Request.
Decentralized data model
For a more robust and trustworthy answer, you can aggregate data from many oracles. With onchain aggregation, data is aggregated from a decentralized network of independent oracle nodes. This architecture is applied to Chainlink Data Feeds, which can aggregate data such as asset price data.
The Decentralized Data Model describes how data is aggregated, and how consumer contracts can retrieve this data.
Offchain reporting
Offchain Reporting (OCR) is an improvement on the decentralization and scalability of Chainlink networks. With our Offchain Reporting aggregators, all nodes communicate using a peer to peer network. During the communication process, a lightweight consensus algorithm runs where each node reports its price observation and signs it. A single aggregate transaction is then transmitted, which saves a significant amount of gas.
To learn more about OCR and how it works, see the Offchain Reporting page.