Desired Capabilities of the Oracle Network

The goal of the XYO Network is to create a trustless, decentralized system of location oracle that is resistant to attack and produces the highest certainty possible when queried for available data. We accomplish this through a set of abstractions that greatly reduces the risk of location spoofing through a chain of zero-knowledge proofs along the components of the system.

System Overview

Our system provides an entry point into a protocol of connected devices that provides high certainty on location data through a chain of cryptographic proofs. Users are able to issue transactions, called “queries,” in order to retrieve a piece of location data on any blockchain platform possessing smart contract functionality. Aggregators from the XYO Network then listen to these queries issued to the contract and fetch the answers that have the highest accuracy from a decentralized set of devices that relay cryptographic proofs back up to these aggregators. These aggregators then feed these answers back into the smart contract after reaching a consensus on the answer with the best score. This network of components makes it possible to determine if an object is at a specific XY-coordinate at a given time, with the most provable, trustless certainty possible.

The XYO Network has four primary components: Sentinels (The Data Gatherers), Bridges (The Data Relayers), Archivists (The Data Storers), and Diviners (The Answer Aggregators). Sentinels gather location information via sensors, radios, and other means. Bridges take this data from Sentinels and provide them to Archivists. Archivists store this information for Diviners to analyze. Diviners analyze location heuristics from Archivists in order to generate answers to queries and assign accuracy scores to them. Diviners then relay these answers back into a smart contract (thusly, Diviners serve as oracles). The accuracy score, named the Origin Chain Score, is determined through a set of zero-knowledge proofs known as a Proof of Origin Chain. This chain guarantees two or more pieces of data originated from the same source without revealing any underlying information. Each component along the query’s path generates its own that is then chained to each component it relays data to. Proof of Origin is a novel formulation that builds a chain of cryptographic guarantees along a path of relayers in the network in order to offer high confidence of real world data. This Proof of Origin Chain encapsulates the confidence we can have in a piece of location data all the way down to the very first devices that gathered the data. We will explore how Proof of Origin works in-depth in the following section.

To establish a decentralized consensus mechanism among Diviners, the XYO Network will rely on a public, immutable blockchain known as the XYOMainChain that stores query transactions along with data gathered from Diviners and their associated origin score. Before we dive into the details of the functionality of the entire system, we will clearly define the responsibilities of each component in our network.

Sentinels

Sentinels are location witnesses. They observe data heuristics and vouch for the certainty and accuracy of the heuristics by producing temporal ledgers. The most important aspect of Sentinels is that they produce ledgers that other components can be certain came from the same source. They do this by adding Proof of Origin to a relay chain of cryptographic proofs. Given that the XYO Network is a trustless system, Sentinels must be incentivized to provide honest location information. This is done by combining a reputation component with a payment component. A Sentinel is rewarded with XYO Network Tokens (XYO) when their information is used to answer a query. To increase their odds of being rewarded, they must create ledgers that are consistent with that of their peers and provide Proof of Origin to identify themselves as the source of the location information.

Bridges

Bridges are location data transcribers. They securely relay location ledgers from Sentinels to Archivists. The most important aspect of a Bridge is that an Archivist can be sure that the heuristic ledgers that are received from a Bridge have not been altered in any way. The second most important aspect of a Bridge is that they add an additional Proof of Origin. Given that the XYO Network is a trustless system, Bridges must be incentivized to provide an honest relaying of heuristics. This is done by combining a reputation component with a payment component. A Bridge is rewarded with XYO Network Tokens (XYO) when the information that they have relayed is used to answer a query. To increase their odds of being rewarded, they must create ledgers that are consistent with that of their peers and provide Proof of Origin to identify themselves as the relay of the heuristics.

Archivists

Archivists store location information from Bridges in a decentralized form with the goal of having all historical ledgers stored. Even if some data is lost or becomes temporarily unavailable, the system continues to function, just with reduced accuracy. Archivists also index ledgers so that they can easily return a string of ledger data if needed. Archivists store raw data only and get paid XYO Network Tokens solely for retrieval of the data and its subsequent use. Storage is always free.

Archivists are networked, so asking one Archivist will result in that Archivist asking other Archivists for data that it does not contain. An Archivist can optionally store any ledger information that is returned to it. This will most likely result in two types of Archivists: ones that are at the data production edge of the “cloud” and the ones that are at the data consumption edge of the “cloud.” Archivists in the middle will be hybrids. The choice to store data is not enforced, but can easily be done through IPFS or another decentralized storage solution. Each time data is handed off from one Archivist to another, additional Proof of Origin is appended in order to track payment, since all Archivists get paid. For a retrieval, a minimum Proof of Origin level can be set to increase validity. The interests of Sentinels, Bridges, and Archivists must be aligned to prevent data bloat.

Diviners

Diviners are the most complex part of the XYO Network. The overall goal of a Diviner is to fetch the most accurate data for a query from the XYO Network and relay that data back to the issuer of that query. Diviners poll the applicable blockchain platform (i.e. Ethereum, Stellar, Cardano, IOTA, etc.) for queries issued to the XYO smart contract. Then, they find the answer to the query by interacting directly with the Archivist network to fetch the answer with the highest accuracy/confidence score. They do this by judging the witness with the best Proof of Origin Chain. The Diviners that fetched the answer with the best score in the shortest amount of time will have the ability to create a block on the main XYO blockchain (XYOMainChain) through Proof-of-Work. Queries are prioritized by reward size and complexity, so the more XYO offered for an answer, the higher in priority the query would be.

