This guest blog post in collaboration with Johann Eid, Product Manager at Chainlink Labs and Mateusz Rzeszowski, Guest Writer for Flow.
Decentralization is the fundamental difference between blockchains and established technology as the lack of a single authority governing a network stands in stark contrast to the current standard of centralized servers. While a number of opportunities and challenges come up as a result of this underlying change, we’ll focus on one specifically: the communication between a decentralized blockchain and outside systems.
A decentralized blockchain possesses no inherent ability to process inputs coming from external systems.
What is commonly known as an “oracle” is the intermediary service between blockchains and the external world, relaying outside information to smart contracts. To better understand the concept, imagine a blockchain insurance application that pays out policyholders based on specific weather conditions. The smart contract that triggers the payout is guaranteed to provide reliable outcomes, in contrast to an insurance adjuster’s subjective assessment. A smart contract can automate the claims process between the insurance provider and the policyholder, but there’s one issue, what’s commonly called the “blockchain oracle problem”: the smart contract is unable to securely check external weather data on its own. What’s needed is a solution for sourcing and securely delivering weather data to our dapp—an oracle.
But what guarantee does the smart contract have that the data provided by an external source is right? If the payouts of our insurance dapp depend fully on the data provided by the oracle, we would want to make sure it operates on that same decentralized basis, ensuring reliability by getting rid of any single point of failure.
Enter Chainlink, which serves as an oracle capable of feeding data to smart contracts in a way that doesn’t require sacrificing the decentralized nature of blockchain processes.
Chainlink’s stated goal is to provide “reliable, tamper-proof inputs and outputs for complex smart contracts on any blockchain”. How is it looking to achieve that? In order to create a stable service, Chainlink’s oracle nodes operate independently of one another within a reputation framework that incentivizes nodes to be available and secure. Such an aggregation of nodes prevents any single point of failure and provides guarantees around the data quality and secure data delivery of the oracle network.
But what about the pragmatic side of things: what can Chainlink offer companies interested in blockchain, how is it ready for advancements in technology adoption, and are there any kinds of data it struggles with?
Johann Eid, Product Manager at Chainlink Labs, answers these questions below.
Chainlink oracle networks offer several advantages to established companies entering the blockchain space, particularly around three main value propositions:
As a highly generalized, blockchain-agnostic oracle protocol, the Chainlink Network can scale in a number of unique ways, which ultimately depend on how the user wants to utilize the network. The reason Chainlink can support so many scaling options is that its underlying network design is a heterogeneous framework, meaning any number of decentralized oracle networks can run simultaneously and be configured according to different parameters without any external dependencies on other oracle networks. Unlike a blockchain that operates as a single unified network with a single consensus mechanism, the Chainlink Network has a multitude of independent oracle nodes and oracle networks running in parallel to one another without any cross-dependencies.
Through this framework, Chainlink oracles can be integrated natively onto any blockchain network without worrying about the limitations of any other blockchain.
Chainlink has already been integrated natively on high-throughput blockchains and layer-2 solutions, as evidenced by Matic Network and Binance Smart Chain launching Chainlink functionality on their mainnet. Chainlink nodes can also offer layer-2 scaling solutions directly, such as running the Arbitrum protocol to offer scalable, trust-minimized Solidity computation.
Outside of design flexibility, Chainlink is scaling its core base layer protocol through an off-chain aggregation solution called OCR (Off-Chain Reporting). OCR uses a peer-to-peer communication protocol to allow oracles nodes within a decentralized oracle network to communicate and aggregate data off-chain. By moving the aggregation process off-chain, only a single node needs to deliver the final aggregated data on-chain, dramatically lowering costs by an order of magnitude compared to the current model of on-chain aggregation.
The Chainlink Network makes use of modular external adapters, which can be written to facilitate connection between smart contracts and any off-chain API or system. Thus, there are technically no limits on the data that can be supplied on-chain through Chainlink’s decentralized oracles, including from credentialed data providers, web APIs, enterprise backends, IoT networks, traditional payment gateways, Cloud systems, and more.
The easiest data to bring on-chain is the data with the most demand, as data providers are more open and efficient in supporting new blockchain-based markets when there is already a large and growing pool of paying customers. This is why the Chainlink Network has been so effective for launching widely used Price Feed oracles, which supply a wide variety of on-chain price feeds with full market coverage to support applications and protocols in Decentralized Finance (DeFi), the most actively developed blockchain market.
A key industry-wide challenge and opportunity for delivering data to smart contracts right now is around making confidential data accessible to smart contracts on public blockchains while still retaining privacy of that data from both the oracle and public. Several novel privacy-focused oracle solutions, most notably DECO, are being actively developed to address this challenge. DECO is a privacy-preserving oracle technology that uses zero-knowledge proofs to attest to the validity of data and to cryptographically prove its origin within a unique HTTPS/TLS web session without revealing the sensitive data on-chain or requiring server-side modifications.
It’s hard to predict anything that far out in the blockchain space. However, one of the areas we see evolving is how the blockchain space as a whole defines the role of an oracle in the smart contract economy. Because delivery of off-chain price data to DeFi was the most immediate and first in-demand use case in the market, many projects use oracles as merely data delivery services. While secure data delivery is very important and will only increase usage and expand in the amount of data types it brings on-chain, it’s only an initial type of oracle functionality, similar to how email was the first service to really take off on the Internet, but was far from the last with the World Wide Web being introduced not too long afterwards.
As entities that can perform arbitrary off-chain functionalities for on-chain contracts, Chainlink oracles provide users with an expansive set of services that go beyond the delivery of price data, such as:
When combined, Chainlink starts to encompass a full off-chain services layer for smart contracts.
As a blockchain-agnostic protocol, we look forward to supporting all blockchain networks, such as Flow. Importantly, Chainlink can be integrated directly on the Flow blockchain, allowing developers to build data-driven smart contract applications at the native speeds and with the underlying security assumptions of Flow without cross-dependencies on other blockchain networks. This means the creation of high-throughput applications and oracles on Flow to support the next generation of apps, games, and the digital assets that power them.
While there is no limit but the imagination, some of the use cases potentially most relevant to Flow and its unique architecture include Chainlink VRF for obtaining a source of provably fair randomness to use in blockchain games, off-chain web data for creating dynamic NFTs, and Chainlink Price Feeds for building a wide variety of of DeFi applications.