XYO network
How the XYO Network Functions and Integrates with the Ethereum and IOTA Platforms:
Smart contracts are the natural consequence of distributed public ledger notaries, which came to be with Ethereum platform and its Ethereum Virtual Machine running as a contract executing singleton machine in parallel to the global block-chained ledger database.
However, the featureless, value agnostic character of the Ethereum platform only provides the backbone of how and in what context smart contracts could be utilized, which in turn depends on the kind of data they could reliably be provided with and the quality of that data as refined from the messy environment of the surrounding world.
XYO enters as a way to organize that data, specifically for confirming geolocation across the world. The benefits of XYO have implications for many industries ranging from insurance to parcel tracking, forensics, navigation, and many more. XY creates an open general use oracle platform, which makes many location data reliant operations cheaper, more efficient, and more convenient.
Oracles as Blockchain Middleware
Oracles are external data feed providers for smart contract enabled decentralized platforms and as such, an integrative component in extending their scope of utility beyond the structural limitations imposed by their internal consensus algorithms. The necessity for strict determinism in maintaining integrity of consensus is required in order to ensure that the whole network is in sync and “on the same page”, but at the same time it walls the system off from being able to directly communicate with external systems and fetch real world data for itself.
Oracle solutions enter as blockchain middleware that tries to bridge that gap and make smart contracts externally aware, enabling them to interact with off-chain resources in a manner commensurate with the security model of the supported blockchain. The need for such services that arbitrate external outcomes of a contract has been steadily growing, but the self-executing nature of smart contracts makes it furthermore critical that the source of the data used to resolve a digital contract is incorruptible, tamper-proof and verifiably truthful to the facts reported. The challenges posed by this setting create a fruitful ground for research into interesting new technical problems.
There is no single correct way to structure blockchain/oracle interactions, and different types of data call for different kinds of oracle solutions, depending on what they need to accommodate and account for. There are a few solutions in existence or under active development today.
Oraclize, for example, is a “provably honest” oracle, in that it provides a cryptographic authenticity proof along with the data, ascertaining its integrity as originating from the source from which it has been instructed to fetch. And in cases where both parties can agree on the legitimacy of the source and the authority of the oracle relaying the data, this may be sufficient.
Augur is another example of an oracle system with emphasis on decentralization and strong economic incentives as the basis of a prediction markets opinions driven platform. ChainLink is yet another approach, which creates a competitive marketplace where various oracle nodes specialize in different kinds of data aggregating it from multiple sources in giving a weighted answer.
However, there are scenarios in which an adequate oracle either doesn’t exist, is not economically justified, or cannot be reliably depended upon due to possibility of inaccurately large deviations, fallibility or data corruption. Geolocation and physical world tracking oracles fall into this category.
XY Oracle and XY Findables
The XYO Network has the advantage of building upon an already existing and vastly distributed Bluetooth and GPS infrastructure of over 1,000,000 inter-connected location-aware devices circulating in the world through a previously successful startup for consumer oriented findables (XY Findables). That means that the data source in the XY Oracle Network is already as such a decentralized distributed system immune to single points of failure.
XY’s tracking devices allow everyday consumers to attach physical tracking beacons on objects they wish to keep track of and identify them through a unique XYO address (similar to courier parcel track and tracing services, only ensuring precise coordinates of location, and not reliant upon centralized human operated database registries). XY-Stick is intended to be introduced in 2018 as a sticker-based tracking device allowing retailers and clients to track parcels in real time.
The XY Oracle Network is itself an abstraction layer protocol enabling cryptographic location tracking via chains of bound witness zero-knowledge proof verifications encapsulating diverse category of protocols and device classes. XYO aims at enabling smart contract developers to build location-reliant DApps, and be able to easily interact with the physical world as if it were an API plug, making it possible for two geographically separated entities to interact in the real world without a centralized third party mediator.
Zero-knowledge proofs are recently advanced cryptographic means for verifying and ensuring data integrity in alignment with a given protocol without revealing anything further aside from the legitimacy of the provided proof. Their efficiency when optimized for specific applications have lately had important ramifications for blockchains in the context of smart contracts, and the XYO protocol is one of the first examples of such innovative application, which enables an identity-less proof of location as the underlying core component of the technology.
Sequences of such proofs are dynamically chained between participating actors in the XYO Network, allowing for the storing and maintaining of only the most currently relevant information in constantly synchronizing and reshuffling up-to-date ledgers.
Network Components and Structure
The XYO system provides an entry point into a protocol of extensively interconnected devices spread throughout the globe that provides high certainty on location data through a trail of cryptographic proofs which map to trajectories in the physical world. The juncture point connecting the XYO Network and the blockchain is a special oracle smart contract residing on the blockchain which serves as the bridge between the two networks.
Oracle transactions within smart contracts are commonly referred to as “queries”, and are nested in the smart contract with one or two lines of code specifying the parameters of the call. Queries are sent to the on-chain oracle contract, which relays it to the data aggregating off-chain Oracle Network, which actively listens for such calls and acts upon them. The oracle aggregators then feed the answers back into the smart contract after reaching a consensus on the best suited answer within the given parameters. Depending on the parameters and size of the query, queries can be quite expensive (i.e. “What is the present location of every single object in a particular cluster?”).
The XYO Network consist of four types of participating actors divided by their corresponding roles and responsibilities, each occupying their own network segment, and maintaining their own respective ledger databases storing the relevant zero-knowledge chains.
The four components include: Sentinels as the raw data gatherers, Bridges as the data relayers, Archivists as the data storers, and Diviners as the answer aggregators. Their interests are aligned via a combination of rewards in XYO tokens and tracking of reputation metrics, which incentivizes cooperative behavior and prevents data bloat by ensuring the data they store is consistent across network components.
Sentinels are essentially the devices serving as location witnesses that collect the raw information and testify for its accuracy. These may include GPS and Bluetooth trackers, satellite technologies and other geolocation devices. They observe and record data in temporary storage ledgers, stamping the first cryptographic Proof of Origin to be chained further along the relay of nodes.
The less mobile a Sentinel is, the more its data can be trusted. Archivists keep track and analyze these and other coefficients when considering which Sentinels to route queries to. The Sentinel network is built by the XY Findables business, but the XYO Network is an open system allowing for any operator of location devices to plug into and begin earning XYO Tokens.
Bridges translate the ledgers produced by Sentinels in a format Archivists can store and index, stamping an additional Proof of Origin in the chain of sequence, which pinpoints and identifies them as the relay of that data, ensuring its integrity along the way to the query issuing blockchain. Together, the interaction history between Sentinel devices and Bridges creates an authoritative and immutable Proof of Origin Chain, which is stored and indexed via the Archivists network for Diviners to access.
Archivists maintain raw data in structured, easily retrievable form, and are connected in a network of communicating peers, which actively provide each other with the required data. Archivists could opt for the particular ledgers they wish to store, choosing the region of the network they wish to operate in (i.e. the production or consumption end).
However, the choice to store data is not strictly enforced and decentralized storage via IPFS or other solution is possible. Each time data is handed off from one Archivist to another, additional Proof of Origins are appended in order to track the distribution of payments after delivering a result to a query, since all participants involved in producing an answer get paid.
Diviners are responsible for fetching the most accurate data for a given query, and relaying it back to the issuing contract on the respective blockchain platform. They accomplish this by interacting directly with the Archivist network to fetch the answer with the highest accuracy and confidence score. The best answer is selected from a list of candidates based on a metric derived from the path of chained zero-knowledge proofs (Origin Chain Score), and when an answer is excluded due to being invalid, the information is relayed back to the Archivist network so they can purge it from their ledgers.
The consensus mechanism among Diviners on the XYO Network is enacted via an immutable, public blockchain (XYOMainChain), which stores the query transactions along with the contents of their provided data and associated origin score. The Diviners that fetched the best score answer in the shortest amount of time get to create a block on the XYOMainChain through Proof of Work. Upon reaching consensus, other Diviners will digitally sign the block, and the one that created it will send the resulting answer transaction to the smart contract along with the list of signatures in order to prevent falsified information from entering.
Diviners essentially actualize a conclusive answer from the relative data below, and stratify the event incorporating it into the publicly recorded history of the main chain. This processed data can be used to quickly answer historical queries without wasting resource and bandwidth such as for example: “Where was a particular node located at a specific point in the past?” This makes it possible that trajectories can be mapped out in given time intervals with factual certainty.
Whatever data is used to answer a query along the chain of proofs, the XYO paid by the issuer of the query is evenly distributed among the components in that chain with the exception of Diviners, whose role in determining the best suited answer is more computationally involved.
Similar to how traditional blockchains process transactions, queries are prioritized by their reward in XYO offered and the degree of complexity involved in producing the answer. The architecture resembles a kind of multi-layered hierarchy of distributed micro-block-chained databases adapted to a specific rather than general purpose. This, as mentioned earlier, makes the Oracle system commensurate with and naturally befitting to the structural and security model of generic blockchain ecosystems in use today, making integration with any given such environment a frictionless process.
XY plans to complete the development of the XY Oracle Testnet in the first half of 2018 and begin rolling out its blockchain protocol to its Sentinel devices, launching the XY Oracle Mainnet by end of the year.
Proof of Origin and Bound Witness
The way zero-knowledge proofs are implemented in the XYO Oracle protocol is by binding two nodes in some proximity to each other by establishing a bidirectional proof of location. Each of the two nodes is a witness to the process in that both nodes are able to verify and validate their own measurements back in such a way that they satisfy the conditions of the common program (or heuristic), cosign the interaction, and incorporate it in their respective ledgers as legitimately verified information that can be safely relayed further.
This allows for any data transmitted from one node to the other to be bound, thereby making it easy to quickly detect and purge data which falls outside the range of the established heuristic while also maintaining the privacy of the participating nodes (no additional or unnecessary meta-data is exchanged). This is how Origin Chains are created, propagated, recorded and traced.
Ethereum, IOTA, and Multi-Platform Integration
The XYO Network is designed to be a flexible abstraction that can interact with any smart contract-capable, public blockchain. Queries can be issued from the Ethereum platform via the on-chain XY oracle contract and paid in XYO tokens (ERC-20). Queries could also be issued directly on the native XYO blockchain platform in situations where interaction with public smart contracts is not necessary, and conversion of the ERC20 tokens to the XYO native blockchain currency is considered in view of providing the platform with the micro-payment capabilities necessary for IoT use case scenarios.
Libraries for popular smart contract languages including mainstream Ethereum Solidity and Python-like Vyper (planned to be leveraged with the transition to Proof of Stake on Ethereum and largely inter-operable with Solidity) are to be provided, as well as JavaScript and a general user-friendly Web interface. A Solidity library is available on Github and can be tested on a locally running Ethereum blockchain simulation.
A Solidity contract query, for instance, takes a form like:
function publishQuery(uint _xyoValue, string _xyoAddress, uint _accuracy)
Where _xyoValue stands for the input of how much XYO tokens are to be paid for the issued query, _xyoAddress is the unique XYO address identifier of the object and _accuracy the desired Chain of Origin accuracy metric as measure for certainty approximation.
The format in which a query response is answered is such:
function answer(address xyoAddress, int latitude, int longitude, int altitude, uint accuracy, uint certainty, uint epoch)
That is, latitude, altitude and longitude coordinates corresponding to the location of an object in a given point in time.
The Github includes functional prototypes of all network components as a Node.js implementation (including Sentinel, Bridge, Archivist and Diviner components), which is easy to set up as a locally running environment for development and testing purposes.
The on-chain components include a library toolkit for developing XY Oracle connected Dapps. Users subscribe to webhooks for event listeners from the interfacing blockchain residing XY contract (found in the xyo-solidity repository at https://github.com/XYOracleNetwork/xyo-solidity/blob/master/contracts/XY.sol) using a service like https://if.eth.com. A locally running instance of Ganache (formerly TestRPC) as an Ethereum blockchain simulation can be used to deploy the XY core smart contract, using the Truffle smart contracts developer suite and its convenient JavaScript automated migrations.
There is a separate implementation of a basic Diviner node in Go (the node responsible for processing origin data from the Archivist network and relaying the responses to the XYO smart contract residing on the Ethereum blockchain) the architecture of which consists of JSON-RPC connection with a local Geth node and a server connecting to the XYO Archivist network.
The diviner node can be connected to a local blockchain simulation and a JSON http endpoint to the Archivist network. The query mechanics consist of three concurrent threads that listen to and process requests — one fetching incoming queries from the XY smart contract, one issuing them over to the Archivist network and another listening to answers, processing and sending them back to the XY smart contract.
Solidity contracts for the probabilistic proof of location are provided, illustrating the mechanism through which proofs are generated and verified as they enter the blockchain from below the layers of the Oracle network. A specifically designed language enabling economic on-chain zero-knowledge proof verifications of computational and data integrity is also under active development on the Ethereum platform with ZoKrates and will likely coincide and align with the plans of the XYO oracle network making its use with Ethereum attractively cheap for many case scenarios involving a permissionless public ledger.
The off-chain geolocation components of the oracle network include geo server, geo user client and a geo node. The geo server provides the API endpoints allowing for querying of public Proof of Location data (via MongoDB and its query language). The geo node acts as a Bluetooth peripheral to interface with users and sign Proofs of Location (integrated with Bleno as a Node.js module for Bluetooth Low Energy peripherals). It generates a node unique keypair, and initializes itself with the backend communicating messages to it.
The geo node connects via the geo user client on an iOS or Android device. When in proximity of a node-running device, the device will be discovered, and could establish a connection by generating a signature. The geo node signs a message (using Web3) of the user’s address, received via bluetooth, and the timestamp in a address|timestamp format, and sends the signature back to the user via bluetooth for the user to store.
The geo user client allows users to interface with nodes and generate signature proofs, which are then verified on both ends. The Proof of Location can then be either publicly broadcasted or locally stored. Ionic Framework is used as the mobile software development kit.
A simulation of the XYO network written in Python is also provided in the official Github repository.
As the network transitions from a functional prototype and connects to the already existing infrastructure of connected devices XYO builds upon, on-chain security audits will likely proceed to make possible the migration from testnet to mainnet and bridging all of the components in a fully functional system. The on-chain part of the system can then be translated in any other smart contract language paradigm befitting a distributed blockchain system.
Support for smart contracts built on IOTA will be available in the future as IOTA itself launches smart contract functionality as an overlay of their core protocol, so it remains unclear if this will be integrated through direct calls to the XYO Network, or via an adaptor oracle contract listening to IOTA transactions. IOTA introduced timestamps on the tangle in August last year, which is the basic ingredient for making possible the structuring of conditional smart contracts. As an interim solution, it is very likely that the Ethereum platform will be used with IOTA in a scenario similar to how the Oyster protocol utilizes IOTA for storage and as transport medium, and Ethereum for conditional smart contract payments.
Presently, any kind of data can be placed in a IOTA transaction on the tangle (specifically the signatureMessageFragment where around 1300 bytes fit in), but concrete implementations befitting the mathematical conceptual model of the tangle (i.e., the translating back and forth between binary and IOTA’s internal ternary notation) will be invented in the perspective of future development.
XYO ensures robustness against malformed data, while maintaining the confidentiality and integrity of that data, while IOTA’s tangle infrastructure currently specializes in labeling, efficiently delivering and processing of data already stored within its distributed ledger technology. The point where XYO and IOTA converge (Internet-of-Things), and where the issues they tackle overlap, may create a fruitful common ground for further research and innovation, particularly in light of IOTA’s recently launched data marketplace initiative.
The XYO Token
The XYO token is an utility token employed in the XYO Network in a manner akin to how gas on Ethereum is paid proportional to the steps of computation necessary for the execution of a piece of code in the EVM. The XYO token is intended to function as the fuel of the platform (rather then for any kind of speculatory purposes), and used to incentivize a behavior which elicits accurate and reliable location coordinates, and structures the game theoretic alignment of interests in a way productively benefiting the entire system.
This is a characteristic feature of designing oracle systems where the accuracy of honest reporting is motivated via sharply defining the rules of competition in the context of the sought results, thereby ensuring that participants position themselves within the network topology where they are best suited to provide a particular service and fill the supply of a given demand.
XYO tokens are distributed as ERC20 tokens in a crowdsale from March 20th with all unsold tokens burnt after sale.
Summary
XYO’s revolutionary technology brings the future of geolocation services into focus. Pinpointing an object’s location on a planetary scale is a significant step in extrapolating smart contract capabilities beyond the self-contained arithmetic engine of the blockchain fortress.
The convergence of geolocation technologies in smart contracts via chained zero-knowledge proofs opens up whole new horizons of possible applications across businesses and industries (e.g., insurance, parcel and luggage tracking, forensics, navigation, etc.). It closes well known and problematic loopholes in increasingly proliferating fraud schemes (identity thefts, impersonation, etc.), given the structure of conditional payments (smart contracts), and the legitimately verifiable data provided to them. XYO aims to fundamentally alter the industry and create a more secure and efficient environment for the transfer of goods and services across the globe.
XYO plans to fully integrate with many of the top platforms on the market including Ethereum, IOTA, NEO, and others.
2
well
Congratulations @trangtretrau! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes received
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @trangtretrau! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Resteemed your article. This article was resteemed because you are part of the New Steemians project. You can learn more about it here: https://steemit.com/introduceyourself/@gaman/new-steemians-project-launch
@gaman is on the @abusereports blacklist for being a bad Steemian! Bad spammer, bad!