X

Feedback + Support

Need Assistance? Notice something missing or broken? Let us know!

Press esc to dismiss

project icon for chainlink

Chainlink

LINK
$10.27
-6.12%
Negative delta icon

Chainlink is a decentralized oracle network, whose oracle middleware allows smart contracts on smart contract platforms to interoperate with off-chain data providers. This enables on-chain smart contracts to evaluate contract variables using off-chain data.

Overview

Project Stage

Live status icon

Amount Raised

$32,000,000.00

Market Cap

$3,971MM

Sector

dApp Services

Blockchain

Ethereum token icon

Ethereum

Funding Source

Token Sale

Project Profile

Disclosure: Smith + Crown was a compensated advisor to this project.

Many compelling uses of blockchain technology require smart contracts to trigger based on external events — ie, if silver reaches $60/oz on Jan 1st 2032, sell forty ounces on COMEX. However, current blockchain architecture makes this difficult to enforce, because smart contracts cannot reliably reference off-chain data sources. Such data sources may present conflicting information to whoever queries them or be used to manipulate smart contracts. In order to reduce reliance on centralized oracle services that represent a single point of failure, projects such as Chainlink aim to build a decentralized oracle network, designed to allow smart contracts to rely on off-chain data in a trustless manner. Chainlink’s success would mean projects across the industry could more fully utilize smart contracts in what were hitherto hypothetical use cases. At a high level, Chainlink acts as an oracle middleware protocol between smart contracts and external data sources (typically APIs).

Other blockchain-based projects have also attempted to address this so-called ‘Oracle Problem’. Augur, for example, is a prediction market that leverages a nuanced incentive system to induce manual human reporting of real-world events. Chainlink argues that this process, while accurate and decentralized, is too slow and does not scale to the streaming of real-time data that Chainlink envisions as a primary use case. Another related project is Provable, which Chainlink claims relies on a central point of control to notarize queries.

Founded by Sergey Nazarov (CEO) and Steve Ellis (CTO), Chainlink raised $32 million through an ICO and private sale of LINK, the project’s token, in September of 2017. The project has since made several notable partnerships, such as with Google, Oracle, Swift, IC3, and Gartner. The Chainlink mainnet went live on Ethereum as of May 2019.

Protocol Details

Chainlink is a decentralized oracle network, whose oracle middleware allows smart contracts on smart contract platforms, like Ethereum, to interoperate with off-chain data providers, APIs, payment gateways, and external chains, enabling on-chain smart contracts to evaluate contract variables using off-chain data. In February 2020, Polkadot announced that they would be integrating Chainlink into the Polkadot stack, making it the first Chainlink integration on a blockchain outwith the Ethereum ecosystem.

In a (simplified) use-case, a smart contract would broadcast a ‘request contract’ on-chain, monitored by a blockchain (ie, Ethereum) node. Each request contract has a service level agreement (SLA), which defines the parameters for the data request, such as which external data feeds to use (ie, Nomics), how many Chainlink nodes should make the request and any uptime guarantees for streaming data. Chainlink nodes monitor the blockchain for these requests and bid on them. Once matched with a request, Chainlink nodes query/return the external data using an External Adapter, which is an external API-specific software module that allows a Chainlink node to interact with it; this data is then aggregated through the Aggregating Contract (see below) to a single value, and reported back to the smart contract that originally requested it. The Chainlink nodes are then compensated in LINK for their work.

A smart contract that requests data from the Chainlink network can select particular oracles (that is, Chainlink nodes) to perform this work. The Chainlink core team operates one marketplace for matching requests and groups of Chainlink nodes, but requestors are free to solicit data requests from third-party marketplaces. For a query response to be considered valid, it only needs to meet the standards of the defined SLA and be accepted by the requesting smart contract; it does not need to be validated by every Chainlink node. The Chainlink network is not forming a global consensus about every API response.

In summary, the Chainlink protocol defines the following contract types, which work in tandem to validate data requests from oracles:

  • Reputation Contract - monitors Chainlink nodes, recording the ‘reputation’ of each according to how effectively they follow the SLAs of data oracle requests that they accept from smart contracts. Chainlink nodes who report data that deviates significantly from the final aggregated value lose reputation, and may not be selected for future requests.
  • Order Matching Contract - logs an SLA for a data request from a smart contract, collects bids from Chainlink oracle nodes, matches bid with request
  • Aggregating Contract - collects the returned data from all oracles who have accepted the data request, aggregates all values into a single ‘source of truth’. The manner in which the data is aggregated (average, median, etc.) is defined by the SLA. This final value is recorded in the requesting smart contract (ie, on Ethereum).

