Securely Connecting to a Peer2Peer-Network means you need to choose a client...
|FullNode||all Blockheaders and each transaction and all full state||~400GB||days||all devp2p-messages||sync with only one chain||on servers, where full access is needed|
|Pruned Node||all Blockheaders and each transaction, but keeps the most recent state||~40GB||hours||all devp2p-messages||sync with only one chain||on servers|
|Light Client||only Blockheaders||~50MB||minutes||all blockheader and status-messages + asking for proof and state when needed||sync with only one chain||on any pc, laptop or at stringer IOT-Devices|
|Remote Client||none - just trusted||0||instant||only when asked||one chain per url||browser and apps on mobile devices|
|Slock.it Client||verification of single result (Merkle-Proof) based on deposit backed signed blockhash||0||instant||only when asked||connect to multiple chains||browser and apps on mobile devices and even small IOT-Devices|
The Client uses the IN3-Network (Trustless Incentivized Remote Client Network) to connect to any chain. This Network of Remote Client offer the features needed in order to run on small iot-devices.
How does it work?
The IOT Layer connects devices to the Blockchain in order to control Access.
Each node may register for multiple chains. The client then can simply define per request which chain should be asked.
Depending on the stored deposit of the nodes and a random seed the client will choose one or more nodes from the list and send the json-rpc-requests.
The client itself is a very small library easily included in a IOT-device, even if this runs on very low specs. This is possible since the device only need to be able to send HTTP-Request if needed and not synchronize each blockheader.
There are 2 version available:
- JS-Library, which can be fetched using npm and included in any browser app.
- A bare metal version written, ready to be included in even microcontroller
- the full Blockheader
- in case of eth_call, the call is analysed and all needed values from the state will be added including the complete Merkele-Proof.
- the signatures of all validators signing the same blocknumber and blockhash. By doing so, these validatores would risk their previously stored deposit in case they would give a wrong hash, because these signed Blockchashes can be used to convict the signer directly in the registry-contract.