Smart contracts have been a dream of cypherpunks ever since Nick Szabo coined the term in 1994. The idea of digital programs that could transfer value autonomously, reliably, and deterministically has inspired a whole generation of entrepreneurs to build out networks and applications that realize this dream.
Even though the foundations of these dreams have been developed, their usefulness has been very limited. Blockchains such as Bitcoin, Ethereum, and others are only aware of themselves. They have no awareness of the outside world, and are overwhelmingly triggered by events that happen within their insular awareness. Developing an awareness of events in the physical world is crucial to realizing the full potential of smart contracts.
It’s somewhat trivial to make these digital programs aware of events of the outside world by feeding them data from an API or some trusted information source, but this makes the information source a potential liability. Since these contracts are triggered by the information fed to them, they have digital value attached to them, and they’re irreversible, the quality and sanctity of the data is non-negotiable. This need for fault tolerant, tamperproof, data feeds is usually referred to as the Oracle Problem.
Chainlink is a proposed solution to the Oracle Problem.
The bulk of digitally automated contracts today use external data to prove performance. If smart contracts are to replace these older contractual mechanisms, they will require higher-assurance versions of the same types of data inputs and outputs. The more traditional digital contracts don’t require as much assurance because mistakes can be reversed by a middle-man. If a smart contract gets fed a false or malicious data feed, it will payout to the incorrect party, and the deserving party may have no recourse.
A blockchain makes very high assurances around the integrity of its own data. Its data is self-referential and only guarantees the integrity of data around internal events. Chain-link is trying to create really strong assurances around data describing external or “real world” events. These strong assurances allow entrepreneurs constructing smart contracts to build out new infrastructure and capabilities for the contracts that serve as the backend for our commercial civilization.
The Chainlink Network
At its core, Chainlink is a decentralized or distributed oracle network. It is not a blockchain, smart contract platform, or a network looking to disrupt money. Chainlink is solely focused on solving the Oracle Problem. The Chainlink project proposes three approaches to solving this problem: (1) distributed oracles (2) distributed of data sources and (3) use of trusted hardware.
The Chainlink network is composed of a plurality of independent node operators that are able to feed data into smart contracts. This is a standard solution to many trust based problems. Instead of trusting a bank, a Central Bank, or one API from one organization, the crypto-asset community has tried to eliminate dependence on a single source of truth and trust and instead spread that trust and responsibility to a distributed network of incentivized, independent actors. This increases fault tolerance because the system, or your smart contract, in the case of ChainLink, isn’t dependent on the good-will or competence of any one actor.
However, just having a larger set of information providers isn’t enough to ensure good or competent behavior on behalf of the nodes. Chainlink incentivizes good behavior by having an objective validation system, a subjective reputation system, and allowing customers to require nodes to put up collateral for potential loss.
Chainlink has deployed Ethereum based smart contracts that monitor on-chain oracle behavior, providing objective performance metrics that can guide user selection of oracles. These Ethereum based smart contracts will monitor oracles for availability and correctness. The contracts record failures of oracles to respond in a timely way to queries from users and they will compile ongoing uptime statistics (availability). The contracts also record responses by oracles that report wild deviations from responses provided by its peers related to the same data (correctness).
The availability and correctness statistics for oracles are visible on-chain. Developers will be able to view them in real time to see some objective metrics on the behavior of the individual oracles in the Chainlink network.
The ChainLink Reputation System is the subjective component, where customers of oracles can rate their experience. These ratings are publicly available for other smart contracts to reference. This rating system based on user experience provides information that is important, but might be harder to nail down in an objective fashion.
And lastly, developers are able to impose financial loss on Chainlink operators for non-performance. Although Chainlink nodes aren’t required to hold Chainlink, requesters of their services can demand that a minimum amount of Chainlink be put up as collateral to service their requests. In the case of a faulty node, requesters can claim the Chainlink collateral for compensation for non-performance.
Although it’s not required, it’s assumed that nodes will have connections to a few different data feeds for the same information. Having only one provider makes them reliant on the competency of that sole data provider and potentially makes them uncompetitive with nodes that offer data from a few sources. In addition, Chainlink smart contracts can aggregate data from multiple oracles into a single data point. As a result, smart contracts can pull data from multiple vetted nodes, which are themselves pulling data from multiple sources.
In late 2018, the Chainlink project acquired a project known as Town Crier, a data privacy project developed by a group out of Cornell University. The Town Crier acquisition provides the trusted hardware component for Chainlink nodes. Town Crier uses Intel’s SGX secure-enclave technology to isolate the authenticity of data transferred from their sources.
Intel’s SGX is an implementation of a technology known as a trusted execution environment (TEEs). TEEs secure programs and information from malicious tampering. Standing for “Software Guard Extensions,” SGX reserves regions of a computer’s memory, known as “enclaves”, for the secure execution of code that cannot be easily tampered with outside of the enclave application.
The use of this technology improves the privacy and authenticity of data that flows into and out of the Chainlink network. Chainlink nodes that use TEE will be able to provide very high assurances that the data they’re providing to smart contracts have not been tampered with before or during transmission.
When you put this all together, we have a network with multiple levels of security, redundancy, transparency, and incentives that allow for the network to be trusted with a high degree of confidence.
How Chainlink Uses Ethereum
To repeat, the Chainlink project is not a blockchain and it is not another smart contract platform, nor is it trying to disrupt money. The Chainlink network exists in order to serve blockchains, and any other systems that rely on clean and accurate information, to function.
Chainlink leverages the Ethereum blockchain for what it’s good at: tokenization, keeping track of account balances, transaction processing, and the execution of smart contracts.
The LINK Token
Chainlink was able to tokenize their project and raise money on Ethereum. Chainlink is one of the few tokens that has a positive return not only in terms of fiat currency, but also in terms of BTC and ETH! This is extremely impressive considering most projects with a token attached have been bad “investments” in terms of fiat, and even worse when compared to the returns from just holding BTC or ETH. LINK has definitely caught a lot of investors’ attention and has a strong, loyal base of support. Shout out to the “LINK Marines”.
There is only 1 billion Chainlink tokens (LINK), there’s no inflation rate, and LINK tokens are used to pay ChainLink Node operators for the services they provide: retrieval of data from off-chain data feeds, formatting of data into blockchain readable formats, off-chain computation, and uptime guarantees. Prices for the services rendered are set by the node operator based on demand for the off-chain resources their node provides, and the supply of other similar resources.
Ethereum Smart Contracts
Smart contract developers interface with Chainlink nodes via on-chain Ethereum contracts known collectively as Chainlink-SC. ChainLink-SC comprises three main contracts: (1) a reputation contract (2) an order-matching contract and (3) an aggregating contract.
The reputation contract keeps track of oracle-service-provider performance metrics that we described in the previous paragraphs. These include objective and subjective metrics that can help potential customers decide which nodes they want to rely upon.
The order-matching smart contract takes a proposed service level agreement (SLA) drafted by a potential user, logs the SLA parameters, and collects bids from oracle providers who are willing to fulfill the requests laid out in the SLA. It then selects bids using the reputation contract and finalizes the oracle SLA. Once an SLA has been finalized, a trusted data feed can commence.
Finally, the aggregating contract is used to collect the oracle providers’ responses and calculates the final collective result of the ChainLink query. It also feeds oracle provider metrics back into the reputation contract.
Plausible use cases for Chainlink infrastructure includes insurance, some legal contracts, derivatives, and decentralized finance.
The insurance industry burns a lot of resources fighting fraud, which leads to higher policy premiums to cover the associated increase in administrative costs, underwriting procedures, claims processing, and dispute resolution.
Higher costs and long processing times strain the relationships between insurers and policyholders, which increases the incentive for policyholders to commit fraud and increases insurers’ incentives to hike up costs and delay payouts. This is an unhealthy cycle of distrust and bad faith that could be improved.
Chainlink connected smart contracts offer a way for policy makers to move away from a manual, probabilistic system to a more automated, deterministic, and trust-minimized system.
Car insurance smart contracts can use IoT sensors to monitor driving activity, crash dynamics, and road conditions to determine discount rates and accident claims. IoT wearables and other biotech sensors can be connected to health insurance contracts to trigger checkups and calculate discounts based on exercise routines, weight, and heart rates. Flight and train insurance can use transportation schedules to issue payouts for late or canceled trips. Crop insurance can use weather data, GPS, or drone imagery to confirm weather patterns and issue payouts. Large equipment equipped with internal sensors can monitor for system malfunctions and trigger payouts for serial defect warranties or issue automatic maintenance requests.
Commercial contracts today are probabilistic in that each party will probably hold up their end of the agreement and pay on time, but many parties simply don’t perform their duties either intentionally or unintentionally. Counterparties defaulting on obligations leads to many inconveniences such as late cash flows, increased litigation, and unforeseen expenses.
Large organizations have advantages that allow them to delay payments by strong-arming smaller organizations. This counterparty risk exists between big and small firms, but also extends to international agreements in which foreign companies delay or refuse action, and resolution is even more challenging due to costs and complications of international litigation.
A Chainlink connected smart contract set up as a commercial contract would execute deterministically based on the interaction between the contract’s code and the Chainlink data-feeds it receives about contractually relevant events. Neither party holds control over the shared infrastructure or data, therefore neither party can escape their contractual obligations nor tamper with the outcome.
Derivative markets are designed around the fundamental lack of trust between all the parties involved: shorts, longs, and market makers.
During the 2008 Financial Crisis, many OTC (over-the-counter) dealers delayed payments to clients who shorted the housing market in order to establish similar positions to cover those liabilities to their clients. Delayed settlements such as these can reduce payouts due to changes in underlying values between the agreed upon settlement and actual settlement date. Chainlink connected smart contracts designed as an option or futures contract would remove the possibility of delayed payments. Smart contracts have no choice but to comply.
To avoid the concentrated counterparty risk in OTC derivative markets, many institutions use a central clearing house like the CME. But using a middleman like the CME means you have to pay the middle man, which removes value from the transaction. In addition, a strong middleman that takes on the majority of counterparty risks and a lot of responsibility creates systemic risk. Middlemen are susceptible to bribery and infrastructure problems that centerless, decentralized infrastructure are more immune to.
Chainlink powered smart contracts could make entities like the CME less desirable and make the huge counterparty risks in the OTC derivatives market a relic of the past.
The previous use cases outlined above covered some “old world” systems that could benefit from Chainlink, but the “new world” created by cryptocurrencies and blockchains are the earliest adopters of Chainlink and the most obvious fit for a decentralized oracle service. Decentralized Finance, or “DeFi”, has made big waves in the crypto community, but for them to function in a truly decentralized manner, they can’t rely on single sources of information.
Decentralized lending, derivatives, prediction markets, and exchanges all need external data feeds to thrive in a trust-minimized way. Chainlink has positioned itself to be the decentralized oracle network these applications need to work well, and a crucial piece of the puzzle of becoming truly decentralized.
The Chainlink network is currently providing information to crypto projects such as the Celsius Network, Synthetix, Aave, and others, who collectively represent approximately $700 million USD worth of value.
Early on, Chainlink developers pointed out that free-riders or free-loading is a potential problem amongst node operators. A cheating oracle can observe the response of another oracle, copy it, and potentially receive payment for their answer even though no work was done on their part. The freeloading oracle avoids the expense of querying sources, weakens the security model by undermining the diversity of data queries, and also disincentivizes oracles from responding quickly. Responding after other nodes respond and freeloading off their answers is a cheaper strategy.
Chainlink developers have proposed threshold signatures as a solution to the freeloading problem and have successfully rolled out Schnorr based threshold signatures to stamp out this problem. They are currently developing threshold signatures that are based on Boneh-Lynn-Sacham (BLS) signatures which offer promising optimizations over Schnorr based signatures.
In addition, trusted execution environments aren’t foolproof. A “trusted environment” has just been hardened enough so that common forms of tampering are much harder. TEEs are not 100% tamper proof, but they could be fairly characterized as highly tamper resistant. TEEs shouldn’t be thought of as complete guarantees of a program or data’s integrity.
Chainlink aims to be the middleware between information about the real world and smart contracts living on blockchains. Chainlink is the potential bridge between these traditionally separate worlds, bringing smart contracts closer to their full potential and providing monetization opportunities for those who provide quality data.
We look forward to the network’s continued progress and encourage all the “LINK Marines” out there to download and use Edge for any and all of your cryptocurrency needs.
Originally published at https://edge.app on April 21, 2020.