Per the Reputation Contract, nodes are held accountable through a combination of reputation system (based on metrics like uptime, response time, and successful jobs completed), node required LINK staking and an optional Chainlink node approval process. The Chainlink team can also conduct an optional technology audit and identity verification process, in order to prevent one user from serving as multiple oracle nodes. This overview by Google Cloud provides a helpful summary of the Chainlink query workflow.

Oracle contracts can also use multiple Chainlink nodes, allowing smart contracts to execute only if a majority of nodes return the same value, or from like logics (average, median, etc) decided by the smart contract designer. Additionally, nodes can be run in Trusted Execution Environments (TEE), such as the TownCrier Oracle. TEE can handle private information, such as passwords, private keys, and closed source APIs, without revealing such information to the node operator.

Since smart contracts requesting data define their own aggregating function and sources, they have the primary responsibility to ensure their request/SLA returns accurate data. Thus, Chainlink nodes are not principally interested in returning real-world-accurate data, they are incentivized to return data from the specified providers that are not flagged through the Reputation Contract as erroneous. Of course, the fact that such data has deviated does not imply that the Chainlink node has acted maliciously; it could be that the underlying API that it requested from has simply returned bad data.

Ultimately, Chainlink effectively operates as a multisig oracle service, broadly similar to the MakerDAO price feeds, but with a native payment and staking token.

Asset Details

Chainlink’s token, LINK, is an ERC-677 token (a modification of the ERC-20 standard that simplifies token contract calls) used primarily by dApp users to pay Chainlink node operators for providing oracle services as described above. Node operators can be required to stake LINK as collateral to process certain requests. Such deposited Link is forfeited should the node be offline at the time of request or submit outlier data (as determined by the Aggregating Contract). Such deposits are optional, however, determined by requesters, so operators can currently participate as nodes without holding tokens: the extent to which LINK is required for the right to work as a node depends on how willing requesters are to utilize depositless nodes.

Chainlink currently simplifies fees to one request per one LINK; at the time of writing, details on the live network’s fee structures are forthcoming.

project icon for chainlink

Chainlink

LINK
$10.27
-6.12%
Negative delta icon

Chainlink is a decentralized oracle network, whose oracle middleware allows smart contracts on smart contract platforms to interoperate with off-chain data providers. This enables on-chain smart contracts to evaluate contract variables using off-chain data.

Overview

STATUS

MARKET CAP

BLOCKCHAIN

TOKEN TYPE

Live status icon
Live
$3,971MM
Ethereum token icon

Ethereum

ERC-20

FUNDING SOURCE

AMOUNT RAISED

SECTOR

Token Sale

$32MM

dApp Services

Project Profile

Disclosure: Smith + Crown was a compensated advisor to this project.

Many compelling uses of blockchain technology require smart contracts to trigger based on external events — ie, if silver reaches $60/oz on Jan 1st 2032, sell forty ounces on COMEX. However, current blockchain architecture makes this difficult to enforce, because smart contracts cannot reliably reference off-chain data sources. Such data sources may present conflicting information to whoever queries them or be used to manipulate smart contracts. In order to reduce reliance on centralized oracle services that represent a single point of failure, projects such as Chainlink aim to build a decentralized oracle network, designed to allow smart contracts to rely on off-chain data in a trustless manner. Chainlink’s success would mean projects across the industry could more fully utilize smart contracts in what were hitherto hypothetical use cases. At a high level, Chainlink acts as an oracle middleware protocol between smart contracts and external data sources (typically APIs).

Other blockchain-based projects have also attempted to address this so-called ‘Oracle Problem’. Augur, for example, is a prediction market that leverages a nuanced incentive system to induce manual human reporting of real-world events. Chainlink argues that this process, while accurate and decentralized, is too slow and does not scale to the streaming of real-time data that Chainlink envisions as a primary use case. Another related project is Provable, which Chainlink claims relies on a central point of control to notarize queries.

