IOV: a Blockchain Communication System December 2017 - February 2018 Antoine Herzoga , Serge Karim Ganemb , Isabella Dellc , and Florin Dzeladinid a

[email protected]; b [email protected]; c [email protected]; d [email protected]

Abstract A Blockchain Communication System would allow users to store and exchange multiple types of values without the need to download an electronic wallet each time a new blockchain is being created. The decentralization of blockchains has created a diversified ecosystem of autonomous blockchains, with each system requiring different protocols to access coins and values. The lack of standardization makes it very difficult for a typical electronic wallet to send a transaction or to query several different blockchains. We propose a solution to empower the end-user and remove the need to download multiple wallets, by providing a system that includes: 1. Blockchain Communication Protocol: a set of standards that each participating blockchain implements. 2. IOV Wallet: an application to interact with an unlimited number of token’s blockchain state. 3. Blockchain Name Service: a special blockchain that tracks each participating token to enable the interaction with the IOV Wallet.

Bitcoin created the first decentralized digiI ntal2009, currency, introducing a new way to exchange a

value token between two Internet users. The problem of “double spending” (1) was solved, without the need for a third-party bank or financial institution. In 2015, Ethereum created an alternative protocol for building decentralized applications (dapps) via scripted transactions and autonomous transactional agents. Ethereum has utilized the technology underlying blockchains to create what are now called “smart contracts” (2), which have become a way to facilitate, verify, or enforce the negotiation or performance of a contract. In 2016, Cosmos created the first network of distributed ledgers. Cosmos became the first player working to eliminate the dependence on exchanges and create a decentralized network that allows the free flow of digital currencies. (3). Over the past year, interest in blockchain tech-

nology and its underlying usability has been rapidly increasing. The blockchain industry has reached a tipping point where thousands of blockchains will be issued. The majority of them will be decentralized and independently operated. There are two main options for building a system that is able to track millions of different tokens; the creation of one global blockchain where transactions of all the tokens are stored; or the creation of one blockchain per token.

Ethereum approach and the ERC20 Token In November 2015, Ethereum published the initial specification to store and exchange many different tokens on the Ethereum blockchain. It provided dapps and wallets to handle tokens across multiple interfaces/dapps. This specification also allowed projects to be funded via ICOs (Initial Coin Offerings). Current limitations. Unfortunately, this specifica-

tion only exists for use with the Ethereum blockchain. Additionally, the Ethereum blockchain is about 160GB. While the size is manageable, the blockchain contains deprecated tokens or tokens attached to projects that have been abandoned.. This phenomenon has become commonplace because most tokens have a limited lifespan due to human factors. The case is similar with shares of a company. A company’s shares are created and their associated stock token is created, exchanged and at some point is no longer active when the company ceases to function. The lifetime of most of the tokens issued on blockchains will be limited use and unique. Therefore, only tokens of active projects need to be tracked in order to be exchanged.

Bitcoin approach Greater efficiency for each specific use case is created with one blockchain per token. As a result, the lifetime of the blockchain is associated with the

lifetime of its own token. When the token’s purpose becomes invalid there is no need to maintain that specific blockchain.

which will bring standardization among blockchains before defining the internal properties the blockchain should also fulfill (A.5 to A.8).

Current limitations. This approach has several limi-

A.1. Public Address of Value & Signature. We define

tations as well. In 2017, many different blockchains exist to track value, such as Bitcoin, Litecoin, etc. However, each time a user wishes to use one, that user needs to create a wallet for that specific blockchain. This can be problematic if a user wants to own tokens related to many blockchains, as a result the user needs to create a seperate wallet for each token. Furthermore, it is challenging to deploy a new blockchain, and the consensus of a single blockchain can be more vulnerable than a global multi-assets blockchain. Below, we propose a system that solves all these problems.

