In the presentation below, Tomás Ruiz, technical lead of Witnet, presented on the importance of standardisation for oracle networks, the challenges of implementing them, as well as his proposed solutions to these issues.
Below are some important points to note from his presentation.
What is Witnet?
Witnet is a multi-chain decentralised oracle network (DON) that focuses on connecting smart contracts to online data sources in a secure and trustless manner. It is a layer-1 protocol, which means that it operates as its own blockchain. The protocol features a network of nodes called “witnesses” that are incentivised to provide data to smart contracts with Wit tokens. Wrongdoers or dishonest reporting is punished by having a percentage of their staked tokens “slashed” – taken away – in order to maintain a high quality of data reporting. Witnet is also a “parametric oracle”, which means that users are able to customise their data requests using a domain specific language called RADON, and consume data from any public API of their choosing. For more information on how to request public APIs on Witnet check out this section in their documentation.
When the team started building Witnet, they intended for it to be blockchain agnostic. Blockchain agnostic solutions are protocols that are compatible with any blockchain network. Witnet focussed on building a chain agnostic solution because they believed that the world was moving towards becoming more decentralised and “multi-chain”. Witnet is currently available on Ethereum, Celo, Metis and more! However, back in 2017 when Witnet was being built, cosmos SDK and substrate, which are open source frameworks for building custom, interoperable blockchains, did not exist. Consequently, the Witnet team had to spend 2 years developing their entire platform from scratch.
Why Create A Standardised Interface for Oracles?
In order to streamline the user experience, the Witnet team wanted to develop an oracle solution that would be easy for smart contract developers to use. In order to achieve this, the team wanted to build out a standardised interface that allowed developers to implement Witnet in the exact same way that other oracles were being used. However, the team found that there was no common method of consuming oracles. Instead each oracle had vastly different ways of operating.
According to Tomás, implementing a standardised interface for oracles would bring about many benefits. Other than improving the overall developer experience, implementing common standards for oracles will facilitate greater composability, which allows developers to reuse existing software modules to create new systems. Developing a standardised oracle interface would also provide the opportunity for industry players to discuss and address inconveniences related to oracle use, this strengthening one of the most important layers of the Web3 ecosystem.
Alliance of Decentralised Oracles (ADO)
The Alliance of Decentralised Oracles (ADO) was formed by a group of oracle protocols with the aim of creating standardised plug-and-play oracle interfaces in order to streamline oracle use for developers. The group, which is open to anyone interested in decentralised oracles, includes representatives from Witnet, Tellor, BAND protocol and iExec among others. In 2020, ADO decided to implement a new standard, called EIP-2362. Unlike previous standards that were not successfully implemented, the EIP-2362 standard did not focus on how oracles should behave. Instead, it focused on how the interface would be used by developers and, according to Tomás, is extremely easy to implement and follow.
For more information on the EIP-2362 standard, check out this public demonstration of the standard, featuring Witnet founder Adan Sanchez, Tellor co-founder, Nicholas Fett, BAND Protocol co-founder Paul Nattapatsiri and Hadrien Croubois, ex-research engineer from iExec. The demonstration details exactly how to integrate EIP-2362 into existing projects and smart contracts.
Implications of The Blockchain Trilemma on Oracles
The Blockchain Trilemma is a term coined by Ethereum founder, Vitalik Buterin. It describes a common challenge faced by developers, where they are forced to make trade-offs between security, scalability and decentralisation when building a blockchain network. It is almost impossible to achieve an optimal level of all three components on one blockchain. Similarly, oracles are also constrained by the same trilemma. For example, an oracle that prioritises decentralisation & scalability, will be less secure than an oracle that is focused on security & scalability. However, it will be less decentralized than the former.
In his presentation, Tomás reiterates the importance for protocols implementing oracle solutions to thoroughly research the available oracle solutions and the various features and trade-offs being made. Depending on the different trade-offs made, each oracle would be better suited for different use cases. Therefore, it is imperative that developers are fully aware of the exact trade-offs being made in each oracle solution being used. This presentation by Sasa Milic provides some insight into the differences between some of the more well-known oracles like Chainlink, Tellor and UMA.
According to Tomás, it is also important to always assume that your oracle can fail. Being aware of the specific trade offs will help users to make more educated decisions and implement suitable solutions in case of an oracle failure. Check out Liquity’s presentation on their dual oracle design that has sparked lively discussions in the space about possibly introducing new industry standards for oracle use.
Oracles are a cornerstone to DeFi, and many other blockchain use cases. Due to their significance to the entire ecosystem, should oracles be made a public good? Should the industry be looking for ways to sponsor or subsidise data requests & oracles? As explained by Tomás, this is a problem that is yet to be solved. A lot more discussion and collaboration is needed in order for the entire industry to move closer towards achieving more robust oracle solutions, and educating end-users on the proper implementations of these protocols.
The Blockchain Oracle Summit was the world’s first conference to focus solely on the important role that oracles play in the wider blockchain ecosystem and their limitations. Leading speakers from across the world gathered in Berlin to share their work and experience building and using oracle solutions.