If you watched the epic film 300 starring Gerard Butler as the mighty King Leonidas, you may remember the scene where the Spartan leader pays a visit to a female Oracle, the connector between the divine world and that of mortals. The Oracle’s role is to receive messages from the gods and deliver them to people, and the prophetess does exactly that in the movie — she relays the words of the gods to the King.
In blockchain, we have oracles that play a similar role (except oracles in blockchain aren’t scantily clad women). An oracle in blockchain is an agent that accesses data from the real-world and passes on the information to a blockchain. Because blockchains on their own cannot retrieve data from the outside world, they need oracles to feed them information. Without oracles, blockchains that require real-world data for full functionality can lose the ability to serve their purpose. Thus, oracles are vital to many blockchain networks.
Xank’s Oracle System
In order to calibrate Stable Pay transactions with the Xank-SDR rate, we need two bits of information.
1. The SDR rate
2. The price of the Xank coin
The Xank blockchain is a closed network that is disconnected from the world. It isn’t going to google “SDR rate” and retrieve the daily SDR price from the official IMF SDR website, nor is it going to manually pull data from the exchanges on which Xank is listed to calculate the Xank-SDR rate for Stable Pay transactions. We need an oracle system to help us out. An oracle system will provide the SDR rate and the price of the Xank coin for the Xank blockchain.
Every day at noon (London time), the IMF publishes the SDR rate on its website. Xank’s oracle system will feed the SDR rate to the Xank blockchain so that it has the numbers it needs to fulfill Stable Pay calibrations. It is important to note that the SDR rate will not only be pulled from the official IMF website, but also from multiple other sources. This is important because a single-source feed, if compromised, has the potential to corrupt the entire network. So here, the oracle provides the Xank blockchain with real-world information, that is, the SDR rate.
However, that is only one part of the equation. In order to determine the Xank-SDR rate, we also need the price of the Xank coin. Let’s say that Xank is listed on 10 different cryptocurrency exchanges in locations around the world. The oracle would establish feeds from all 10 exchanges and calculate the average Xank price to be used in determining the Xank-SDR rate.
Similar to the SDR rate, the oracle will draw data from multiple exchanges, and not just one. The reason is twofold. First, one exchange does not accurately represent the global price of the Xank coin. Second, if the one exchange were to suffer an attack or any sort of downtime, the Xank coin’s price may be misrepresented or not retrievable at all. Here, the oracle provides the Xank blockchain with real-world information, that is, the price of the Xank coin.
Let’s look at XDR/USD rate in the chart below. This should give you an idea of how the SDR rate (“XDR/USD Rate”) and the price of the Xank coin (“Xank Price in USD”) are used to calculate the Xank-SDR rate (“Xank Price in SDR”). Note that this local currency conversion takes place in the wallet and not in the protocol.
Looking at the first example of the XDR/USD rate, we can see that the oracle system makes it possible for us to retrieve the values for the XDR/USD Rate and the Xank Price in USD, both of which are necessary to calculate the Xank Price in SDR that is required for Stable Pay transactions.
About the Oracle System
The oracles we discussed above will be autonomous and transparent, with the code and input streams made publicly available. The Xank oracle system, inspired by Dash’s notion of decentralized oracles, will be implemented at the masternode level, whereby a subset of masternodes will be randomly selected to act as decentralized oracles.
In our next story, we’ll look into Xank’s oracle feed redundancy measures.108