Founded by Sergey Nazarov (CEO) and Steve Ellis (CTO), Chainlink raised $32 million through an ICO and private sale of LINK, the project’s token, in September of 2017. The project has since made several notable partnerships, such as with Google, Oracle, Swift, IC3, and Gartner. The Chainlink mainnet went live on Ethereum as of May 2019.

Protocol Details

Chainlink is a decentralized oracle network, whose oracle middleware allows smart contracts on smart contract platforms, like Ethereum, to interoperate with off-chain data providers, APIs, payment gateways, and external chains, enabling on-chain smart contracts to evaluate contract variables using off-chain data. In February 2020, Polkadot announced that they would be integrating Chainlink into the Polkadot stack, making it the first Chainlink integration on a blockchain outwith the Ethereum ecosystem.

In a (simplified) use-case, a smart contract would broadcast a ‘request contract’ on-chain, monitored by a blockchain (ie, Ethereum) node. Each request contract has a service level agreement (SLA), which defines the parameters for the data request, such as which external data feeds to use (ie, Nomics), how many Chainlink nodes should make the request and any uptime guarantees for streaming data. Chainlink nodes monitor the blockchain for these requests and bid on them. Once matched with a request, Chainlink nodes query/return the external data using an External Adapter, which is an external API-specific software module that allows a Chainlink node to interact with it; this data is then aggregated through the Aggregating Contract (see below) to a single value, and reported back to the smart contract that originally requested it. The Chainlink nodes are then compensated in LINK for their work.

A smart contract that requests data from the Chainlink network can select particular oracles (that is, Chainlink nodes) to perform this work. The Chainlink core team operates one marketplace for matching requests and groups of Chainlink nodes, but requestors are free to solicit data requests from third-party marketplaces. For a query response to be considered valid, it only needs to meet the standards of the defined SLA and be accepted by the requesting smart contract; it does not need to be validated by every Chainlink node. The Chainlink network is not forming a global consensus about every API response.

In summary, the Chainlink protocol defines the following contract types, which work in tandem to validate data requests from oracles:

  • Reputation Contract - monitors Chainlink nodes, recording the ‘reputation’ of each according to how effectively they follow the SLAs of data oracle requests that they accept from smart contracts. Chainlink nodes who report data that deviates significantly from the final aggregated value lose reputation, and may not be selected for future requests.
  • Order Matching Contract - logs an SLA for a data request from a smart contract, collects bids from Chainlink oracle nodes, matches bid with request
  • Aggregating Contract - collects the returned data from all oracles who have accepted the data request, aggregates all values into a single ‘source of truth’. The manner in which the data is aggregated (average, median, etc.) is defined by the SLA. This final value is recorded in the requesting smart contract (ie, on Ethereum).

Per the Reputation Contract, nodes are held accountable through a combination of reputation system (based on metrics like uptime, response time, and successful jobs completed), node required LINK staking and an optional Chainlink node approval process. The Chainlink team can also conduct an optional technology audit and identity verification process, in order to prevent one user from serving as multiple oracle nodes. This overview by Google Cloud provides a helpful summary of the Chainlink query workflow.

Oracle contracts can also use multiple Chainlink nodes, allowing smart contracts to execute only if a majority of nodes return the same value, or from like logics (average, median, etc) decided by the smart contract designer. Additionally, nodes can be run in Trusted Execution Environments (TEE), such as the TownCrier Oracle. TEE can handle private information, such as passwords, private keys, and closed source APIs, without revealing such information to the node operator.

Since smart contracts requesting data define their own aggregating function and sources, they have the primary responsibility to ensure their request/SLA returns accurate data. Thus, Chainlink nodes are not principally interested in returning real-world-accurate data, they are incentivized to return data from the specified providers that are not flagged through the Reputation Contract as erroneous. Of course, the fact that such data has deviated does not imply that the Chainlink node has acted maliciously; it could be that the underlying API that it requested from has simply returned bad data.

Ultimately, Chainlink effectively operates as a multisig oracle service, broadly similar to the MakerDAO price feeds, but with a native payment and staking token.

Asset Details

Chainlink’s token, LINK, is an ERC-677 token (a modification of the ERC-20 standard that simplifies token contract calls) used primarily by dApp users to pay Chainlink node operators for providing oracle services as described above. Node operators can be required to stake LINK as collateral to process certain requests. Such deposited Link is forfeited should the node be offline at the time of request or submit outlier data (as determined by the Aggregating Contract). Such deposits are optional, however, determined by requesters, so operators can currently participate as nodes without holding tokens: the extent to which LINK is required for the right to work as a node depends on how willing requesters are to utilize depositless nodes.

