Integration with the XYO Network: Ethereum vs EOS vs NEO

Noah Levin
XYO Network
Published in
14 min readMar 28, 2018

Introduction

The XY Oracle (XYO) Network is designed to provide Proof of Location to smart contracts while following the defining principles of blockchain (decentralization, lack of trust, etc.). This allows the XYO Network to provide smart contracts with “an API for the real world” by providing them with information on the location of tracked devices in the real world.

In this article, the relationship between the XYO Network and three existing and upcoming smart contract-capable blockchain networks are described. The first half describes the underlying principles and functionality of the XYO Network. The remainder of the article provides a brief description of the Ethereum, EOS, and NEO cryptocurrencies and the method by which smart contracts implemented on these platforms can take advantage of the functionality of the XYO Network to access real-world location data for tracked assets.

What is the XY Oracle Network?

The XY Network is a blockchain-based solution for providing location information about tracked objects. The main limitation of current location tracking systems is that they rely upon a single, centralized organization that users must trust to be truthful and accurate. Built upon the XY Findables product, the XY Oracle (XYO) network provides the first decentralized tracking system.

The XYO Network is based upon Proof of Location (PoL) where trackable objects within the system mutually validate each others’ location. This makes forgery of location data extremely difficult as it would require forgery of the location data of each tracked object that came into proximity to the target object, the objects that came into proximity to those trackers, and so on.

Proof of Origin and Bound Witness

The XYO Network is designed to provide proof of location in a distributed, trustless environment. Since the nodes in the network cannot be considered to be trustworthy, the location claim of a single node is also untrustworthy. To provide a stronger guarantee of location, the XYO Network uses a bidirectional proof of location based upon the proximity of tracked objects within the network. If two objects are close together, they mutually generate and sign a Proof of Proximity and add it to their individual Proof of Origin chain.

The Proof of Origin chain is a chain of zero-knowledge proofs that links all of the data created or transmitted by a particular member of the XYO network together. Since a stored private key cannot be trusted (a tracked device could be tampered with), the XYO Network’s Proof of Origin chain is based on ephemeral private/public key pairs. To create a link between two blocks in the chain, a node takes the following steps:

  1. Create a private/public key pair
  2. Embed the public key in both blocks
  3. Sign both blocks using the private key
  4. Securely delete the private key

A member of the XYO Network creates a Proof of Origin block containing any data that it generates or receives. This creates a Bound Witness since the act of seeing or “witnessing” this data is bound into the member’s Proof of Origin chain.

Roles in XYO Network

Each participant in the XYO network fulfills one or more of four different roles that help to answer location queries made by network users. These roles are Sentinels, Bridges, Archivists, and Diviners.

Sentinels

In the XYO Network, Sentinels are the trackable devices moving around and providing location information to the network. In order to verify location, Sentinels are equipped with sensors, including GPS and Bluetooth, that allow them to reliably determine their current location and communicate with other devices in near proximity.

When a Sentinel comes into close proximity (where Bluetooth communication is possible) with another Sentinel, the two Sentinels calculate a mutual Proof of Proximity agreement and add it to their Proof of Origin chains. These mutually signed declarations of proximity help to verify the location of both devices at the given time.

Bridges

The primary purpose of a Bridge node in the XYO Network is to gather Proof of Origin chains from Sentinels and pass them up to Archivist nodes. While relaying the location ledgers, Bridge nodes add their own Proof of Origin to the chains. Since a Bridge node collects Proof of Origin chains from multiple Sentinels, Bridges also create Proof of Origin Intersections where multiple independent Proof of Origin chains are joined by being witnessed by a single Bridge node. Since extending the Proof of Origin chain and generating Proof of Origin intersections both cause more of the network to be involved in the creation of a given ledger. This grants an additional level of authenticity to the ledger as a greater effort would have to be made to forge it.

Bridge nodes typically are equipped with both Bluetooth and Internet connectivity to allow them to communicate with Sentinels (over Bluetooth) and Archivists (over the Internet). Bridges communicate with Sentinels when they are within close proximity and send updates to Archivists at intervals.

