mirror of https://github.com/status-im/specs.git
Early draft: Waku mode spec
This commit is contained in:
parent
3f6812d521
commit
ce298bf825
|
@ -0,0 +1,49 @@
|
|||
# Waku Wacky Whisper Specification
|
||||
|
||||
> Version: 0.1 (Draft)
|
||||
|
||||
> Authors: Infura "The Devil" Osaka <noreply@status.im>
|
||||
|
||||
Basically Infura for chat. Addresses scalability issues of Whisper by sacrificing metadata protection. Specifically for resource restricted devices like mobilephones with limited data plan.
|
||||
|
||||
インフラ (Infura) means infrastructure in Japanese, and 枠 (Waku) is a closely related word that means 'frame' or 'slide'.
|
||||
|
||||
## Rationale
|
||||
|
||||
Many users put a premium on bandwidth usage over metadata protection. Implementing Waku mode gives users a more performant experience, at the expense of metadata protection and requiring stronger connectivity.
|
||||
|
||||
For more background, please see Whisper theoretical model [report](https://htmlpreview.github.io/?https://github.com/vacp2p/research/blob/master/whisper_scalability/report.html) with associated [source code](https://github.com/vacp2p/research/tree/master/whisper_scalability).
|
||||
|
||||
## Roles and definitions
|
||||
|
||||
1. Waku-chan
|
||||
2. Waku-san (aka Waku node)
|
||||
|
||||
A client is said to implement waku mode if it connects to a Waku node and acts as a Waku-chan. The Waku node connects to the rest of the Whisper network.
|
||||
|
||||
## Amendments to Whisper
|
||||
|
||||
Waku mode is compatible with [EIP-627](https://eips.ethereum.org/EIPS/eip-627)
|
||||
and simplify extends its capabilities. It does this through a new packet code,
|
||||
as well as some client specific recommendations. Two specific protocol changes
|
||||
are done:
|
||||
|
||||
1. Modify EIP627 by adding a new packet code, e..g `Topic List [101, bytes]` where bytes is a list of N topics.
|
||||
|
||||
Format TBD.
|
||||
|
||||
2. Provide way to identify oneself as a Waku node.
|
||||
|
||||
Method TBD.
|
||||
|
||||
## Recommendations for clients
|
||||
|
||||
1. Avoid duplicate envelopes
|
||||
|
||||
To avoid duplicate envelopes, only connect to one Waku node. Benign duplicate
|
||||
envelopes is an intrinsic property of Whisper which often leads to a N factor
|
||||
increase in traffic, where N is the number of peers you are connected to.
|
||||
|
||||
2. Topic specific recommendations
|
||||
|
||||
TBD.
|
Loading…
Reference in New Issue