Chainlink currently simplifies fees to one request per one LINK; at the time of writing, details on the live network’s fee structures are forthcoming.

Recent News

Google Cloud publishes demo code to integrate Ethereum with BigQuery using Chainlink as an oracle middleware

June 13, 2019

Sources:

Google Cloud Blog,Twitter

Coinbase Pro to list Chainlink

June 26, 2019

Sources:

CoinDesk

DeFi lending protocol, bZx has unveiled changes to address vulnerabilities exposed by its recent network attacks.

Following a set of attacks on the Ethereum-based lending protocol, bZx, its team has issued a review of the incidents while also publishing alterations it is making to rectify the vulnerabilities. The project has made changes to its use of oracles, the review process for code updates and its overall development framework. bZx was subject to an initial exploit on 14th February, with a user extracting $350,000 due to a bug while a subsequent attack on 17th February led to $645,000 in losses. 1inch.exchange, a decentralized exchange aggregator, also stated that they disclosed a $2.5 million vulnerability in the protocol, but that bZx chose not to inform its userbase or pay the corresponding bounty reward. The protocol’s new oracle design will initially rely on services from Chainlink, however, Band Protocol and Uniswap v2.0 will provide reference prices at a later date. Beyond this, the team plans to implement an EIP-style development process and subject the protocol to security and economic audits as well as submitting the code for formal verification.

March 10, 2020

Sources:

