What is LINK?
Chainlink provides trustless end-to-end execution for smart contract platforms, connecting smart contracts to data feeds from any web API and data source, such as markets data, event data or any other form of external data. By providing data feeds and APIs through multiple decentralised sources, data is less prone to manipulation and safer.
LINK is the native asset of the Chainlink blockchain, where the token is used as payment and collateral to secure the network and provide economic incentives for oracles. While the native token is built on Ethereum, the Chainlink network itself is blockchain agnostic and LINK can be transferred to any other network if needed.
LINK is a fixed supply Ethereum token with the ERC-667 standard built in, meaning it has an additional capability on top conforming to the ERC-20 standard. The additional capability is the ‘TransferAndCall’ function in LINK, enabling both payment and data retrieval in a single transaction.
History and Background
Chainlink can be thought of as a promising application of Blockchain 3.0. While Blockchain 1.0 consists of distributed levers used mainly for transactions (such as Bitcoin), Blockchain 2.0 includes smart contract platforms like Ethereum.
These smart contract platforms have applications to financial markets but limited applications to physical markets since there is no way to directly interact with the world outside of the blockchain.
What are Smart Contracts?
Smart contracts are pre-specified agreements on the blockchain that evaluate information and automatically execute when certain conditions are met. However, this means off-chain data needs to be incorporated into the blockchain somehow, so smart contracts running on Ethereum can trigger certain conditions based on the relevant real-world data.
Getting reliable external data has been a problem for Ethereum since its launch in 2015, and is known as the oracle problem. An oracle is an entity which signs claims about the state of the world whether it be the price of bitcoin on a particular date or whether or not any event occurred (e.g., flight data for flight insurance).
The main approaches to date have used centralised oracles. But there is a problem with a centralised oracle. Even if there is a decentralised computation network providing thousands of nodes, the centralised oracle is not tamper proof and becomes a point of failure in an otherwise trustless system.
Centralised oracles introduces an attack vector, where an adversary could attack or disrupt a contract that has one node that triggers key events. The majority of smart contract use cases need external resources, which are unavailable without some sort of data provider (known as the Smart Contract Connectivity Problem).
Chainlink is the first oracle platform that launched on the Ethereum network. Chainlink is described in full by the September 2017 whitepaper, where the overall design has remained true to the original vision. The current codebase is still under active development. Chainlink’s approach to solve the smart contract connectivity problem is middleware.
The Chainlink platform is a blockchain middleware that connects smart contracts across blockchains through external data sources like web APIs or traditional bank payments, bridging the gap between smart contracts and real-world applications by connecting smart contracts to critical external data.
The main benefit of blockchain middleware for blockchain smart contract is that it maintains the same level of security as the smart contract. For a secure smart contract with insecure outputs or inputs, it is not likely that there will be a large value transfer from the traditional world to the blockchain world. If done securely, blockchain smart contracts can then be trusted and provides a very high level of tamper-proofness.
By applying the idea of decentralisation to oracles, Chainklink created a decentralised oracle network that is able to process and acquire the data using multiple, independent node operators. High-value smart contracts can specify multiple data sources and multiple oracles for a high level of decentralisation. The end-to-end set is made secure, a key requirement for earning trust and for smart contracts to go into production.
Some key dates and milestones for Chainlink are shown below:
- September 2014 - Smart Contract Ltd founded to bridge external data and blockchains, the initial oracle solution for public blockchains relied on centralized oracles. Founded by Sergey Nazarov and Steve Ellis,
- September 4, 2017 - Chainlink white paper released, Smart Contract Ltd shift focus to a decentralised oracle network, with Nazarov as CEO and Ellis as CTO,
- September 19, 2017 - Chainlink Initial Coin Offering (ICO) completed which raised a total of 114,285 ETH (at the time, worth $32 million),
- September 28, 2017 - LINK token listed on Binance,
- November 1, 2018 - Chainlink announced acquisition of Town Crier and integration of its technology. Town Crier is a project that came out of Cornell University and IC3 to ensure data privacy and security for smart contracts,
- May 19, 2019: LINK reaches dollar parity for the first time,
- May 30, 2019 - Chainlink goes live on Ethereum mainnet,
- June 1, 2019 - Launch of the first oracle price feed for ETH-USD on Ethereum Mainnet,
- July 14, 2020 - LINK enters into top 10 crypto-assets by market capitalisation,
- August 6, 2020 - LINK breaks above the $10 handle for the first time,
- August 12, 2020 - LINK overtakes Bitcoin Cash to become fifth largest crypto-asset by market capitalisation,
- August 16, 2020 - LINK reaches all-time high against both USD (peaking at $20.11) and BTC.
You can track the progress of the Chainlink project using the pivotal tracker, as there is no roadmap or deadlines for new features.
Two main uses of the LINK token are outlined below:
- Incentivise node operators to remain honest: Oracles have to stake a certain amount of LINK tokens as collateral in order to have skin in the game. if a Chainlink node wants to offer its service, it can be required to deposit a certain amount of LINK tokens as collateral in the Oracle contract and then register itself with the Oracle contract. The Oracle contract will make a judgement on the node operator performance and refuse to refund the locked funds to misbehaving nodes.
- Chainlink clients pay oracle providers for their services: Payment from client to node operators: when a node operator publishes a job specification, it can set a price for clients to utilize its service. Client contracts will then have to present payment in LINK tokens along with the job request.
As LINK’s supply is scarce with a hard cap of 1 billion tokens (see Supply section below) and given that the amount of LINK an oracle holds is one factor that determines its reputation, as the oracle ecosystem gets larger, demand for LINK should grow and act to increase the price.
The infographic below shows the Chainlink ecosystem, which has grown massively in a short period of time. Chainlink is also central to DeFi applications, providing reference rates for ETH-USD and other currency pairs.
Other factors that determine a node's reputation are: availability (uptime), correctness of responses, total number of assigned requests, total number of completed requests, total number of accepted requests, average time to respond, and the amount of penalty payments.
The LINK token ensures the incentives of node operators are linked with the overall health of the Chainlink network. Also, the staking of LINK provides a defense against Sybil attacks. Since node operators use LINK as collateral, if there is a major network attack, the tokens should become worthless (which would not be the case if another token was used, e.g. ETH).
The payment penalty/collateral system incentivises uptime guarantees, where nodes must put up collateral requested by the smart contract creator to service a contract. If the node does not supply good data, the node will lose its collateral.
For higher value contracts, a higher collateral requirement will be demanded for the contract to increase security. Therefore, the total market capitalisation of LINK should equal the total amount of insurance demanded on all the contracts at any given time.
Growth in the demand for LINK combined with a shrinking supply (due to staking - yet to be implemented) could create a positive feedback loop where the increased adoption boosts the price of LINK, thus increasing economic bandwidth and enabling more adoption to be supported.
Payment in LINK to node operators happens in the background through the use of decentralised exchanges and protocols, so most smart contract creators using Chainlink oracles will likely never interact with the token. Also, fiat relays are being built that allow the customer to pay in whatever currency they want.
A decentralised oracle network has relevant applications in many industries, especially for supply and inventory management. The use cases for Chainlink are global in scale, with the potential to capture a lot of value. Already Chainlink has gained a lot of adoption in DeFi.
For instance, the network is vital for lending and borrowing platforms that require a price feed to ensure the total value of the collateral. In this case, Chainlink is used to issue and settle loans, liquidate collateral, and calculate interest payments. Other applications to DeFi include: the creation of stablecoins pegged to fiat currency, powering decentralised exchanges and the creation of tokens tied to real-world assets, such as gold.
LINK's outstanding supply is fixed at 1 billion. Node operator rewards account for 35% of the total supply. In return for retreiving and providing data, nodes get rewarded with LINK with the exact amounts set by the contract creator.
Token sale investors were allocated 35% of the total supply. Chainlink's Initial Coin Offering (ICO) was held on September 19th and in total raised $32 million. The majority of these funds ($29 million) came from private VC’s - with a 100 ETH minimum investment. The remaining $3 million worth of tokens were sold to the public with a maximum investment of 7 ETH. The public ICO sold out in about 15 minutes.
The pre-sale offering sold LINK at $0.09 per token with a 20% bonus depending on when the investor participated. The subsequent public sale sold LINK at $0.11 per token. Combined, both sales dispersed 350 million LINK.
The remaining 30% of funds were allocated to LINK's parent company, Smart Contract Ltd. The funds allocated to Smart Contract Ltd do not appear to have a lock-up or vesting schedule.
Staking is due to go live in 2021. Depending on how popular it becomes, the release of staking on Chainlink should act to reduce the circulating supply as nodes explicitly lock up coins as collateral.
Chainlink takes real-world information external to blockchain applications and puts it on a distributed ledger using on-chain and off-chain components.
The on-chain part of Chainlink's architecture is a series of smart contracts providing an interface to requesting contracts demanding data feeds.
There are three main contracts:
- Reputation contract: this contract keeps track of oracle provider’s track record, effectively verifying its integrity. Many factors influence the reputation such as number of completed requests, amount staked and more.
- Order matching contract: records proposed service level agreements (SLAs) for contracts. Details such as which data feeds to use for a query, the number of oracles needed, collateral requirements, uptime requirements, are then used to collect bids from oracle providers. It then selects bids using the reputation contract and finalises the oracle SLA.
- Aggregating contract: this contract collects the oracle provider’s responses and calculates the final collective result of the Chainlink query, delivering the most accurate data to the smart contract that needs it. The aggregating contract also delivers the oracle provider metrics back to the reputation contract.
Chainlink's off-chain component comprises a network of oracle nodes that connect to public blockchains such as Bitcoin and Ethereum. Chainlink nodes are the workers that carry out the requested jobs execution.
There’s no limit to the number of nodes that can be connected to the Chainlink network since nodes operate independently and do not need to communicate with each other. Rather, they communicate with the blockchain node that they are attached to, listening for job request events and submitting results back via transactions.
Chainlink uses the Request-Event-Response mechanism, where the client broadcasts the need for external data. An external party that listens for such events gets notified of the request, grabs the request and sends them into the chain.
Nodes include Chainlink Core which reads new SLAs and routing assignments to the Chainlink Adapter. The adapter reads external data, processes it and writes it directly to the blockchain, bridging the data to Chainlink nodes. Chainlink Core translates a request for off-chain data from smart contract platforms such as Ethereum into a programming language data sources can understand, then the data is converted back into an on-chain programming language to deliver to the aggregating contract.
The aggregating contract can validate data from a single source, from multiple sources as well as reconcile data from multiple sources. In this way, the aggregating contract knows which nodes are dishonest or faulty and ignore their answers. In the case there are five oracles providing reference price for BTC-USD and two of them provide incorrect data, their responses are discarded.
A simplified process of receiving tamper-proof inputs/outputs for blockchain smart contracts using Chainlink is outlined below:
- A smart contract creator on Ethereum requires some data and broadcasts request contracts with Service Level Agreements (SLAs), which define the parameters for the data request. The software uses the SLAs and matches the user with relevant oracles. The user submits the SLAs after setting the parameters and deposit LINK in an order matching contract,
- Node operators listening to the Ethereum network then bid to service them using the order matching contract, which collects bids and records the SLA parameters. Users may also select node operators manually through the Chainlink core team or third-party marketplaces for matching requests,
- Oracles connect with external sources and collect real-world data, processed by the node operators and the external data is returned to the aggregating contract, where all responses are assessed and weighted into a single value. The aggregating contract also send performance metrics to the reputation contract and provides the weighted value to the smart contract that requested it,
- The weighted value or score is, using the sum of all data received from oracles, is returned to the smart contract user,
- Node operators that provide good data are compensated with LINK for their services.
Some risks for Chainlink include: i) partner blockchains will implement their own native solutions, making a second-layer solution like Chainlink unnecessary, and ii) Chainlink competitors may gain ground quickly.
As with most blockchain networks, the main challenges centre around scalability and privacy:
In the long run, the decentralisation and scaling of the network will rely on the use of trusted hardware, moving most of the processing work to private off-chain environments. This transition would involve moving on-chain smart contracts off-chain, into what is known as a trusted execution environment (TEE).
A TEE can be thought of as a private lock box where data and computation are hidden from the outside world. In this way, the integrity of the application is protected from manipulation or tampering. The secure enclave ensures confidentiality, so that others cannot see the data or what kinds of processes are being done with it.
TEEs are possible through the use of trusted hardware, namely Intel SGX. When smart contracts are moved off-chain in to secure enclaves, most of the heavy processing will be done using Chainlink in an off-chain mannher, allowing smart contract platforms like Ethereum to focus on becoming settlement layers with a lot less computation.
In Q4 2020, Chainlink plans to implement threshold signatures to enhance scalability, allowing nodes to batch their responses off-chain, which will in effect reduce transaction costs and minimise the effects of blockchain network congestion.
Threshold signatures are made possible by Schnorr Signatures and solve a part of the oracle problem by enabling oracles to commjnicate off-chain and agree on an observation. Oracles can then aggregate their signatures together into a single signature and respond to the data request with a single on-chain transaction (instead of many transactions), which means that a large number of witnesses can agree on a data point in a cost efficient way.
Smart Contract Privacy
Privacy is a key issue for smart contracts on public blockchains. For instance, any queries to an oracle with a blockchain frontend such as a smart contract are be publicly visible. Even if queries are encrypted on-chain and decrypted by the oracle service, the oracle service itself will still see them. The solution to this for Chainlink are TEE's. Using trusted hardware such as Intel SGX relies on trusting Intel, but the Chainlink team views it as a better trade-off than using zk-SNARKs (which are more complicated and not as practical).
With Intel SGX, an oracle can decrypt queries within its encalve and process the data without exposing it to anyone else and process data from sources confidentially. Such a method could securely manage sensitive information such user credentials. For example, an oracle using SGX trusted hardware was developed by Town Crier (acquired by Chainlink in November 2018), which retrieves sensitive flight information for smart contracts to see if they have been delayed. Flight insurance is then issued based off that information without revealing any personal data of the passenger to anyone.
Mixicles are another upcoming development for Chainlink, which will permit privacy-preserving DeFi applications at scale. Mixicles will also enhancing the attractiveness of Ethereum in relation to private and permissioned blockchain solutions. Mixicles offer higher levels of privacy, where users can select from using a simpler tumbler, employing numerous anonymous addresses, making partial payments, and obfuscating the timing through multiple rounds. Another interesting feature is regulatory compliance, since there is an option to make the oracle report auditable by third parties.