What is Chainlink?
There are some interesting blockchain projects that are trying to solve the pain points of the cryptocurrency industry. ChainLink is one such project that is bringing interoperability to the world of blockchains.
To date, prominent blockchain networks have existed in isolation like Bitcoin, Ethereum, Ripple, and others. Previously, there was no way to connect all these blockchains together, and to connect them to real-world data that exists outside of the blockchain.
Interoperability helps users and developers get access to varying features of different blockchains, all the while ensuring that the integrity of both the networks remains intact.
Bitcoin introduced the world to blockchains and brought the idea of decentralization mainstream. Ethereum then went on to unleash the true power of the blockchain mechanism using smart contracts.
ChainLink is the next step in blockchain revolution- helping different chains interact with each other and with external data sources.
At present, different consensus mechanisms in different blockchains do not allow free interaction between these chains. ChainLink solves this problem using a secure Oracle network to create a fully decentralized solution.
It helps in limiting trust in a single party while enabling tamperproof and quality smart contracts. We will learn more about ChainLink, its native asset LINK, and how it creates a more sustainable blockchain environment.
ChainLink is a truly unique blockchain project, the first of its kind. The decentralized oracle service is currently based on Ethereum and brings the power of developing blockchain solutions for traditional businesses as well as enterprises.
Many factors make ChainLink unique. It is a concept dedicated entirely to making smart contracts more connected to the outside world. The smart contract concept was first introduced by Ethereum; however, their smart contracts can only manage data on the blockchain.
They miss a bridge to real-world businesses. ChainLink aims to help in decentralizing the internet to create a link between blockchain and their real-world applications.
Users of smart contracts can utilize the oracles in the network to retrieve data from off-chain APIs, data pools, and other resources. It can then be integrated into the blockchain. In essence, it takes data from external applications via APIs and puts it into the blockchain network.
It could connect existing applications like PayPal with the Ethereum blockchain. It could also help users in sending payments directly from their smart contracts to their bank accounts.
How does ChainLink work?
ChainLink works by connecting the blockchain ecosystem to external applications. On one end, it connects to the blockchain, and on the other, it is integrated with an API. The solution’s base is built on oracles, which help in limiting trust in a single party and work seamlessly in a decentralized infrastructure.
The core functions of ChainLink depend on two processes – On-chain and off-chain. The smart contracts in ChainLink are “externally aware” which means that carry a component that helps them integrate with non-blockchain applications as well. The on-chain infrastructure helps in oracle selection and creating an Oracle record.
Once done, the agreement is executed off-chain before getting reported back to the on-chain infrastructure. The off-chain architecture is equipped with subtask schemas and external adaptors, along with the ChainLink Core.
All components of the infrastructure can be updated. The solution currently works on Ethereum, but it will be updated in the future to allow cross-chain transactions as well.
How it works on-chain?
The on-chain architecture of ChainLink is developed on the Ethereum blockchain. In this method, smart contracts do the majority of the work, and data is retrieved within the node. The smart contract supplies the queries nodes need to carry out.
It has three unique components or contracts. First is a reputation contract that keeps track of oracle metrics. Second is the order matching contract which takes bids from the individual nodes based on the SLA and the parameters set by the creator of a smart contract.
The third is the aggregating contract, which collects answers by the nodes and provides a final result to the user’s query. It also supplies metrics to the reputation contract.
Therefore, on-chain aggregation can be broken into three steps– oracle selection, data reporting, and result aggregation.
Oracle selection is controlled by the end-user or the smart contract creator to specify the criteria needed by the contract. This could include the type of information the contract should contain, the collection and reputation of nodes used in the assignment, etc.
The users will be provided a listing service to make the oracle selection easier, which works off-chain but would eventually be added on-chain. Nodes can be determined automatically on their suitability for the assignment using an order-matching contract.
Nodes will also be preconfigured to decide if they will automatically bid on the assignment or not.
Once the criteria of the node are matched with the contract, it will bid by paying the penalty. This amount could be lost if the node does not return acceptable data. The assignment will select the nodes and ones which are not selected get to withdraw their penalty.
In the second step of data reporting, nodes will carry out the assignment as determined by the SLA. It could connect to the API endpoints, process data through external adapters, sign responses digitally, and then return the answers on-chain.
In the final step of result aggregation, the aggregating contract gets results from nodes. It then calculates an answer to the smart contract creator’s query. It will use the response from all oracles to signal back to the reputation contract of each node’s timeliness and validity. The contract creator may also configure the aggregating contract to ignore a few answers.
How it works off-chain?
The off-chain architecture of ChainLink is the most interesting and unique thing about this blockchain solution. The ChainLink network is part of its off-chain architecture, which connects all nodes together. Each of the nodes is connected to off-chain reserves via APIs to gather responses for every contract.
They may also have external adapters that could help them in extending their connections to 3rd party API endpoints.
All off-chain data is translated off-chain via the ChainLink core software in such a way that it can be read on-chain. The sub-tasks of the assignments are also processed by this software. An important component of this architecture is an external adapter.
These adapters can be used for connecting to 3rd party API endpoints, helping bridge the gap between blockchain and real-world applications. All adapters have to be written in ChainLink’s schema format.