In a world of decentralized apps, with $1 billion in assets actively pooled in DeFi protocols, there is a lot at stake and we cannot risk exposure to any grey or black swan events. Trust is of the utmost importance. At the heart of DeFi is the desire to automate the majority of tasks in the financial industry, cutting out the middlemen. To make it happen, DeFi uses Ethereum’s smart-contract powers. Smart contracts are lines of code that execute, when they are fed with data. But smart contracts aren’t as “smart” as they sound. Anyone that has ever written a line of code has heard of the term “garbage in, garbage out”, used to express the idea that incorrect or poor-quality input will produce useless output. This idea applies even more today, as we move to automated and decentralize the way we do things. The reliability of the data we feed smart contracts is paramount and this is where “oracles” come into the picture.
Ilias Louis Hatzis is the Founder at Mercato Blockchain Corporation AG and a weekly columnist at DailyFintech.com.
A few days ago, Coinbase announced an oracle service, which will provide reliable and verified price data for two trading pairs, BTC/USD and ETH/USD.
#DeFi has grown to more than $1B in assets pooled in a range of protocols. The Coinbase Price Oracle provides a critical service to the DeFi ecosystem: a trusted price feed that will make platforms safer, more reliable and unlock the next wave of adoption. https://t.co/ueUhRLX6r2
— Coinbase (@coinbase) April 23, 2020
The new oracle is compatible with Open Oracle, which Compound Finance developed to enable different sources of oracle price data to work together. Coinbase will sign all oracle data with its private key. Users of the oracle can publish prices on-chain and verify their authenticity, with Coinbase’s price oracle public key. The Coinbase oracle will filter data points that significantly vary from the expected volatility for an asset. The oracle’s data comes from the Coinbase Pro exchange and will be updated every 60 seconds.
In ancient Greece, people consulted the Oracle at Delphi in an attempt to get a glimpse of the future. The Pythia offered several prophecies, most of the time vague, misleading and in some cases true.
Price oracles come in a variety of shapes and sizes, some more centralized, some more decentralized, but the general idea is that price oracles provide a price for a given asset. When we talk about price oracles, in fact we are talking about tools that allow blockchains to learn about something that happened in the past. Oracles do not make predictions about the future. Oracles report.
Applications that run on public blockchains require a signal to trigger the predefined actions of the smart contract. Oracles feed dApps with the information they need to work correctly. Imagine automating things like sending Bitcoin to someone when the stock market drops, when the weather changes, or if a post reaches a certain number of likes?
Generally, there are two types of oracles, machines and users. Machine oracles are sensors that generate and send digital information in a smart-contract-readable format. User oracles, are thousands of people reporting on event outcomes and being rewarded in cryptocurrency or tokens.
For those of you that are familiar with Dr. Strangelove, you can understand the what it means, when a smart contract goes haywire, because of the wrong data. Dr Strangelove is a film about immutable smart contracts that cannot be altered by human agency, once they’re in motion.
One of the many criticisms of smart contracts is the “Oracle Problem”. Simply put, a smart contract has no knowledge of reality, so it relies on a truth source, “an oracle” for it to receive external data.
But, building a reliable price oracle is not something simple.
Oracle trustworthiness has been a difficult problem to crack, while trying to maintain a balance with decentralization. You can publish price data from a centralized exchanges, but trusting them to provide accurate data and keep the signing key safe, is another story.
There are many cryptocurrency exchanges around the world, but the reliability of their trade data is a big issue. In a presentation to the SEC in 2019, Bitwise Asset Management described the problem as “the vast majority of this reported volume is fake and/or non-economic wash trading.”
Alternatively, there are decentralized oracles. Plenty of projects that are trying to solve the problem. Decentralized oracles such as Band Protocol, ChainLink, Tellor, Witnet and UMA Project all differ and cover different attack vectors.
The most notable is Chainlink, which incentivizes accurate feeds with the LINK token. The Chainlink network, bridges blockchain to real-world applications and data. It securely connects smart contracts on Ethereum with external data sources, APIs, and payment systems. Their token price reflects everyone’s interest in DeFi. Chainlink’s link token has outperformed Bitcoin by leaps and bounds, as the oracle is in hot demand. In the first quarter of this year, LINK rose by 31 percent, with its price hovering today, around $3.78.
Oracle manipulation is the root cause for most of the DeFi attacks. The two recent flash loans on the DeFi platform Bzx, started a fierce debate about the subject of using uncollateralized loans in a quick trade. In February, an attacker exploited the oracle dependency on Kyber’s decentralized exchange (DEX) price feed in the bZx smart contract. The scheme was used to exploit funds from the Bzx twice, as the hackers gathered around $954,000 in a matter of four days from well-executed flash loans.
There are three real problems right now. There’s a connectivity problem, there’s privacy and there’s scalability. Oracles don’t fully solve any of these problems. What they do is they contribute to solving them. Also, oracles create centralized points of trust, in systems that are meant to be decentralized. Because they control the input for a smart contract, they control the entire operation of the smart contract. This is a huge vulnerability. A compromised oracle essentially means the entire smart contract is compromised. Decentralized applications that use oracles need to use multiple oracles for any data point, reconciling data when there is conflicting information.
The Coinbase Oracle is important for the growing DeFi ecosystem. Coinbase is the most trusted and secure company in the space and uniquely positioned to provide oracle prices. The Coinbase Oracle will also help Coinbase solidify its position in the DeFi ecosystem and take the first step up the ladder ,towards Chainlink’s market position. The real challenge for Coinbase is to get dApps to trust the accuracy and timeliness of a single source of data, hardly a decentralized solution.
Price Oracles, that are reliable and timely are key for DeFi’s continued growth. To build fair and self-sustaining financial markets, we need price oracles that are accurate, fast, unbiased, and resistant to price manipulation.
Subscribe by email to join the other Fintech leaders who read our research daily to stay ahead of the curve. Check out our advisory services (how we pay for this free original research)