Archivists

Archivists perform the data storage operations within the XYO Network. They receive location ledgers from Bridge nodes and index and store them in a decentralized fashion. Archivists are networked and can share location ledger information with other Archivists upon request. Any time an Archivist receives a data ledger from a Bridge or another Archivist, it adds its own Proof of Origin to the chain.

The primary purpose of the Archivist nodes is to provide data to Diviner nodes upon request. A Diviner will query the location of a specific Sentinel in the network and the Archivist will provide any Proof of Origin chains that it has containing the relevant Sentinel. Archivists can also request data from other Archivists if they are lacking specific information.

Diviners

A diviner is the interface between another smart contract-enabled blockchain and the XYO Network. Diviners continuously poll other blockchain networks in order to find smart contract requests for location information from the XYO Network. When a request has been made, Diviners query bridges for information regarding the relevant Sentinels in the network. Diviners then process the collected data to find the best Proof of Origin chain within the collected data and returns it to the smart contract.

The best chain is defined as the one with the greatest percentage of the network involved in its creation. If 100% of the network is linked into a given chain via Proof of Origin and Proof of Origin Intersections, then the chain has the maximum level of trust. If only a small percentage of the network is involved, the chain is less trusted. The calculated Proof of Origin score is sent along with the result to the requester as a measure of the confidence level of the provided answer.

The Diviner that most quickly finds the best chain earns the ability to create a block in the main XYO blockchain and receive the reward promised by the smart contract requester. This reward is divided among all participants in the chain (the owner of each Proof of Origin in the chain). The proportion of the reward given to each type of node is set (with Diviners receiving the most) and the distribution of reward within a level (i.e. among the Archivists that contributed to the Proof of Origin chain) is equal.

Integration with the XYO Network

Rather than create a standalone network intended solely to execute smart contracts providing location data to users, the XYO Network is designed to interface with existing smart contract-capable networks to provide location data upon request. This expands the traditionally “online-centric” scope of smart contracts to allow them to collect and process data from the real world, making the real world accessible via an API.

Ethereum

The XYO Network is scheduled to begin integration with smart contract-capable blockchains with the Ethereum blockchain. Ethereum is the oldest blockchain enabling Turing complete smart contracts to be developed and many different cryptocurrencies are based on the Ethereum network using Ethereum Tokens. By integrating with the Ethereum network and its linked cryptocurrencies, the XYO Network hopes to have a huge impact by providing all of these coins with the ability to determine locations for tracked goods and objects.

About Ethereum

The goal of Ethereum is to create a platform that allows for the creation of decentralized applications on the blockchain. Ethereum’s built-in programming language is designed to allow developers to easily write Turing-complete programs that can be executed on the blockchain. This allows for the creation of smart contracts in Ethereum where a developer writes code that then acts as its own entity on the blockchain (own address, store of coins, memory, etc.). When another address sends a message to this contract address, it provokes the entity into executing its embedded smart contract code.

The reward system in Ethereum is based on Ethereum’s internal currency, Ether. When a user sends a message to a smart contract account in Ethereum, the user specifies the amount of “gas” that can be used to run the contract, where each step of the contract has a specified gas price to execute and gas is a fraction of a Ether. Smart contracts can execute other smart contracts by providing them the gas necessary to execute their calculations.

Currently, Ethereum is a Proof of Work cryptocurrency, meaning that miners earn the right to create blocks and earn rewards by finding a solution to a hard cryptographic problem more quickly than other miners. In 2018, Ethereum is scheduled to start phasing in Proof of Stake in which miners will “stake” a set percentage of their Ethereum in order to be considered to generate blocks. The ability to generate blocks will be based upon the amount of Ethereum staked by each person (the more the better). The purpose of this is to decrease the power consumption and increase the scalability of the Ethereum network.

Ethereum Integration with the XYO Network

