swarms/ideas/254-ultra-light-client/README.md

87 lines
2.1 KiB
Markdown
Raw Normal View History

---
id: 254-ultra-light-client
title: Integration of ULC in Status
status: Draft
created: 2018-05-02
category: research
contributors:
- themue
- jeka
- b00ris
- zsfelfoldi (external)
exit-criteria: yes
success-metrics: yes
clear-roles: no
future-iterations: no
---
## 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: @themue
- Testing & Evaluation: TBD
- Contributor: @jeka
- Contributor: @b00ris
- 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-06-30
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 1
Goal Date: TBD
Description:
- [ ] Support integration of ULC into `go-ethereum`
- [ ] Documentation
## 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
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).