Launched by the San Francisco fintech company SmartContract in June 2017, Chainlink is described by its developers as a secure blockchain middleware that intends to connect smart contracts across blockchains by allowing smart contracts to access key off-chain resources such as data feeds, web APIs, and traditional bank account payments.
The Chainlink developers believes that although smart contracts may revolutionize many industries by replacing the need for traditional legal agreements, the underlying consensus protocols related to blockchain technology results in smart contracts being unable to effectively communicate with external systems.
The Chainlink ecosystem revolves around the LINK token and the LINK network. Through the release of APIs and other platforms, the developers plan to enhance the applicability and usability of smart contracts across the business world.
What are Smart Contracts?
First conceived of in 1993, smart contracts are computer applications executed on decentralized infrastructures, such as a blockchain. While a standard contract outlines the terms governing a relationship that are enforceable by law, smart contracts enforce the contractual relationship with cryptographic code. Smart contracts are executed once a certain set of circumstances are in place and, once a smart contract is executed, the fact that it exists in a decentralized network means that no party can alter its code or interfere with its execution. By preventing alteration, smart contracts bind all parties to an agreement as executed, thereby creating a type of relationship that does not rely on trust in any one party.
However, according to the developers of Chainlink there are a number of drawbacks to the current structure of smart contracts on the blockchain. For example, due to the fact that smart contracts are based on information secured on a blockchain, and due to the way that consensus is reached by miners around blockchain-based transaction data, smart contracts are unable to interact with external resources such as data feeds, API’s or traditional banking systems.
The way this problem is traditionally solved is through the use of a blockchain middleware called an “oracle”. Chainlink proposes a secure oracle network that is fully decentralized by being based on blockchain technology, allowing connectivity between smart contracts and external (or off-chain) resources.
What are Oracles?
Oracles are necessary because blockchains cannot directly access data outside of their network. Oracles are defined as an ‘agent’ that finds and verifies real-world occurrences and submits this information to a blockchain to be used in smart contracts. It provides the external data that is necessary to trigger smart contracts execution when pre-defined conditions (such as perhaps a received payment or a price fluctuation) are reached.
Because oracles are third party services with a centralized point of control, and which are not part of the blockchain consensus mechanism, the issues that arise in relation to smart contracts is whether data received from an oracle is trustworthy. Because smart contracts may be self-executing based on certain conditions, it is essential that the oracles are providing accurate and trustworthy information. For example, if inaccurate data on the price of a stock is transmitted into the blockchain and relied upon by a smart contract, the smart contract could execute the wrong function based on this bad data. Some oracles rely on notarization to verify their data, while others rely on the manual human input of unstructured data. However, these types of oracles are flawed according to the Chainlink developers: the former because the need for verification may be recursive; the latter because it would be costly, resource intensive and would not be able to provide real-time data.
The developers of Chainlink intend to solve this issue by creating a decentralized oracle network for smart contracts to securely interact with resources external to the blockchain, such as cryptographically secure data feeds, as well as facilitating inter-operability in between blockchains. According to the developers, the Chainlink network will allow anyone who has a data feed or any other API can provide them directly to smart contracts in exchange for Changelink tokens. Such persons are referred to as Node Operators and allow such data providers (or, for example, payment providers or service providers), to sell their API based services directly to a smart contract in exchange for LINK tokens. The developers suggest that this decentralized infrastructure allows for data, off-chain payments and APIs into a smart contract in a way that is scalable, secure and auditable.
The ChainLink Network is a decentralized network of ChainLink Nodes, which are all selling usage of specific data feeds, APIs and various off-chain payment capabilities directly to a smart contract.
The Chainlink Network consists of two separate parts, on-chain and off-chain, which will have to interact in order to deliver the service. The network has been built in a way that allows it to be upgradable, so its different components can be replaced as better techniques and technologies arise. The on-chain component of the network filters oracles based on the metrics requested by a party to a smart contract through a services level agreement (SLA). Using these metrics, Chainlink collects the oracles responses to the SLA queries, sorts them using reputational and aggregation models and provides the final collective result of the Chainlink query that may be implemented into the smart contract.
The off-chain component of the network consists of oracle nodes that are connected to the Ethereum network, which independently harvest responses to off-chain requests. These off-chain nodes could be within any industry, for example an off-chain node run by the New York Stock exchange could provide the Chainlink network with real-time accurate trade information, or a Visa network off-chain node could settle a transaction via the Chainlink network by interacting with both the consumer and the vendor. The Chainlink technology aims to on-board nodes from all of these industries into one all-purpose network, itself acting as a (low cost) middleman to interpret and correctly allocate the data as needed. The Chainlink system will ensure that the results received from oracles is accurate as well as allowing for oracles to remain independent in relation to the data that they are providing.
Any data, payments, e-signature, or other API provider, as well as individual developers, can easily join the Chainlink network by connecting an API that they familiar with to the network. Once the API is connected to a ChainLink, the user becomes a ChainLink Node Operator, and is responsible for keeping that API connected to the ChainLink Network. In order to incentivise operators to provide API information, they are compensated in LINK tokens for their successful fulfilment of on-chain requests.
The project currently provides a fully decentralized network of oracles which are compatible with Bitcoin, Ethereum and Hyperledger. It is intended that other blockchains will be supported in the future, that will allow cross-chain connectivity between a smart contract and any other public or private chain, allowing anyone in the world to use the Chainlink network, regardless of their platform. All service providers would be able to securely provide smart contracts with access to key external data and potentially even off-chain payments.
In order to compensate the off-chain needs of the Chainlink system, the LINK token has been established as the currency of choice to pay Node Operators. According to the developers, the LINK token is required to perform this function, with demand and value of the tokens being directly correlated to the number of operators that offer off-chain services to the system. As LINK tokens are used as a currency on the ChainLink platform, the more usage the ChainLink platform has, the more valuable LINK tokens should be. Some commentators have suggested that the LINK token is an unnecessary element to the project, with other cryptocurrencies being perfect adequate to provide compensation to operators, and that oracles themselves would have incentive to keep their network and access to their own data constant. It would seem clear that the litmus test of whether the LINK tokens are necessary for the system to operate correctly will become more apparent when the system goes live and will be based on the number of Node Operators that join the network. If there is little uptake of the system, then the token has no inherent value since no one actually wants it.
The LINK token is described by the developers as being “an ERC20 token, with the additional ERC223 “transfer and call” functionality of transfer (address, uint256, bytes), allowing tokens to be received and processed by contracts within a single transaction.” However, the white paper provides limited further information on the LINK token so it remains to be seen how it will operate.
The LINK token sale was capped at $32 million, with a total supply of 1 billion LINK tokens. According to the developers, 35% of all LINK tokens will go to node operators to incentivize the ecosystem with an additional 35% sold in the public token sale. The final 30% of the total LINK tokens will remain at the company for continued development and staff payments, with some commentators suggesting that this is quite a high percentage of the overall figure, which may reduce overall demand for the tokens.
Chainlink has the potential to connect smart contracts with the outside world. It may allow parties to smart contracts to be able to receive external inputs that prove performance and create payment outputs that end users want to receive, such as bank payments. This has the potential to allow smart contract to mimic the vast majority of financial agreements currently available in the market. With the ChainLink Network, anyone can securely provide smart contracts with access to key external data and any other API capabilities, in exchange for financial reward. Although it remains to be seen how the incentive system will operate, there is potential for rewards similar to those available for crypto miners to be available to Node Operators that provide useful data to the Chainlink network.
In addition Chainlink allows financial institutions and businesses to utilize smart contracts via the Chainlink network without having to switch to smart contracts themselves, thereby allowing them to receive all the benefits of decentralization, trust and immutability without the expense of creating a new system or network.