Preamble

Idea: 254-ultra-light-client
Title: Integration of ULC in Status
Status: Draft
Created: 2018-05-02

Summary

Current LES is not yet optimized for ultra-light devices like mobile phones. So in the first step introduce the ULC addressing this kind of clients.

Swarm Participants

  • Lead Contributor: @b00ris
  • Testing & Evaluation: TBD
  • Contributor: @jeka
  • Contributor: @themue
  • PM: @zsfelfoldi (external)
  • UX (if relevant):

Product Overview

Current LES is not optimized for usage on mobile phones. So Status is using Infura with all its assets and drawbacks. ULC is addressing ultra-light clients and distribution without dependency to central providers. Instead a network of trusted LES nodes acts as counterpart for the protocol.

So Status is supporting the development and testing of ULC to accelerate integration into go-ethereum as well as into Status itself.

Product Description

  • Research of ULC design
  • Definition and implementation of ULC
  • Integrate ULC in statusd and the lib
  • Documentation

Minimum Viable Product

Goal Date: 2018-07-02 Working board: https://github.com/status-im/go-ethereum/projects/5

Description:

  • New Ultra Light Client mode is added to patched LES
  • Integrate ULC with status-go with Status nodes as trusted nodes
  • Collect metrics (CPU, mem, disk, network I/O) when starting with a branch new install and after 1h of inactivity
  • Keep battery and network consumption at least as low as today with Infura

Iteration 2018-05-21 - 2018-06-04

Goal Date: 2018-06-04

Description:

Iteration 2018-06-04 - 2018-06-18

Goal Date: 2018-06-18

Description: ULC milestone 2018-06-04

Iteration 2018-06-18 - 2018-07-02

Goal Date: 2018-07-02

Description: ULC milestone 2018-06-18

Artifacts

  • None

Success Metrics

LES of go-ethereum is extended to use ULC with a similar or better use of bandwidth and CPU as Infura.

Copyright and related rights waived via CC0.