A practical limitation of blockchains (particularly as it relates to smart contracts) is the consensus constraints which largely isolate the system off from the outside world, making it difficult for smart contracts to reliably interface with real-world events while maintaining the integrity of decentralized consensus. ChinLink offers a solution for some of these limitations which is explained in this guide.
The self-executing nature of smart contracts furthermore makes it imperative that the data fed into them is correct. This issue is addressed by introducing oracles — third-party data stream providers for the blockchain. However, it is important that the level of security and trustworthiness provided are commensurate with that of the blockchain supported and most oracle services today are centralized in how they function, making them not much more secure than traditional, centrally run certificate authorities and thus prone to similar single points of failure.
What is ChainLink?
ChainLink has been working on developing such adequately designed oracle solutions since 2014 in an effort to provide an infrastructure for the disjointed blockchain ecosystem and bridge the off-chain/on-chain gap. Among the project’s technical advisors are some of the world’s leading researchers in decentralized consensus (notably Prof. Ari Juels, an RSA Chief Scientist and head of Initiative for Cryptocurrencies and Contracts, or IC3) as well as Ethereum developer and smart contracts authority Hudson Jameson, who has also earlier written about and expressed his support for ChainLink.
The approach ChainLink employs is by providing decentralized distribution of Oracle nodes (anybody can apply to operate a node and sell data) which profile themselves in the kind of data they collect and are rewarded for pulling the data from as many and diverse source points and outlets as possible. ChainLink’s on-chain interface then (a bundle of smart contracts designated as CHAINLINK-SC) aggregates the results and calculates a weighted answer from the collectively pooled results. A reputation system is put in place for keeping track of service provider performance metrics and helping to more efficiently match request queries with corresponding services.
The underlying principle is not unlike that of Augur’s oracle and the “wisdom of crowds” although applied differently and implementing a more fine-tuned system of incentives and cryptographic restrictions to prevent misbehavior and ensure a quality of service and data integrity.
The LINK token itself is a utility token which serves to both monetize data, as locked up collateral for penalty purposes and additionally implements the extended ERC-677 functionality which serves to act as a message passing mechanism (the transferAndCall functionality) between the initiating and Oracle contract.
It’s also astonishing that ChainLink’s modularly upgradeable architecture is designed to work on Bitcoin, Ethereum, and HyperLedger and is implementing the same mechanisms and design rationales in working with SWIFT on their own SWIFT Smart Oracle.
I myself came across ChainLink after a week of struggling with Oraclize, only to discover that ChainLink offers an intuitive interface for quickly assembling and linking smart contracts. There is also a service of custom smart contracts and support in helping one integrate the functionality needed.
Here is an example of an oracle that feeds the ETH price in USD on a daily basis to an Ethereum contract. Oracle services can also be dynamically requested in response to the contract’s load – e.g., refreshing every few minutes, although this may not always be economically viable due to the prohibitive gas expenditure that is continuously drained from the requesting contract, but ChainLink is developing off-chain solutions to this along with an automated oracle matching mechanism.
The LINK token gravitates around 0.5-1$ and is mostly bought from and traded on Binance.