more
Load More
Show projects Article List
Sort icon: direction descending
Profile Updated
133d
Project details updated.
No icon fallback
ALTG
Profile Updated
133d
Project details updated.
Project Added as Signal
146d
Project details updated.
Profile Updated
146d
Project details updated.
Profile Updated
147d
Project details updated.
project icon for beam
BEAM
Profile Updated
147d
Project details updated.
Profile Updated
152d
Project details updated.
Profile Updated
152d
Project details updated.
project icon for qtum
QTUM
Profile Updated
157d
Project details updated.
Profile Updated
157d
Project details updated.
Profile Updated
158d
Project details updated.
project icon for aion
AION
Profile Updated
158d
Project details updated.
Profile Updated
159d
Project details updated.
project icon for grin
GRIN
Profile Updated
159d
Project details updated.
Profile Updated
160d
Project details updated.
Profile Updated
160d
Project details updated.
Profile Updated
164d
Project details updated.
project icon for kadena
KADENA
Profile Updated
164d
Project details updated.
project icon for chia
CHIA
Profile Updated
166d
Project details updated.
project icon for waves
WAVES
Profile Updated
166d
Project details updated
Profile Updated
168d
Project details updated.
Profile Updated
168d
Project details updated.
Profile Updated
171d
Project details updated.
No icon fallback
KLAY
Profile Updated
171d
Project details updated.
Profile Updated
172d
Project details updated.
project icon for neo
NEO
Profile Updated
172d
Project details updated.
Profile Updated
173d
Project details updated.
Profile Updated
173d
Project details updated.
project icon for aelf
ELF
Profile Updated
174d
Project details updated.
project icon for eos
EOS
Profile Updated
174d
Project details updated.
Profile Updated
175d
Project details updated.
Profile Updated
175d
Project details updated.
project icon for storj
STORJ
Profile Updated
179d
Project details updated.
Profile Updated
180d
Project details updated.
Profile Updated
180d
Project details updated.
project icon for zrx
ZRX
Profile Updated
181d
Project details updated.
project icon for tether
USDT
Profile Updated
181d
Project details updated.
project icon for wax
WAXP
Profile Updated
182d
Project details updated.
Profile Updated
182d
Project details updated.
Profile Updated
185d
Project details updated.
Profile Updated
185d
Project details updated.
Profile Updated
186d
Project details updated.
project icon for tzero
TZEROP
Profile Updated
186d
Project details updated.
Profile Updated
187d
Project details updated.
Profile Updated
187d
Protocol and asset details updated.
project icon for skale
SKALE
Project Added as Signal
187d
SKALE is an Ethereum Layer 2 scalability protocol facilitating the formation and operation of on-demand elastic sidechains.
Project Added as Signal
206d
TrueBit is a distributed marketplace for off-chain computation of resource-intensive smart contracts, verifying proper results using a game theory-based incentive structure rather than cryptographic proofs.
Project Added as Signal
217d
Spacemesh is a cryptocurrency and smart contract platform operating on directed acyclic graph infrastructure and utilizing a Proof-of-Spacetime consensus algorithm that intends to achieve a more equitable distribution of mining rights by decoupling the conferment thereof with access to financial means.
No icon fallback
BZRX
Project Added as Signal
220d
bZx is an Ethereum-based, decentralized cryptoasset lending protocol that facilitates margin trading of ETH and ERC-20 tokens.
Project Added as Signal
223d
Oasis Network is a permissionless, blockchain-based cloud computing platform that aims to improve upon the scalability and privacy of its peers through novel architecture.
Project Added as Signal
234d
FTX is a cryptoasset derivatives exchange, powered by a proprietary liquidation engine and clawback prevention protocol, offering futures, leveraged tokens and an over-the-counter trading portal.
Project Added as Signal
238d
ThunderCore is a permissionless, Turing-complete smart contract platform offering full EVM-compatibility and PaLa, a new variant of Proof-of-Stake consensus, as its distinguishing features.
Project Added as Signal
241d
Santiment is a blockchain data and analytics provider offering content streams, data feeds and analysis, APIs and its own ERC-20 token, SAN.
Project Added as Signal
255d
Nexus Mutual is a blockchain-based, protocol-enabled mutual insurance fund operating on Ethereum and owned entirely by its members, who buy into the fund by purchasing NXM tokens.
Project Added as Signal
283d
Gods Unchained is a decentralized trading card game that uses the ERC-721 non-fungible token standard to establish on-chain ownership of cards to be used in off-chain gameplay.
Project Added as Signal
293d
Synthetix is a decentralized synthetic asset issuance protocol consisting of an Ethereum-based smart contract, an exchange, and a dApp to facilitate smart contract interaction.
project icon for zrx
ZRX
Profile Updated
298d
Update on 0x v3, including protocol fees, staking incentives, and liquidity pooling with Uniswap, Kyber, and Oasis.
No icon fallback
LUNA
Project Added as Signal
307d
Terra is an algorithmically-governed, seigniorage share style stablecoin blockchain platform to which a collection of fiat-pegged tokens and a stabilizing cryptoasset, Luna, are native.
Profile Updated
324d
Stellar Development Foundation burns 55 billion XLM from its reserves, over half of the total supply, and removes the ongoing inflation to current token holders. The SDF had previously earmarked these tokens for community airdrops and ongoing organization funding.
Project Added as Signal
339d
Nervos is a public, PoW-based smart contract platform that utilizes off-chain computation in service of transaction scalability and implements a unique token emissions mechanic that imposes a perpetual cost for on-chain data storage.
Profile Updated
350d
Supply Information added.
project icon for beam
BEAM
Profile Updated
353d
Supply Information added.
project icon for grin
GRIN
Profile Updated
353d
Supply Information added.
Profile Updated
356d
Supply Information added.
Profile Updated
356d
Supply Information added.
project icon for siacoin
SC
Profile Updated
356d
Mining Information added.
project icon for dash
DASH
Profile Updated
357d
Mining and Supply Information added.
Profile Updated
357d
Mining and Supply Information added.
Profile Updated
360d
Mining and Supply information added.
Profile Updated
361d
Mining and Supply Information added.
project icon for kin
KIN
Project Removed as Signal
368d
Kin removed as Signal.
project icon for simple
OST
Project Added as Signal
368d
OST added as Signal.
Profile Updated
382d
Signal profile updated.
Project Added as Signal
396d
Edgeware added as Signal.
Profile Updated
398d
Ethereum Classic profile added.
project icon for steem
STEEM
Profile Updated
410d
Signal profile updated.
Profile Updated
410d
Signal profile updated.
project icon for neo
NEO
Profile Updated
410d
Signal profile updated.
No icon fallback
KLAY
Project Added as Signal
410d
Klaytn added as Signal.
No icon fallback
ALTG
Project Added as Signal
416d
Althea added as Signal.
Profile Updated
423d
Signal profile updated.
No icon fallback
UMA
Project Added as Signal
430d
UMA added as Signal.
No icon fallback
LIBRA
Project Added as Signal
430d
Libra added as Signal.
Project Added as Signal
436d
Chainlink added as Signal.
Profile Updated
442d
Signal profile updated.
Profile Updated
449d
Signal profile updated.
project icon for chia
CHIA
Profile Updated
454d
Signal profile updated.
project icon for bitfinex-leo
LEOTOKEN
Project Added as Signal
460d
Bitfinex LEO added as Signal.
project icon for coda
CODA
Profile Updated
466d
Signal profile updated.
Project Added as Signal
472d
Paxos added as Signal.
project icon for celo
CELO
Project Added as Signal
478d
Celo added as Signal.

