From d0879c06f937a5fb440a2f264ab90b7f9a34f9e0 Mon Sep 17 00:00:00 2001 From: Frank Mueller Date: Fri, 6 Apr 2018 16:31:11 +0200 Subject: [PATCH] Create #95-les-service-model (#138) * Create draft for PR for idea 95 * Move into regular file until general decision * Add LES details * Describe negotiation better * Reorganization of idea and artifacts * More detailed MVP and success metrics --- ideas/095-les-service-model/README.md | 82 +++++++++++++++++++++++++++ ideas/095-les-service-model/links.md | 4 ++ ideas/095-les-service-model/log.md | 6 ++ 3 files changed, 92 insertions(+) create mode 100644 ideas/095-les-service-model/README.md create mode 100644 ideas/095-les-service-model/links.md create mode 100644 ideas/095-les-service-model/log.md diff --git a/ideas/095-les-service-model/README.md b/ideas/095-les-service-model/README.md new file mode 100644 index 0000000..887cfee --- /dev/null +++ b/ideas/095-les-service-model/README.md @@ -0,0 +1,82 @@ +## Preamble + + Idea: #095-les-service-model + Title: Introduce LES Service Model + Status: Draft + Created: 2018-03-20 + +## Summary + +Introduce the LES Service Model where LES clients can subscribe to higher quality services. Different +payment models will be available, negotiation between client and full node is done via auctions based +on demands and capacity. + +This way full node service provide are able to monetize the services they provide. LES will make the +beginning, Whisper and Swarm may follow. + +## Swarm Participants + +- Lead Contributor: @themue +- Testing & Evaluation: +- Contributor: @jeka +- Contributor: @b00ris +- PM: @zsfelfoldi (external) +- UX (if relevant): + +## Product Overview + +Today all light clients are treated equal by the full nodes they connect. A future service model will introduce +the separation between free and payed services. As outlined by Felföldi Zsolt: + +- LES will be available either as free or paid service, +- paid service can guarantee availability and short response times, +- client bandwidth demand fluctuates with time, good service quality requires reserve capacity, +- for-profit LES servers can still give away their extra capacity for free (with lower priority than paid service), +- free service is a good indicator of high bandwidth capacity and therefore the capability to provide good service, and +- paying clients will prefer servers which already gave them free service so free service can act as an advertisement. + +Once the service model is introduced changes to Status app are needed: + +- Migration from Infura to ULC +- Choice between free and paid LES service +- In case of paid LES service definition of demands for auction + +### Remark + +For Status it also could become interesting to become a service provider offering payed full node services not only +for own clients. This business case should be evaluated in an own swarm. + +### Product Description + +Parts of the introduction of the LES Service Model are: + +- research, definition, and implementation of connection management system of paying clients for full nodes, +- research, definition, and implementation of auctioning, +- research, definition, and implementation of payment methods and models, +- documentation. + +### Minimum Viable Product + +Goal Date: TBD (before end of Q2/2018) + +Description: + +- [ ] New Ultra Light Client Mode is added to LES +- [ ] Auctioning protocol between client and full node is defined +- [ ] Payment methods and models are defined +- [ ] Initial implementation validates auctioning and micropayment in automated tests + +## Artifacts + +- [Logfile](log.md) +- [Links](links.md) + +## Success Metrics + +LES of `go-ethereum` is extended to provide a micropayed services with a higher quality +level as well as free services depending on capacity and configuration. + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). + diff --git a/ideas/095-les-service-model/links.md b/ideas/095-les-service-model/links.md new file mode 100644 index 0000000..82de20a --- /dev/null +++ b/ideas/095-les-service-model/links.md @@ -0,0 +1,4 @@ +## Links + +- [LES Service Model by Felföldi Zsolt](https://github.com/zsfelfoldi/ethereum-docs/blob/master/les/service_model.md) + diff --git a/ideas/095-les-service-model/log.md b/ideas/095-les-service-model/log.md new file mode 100644 index 0000000..e755bd8 --- /dev/null +++ b/ideas/095-les-service-model/log.md @@ -0,0 +1,6 @@ +## Logfile + +### 2018-04-06 + +- (C) Moved single idea file into swarm directory +- (A) Added logfile