Description of the Blockchain Communication System The goal of a Blockchain Communication System is to allow any value or asset to be stored, or exchanged from a unique electronic wallet. The key elements of our system that will allow for the exchange of these values are: • Blockchain Communication Protocol: a set of standards that each blockchain implements; • IOV Wallet: an application to interact with an unlimited number of token’s blockchain state; • Blockchain Name Service: special blockchain to interact with the IOV Wallet. All blockchains adhering to the Blockchain Communication Protocol will be directly compatible with the IOV Wallet. Anyone wishing to create their own token only needs to follow the Blockchain Communication Protocol. Communication Protocol. A blockchain token is a simple blockchain that implements the Blockchain Communication Protocol. Its only purpose is to track the transaction of its token. The blockchain could utilize proof of work, proof of stake, or proof of space and time. We began by defining the external properties (A.1 to A.4), A. Blockchain

an abstract format for the public address of value that needs to be implemented by all blockchain tokens. This standardization is necessary for the IOV Wallet to be able to send several transactions on different blockchain tokens from the same public address of value. A public address of value is composed of 2 parts: • A delimited string which specifies the type of curve for the signature (Initially, we plan to support 2 types: ed25519 and secp256k1) • A public address derived from the private key. A.2. Standard API to query or submit a transaction.

We define a standard API and associated routes to query or submit a transaction on any blockchain token.These mechanisms are necessary to allow external interaction with the system. This feature is needed for the IOV Wallet to exchange Coin A against Coin B easily without the need of a thirdparty exchange. As each blockchain tokens implements the same protocol for the public address of value, then it is trivial to provide Atomic cross-chain trading (4). A.3. Hashed Timelock Contracts.

A.4. Token Definition. Each blockchain

token should be able to keep up to date some important data on its ledger. This information is called Token Definition and it is required for the Blockchain Name Service to operate. • Genesis file. The blockchain token should save the genesis file in the token definition. The genesis file is immutable and will never change once committed. • Human name for the token. A human readable name for the blockchain token is a required definition. If a user wanted to register Bitcoin, this would be stored with the name Bitcoin, and include potential abbreviations, such as BTC or XBT. • Unique identifier for the token. In order to differentiate blockchain token, each must

provide a unique identifier or prefix. This prefix may mirror the abbreviation for the token, for ease of identification. For example: BTC. • Pictogram for the token. The pictogram for the blockchain token is a digital representation of the token’s image. One example can be seen with Bitcoin here. • Bootstrap nodes. The blockchain token should agree on which nodes are safe and secure to receive transactions and queries from outside. This list of bootstrap nodes must maintain high uptime or have the potential to be updated over time. A.5. Blockchain Token consensus.

• Consensus made by the blockchain token itself. The consensus on a blockchain token could be proof of work, proof of stake, delegated proof of stake or proof of space and time. • Shared Consensus provided by a third party consortium (Consensus as a service). The blockchain token could also choose a public consensus ready to run this specific blockchain token. In this case, the blockchain creator doesn’t have to set up his own blockchain token nodes. As mentioned before, this is how Ethereum based tokens operate and must be used carefully. A.6. Objectivity & Determinism. The blockchain to-

ken needs to be deterministic and to be objective, or at least weakly subjective. The Blockchain Name Service needs this feature to be able to keep in its ledger a valid copy of the token definition of the blockchain token. A.7. Transaction. Transaction fees and inflation for

validators should always be paid in the token value. Optionally, a blockchain token can also include some sort of intra tokens, not visible, and not tradable from the outside. A.8. Intra

Blockchain

B. IOV Wallet.

Token.

B.1. Wallet feature. The IOV Wallet is similar to most cryptocurrency wallets with a few important differences. It can:

• Store: create a value address with a private key. • Observe: Query multiple balances from multiple blockchain tokens. • Transfer: send a transaction to any blockchain token. • Exchange: Exchange tokens between blockchains. C. Blockchain Name Service. The Blockchain Name Service is the backbone of the IOV Wallet. It is a special blockchain token (i.e. fulfilling the Blockchain Communication Protocol, see above). The main function of the Blockchain Name Service is to maintain a valid copy of each token definition and provide an accurate listing for all accepted definitions. The Blockchain Name Service is very similar to DNS, as it provides the ability to look up related blockchains and its hosts. We designed a simple process for anyone to copy a token definition on the Blockchain Name Service, based on the information available on its blockchain token. C.1. IOV Token. The Blockchain Name Service has a

