Chainlink (LINK) is a cryptocurrency project with a vision to incentivize a decentralized, global network of oracles that provide reliable real-world data to smart contracts running on various blockchains.
These real-world data points connected to blockchain-based smart contracts are called "oracles." Each oracle within the Chainlink decentralized oracle network is incentivized to provide accurate data with a reputation score assigned to each.
When oracles follow the rules of the software and provide valuable and accurate data, they are rewarded with Chainlink's native ERC-20 token, LINK.
Interested in Chainlink, but not sure what it is or where to start? This guide will teach you everything about the project.
Understanding the role of oracles
Oracles are necessary because blockchains cannot directly interact with information outside the network.
Oracles are agents that find and verify world events and send the information to the blockchain to be used in smart contracts.
They are the providers of the external information needed to trigger the execution of a smart contract when predefined conditions, such as receiving payment, are met.
Because oracles are a third-party service with a centralized point of control and are not part of the blockchain consensus algorithm, the issue is whether the information received by an oracle can be trusted.
Smart contracts will auto-execute when certain conditions are met, so oracles must provide accurate and reliable information.
Some oracles rely on notarization to verify their information, while others rely on manual, unstructured data entry.
The problem with these kinds of oracles is that they are flawed according to Chainlink developers: the first because the verification need can be recursive, and the second because it would be expensive, resource-intensive, and unable to provide real-time information.
What is Chainlink
Chainlink is a decentralized oracle network. The external data providers that share the work on the network are called "oracles". These oracles allow Chainlink smart contracts to receive accurate data from external (non-blockchain related) sources, such as any API and other external data sources. LINK is an ERC-20 token used to pay for and ensure the accuracy of this oracle service on the Chainlink network.
Chainlink takes the capabilities of smart contracts to the next level, enabling access to real-world data, events, payments, and more without sacrificing the security and reliability inherent in blockchain technology.
First created in 2017, the Chainlink team has been able to deliver on its vision of providing accurate external data to the blockchain. Although it originated from Ethereum (ETH), Chainlink has been designed to work on any blockchain with smart contract functionality. Chainlink does not operate its blockchain; instead, it is interoperable and works on many different blockchains simultaneously.
How Chainlink works
Chainlink's job is to create a communication bridge between a blockchain and what is outside the blockchain. So, architecture-wise, it has two modes of operation. On the one hand, we have the operation inside and outside the blockchain.
Operation within the blockchain
We first have a series of smart contracts within the Ethereum blockchain. These contracts, called oracles, can process user data requests to take advantage of the capabilities of oracles within the network.
The smart contract that requires information from outside the blockchain requests the smart contracts of the Chainlink network. The smart contracts of this network put the smart contract of the third party in contact with Chainlink's oracles. We find reputation contracts, order matching contracts, and aggregation contracts within these smart contracts. These three types of contracts are:
Reputation contract: Perform a history check on an oracle provider to verify the integrity of the oracle provider
Order matching agreement: It's a record of the agreement in the scope of service of the network user agreement and collects offers from available oracle providers
Aggregation contracts: Makes a collection of the collective data of the chosen oracles and balances them to find the best result
Chainlink functions, through these three contracts, perform a three-step process:
Oracle selection: When a request is made through a smart contract, a series of parameters and requirements are demanded the data search, called a service level agreement (SLA). Parameters can include oracle reputation, data specs, number of oracles, required resources, etc. Now the client can filter the data and manually search for the most exciting oracles. If you don't want to do a manual search, you can do an automated search using a specific search engine. But it is also that the contracts can implement a penalty rate if incorrect conduct is carried out. When a contract receives enough quality offers, the oracles are selected, and the service is started.
Data report: Let's go to a step that we could highlight as very simple. When the oracle is chosen, they perform the requested task, gathering the information from outside the chain and feeding it into the chain. This information is entered in blocks so the nodes can access and process it.
Aggregation of the results: To validate the data's integrity, an aggregation smart contract collects this data sent by the associated oracles through a smart contract. The contract now averages all the data to provide the applicant with an accurate and balanced response. Although these cases are rare and specific, we must emphasize that not all answers can always be weighted.
The nodes that are outside the blockchain are the ones that will collect the information requested by the smart contract. Once they collect the relevant information, they process the data through Chainlink Core. This software enables the communication between the chain and the off-chain infrastructure.
When Chainlink Core has the data and is processed, it is time to transmit it to the blockchain oracle to aggregate the results. For this work done, the oracle operators outside the blockchain are rewarded with the LINK token. This is Chainlink's native token, a payment for collecting, processing, and transmitting the data.
Not only does it perform the crucial off-chain data collection function, but it also allows developers to create external adapters. These external adapters would be something like the decentralized applications in Ethereum but on Chainlink.
We must understand external adapters as plugins that node operators can use to adapt software they can develop in their base of operations. They can also do secondary tasks that increase the speed of data collection.
How is the Chainlink network protected?
The Chainlink network is secured by a Proof of Stake (PoS) consensus mechanism in which its validator nodes stake LINK to obtain data contracts and be rewarded by the network. The incentivized reward system deters network nodes from malicious or unscrupulous behavior, as does the risk of losing the staked LINK.
Chainlink's decentralized oracle network is powered and secured by three types of custom-designed smart contracts:
Aggregation contract: it is the one that collects the data from the oracles and matches the most accurate results with the smart contract that needs them.
Order matching contract: These contracts are in charge of matching the best possible oracle with the needs of the service level agreement (SLA) of the smart contract.
Reputation Contract: Verify the integrity of an oracle by checking its statistics, including the total number of completed requests, average response time, and the number of LINK tokens staked by the oracle.
How Chainlink ensures security
It offers multiple layers of security that go beyond a simple decentralization of an oracle network:
Generalized architecture: It has a flexible framework that allows for building and running networks of oracles. This allows the building and connection of custom oracle networks without relying on other oracle networks.
Data signing: Oracles sign the data they add to the blockchain with a unique cryptographic signature. This allows users to know the origin of the data information.
High-quality data: They offer smart contracts with data from any external system, even premium data providers. This allows smart contracts to send commands to other methods, such as a conventional payment gateway.
Blockchain independent: Chainlink solutions can be run on any blockchain. This allows nodes to communicate with other public, private, permissioned blockchains, and other types of networks.
Service agreements: The terms of work can be defined to the requested oracle through smart contracts. This may involve the oracle making a security deposit, which is only returned if the node performs the deal to the required specifications.
Reputation systems: The oracle's work history is publicly available through the signatures on the work performed. It offers users to choose oracles based on historical performance metrics. They can see average response times, completion rate, average security deposit, and other metrics. Additionally, oracle node operators can add additional data, such as identity, geographic location, and third-party certification.
Additional functions:
- Currently working on adding new security elements for the oracles
- Adding data privacy
- Advanced calculations by these oracles and others
What's LINK, Chainlink's native token
To offset the off-chain needs of the Chainlink system, LINK token has been created as a currency to pay node operators.
According to the developers, LINK tokens are required to perform these functions, with the token's demand and value directly correlating to the number of operators offering off-chain services to the system.
As the tokens are used as currency on the Chainlink platform, the more the platform is used, the more value LINK should have.
Chainlink looks to solve the oracle problem and creates a solution that acts as a bridge between oracles and smart contracts.