Oracles: Difference between revisions
From Chainlink Community Wiki
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
</td></tr></table> | </td></tr></table> | ||
}} | }} | ||
---- | |||
"Oracles are not the source of information—they’re an entity that queries, verifies, and authenticates external data sources, then relays that information back to a smart contract." ref<>https://docs.r3.com/en/platform/corda/4.8/open-source/key-concepts-oracles.html</ref>--[[User:Reggie|Reggie]] ([[User talk:Reggie|talk]]) 05:11, 23 August 2022 (UTC) | |||
---- | ---- | ||
These oracles take on several key functions in regards to interacting with data including: listening, extracting, formatting, validating, computing, and broadcasting. | These oracles take on several key functions in regards to interacting with data including: listening, extracting, formatting, validating, computing, and broadcasting. |
Revision as of 05:11, 23 August 2022
Oracle and DON Discussion Page
Welcome to the talk page for discussing improvements to the Oracle and DON article. Talk pages (also known as discussion pages) are Wiki administration pages where editors/contributors discuss improvements that can be made to an article. NOTE: Discussion pages are not a forum for general discussion of the article's subject. When you post a message on a talk page, you should always sign and date your comment so that other editors can follow the thread of the conversation. To do this, either type four tildes (~) at the end of your comment or just click the signature button on the row of buttons above the edit box. |
"Oracles are not the source of information—they’re an entity that queries, verifies, and authenticates external data sources, then relays that information back to a smart contract." ref<>https://docs.r3.com/en/platform/corda/4.8/open-source/key-concepts-oracles.html</ref>--Reggie (talk) 05:11, 23 August 2022 (UTC)
These oracles take on several key functions in regards to interacting with data including: listening, extracting, formatting, validating, computing, and broadcasting.
Rather than going into each of these functions in depth, it’s easier to just separate the job of an oracle into off-chain vs on-chain tasks. The on-chain component centers around receiving requests from smart contracts on the blockchain, then broadcasting different types of data to the external system (DON).
The off-chain component centers around processing these requests, going to fetch the necessary external data and then performing any off-chain computation needed, before feeding the data back into the blockchain.
a DON consists of a network of oracles. While both are digital networks that rely on coordination between participants, the key difference is around what they are trying to reach consensus on.
In the case of a blockchain network, the network is trying to achieve consensus on which node has the right to append a new block of transactions to the ledger. This is done through different consensus mechanisms such as Proof of Work (PoW) or Proof of Stake (PoS).
In the case of a DON, the network is trying to come to consensus on what is the verifiably true piece of data to feed into a blockchain network. Consensus on this data point is reached in a decentralized manner by oracles each submitting their own data point and then taking the mean from the network.
“A blockchain oracle is a secure piece of middleware that facilitates communication between blockchains and any off-chain system, including data providers, web APIs, enterprise backends, cloud providers, IoT devices, e-signatures, payment systems, other blockchains, and more.”[2]--Reggie (talk) 05:17, 29 July 2022 (UTC)
Oracles are entities that form consensus regarding external data and events using decentralized off-chain computation. [3]--Reggie (talk) 03:23, 20 July 2022 (UTC)
Components of a Decentralized Oracle Network (DON)
Data Feeds are an example of a decentralized oracle network, and include the following components:
- A consumer contract - A Consumer contract is any contract that uses Chainlink Data Feeds to consume aggregated data.
- A proxy contract - Proxy contracts are on-chain proxies that point to the aggregator for a particular data feed. Using proxies enables the underlying aggregator to be upgraded without any service interruption to consuming contracts.
- An aggregator contract - An aggregator is the contract that receives periodic data updates from the oracle network. Aggregators store aggregated data on-chain so that consumers can retrieve it and and act upon it within the same transaction.
Aggregators receive updates from the oracle network only when the Deviation Threshold or Heartbeat Threshold triggers an update during an aggregation round. The first condition that is met triggers an update to the data.
Source: https://docs.chain.link/docs/architecture-decentralized-model/
Each node in the network is validating some piece of data or computation external to the blockchain.--Reggie (talk) 07:57, 21 June 2022 (UTC)