native token called the IOV Token. The IOV token is the participation token of the Blockchain Name Service.

C.2. Consensus. The consensus of the Blockchain

Name Service is a proof of stake. IOV Token is used as the staking token of the Blockchain Name Service.

C.3. Registration of a Token Definition on the Blockchain Name Service. Any user can register or

update a token definition of a blockchain token on the Blockchain Name Service. This procedure needs to be done at least once a year. Otherwise the blockchain token is marked as inactive by the Blockchain Name Service. By requiring this update process, a user is able to discover if the blockchain token is active and maintained. The Blockchain Name Service truly allows anybody to report a token definition on the Blockchain Name Service. A mechanism is therefore needed to prevent any malicious actors from

Blockchain Communication System Schema

BLOCKCHAIN TOKEN 1

BLOCKCHAIN TOKEN 2

Bootstrap node Bootstrap node Bootstrap node

Bootstrap node

BLOCKCHAIN NAME SERVICE

1

2

3

IOV WALLET

Fig. 1. Schematic representation of the Blockchain Communication System. 1. IOV Wallet requests to the Blockchain Name Service the list of active BLOCKCHAIN TOKEN. 2. Blockchain Name Service sends the list including the IP address of the bootstrap nodes for each BLOCKCHAIN TOKEN. 3. IOV Wallet sends a transaction or query to the BLOCKCHAIN TOKEN via a Bootstrap Node.

adding false information to the Blockchain Name Service. Below, we below such a mechanism. In order to update or register a token definition, the user needs to send a special transaction, which is called a Registration Request. This transaction includes the current token definition available on a blockchain token, a fee in IOV coin and escrow amount in IOV.For initial registrations, the Blockchain Name Service makes sure that the unique human identifier for the token is available, otherwise the transaction is rejected. I. Registration request.

During this phase, other users may challenge the request by sending another specific transaction, called a Registration Challenge. The transaction includes a fee in IOV Token and escrow amount in IOV and its correct version of the token definition. II. Challenge phase (7 days).

III. Settlement phase (optional). If another user challenges the request, then the Blockchain Name Service will settle the case. A user called a moderator elected by the governance of the Blockchain Name Service will be in charge to rerun the actual state of the

blockchain token. The moderator can determine without ambiguity the actual state of the token registry. If the request is legitimate, the challenger loses their escrow. If the request is not legitimate, the user who initiated the request loses their escrow instead. The escrow is then distributed among the moderators of the Blockchain Name Service. If no one challenges the request or if the settlement phase proves that the request was legitimate, the Blockchain Name Service update its ledger accordingly. IV. Registration phase.

D. Human Address Name Links. The ultimate goal

of the Blockchain Communication System is to provide an easy, human readable, value address. This feature is needed in order to allow easy exchanges between end-users. However, there are still some open security issues remaining regarding its implementation. Research about the Human Address Name Links is still active and another paper will be published to solve specifically these issues. A user will be able to register a human name for a value address. Example of Human Address Name links

All value addresses can be linked to an understandable. Potential human names for a value address: • antoine*iov.value • isabella*iov.value • mycompany*iov.value

Example of use cases Send a token from user A to user B. User A can

send any token to user B by simply submitting a transaction via the IOV Wallet.

Exchange 2 different tokens from user A and user B. If user A wants to exchange value A against

value B, atomic cross-chain trading is the easiest solution as each blockchain token implements a shared protocol. ICO. In the case of an ICO, a user via their IOV

