Your smart contracts connected to real world data, events and payments. About ChainLink (LINK)
Chainlink is a decentralized oracle network. It aims to serve as a middleware between smart contracts on blockchain platforms and external data sources, allowing smart contracts to securely access off-chain data feeds.
The native token of ChainLink is known as LINK. The LINK token is an ERC677 token that inherits functionality from the ERC20 token standard and allows token transfers to contain a data payload. LINK is used as both a payments token and work token. As a payment token, LINK is used to pay Chainlink node operators for providing oracle services. As a work token, LINK can be staked by node operators as collateral to provide oracle services.
LINK’s staking function is optional and specified by smart contract creators requesting oracle services. Failure to provide adequate oracle services would result in a node operator’s LINK being deducted. The extent to which LINK is staked will depend on how willing contract creators are to utilize nodes without collateral. LINK’s staking function is currently not live, but is expected to launch in 2020.
Chainlink consists of both on-chain and off-chain components. Off-chain, Chainlink consists of a network of oracle nodes that connect to public blockchains (initially just Ethereum). These nodes independently harvest responses to off-chain requests. Their individual responses are aggregated via a smart contract on Ethereum, weighted, then returned to a requesting contract. ChainLink nodes are powered by the standard open source core implementation which handles standard blockchain interactions, scheduling, and connecting with common external resources.
On-chain Chainlink consists of a three main types of smart contracts: a reputation contract, an order-matching contract, and an aggregating contract. The reputation contract keeps track of oracle-service-provider performance metrics. The order-matching smart contract takes and logs proposed service level agreements (SLAs), which include details such as query parameters (which data feeds to use), the number of oracles needed by the purchaser, collateral required, and uptime requirements, and collects bids from oracle providers. It then selects bids using the reputation contract and finalizes the oracle SLA. The aggregating contract collects the oracle providers’ responses and calculates the final collective result of the ChainLink query. It also feeds oracle provider metrics back into the reputation contract.
The way this flows begins with a user smart contract. User smart contracts broadcast request contracts containing SLAs defining parameters for the data request. Node operators who monitor the Ethereum blockchain for these request, then bid to service them using the order matching contract, which both collects bids and logs the SLA parameters. Users can also select specific node operators manually through either the Chainlink core team marketplace or third party marketplaces for matching requests. Once matched with a request node operators, node operators return external data to the aggregating contract, which aggregates data from operators into a single weighted value, sends performance metrics to the reputation contract, and then reports the single weighted value back to the smart contract that requested it. In exchange for their services, node operators are compensated in LINK. LINK is currently built on Ethereum, although it plans to integrate with all smart contract networks later on its roadmap.
LINK’s outstanding supply is fixed. Although the Node operators rewards (35% of the total supply) haven’t yet been distributed, they are nonetheless liquid as there are no signs that they are locked within any kind of contract. Nodes get rewarded to retrieve and provide data, and the rewards are determined by the contract creator.