You've reached the end of the list

project icon for chainlink

Chainlink

LINK
$10.27
-6.12%
Negative delta icon

Chainlink is a decentralized oracle network, whose oracle middleware allows smart contracts on smart contract platforms to interoperate with off-chain data providers. This enables on-chain smart contracts to evaluate contract variables using off-chain data.

Overview

STATUS

MARKET CAP

BLOCKCHAIN

TOKEN TYPE

Live status icon
Live
$3,971MM
Ethereum token icon

Ethereum

ERC-20

FUNDING SOURCE

AMOUNT RAISED

SECTOR

Token Sale

$32MM

dApp Services

Project Profile

Disclosure: Smith + Crown was a compensated advisor to this project.

Many compelling uses of blockchain technology require smart contracts to trigger based on external events — ie, if silver reaches $60/oz on Jan 1st 2032, sell forty ounces on COMEX. However, current blockchain architecture makes this difficult to enforce, because smart contracts cannot reliably reference off-chain data sources. Such data sources may present conflicting information to whoever queries them or be used to manipulate smart contracts. In order to reduce reliance on centralized oracle services that represent a single point of failure, projects such as Chainlink aim to build a decentralized oracle network, designed to allow smart contracts to rely on off-chain data in a trustless manner. Chainlink’s success would mean projects across the industry could more fully utilize smart contracts in what were hitherto hypothetical use cases. At a high level, Chainlink acts as an oracle middleware protocol between smart contracts and external data sources (typically APIs).

Other blockchain-based projects have also attempted to address this so-called ‘Oracle Problem’. Augur, for example, is a prediction market that leverages a nuanced incentive system to induce manual human reporting of real-world events. Chainlink argues that this process, while accurate and decentralized, is too slow and does not scale to the streaming of real-time data that Chainlink envisions as a primary use case. Another related project is Provable, which Chainlink claims relies on a central point of control to notarize queries.

Founded by Sergey Nazarov (CEO) and Steve Ellis (CTO), Chainlink raised $32 million through an ICO and private sale of LINK, the project’s token, in September of 2017. The project has since made several notable partnerships, such as with Google, Oracle, Swift, IC3, and Gartner. The Chainlink mainnet went live on Ethereum as of May 2019.

Protocol Details

Chainlink is a decentralized oracle network, whose oracle middleware allows smart contracts on smart contract platforms, like Ethereum, to interoperate with off-chain data providers, APIs, payment gateways, and external chains, enabling on-chain smart contracts to evaluate contract variables using off-chain data. In February 2020, Polkadot announced that they would be integrating Chainlink into the Polkadot stack, making it the first Chainlink integration on a blockchain outwith the Ethereum ecosystem.

In a (simplified) use-case, a smart contract would broadcast a ‘request contract’ on-chain, monitored by a blockchain (ie, Ethereum) node. Each request contract has a service level agreement (SLA), which defines the parameters for the data request, such as which external data feeds to use (ie, Nomics), how many Chainlink nodes should make the request and any uptime guarantees for streaming data. Chainlink nodes monitor the blockchain for these requests and bid on them. Once matched with a request, Chainlink nodes query/return the external data using an External Adapter, which is an external API-specific software module that allows a Chainlink node to interact with it; this data is then aggregated through the Aggregating Contract (see below) to a single value, and reported back to the smart contract that originally requested it. The Chainlink nodes are then compensated in LINK for their work.

A smart contract that requests data from the Chainlink network can select particular oracles (that is, Chainlink nodes) to perform this work. The Chainlink core team operates one marketplace for matching requests and groups of Chainlink nodes, but requestors are free to solicit data requests from third-party marketplaces. For a query response to be considered valid, it only needs to meet the standards of the defined SLA and be accepted by the requesting smart contract; it does not need to be validated by every Chainlink node. The Chainlink network is not forming a global consensus about every API response.

