Page tree
Skip to end of metadata
Go to start of metadata
                                              XIN Light Client
                                     Infinity Foundation May, 2017, v1


 1. Client Overview
 2. Lightweight Client
 3. Privacy
 4. Expandable
 5. Client Versions

1. Client Overview

 The classic Bitcoin approach is essentially a way to synchronize a distributed system through
 common transaction logs. It requires that each network node store the full copy of the transaction
 history. Obviously this does not scale well, since eventually not every node will be able to store 
 the full history. There are different ways to mitigate this – a simplified payment verification 
 procedure that allows storage of only that data essential for a given node; off-chain transactions; 
 bidirectional payment tunnels; reducing blockchain bloat; working directly with the system state.
 With the simplest approach, where all nodes are equal at Genesis block, centralization may emerge 
 as low-capacity nodes have to rely on full, high-capacity nodes that can afford to store the full 
 blockchain. Of course, emerging centralization brings trust issues, since lightweight nodes have 
 to trust the full nodes and can become a victim of a rogue full node. However, there are ways to 
 mitigate this, such as polling several nodes, maintaining trusted nodes lists, and so on. XIN 
 provides a new structure for these tasks by leveraging the peerexplorer. The foundation maintains
 a base of trusted high capacity servers to ensure sufficient nodes available for clients. A node
 rating algo is used to rank the top nodes, count in the CPU load, processors available and more
 node metrics in realtime to 'load-balance' the client requests for optimal performance.

2. Lightweight Client (Smart Wallet)

 XIN platform enforces an approach that might at first seem extreme to a classic cryptocurrency
 advocate. XIN smart wallets do not download the blockchain at all, instead relying on full nodes 
 for payment verification and network interaction. Each transaction is digitally signed to verify 
 that someone who knows the secret passphrase of the originating account authorized the transaction. 
 For enhanced security, the client utilize offline transaction signing, the purpose of which is to 
 protect the secret passphrase from exposure to the Internet. This brings several advantages. 
 The user does not have to download the blockchain anymore, which  means the application itself 
 stays very small and extensible. It does not broadcast secret keys through the network,  all 
 data is signed locally on your device.  In addition the client provides several connection types 
 to act also as a classical client, connecting to the users local node. The connection choices are: 
 Automatic, Manual, Localhost, SSL and Foundation. This gives a broad range of usages, from classic 
 private node to fully automatic, load-balanced usage. The lite client is  available for Windows, 
 Linux and MacOS. It does not require an installation process, as it utilizes modern web technologies. 

3. Privacy

 To enhance connection privacy, the client selects different nodes for each request made on a 
 node. This has two advantages, first one is privacy. Due to this dynamic node IP 'jumps' nodes 
 are less able to collect request data (which isn't the case in general) from connected clients. 
 Secondly the load created by lots of clients is distributed to many nodes in realtime.

4. Expandable

 Since the client utilizes modern web technologies, it is very easy to add additional features on 
 the fly. Please see extensions and services for more informations.

5. Client Versions

 Currently the client is built as an Online (Web-based) wallet with no installation needed. Combining
 with Electron this can be built to a full, self-contained desktop wallet for Windows, Linux and MacOS.
 An a mobile (Android) version is in development.
  • No labels