Wallet holds a Token A and wants to trade to a new fancy token B. In this example, atomic crosschain trading or an exchange should be responsible to escrow the token A and B and send it back to the correct value address. The immediate benefit is that the user can get the new token immediately in its IOV Wallet. Another very interesting aspect brought by the IOV Wallet is that there is an uniformity between using one or an other token to participate in the ICO. Currently, this is a problem to the ICO organizer, who has to implement different mechanisms in order to allow users to participate in his ICO using different coins.

Conclusion The diversification of isolated consensus requires a global and universal solution. We believe that the

Blockchain Communication System as we have outlined will create the foundation needed for a unified protocol for exchanges of all values between blockchains. This protocol would not only solve the problems of multi-chain disjunction, but would also empower end-users by providing them with a secure and single access e-wallet to inventory and exchange all their digitals assets and values. In addition, it offers solutions to the problems of digital asset registry, inventory and exchange in an environment of constant multiplication of autonomous and heterogeneous blockchains. We believe this will be a true game-changer for the way people and businesses share values and assets. And we believe that it has the potential to fundamentally transform economic dynamics from micro and local economies to global interconnected exchanges. We see this upcoming transformation as a revolution. If value can meet values, this revolution could also be a way to empower people worldwide and to embrace a mindset of abundance in our collective exchanges. www.iov.one

ACKNOWLEDGMENTS.

We would like to thank our friends from Cosmos for their continuous support. We would like also to thank the community for developing amazing projects such as Ethereum, Litecoin, Dash, Lisk, Stratumn, Aragon, Zeppelin, Iexec, Algorand, Epicenter. We are looking forward to continuing this journey with all of you.

1. Nakamoto S (2008) Bitcoin: A peer-to-peer electronic cash system (https://bitcoin.org/bitcoin. pdf). 2. Buterin V, , et al. (2014) A next-generation smart contract and decentralized application platform. white paper. 3. Buchman E, Kwon J (2016) Cosmos: A network of distributed ledgers. 4. (2016) Atomic cross-chain trading (https://en.bitcoin.it/wiki/Atomic_cross-chain_trading). Accessed: 2017-03-12.

IOV: a Blockchain Communication System - GitHub

to send a transaction or to query several different blockchains. We propose a solution to empower the end-user and remove the need to download multiple wallets, by providing a system that includes: 1. Blockchain Communication Protocol: a set of standards that each participating blockchain imple- ments. 2. IOV Wallet: an ...

215KB Sizes 24 Downloads 245 Views

Recommend Documents

IOV: A Universal Value System - GitHub
tributed ledgers. Cosmos became the first player working to eliminate the dependence on exchanges and create a decentralized network that allows the ..... pdf). 2. Buterin V, , et al. (2014) A next-generation smart contract and decentralized applicat

IOV: A Universal Value System - GitHub
Abstract. A Universal Value System would allow users to store and exchange multiple types of values without the need to download an electronic wallet each time a new blockchain is being created. The decentralization of blockchains has created a diver

DiFUSE - A Dissident File System - GitHub
Jun 6, 2016 - OS X, Linux, and FreeBSD [10]. The dissident file sys ..... ing bad areas in flash memory, July 10 2001. US Patent ... Analysing android's full disk.

Communication Networks IBPM - GitHub
Evaluation of Computer and Communication Systems (MMB) and. Dependability and Fault ... 2 These authors are with science+computing ag, Tuebingen, Germany. ▻ State-of-the art communication technology for interconnection in high-performance ... Extra

accent tutor: a speech recognition system - GitHub
This is to certify that this project prepared by SAMEER KOIRALA AND SUSHANT. GURUNG entitled “ACCENT TUTOR: A SPEECH RECOGNITION SYSTEM” in partial fulfillment of the requirements for the degree of B.Sc. in Computer Science and. Information Techn

routine management system - GitHub
10. Figure 4 - Sample Data Set of Routine Management System . .... platform apps, conventional software architectural design patterns may be adopted and ...

System Requirements Specification - GitHub
This section describes the scope of Project Odin, as well as an overview of the contents of the SRS doc- ument. ... .1 Purpose. The purpose of this document is to provide a thorough description of the requirements for Project Odin. .... Variables. â€