In the short term, the XYO Network will be integrated with the Ethereum Network via a public smart contract. The smart contract will execute through the following steps:

  1. On the Ethereum side, a user will query the smart contract promising an amount of XYO Tokens (ERC20 Token) in return for the location of one or more tracked objects.
  2. Diviners from the XYO Network will monitor the smart contract for location requests and receive the location request
  3. Diviners will contact one or more Archivists in the XYO Network asking for data regarding the desired tracked object(s)
  4. Archivists will collect any Proof of Origins chains that they have containing the desired tracked object(s) and send them to the requesting Diviner
  5. The Diviners will process the Proof of Origin chains and determine the best chain
  6. Diviners will propose a new block on the XYO blockchain containing the best answer that they found and allocation of the XYO Tokens paid for the data
  7. Other Diviners will sign the proposed block to validate that it is the best block found (losing blocks will be rejected from the chain)
  8. The winning Diviner sends the answer, its score, and the signatures of other Diviners to an adapter that securely connects to the XYO smart contract on the Ethereum blockchain
  9. The smart contract and adapter will convert the paid XYO Tokens on the Ethereum side into XYO Tokens on the XYO side (native currency of the blockchain)
  10. The Diviner and the other members of the Proof of Origin chain of the best solution are rewarded for their work with the promised XYO tokens

This smart contract could be called directly by a user on the Ethereum blockchain in order to inquire about the location of a specific item or it could be integrated into other smart contracts as part of a company’s services like a blockchain-based ride-hailing service that determines the location of its drivers via the XYO Network in order to assign a client to them.

In the long term, a direct one-to-one conversion between XYO Tokens on the Ethereum blockchain and XYO Tokens on the XYOMainChain will be allowed. This will allow users and smart contracts on the Ethereum chain to directly issue queries to the XYO Network without passing through the public smart contract.

EOS

EOS is an up-and-coming blockchain designed to provide an operating system-like construct on the blockchain that allows developers to build decentralized applications. EOS incentivizes use by removing transaction fees for users, providing swift sequential and parallel processing, and decreasing message latency. By integrating with EOS via a smart contract, the XYO Network will provide location-tracking capabilities to smart contracts implemented on the EOS blockchain.

About EOS

Smart contracts in EOS are implemented via a message and message handling scheme. Any EOS account can send a structured message to any other EOS account. Accounts can also define scripts that state what is to be done when a given type of message is received. A smart contract on EOS is an account with a message handling script defined to execute the terms of the smart contract when the appropriate set of messages has been received (the initial trigger message, any set of data required for the execution of the contract, etc.).

EOS is based upon a Decentralized Proof of Stake architecture. In EOS, blocks are planned to be generated every three seconds and are grouped into sets of twenty-one. Before a set begins, the twenty-one signers or “producers” of each block in the set are selected. If a producer fails to create a block at their assigned time, the block is skipped, with the result that one or more blocks may not exist. The Proof of Stake architecture used in EOS is designed to increase the scalability and speed of the EOS network by removing the requirement for expensive Proof of Work calculations.

The EOS network is designed to optimize the execution of smart contracts on the blockchain by providing several useful features including:

  • Parallel processing: Multiple messages can be handled for a single account in parallel by having the producer schedule them to different threads
  • Rapid sequential processing: Individual messages are processed sequentially within their own thread, providing fast sequential processing
  • Low message latency: A block is split into multiple cycles in EOS. Messages are bundled into transactions, which can be sent in the current or any future cycle. This allows sub-block latency for message exchanges in EOS.
  • No user fees: Each block is rewarded using newly created tokens based upon the amounts recommended by the transactions included in the block

EOS Integration with the XYO Network

