*https://members.delphidigital.io/reports/the-oracle-report-of-delphi/*
Delphi Digital, June 2021
Oracles are important. For those already familiar with crypto, we don’t need to waste time in this report telling you that. Instead, our focus will be to compare and contrast oracle solutions by their designs, economics and strategies. We’ll cover live, sector leading projects, such as Chainlink and Band Protocol, in addition to promising newcomers, such as Pyth and API3. Before we dive into the specifics, we should preface that each of their designs is unique. As a result, efforts have been made to standardize how we explain the different parts to achieve a more “apples-to-apples” comparison cross protocol. Furthermore, these protocols are either not live yet (Pyth and API3) or have significant upgrades on their near-term roadmap (Chainlink V2 and Band Phase 2). At times, we might speak about upcoming changes as if they’ve already been implemented. In addition, oracles can submit more than pricing on-chain but to keep things simple, we’ll often just use “price” as a catchall term for data, since that is the lens most people already view oracle data through.
Let’s start by reviewing the diagram below, where we’ve created an abstract yet simplified view of each oracle relative to one another. While this diagram may look a bit different from what you’ll typically see in each protocol’s documentation, we’ve structured it this way to communicate a few key ideas -1) who are the stakeholders, 2) what are the economic underpinnings and 3) how does everything functions at a network level.
At the base of the diagram, we have arguably the most important group – the data providers. As the name implies, this is the source of the off-chain data. Now, a key distinction to be aware of is that this group includes both free and paid data sources. A good example of a free data provider is CoinGecko. At the top of the diagram we have the on-chain consumers of the data. Today, the consumers are mostly DeFi applications but in the future oracles will likely service a variety of diverse use cases. In between the source of the off-chain data and its on-chain consumption sits the oracle protocol.
A fundamental question for all oracle protocols – who submits data on-chain for aggregation? Depending on the oracle, the answer to that question will change. In the case of Chainlink and Band Protocol, this responsibility is carried out by third-party node operators. Third-party in this context means that they are not the originators of the data but rather they act as middlemen for pulling and submitting it. In contrast to this approach, Pyth and API3 were designed to remove the middlemen operators by having the data providers directly put their data on-chain. This distinction has important implications which we’ll discuss in greater detail further on in this report.
Band Protocol’s nodes operate a distinct blockchain (i.e. BandChain). When a request for data is submitted, the validating nodes fetch the data from its source, then aggregate and publish the information on BandChain as the network reaches consensus. Conceptually, Chainlink is similar but the nodes do not operate a distinct blockchain. Instead, Chainlink nodes come together to form off-chain P2P networks (i.e. Decentralized Oracle Networks, “DONs”). Furthermore, while Band Protocol has 1 validator set for its network, Chainlink can have several distinct node groupings, of varying sizes, all servicing different data feeds and chains.