Chainlink: Low-Level Infrastructure for Inter-Oracle Competition
The world is highly complex, presenting a diverse set of problems that require various technical solutions. Competition naturally emerges as a means of solving these problems, which in turn drives innovative solutions, diverse product offerings, and lower costs for end-users. While most people notice the surface-level competition for customers between these various solution-driven products and applications, many overlook the fact that they often all rely on similar lower-level infrastructure behind the scenes to function.
For example, Social Media websites like Twitter and Facebook are in a fierce competition for user attention, yet both of their business models are completely reliant on the HyperText Transfer Protocol (HTTP), the universal medium for transmitting data from a web server to web browsers. This underlying protocol standardizes how websites deliver their data to users, which web companies utilize as infrastructure to build higher-level consumer-facing web applications. Web applications then compete and differentiate themselves based on their use case, user experience, network effect, etc
Through this lens of low-level standardization and higher-level competition, we can begin to understand how Chainlink is specifically designed to support any and all oracle solutions. Chainlink provides a generalized low-level framework to standardize how smart contracts interact with off-chain data and services, which then supports higher-level competition between Chainlink oracle nodes, oracle networks, and various third party features that enhance their value.
To better understand this dynamic between low-level standardization and higher-level competition within the Chainlink Network, we:
- Define the Underlying Network Infrastructure of Chainlink
- Identify the Differences Between Blockchain Networks and the Chainlink Network
- Showcase How to Build any Oracle Network Design with Chainlink
- Look at Inter-Chainlink Network Competition
By doing so, we can start to view Chainlink in the right perspective — a decentralized network built upon an open permissionless framework which supports unlimited competition between disparate oracle service providers without any cross-dependencies.
The Underlying Network Infrastructure of Chainlink
The broad range of oracle services needed to cover the entire smart contract market has led some to believe that competition will inevitably exist between various oracle solutions. In a certain sense, they are correct in that no single oracle node, oracle network, or oracle design pattern will be able to solve all the market’s oracle related needs. However, many fail to understand that Chainlink’s network architecture is built specifically to accommodate any oracle model and thus supports unlimited competition between oracles.
Chainlink is not a monolithic oracle network, but instead is an open-source, blockchain agnostic protocol that functions as a permissionless heterogeneous network, where any number of oracle networks can be created and run in parallel without requiring cross dependencies on one another. In that sense, Chainlink is a generalized and decentralized low-level oracle framework built to support higher-level competition between disparate oracle nodes, oracle networks, and supporting oracle infrastructure.
While all nodes run the Chainlink Core software, Chainlink as a whole does not provide oracle services as a unified network. Developers are free to build any type of oracle network on Chainlink without having to abide by a preset consensus mechanism, defined security approach, pre-selected quorum of nodes, specific blockchain, or throughput limit. It is for this reason Chainlink is able to support such a wide variety of use cases all being serviced at the same time, many of which are explored in our previous post Chainlink: Beyond Price Feeds and Data Delivery.
To further understand the difference in architecture between a heterogeneous and monolithic network, it’s helpful to compare how blockchains typically operate versus the Chainlink Network.
Blockchain Networks vs. The Chainlink Network
Blockchain transactions are secured through replication of standardized computations across a decentralized network of nodes (often known as miners or validators). The idea is that through a large network of properly incentivized nodes, a quorum of honest nodes will always overpower a malicious group of actors trying to manipulate the blockchain, e.g., prevent the double-spending problem. Public blockchains accomplish this through built-in block rewards (via a native token) and distributed consensus (PoW, PoS, PoA, etc), a process where all nodes communicate with all other nodes in order to fully validate each other’s work across every block of transactions.
While such a monolithic consensus mechanism is quite powerful in terms of security, it requires that all nodes have equal access to all the resources needed to partake in the network. This generates a problem Vitalik Buterin termed as The Blockchain Trilemma, where it’s very difficult for a blockchain to provide optimal support for all three properties: decentralization, security, and scalability. Thus, Blockchains are forced to make tradeoffs, such as Ethereum choosing maximum decentralization and security at the expense of scalability, while Solana opts for extremely high scalability at the expense of some security and decentralization.
On the other hand, Chainlink operates on a fundamentally different network architecture design, where unlike a blockchain, each oracle network operates entirely independently from other oracle networks. This means that the totality of all oracle networks operating on the Chainlink Network can collectively accommodate all the different tradeoffs in oracle designs. Independent oracle nodes and/or oracle networks can be purpose-built to provide certain features to users like specific API data, extensive decentralization, off-chain computation, data privacy, quick update frequency, etc, without having to service all other oracle services on the network too.
In fact, the heterogeneous design of Chainlink is essential to its wide adoption, as it’s not economically feasible for the entire Chainlink Network, made up of thousands to millions of independent nodes, to require that each of those nodes have access to every data point and API service it provides to smart contracts. For example, there is no way an enterprise would openly give a large number of unknown oracle nodes access to their confidential backend data, or for every node on the Chainlink Network to have on-going paid subscriptions to thousands of different premium data providers. Instead, it’s more practical for Chainlink nodes and oracle networks to specialize and differentiate themselves across a variety of features, ultimately leading to an overall framework that’s capable of supporting every oracle need.
Build any Oracle Network Design with Chainlink
The construction of oracle networks using the Chainlink framework can vary across a wide variety of components including inputs, outputs, blockchains, oracle nodes, data security, and performance.
- Any Input — Each oracle network can be designed around what data type needs to be delivered, which data sources it’s pulled from, how many data sources are incorporated, how those data sources are aggregated together, what environment to deliver the data to, etc.
- Any Output — Oracle networks can also be used to customize how smart contract output events are interpreted, such as initiating a crypto payment on another blockchain, triggering a fiat transaction on a traditional payment gateway, storing metadata in the cloud, updating a database entry in an enterprise backend, and more.
- Any Blockchain — Chainlink is a blockchain agnostic oracle network that can run natively in any blockchain environment, either by porting Chainlink’s system of contracts directly onto another chain and bridging the LINK token (via a wrapped version) or simply using an external adapter to bridge data from one blockchain environment to another. Learn more in our blog post Connect To All Blockchain Environments Through A Single Chainlink Integration.
- Any Oracle Nodes — An oracle network can consist of whatever oracle nodes the user prefers, whether that be handpicking nodes based on historical on-chain performance, using a random selection based on a specified off-chain reputation/trust score, choosing nodes based on a specific geographic location for GDPR compliance, or any other selection framework desired.
- Any Security Framework — Users can build oracle networks using any combination of security guarantees necessary, including increasing decentralization by using many data sources/nodes, layering on privacy enhancements via zero-knowledge proofs (DECO) or trusted hardware (Town Crier), using a censorship-resistant or high-performance blockchain, requiring a certain amount of LINK staked in an on-chain service agreement, etc.
- Any Performance Enhancement — Oracle networks can be built to satisfy a variety of performance requirements, such as choosing whether to aggregate data on-chain or off-chain, defining the update frequency of the oracle network, selecting which blockchain to run the oracle services on, using specialized hardware for performance enhancements, and more.
“Chainlink has been designed with modularity in mind. Every piece of the Chainlink system is upgradable, so that different components can be replaced as better techniques and competing implementations arise.” — Chainlink Whitepaper
Inter-Chainlink Network Competition
Through this extensive flexibility, Chainlink offers a complete framework to support any oracle needs via a free market economy enabled by inter-oracle competition across numerous levels of the Chainlink Network. We’ve identified three key areas of competition already underway today: between oracle nodes, oracle networks, and third-party network services.
Node vs. Node
Chainlink is an open-source permissionless network where anyone can operate a Chainlink node and begin immediately providing oracle services to smart contracts on any blockchain. However, oracle services on Chainlink are not standardized like in blockchain networks because not every node has access to the same data or off-chain resources. For example, one oracle node may provide price data from a free tier single exchange API, another may pay for premium data aggregator APIs, and another may be run by the data provider itself. All three can operate in parallel and provide users with different trades offs, as well as be used in tandem within a single oracle design.
Chainlink nodes can be differentiated by users via independent listing services, where nodes are able to showcase information about themselves such as their on-chain performance history (uptime, response time, deviation from the median), what oracle services they can provide (with accompanying data sources), the oracle networks they participate in (including the total number of completed requests), identification information (Keybase, KYC, DNS proofs, security reviews), hardware configurations (AWS, GCP, Azure, on-site), the amount of LINK they have (used for implicit and explicit staking), and much more. Market.link is an example of a permissionless listing service that lists most of the oracle nodes currently operating on the Chainlink Network. It offers a built-in filtering mechanism that enables users to evaluate each node and how they compare to other nodes using historical data and various other real-time metrics.
Oracle Network vs. Oracle Network
Another key dimension in which Chainlink can facilitate inter-oracle competition is between the various different oracle networks that aggregate data from multiple independent node operators. Decentralized oracle networks are the primary way in which oracle services are provided on Chainlink today, as they provide strong guarantees to users around the availability, accuracy, and tamperproof nature of sourcing off-chain data and delivering it on-chain.
Chainlink oracle networks can differentiate themselves based on the quality of nodes used in the network, the number of oracle nodes involved, the frequency at which they update, the blockchain networks they operate upon, their accessibility (open vs. permissioned), the data and computation services they provide, the security features they offer (e.g. privacy-preserving computation), the cost of data requests, the compensation of nodes, and more. Similar to individual nodes, oracle networks can be monitored and tracked according to key metrics in order to verify their reliability and accuracy. Reputation.link is an example of a reputation system that tracks the on-chain performance of various oracle networks, most notably the price reference data feeds widely used by much of the DeFi ecosystem today.
Competition Between Third Party Network Services
Besides the nodes and networks that provide oracle services to smart contracts, there is a variety of supporting services that market participants can compete to provide. These services include listing services for finding Chainlink nodes, reputation systems for evaluating Chainlink oracle networks, certification services that evaluate oracle nodes/networks based on different metrics, outsourced R&D to get systems built and connected, data analysts to generate reports about the state of the network, and much more.
One of the key areas here that are likely to see the most competition is data providers themselves. While data providers can run their own Chainlink node to sell origin-signed data directly to smart contracts, they can also sell data to existing oracle networks to avoid any changes to their current business model and eliminate the need to run any new infrastructure. With data being as important to the proper functioning of a smart contract as its underlying coded logic, there will be strong market demand for services that evaluate data providers both operating as a Chainlink node or simply selling their data to existing oracle networks.
Similar to the Internet being a single protocol supporting the entire ecosystem of competing web Apps, Chainlink is a single low-level framework that can support an unlimited number of independent oracle nodes and oracle networks competing to service the smart contract economy. Unlike blockchain networks that require tradeoffs to meet different user requirements, Chainlink is purposely generalized and its components easily upgradeable in order to provide a foundation capable of hosting all the various oracle designs required by the market both now and into the future, without any cross- dependencies.
Standardization of the oracle protocol layer removes the need for various oracle clients, which only add friction and complexity to dApp development, as well as introduce various attack vectors around quality dilution. Chainlink is purpose-built to be the standard backend infrastructure for all types of oracle networks, serving as a universal, open-source on-chain<->off-chain connection layer with unlimited horizontal scalability, complete design modularity, and permissionless accessibility. Such flexibility means anyone in the world is free to offer and access Chainlink oracle services, leading to competition-driven innovation and specialization as a means of servicing all the market’s oracle needs.
Follow us on Twitter @SmartContent777 to get up to date on the latest articles, as well as follow our individual accounts @Crypto___Oracle and @ChainLinkGod for a constant stream of information about the Chainlink, DeFi, and the blockchain space.