In summary, the Chainlink protocol defines the following contract types, which work in tandem to validate data requests from oracles:

  • Reputation Contract - monitors Chainlink nodes, recording the ‘reputation’ of each according to how effectively they follow the SLAs of data oracle requests that they accept from smart contracts. Chainlink nodes who report data that deviates significantly from the final aggregated value lose reputation, and may not be selected for future requests.
  • Order Matching Contract - logs an SLA for a data request from a smart contract, collects bids from Chainlink oracle nodes, matches bid with request
  • Aggregating Contract - collects the returned data from all oracles who have accepted the data request, aggregates all values into a single ‘source of truth’. The manner in which the data is aggregated (average, median, etc.) is defined by the SLA. This final value is recorded in the requesting smart contract (ie, on Ethereum).

Per the Reputation Contract, nodes are held accountable through a combination of reputation system (based on metrics like uptime, response time, and successful jobs completed), node required LINK staking and an optional Chainlink node approval process. The Chainlink team can also conduct an optional technology audit and identity verification process, in order to prevent one user from serving as multiple oracle nodes. This overview by Google Cloud provides a helpful summary of the Chainlink query workflow.

Oracle contracts can also use multiple Chainlink nodes, allowing smart contracts to execute only if a majority of nodes return the same value, or from like logics (average, median, etc) decided by the smart contract designer. Additionally, nodes can be run in Trusted Execution Environments (TEE), such as the TownCrier Oracle. TEE can handle private information, such as passwords, private keys, and closed source APIs, without revealing such information to the node operator.

Since smart contracts requesting data define their own aggregating function and sources, they have the primary responsibility to ensure their request/SLA returns accurate data. Thus, Chainlink nodes are not principally interested in returning real-world-accurate data, they are incentivized to return data from the specified providers that are not flagged through the Reputation Contract as erroneous. Of course, the fact that such data has deviated does not imply that the Chainlink node has acted maliciously; it could be that the underlying API that it requested from has simply returned bad data.

Ultimately, Chainlink effectively operates as a multisig oracle service, broadly similar to the MakerDAO price feeds, but with a native payment and staking token.

Asset Details

Chainlink’s token, LINK, is an ERC-677 token (a modification of the ERC-20 standard that simplifies token contract calls) used primarily by dApp users to pay Chainlink node operators for providing oracle services as described above. Node operators can be required to stake LINK as collateral to process certain requests. Such deposited Link is forfeited should the node be offline at the time of request or submit outlier data (as determined by the Aggregating Contract). Such deposits are optional, however, determined by requesters, so operators can currently participate as nodes without holding tokens: the extent to which LINK is required for the right to work as a node depends on how willing requesters are to utilize depositless nodes.

Chainlink currently simplifies fees to one request per one LINK; at the time of writing, details on the live network’s fee structures are forthcoming.

Recent News

Google Cloud publishes demo code to integrate Ethereum with BigQuery using Chainlink as an oracle middleware

June 13, 2019

Sources:

Google Cloud Blog,Twitter

Coinbase Pro to list Chainlink

June 26, 2019

Sources:

CoinDesk

DeFi lending protocol, bZx has unveiled changes to address vulnerabilities exposed by its recent network attacks.

Following a set of attacks on the Ethereum-based lending protocol, bZx, its team has issued a review of the incidents while also publishing alterations it is making to rectify the vulnerabilities. The project has made changes to its use of oracles, the review process for code updates and its overall development framework. bZx was subject to an initial exploit on 14th February, with a user extracting $350,000 due to a bug while a subsequent attack on 17th February led to $645,000 in losses. 1inch.exchange, a decentralized exchange aggregator, also stated that they disclosed a $2.5 million vulnerability in the protocol, but that bZx chose not to inform its userbase or pay the corresponding bounty reward. The protocol’s new oracle design will initially rely on services from Chainlink, however, Band Protocol and Uniswap v2.0 will provide reference prices at a later date. Beyond this, the team plans to implement an EIP-style development process and subject the protocol to security and economic audits as well as submitting the code for formal verification.

March 10, 2020

Sources:

more
Load More