Access to off-chain data sources is one of the perennial challenges of blockchain applications. Oracles are the component of blockchain runtimes responsible for interacting with external data sources without violating the integrity of the blockchain. Incorporating access to off-chain information within smart contracts is, in my opinion, one of the key capabilities needed to streamline the adoption of blockchain platforms. In the context of security tokens, the oracle challenge is greatly magnified as external information plays a fundamental role in the lifecycle of many crypto-securities.
In the context of blockchain applications, the term oracle has its origins in the Ethereum whitepaper but its an obvious reference to Greek mythology. In ancient Greece, oracles were sacred people that interpreted the will of the Gods and relay it to the population. The most important oracles of Greek antiquity were Pythia, priestess to Apollo at Delphi. One of the most famous prophecies of Pythia was when King Croesus of Lydia (modern-day south-western Turkey) asked the oracle whether or not he should go to war on his neighboring kingdom. The oracle replied that if he went to war, a great kingdom would fall. Croesus interpreted this as being his enemy’s kingdom butit turned out to be his own. A reminder that correctly interpreting the information from the Oracle is as important as having access to the Oracle itself 😉. If we borrow a page from Greek mythology into the blockchain world we might conclude that the role of oracles is to relay message from the off-chain Gods into the mere mortals smart contracts. I know…not a great analogy but let’s get back to security tokens😉.
Oracles & Security Tokens
As hinted previously, the interaction with external data sources is one of those key challenges that needs to be addressed in the next iteration of security token platforms. The role of oracles in security tokens is everywhere. From information disclosures to new forms of programmable securities, security tokens need external data sources as much as they need the blockchain. While the use cases for oracles in security tokens can be incredibly diverse, there are three fundamental categories that I think can be incredibly valuable in the near future:
· Compliance Oracles: The most basic form of oracles in security tokens is related to compliance checkpoints. There are several scenarios in which the transfer of securities requires approval by external parties in a way that can’t be implemented in programmable smart contracts. Compliance oracles would be the entities responsible for interacting with those external parties or data sources and asserting their approval or rejection on-chain to complete the transfer action.
· Disclosure Oracles: Suppose that we issued a tokenized bond that has a rating given by an external agency like Moody’s. After a few months of trading, Moody’s reevaluates its rating of the bond assigning it a lower score. The new rating is a form of disclosure that should be immediately reflected in the bond smart contract in order to achieve a fair price. This example represents a form of disclosure oracle which are the oracles responsible for asserting disclosures from reputable sources that can be relevant to the price or behavior of a crypto-security.
· Programmable Logic Oracles: The most exciting aspect of security tokens is that allow us to imagine new forms of securities and oracles are an integral part of it. Imagine a scenario with a security token that represents shares of a hotel chain in which the smart contract will automatically award a number of rewards points to token holders based on their specific positions. Programmable logic oracles are the type of oracles that trigger off-chain actions based on the on-chain behavior of the security token.
Know your Oracle(KYO)
Security tokens are based on the premise of introducing compliance into crypto-assets. The most basic forms of compliance are related to understanding the identity of a token holder by following know-your-customer(KYC) regulations. What if we could do something similar for the external data sources that guide the behavior of the crypt-security smart contract. For amusement purposes, let’s call this idea Know-your-Oracle(KYO).
Imagine a crypto-security that represents shares in different oil & gas companies ( similar to an ETF). The smart contract will include a rating based on different “approved agencies” such as Moody’s and price information will factor in the latest OPEC reports. A KYO protocol could match those approved sources and associate them with specific blockchain addresses. The disclosures from those sources will be reflected into the crypto-security smart contract and the KYO protocol will reconcile those against a white-list of approved oracle addresses. I know it sounds a bit futuristic but is actually quite simple to implement.
Some Oracle Protocols that Might Help
Oracles are a massive challenge in the blockchain ecosystem way beyond security tokens. As a result, we have seen several innovative oracle protocols that include ideas that are very relevant to the universe of security tokens. Here are a few of my favorites:
· ChainLink: Calling ChainLink an Oracle protocol might be an understatement. The platform acts as a decentralized Oracle network in which any participant can provide a data feed in exchange for LINK tokens. The ChainLink platform includes certification, validation and reputation services that enforces the integrity of the Oracles.
· Oraclize: The Oraclize platform provides a protocol that can integrate different types of data sources such as IPFS or URLs with blockchains like Ethereum, R3 Corda or BlockApps. Oraclize uses a mechanism called Authenticity Proofs to act as sort of an untrusted intermediary.
· Augur: Mostly known as a decentralized prediction marketplace, Augur has implemented one of the most sophisticated Oracle protocols in the blockchain ecosystem. Augur allows participants in a blockchain network to report external events relevant to specific predictions. The platform uses a validation-dispute protocol and reputation tokens(REP) to maintain a record of the behavior of the different Oracles.
· Aeternity: Aeternityis a platform that enables the implementation of smart contracts that interact with external data sources. The platform relies on state channels to enable the integration of blockchains and external data sources. Aeternity also includes a reputation system that serves as a currency for different Oracles.
Solving the oracle challenge is an important step to streamline the adoption of security tokens. Oracles are the foundation to much needed security token capabilities like disclosures or new forms of compliance. Adapting existing oracle protocols or designing new ones should be one of the areas of focus on the next wave of security token platforms