Like Ethereum, integration between the XYO Network and the EOS network will initially be implemented as a smart contract. A transaction between the two blockchains will proceed as follows:

  1. On the EOS side, a user will send a message to the XYO address on the EOS network promising a certain amount in exchange for the answer
  2. A message handler at the EOS address will activate, making the request and promised reward visible to the XYO Network’s diviners
  3. Diviners from the XYO Network will monitor the smart contract for location requests and receive the location request
  4. Diviners will contact one or more Archivists in the XYO Network asking for data regarding the desired tracked object(s)
  5. Archivists will collect any Proof of Origins chains that they have containing the desired tracked object(s) and send them to the requesting Diviner
  6. The Diviners will process the Proof of Origin chains and determine the best chain
  7. Diviners will propose a new block on the XYO blockchain containing the best answer that they found and allocation of the XYO Tokens paid for the data
  8. Other Diviners will sign the proposed block to validate that it is the best block found (losing blocks will be rejected from the chain)
  9. The winning Diviner sends the answer, its score, and the signatures of other Diviners to an adapter that securely communicates with the message handler on the EOS blockchain
  10. The message handler and adapter will convert the paid XYO Tokens on the EOS side into XYO Tokens on the XYO side (native currency of the blockchain)
  11. The Diviner and the other members of the Proof of Origin chain of the best solution are rewarded for their work with the promised XYO tokens

EOS is designed to be a virtual machine-independent blockchain and is currently considering the Ethereum Virtual Machine as a possible Virtual Machine to be implemented on the EOS blockchain. This may allow execution of Ethereum smart contracts on the EOS blockchain and a logical flow similar to that described in the Ethereum section of this article.

Neo

NEO is a smart contract-capable blockchain aimed at being the first distributed “smart economy”. As part of this, NEO will include digital proof of ownership of physical assets, which makes the location tracking services invaluable to smart contracts operating in the NEO ecosystem.

About NEO

NEO uses designated Byzantine Fault Tolerance (dBFT) as its main method of achieving consensus about blocks. In this model, each node that holds NEO tokens votes for their chosen delegates or “bookkeepers” who keep the network running and reap the rewards of block creation. Blocks are finalized based upon consensus of 66% of the elected delegates, completely removing the possibility of forked blockchains.

The stripped-down version of Proof of Stake used in NEO allows the NEO network to run extremely quickly (theoretically 10,000 transactions per second or practically 1,000 transactions per second as compared to Ethereum’s theoretical 30 transactions per second or practical 15 transactions per second).

Unlike many smart contract platforms, NEO separates the NEO token (which is used for the dBFT system to elect bookkeepers) and the GAS token (which is used to pay for services on the blockchain). Bookkeepers can set transaction fees which go to them and all NEO holders receive GAS rewards divided based on the amount of NEO held.

NEO’s smart contract platform differs from other platforms since it supports a variety of existing programming languages (including C#, F#, VB.Net, Java, Python, and Kotlin with plans to support C, C++, Golang, and JavaScript). NEO’s virtual machine also optimizes smart contract code before execution to decrease runtime and minimize GAS usage.

NEO Integration with the XYO Network

NEO will also interface with the XYO Network initially through a smart contract attached to a secured adapter on the XYO Network. Contract execution will occur through the following steps:

  1. On the NEO side, a user will query the smart contract promising an amount of GAS in return for the location of one or more tracked objects.
  2. Diviners from the XYO Network will monitor the smart contract for location requests and receive the location request
  3. Diviners will contact one or more Archivists in the XYO Network asking for data regarding the desired tracked object(s)
  4. Archivists will collect any Proof of Origins chains that they have containing the desired tracked object(s) and send them to the requesting Diviner
  5. The Diviners will process the Proof of Origin chains and determine the best chain
  6. Diviners will propose a new block on the XYO blockchain containing the best answer that they found and allocation of the XYO Tokens paid for the data
  7. Other Diviners will sign the proposed block to validate that it is the best block found (losing blocks will be rejected from the chain)
  8. The winning Diviner sends the answer, its score, and the signatures of other Diviners to an adapter that securely connects to the XYO smart contract on the NEO blockchain
  9. The smart contract and adapter will convert the paid GAS on the Neo side into XYO Tokens on the XYO side (native currency of the blockchain)
  10. The Diviner and the other members of the Proof of Origin chain of the best solution are rewarded for their work with the promised XYO tokens

Sources

https://docs.xyo.network/XYO-White-Paper.pdf

https://github.com/ethereum/wiki/wiki/White-Paper

https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md

https://hackernoon.com/neo-versus-ethereum-why-neo-might-be-2018s-strongest-cryptocurrency-79956138bea3

http://docs.neo.org/en-us/sc/white-paper.html

--

--