Other Diviners reach consensus on the validity of a block and digitally sign the block. The Diviner that was the coinbase address in that block will then send a transaction to the smart contract containing the answer along with its accuracy score. It also sends a list of other Diviners’ signatures in order to prevent an attacker from issuing fake information into the blockchain by pretending to be a Diviner. The smart contract can then verify the integrity of this information by checking the payload’s signature list.

End-to-End Functionality

Now that the responsibilities of each component are detailed, here is an end-to-end example of how the system will work:

1. Sentinels Gather Data

• Sentinels gather real world location heuristics and prepare their own Proof of Origin to be chained to nodes above them.

2. Bridges Gather Data From Sentinels

• Bridges gather necessary data from online Sentinels and append Proof of Origin to their chain. Bridges then make themselves available to Archivists in the Network.

3. Archivists Index/Assemble Data from Bridges

• Bridges constantly send information to Archivists that are then kept on decentralized stores along with a location heuristic index.

4. Diviner Fetches a User’s Query

• Diviners poll for queries sent to the Ethereum smart contract and decide to begin the answer formulation process

5. Diviner Collects Data From Archivists

• Diviners then decide to take on a query by fetching the appropriate information needed from the Archivist network.

6. Diviner Formulates Answer

• Diviners choose the Best Answer to the query from the Archivist Network that contains the best Origin Chain Score.

7. Diviner Proposes Block

• Diviners then propose blocks on the XYOMainChain containing the answer contents, the query, and the XYO Tokens (XYO) paid through Proof-of-Work. Other Diviners on the network digitally sign the block’s content, then the coinbase Diviner’s account nonce is updated to showcase its Proof of Work in the system once a consensus on a valid block is reached.

8. Diviner Returns Result to Query Initiator

• Diviners package the answer, its Origin Chain Score, and its set of digital signatures and send them to an adapter component that securely connects to the XYO smart contract. The adapter is in charge of making sure the integrity of the Diviner has not been compromised and sends the set of digitally signed answers to the smart contract. This happens right after the block creation process. The coinbase Diviner is then paid for its efforts.

9. XYO Network Components Get Rewarded for Their Work

• The components along the Proof of Origin Chain get paid for their involvement in fetching the answer to the query. Sentinels, Bridges, Archivists, and Diviners are all rewarded for their work.

In the case that the same query is asked more than once, more than one answer may be produced since the answer that is produced at a given moment is based on the available heuristics the system can offer at that time. Submitting an answer to the blockchain takes two steps. First, an analysis must be done to determine the Best Answer to a query. If multiple answers are generated by the system, then nodes will compare the answers and always choose the better answer. An example of a simple query would be: “Where was a node on the network at a specific time in the past?”

A Single Source of Truth

At their core, Diviners simply transform relative data into absolute data. They are able to explore the entire Archivist network to concretize an absolute answer to a query on the XYO Network. Diviners are also the nodes that propose and add blocks to the XYOMainChain, and get rewarded for their Proof-of-Work. Because the Archivist network is a store of unprocessed data and the blockchain is a store of absolute, processed data, the network can eventually use the latest information on the XYOMainChain to answer future queries instead of relying on expensive computation through the Archivist Network.

Since blocks on the XYOMainChain store the Proof of Origin Chain and graph of components that were used to answer queries, future Diviners can explore this absolute data to achieve accurate results with lower bandwidth usage. As such, the XYOMainChain will gradually become the most important source of truth of the system. However, an Archivist network will still be required in order to maintain the most up-to-date information on location heuristics gathered by Sentinels.

Frameworks For Selecting The Best Answer Candidate

We define the Best Answer as the single answer, amongst a list of Answer Candidates, that returns the highest validity score and has a higher accuracy score than the minimum required accuracy. The validity score is based on the Origin Chain Score. The system knows what the highest record Origin Score is, which would be the 100 percent until a higher score is achieved, which then becomes the new 100 percent. The XYO Network allows selection of the Best Answer Algorithm for determining the Best Answer. This creates expansion for future research into alternative algorithms.

When data is excluded from an answer due to it being considered bad or incorrect, it will be circulated to archivists so that they can purge that data from their decentralized stores.

Initial Integration With Public Blockchains

The XYO Network is designed to be an abstraction that can interact with any smart contract capable, public blockchain such as Ethereum, Bitcoin + RSK, EOS, NEO, Stellar, Cardano and others. To interact with the XYO Network, users on Ethereum, for instance, can issue queries to our XYO smart contract and pay in XYO Tokens (ERC20). The nodes in our own XYO Blockchain, called Diviners, would constantly be polling Ethereum for these queries and be reward in the native currency of our own XYO Blockchain (also called XYO Tokens). In the future, we will do a one-to-one conversion from holders of our ERC20 token into our own blockchain’s native currency in order to provide our platforms with transaction fees that support micropayment requirements necessary for scalable IoT use cases. In these cases, we will allow users to issue queries directly to our blockchain instead of interacting through a public smart contract.