System Requirements Specification - GitHub
System Requirements Specification. Project Odin. Kyle Erwin. Joshua Cilliers. Jason van Hattum. Dimpho Mahoko. Keegan Ferrett. Note: This document is constantly under revision due to our chosen methodology, ... This section describes the scope of Pro

FreeBSD ports system - GitHub
Search - make search (cont'd). Port: rsync-3.0.9_3. Path: /usr/ports/net/rsync. Info: Network file distribution/synchronization utility. Maint: [email protected].

CodaLab Worker System - GitHub
The worker system consists of 3 components: • REST server: ... a ”check out” call which is used to tell the server that a worker is shutting down and prevent it from.

CBIR System - GitHub
Final result was a Matlab built software application, with an image database, that utilized ... The main idea is to integrate the strengths of content- and keyword-based image ..... In the following we present some of the best search results.

Automatic Bug-Finding for the Blockchain - GitHub
37. The Yellow Paper http://gavwood.com/paper.pdf ..... address=contract_account, data=seth.SByte(16), #Symbolic buffer value=seth.SValue #Symbolic value. ) print "[+] There are %d reverted states now"% .... EVM is a good fit for Symbolic Execution.

Personal emergency communication system
Feb 27, 2008 - comprising a portable, wireless communication unit intended to be ... These non-limiting features, as well as other advantages and objects of ...

Personal emergency communication system
Feb 27, 2008 - call request signal to a base unit. The base unit initiates a telephone call through a dial-up network to an emergency. [response center] ...

Unified Communication X (UCX) - GitHub
100. 6.14.4.4 uct_ep_am_short(uct_ep_h ep, uint8_t id, uint64_t header, ...... the context configuration, including memory domains, transport resources, and ...... In addition the application is responsible to free the descriptor back to UCP library.

Open Vehicle Monitoring System - GitHub
Aug 14, 2013 - 10. CONFIGURE THE GPRS DATA CONNECTION (NEEDED FOR ...... Using the OVMS smartphone App (Android or Apple iOS), set Feature ...

Historical Query/Response System - GitHub
Feb 12, 2010 - developer website. Tick Query Examples. In order to query all the ticks for Google between 9 am and 12 pm on February 3, 2009, execute:.

Open Vehicle Monitoring System - GitHub
Feb 5, 2017 - GITHUB. 10. COMPILE AND FLASH YOUR FIRST FIRMWARE. 10. CHIPS USED .... If your laptop already has a RS232 port, then you can ... download your own forked repository from github to your local computer. Detailed ...

The Dissident File System - GitHub
Preferably compressed data like media files. Cryptographically secure ... Analysis of Adversary and Threats. Some attack ... Store sensitive data in free space?

Re-envisioning a future in scholarly communication - GitHub
Aug 24, 2017 - Preregistration. Access. Materials. Data. Preservation. Replication. Reviews. Protocols etc. Duct tape solutions won t last.

Nodel: A digital media control system for museums and ... - GitHub
Apr 2, 2014 - Development of MVMS ended in 2010 and the company ... makes them increasingly attractive venues for hosting commercial ... Museum Victoria staff to access it from any web-enabled device such as a computer, .... Museum Victoria was choos

A Simple Visual Navigation System with Convergence ... - GitHub
University of Lincoln ... Czech Technical University in Prague. {tkrajnik ... saves its descriptor, image coordinates and robot distance from segment start. ..... Research program funded by the Ministry of Education of the Czech Republic. No.

A precise teach and repeat visual navigation system based ... - GitHub
proposed navigation system corrects position errors of the robot as it moves ... University [email protected]. The work has been supported by the Czech Science Foundation projects. 17-27006Y and ... correct its heading from the visual information

bakhra gyan – a management information system for goat ... - GitHub
the listed here have been used in this work. ... Goat rearing is a local business section being practiced by the large volume ... web application where admin can collect the information about goat farming ..... Since this is web based application use