specs/docs/stable/1-client.md

416 lines
20 KiB
Markdown
Raw Normal View History

2020-03-30 05:04:52 +00:00
---
permalink: /spec/1
2020-03-30 05:37:40 +00:00
parent: Stable specs
2020-03-30 05:45:38 +00:00
title: 1/CLIENT
2020-03-30 05:04:52 +00:00
---
2019-08-26 14:16:32 +00:00
2020-03-31 04:20:46 +00:00
# 1/CLIENT
2020-03-30 05:04:52 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
> Version: 0.3
2020-03-30 05:04:52 +00:00
>
> Status: Stable
2019-08-26 14:16:32 +00:00
>
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
> Authors: Adam Babik [adam@status.im](mailto:adam@status.im), Andrea Maria Piana [andreap@status.im](mailto:andreap@status.im), Dean Eigenmann [dean@status.im](mailto:dean@status.im), Corey Petty [corey@status.im](mailto:corey@status.im), Oskar Thorén [oskar@status.im](mailto:oskar@status.im), Samuel Hawksby-Robinson [samuel@status.im](mailto:samuel@status.im) (alphabetical order)
2019-08-26 14:16:32 +00:00
2019-08-29 10:30:56 +00:00
## Abstract
In this specification, we describe how to write a Status client for
communicating with other Status clients.
We present a reference implementation of the protocol <sup>1</sup> that is used
in a command line client <sup>2</sup> and a mobile app <sup>3</sup>.
This document consists of two parts. The first outlines the specifications that
have to be implemented in order to be a full Status client. The second gives a design rationale and answers some common questions.
2019-08-26 14:16:32 +00:00
## Table of Contents
2020-03-30 05:04:52 +00:00
2020-05-21 09:44:13 +00:00
- [Abstract](#abstract)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Protocol layers](#protocol-layers)
- [Protobuf](#protobuf)
- [Components](#components)
- [P2P Overlay](#p2p-overlay)
- [Node discovery and roles](#node-discovery-and-roles)
- [Bootstrapping](#bootstrapping)
- [Discovery](#discovery)
- [Mobile nodes](#mobile-nodes)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- [Transport privacy and Whisper/Waku usage](#transport-privacy-and-whisper--waku-usage)
2020-05-21 09:44:13 +00:00
- [Secure Transport](#secure-transport)
- [Data Sync](#data-sync)
- [Payloads and clients](#payloads-and-clients)
- [BIPs and EIPs Standards support](#bips-and-eips-standards-support)
- [Security Considerations](#security-considerations)
- [Design Rationale](#design-rationale)
- [P2P Overlay](#p2p-overlay-1)
- [Why devp2p? Why not use libp2p?](#why-devp2p-why-not-use-libp2p)
- [What about other RLPx subprotocols like LES, and Swarm?](#what-about-other-rlpx-subprotocols-like-les-and-swarm)
- [Why do you use Whisper?](#why-do-you-use-whisper)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- [Why do you use Waku?](#why-do-you-use-waku)
- [Why is PoW for Waku set so low?](#why-is-pow-for-waku-set-so-low)
2020-05-21 09:44:13 +00:00
- [Why do you not use Discovery v5 for node discovery?](#why-do-you-not-use-discovery-v5-for-node-discovery)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- [I heard something about `Mailservers` being trusted somehow?](#i-heard-something-about-mailservers-being-trusted-somehow)
2020-05-21 09:44:13 +00:00
- [Data sync](#data-sync-1)
- [Why is MVDS not used for public chats?](#why-is-mvds-not-used-for-public-chats)
- [Footnotes](#footnotes)
- [Appendix A: Security considerations](#appendix-a-security-considerations)
- [Scalability and UX](#scalability-and-ux)
- [Privacy](#privacy)
- [Spam resistance](#spam-resistance)
- [Censorship resistance](#censorship-resistance)
- [Acknowledgments](#acknowledgments)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- [Changelog](#changelog)
- [Version 0.3](#version-03)
2020-05-21 09:44:13 +00:00
## Introduction
2019-08-26 14:16:32 +00:00
2019-08-29 10:30:56 +00:00
### Protocol layers
2019-08-27 13:10:28 +00:00
2020-03-30 05:04:52 +00:00
Implementing a Status clients largely means implementing the following layers. Additionally, there are separate specifications for things like key management and account lifecycle.
Other aspects, such as how IPFS is used for stickers, how we interact with the Ethereum blockchain or how the browser works, are currently underspecified. These sets of specifications should allow you to implement a a Status client for basic private communication.
| Layer | Purpose | Technology |
| ----------------- | ------------------------------ | ---------------------------- |
| Data and payloads | End user functionality | 1:1, group chat, public chat |
| Data sync | Data consistency | MVDS Ratchet |
| Secure transport | Confidentiality, PFS, etc | Double Ratchet |
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
| Transport privacy | Routing, Metadata protection | Waku / Whisper |
2020-03-30 05:04:52 +00:00
| P2P Overlay | Overlay routing, NAT traversal | devp2p |
2019-08-27 13:10:28 +00:00
2020-03-30 05:04:52 +00:00
### Protobuf
We use [`protobuf`](https://developers.google.com/protocol-buffers/) in different layers, the version used is `proto3` unless stated otherwise.
2019-08-27 13:10:28 +00:00
2019-08-29 10:30:56 +00:00
## Components
### P2P Overlay
2019-08-26 14:28:59 +00:00
2020-03-30 05:04:52 +00:00
Status clients run on a public, permissionless peer-to-peer network, as specified by the devP2P
2019-08-26 14:28:59 +00:00
network protocols. devP2P provides a protocol for node discovery which is in
draft mode
2019-08-26 15:06:03 +00:00
[here](https://github.com/ethereum/devp2p/blob/master/discv5/discv5.md). See
2019-08-26 14:28:59 +00:00
more on node discovery and management in the next section.
2020-03-30 05:04:52 +00:00
To communicate between Status nodes, the [RLPx Transport
2019-08-26 15:06:03 +00:00
Protocol, v5](https://github.com/ethereum/devp2p/blob/master/rlpx.md) is used, which
2019-08-26 14:28:59 +00:00
allows for TCP-based communication between nodes.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
On top of this we run RLPx-based subprotocols, the client
SHOULD NOT use [Whisper V6](https://eips.ethereum.org/EIPS/eip-627), the client
SHOULD use [Waku V1](https://github.com/vacp2p/specs/blob/master/specs/waku/waku-1.md)
for privacy-preserving messaging and efficient usage of a node's bandwidth.
2019-08-29 10:30:56 +00:00
#### Node discovery and roles
2019-08-26 14:28:59 +00:00
2019-08-26 14:56:24 +00:00
There are four types of node roles:
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
1. `Bootstrap node`
1. `Whisper/Waku relayer`
1. `Mailserver` (servers and clients)
1. `Mobile node` (Status Clients)
2019-08-26 14:56:24 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
A standard Status client MUST implement both `Whisper/Waku relayer` and `Mobile node` node types. The
other node types are optional, but it is RECOMMEND to implement a `Mailserver`
2019-08-26 14:56:24 +00:00
client mode, otherwise the user experience is likely to be poor.
2019-08-29 10:30:56 +00:00
#### Bootstrapping
2019-08-26 14:56:24 +00:00
To connect to other Status nodes you need to connect to a bootstrap node. These
nodes allow you to discover other nodes of the network.
Currently the main bootstrap nodes are provided by Status Gmbh, but anyone can
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
run these provided they are connected to the rest of the Whisper/Waku network.
2019-08-26 14:56:24 +00:00
Status maintains a list of production fleet bootstrap nodes in the following locations:
2020-03-30 05:04:52 +00:00
**Hong Kong:**
2020-05-21 09:44:13 +00:00
- `enode://6e6554fb3034b211398fcd0f0082cbb6bd13619e1a7e76ba66e1809aaa0c5f1ac53c9ae79cf2fd4a7bacb10d12010899b370c75fed19b991d9c0cdd02891abad@47.75.99.169:443`
- `enode://23d0740b11919358625d79d4cac7d50a34d79e9c69e16831c5c70573757a1f5d7d884510bc595d7ee4da3c1508adf87bbc9e9260d804ef03f8c1e37f2fb2fc69@47.52.106.107:443`
2020-03-30 05:04:52 +00:00
**Amsterdam:**
2020-05-21 09:44:13 +00:00
- `enode://436cc6f674928fdc9a9f7990f2944002b685d1c37f025c1be425185b5b1f0900feaf1ccc2a6130268f9901be4a7d252f37302c8335a2c1a62736e9232691cc3a@178.128.138.128:443`
- `enode://5395aab7833f1ecb671b59bf0521cf20224fe8162fc3d2675de4ee4d5636a75ec32d13268fc184df8d1ddfa803943906882da62a4df42d4fccf6d17808156a87@178.128.140.188:443`
2020-03-30 05:04:52 +00:00
**Central US:**
2020-05-21 09:44:13 +00:00
- `enode://32ff6d88760b0947a3dee54ceff4d8d7f0b4c023c6dad34568615fcae89e26cc2753f28f12485a4116c977be937a72665116596265aa0736b53d46b27446296a@34.70.75.208:443`
- `enode://5405c509df683c962e7c9470b251bb679dd6978f82d5b469f1f6c64d11d50fbd5dd9f7801c6ad51f3b20a5f6c7ffe248cc9ab223f8bcbaeaf14bb1c0ef295fd0@35.223.215.156:443`
2020-03-30 05:04:52 +00:00
These bootstrap nodes MAY change and we can't guarantee that it will stay this way forever
2020-01-21 18:41:49 +00:00
and at some point we might be forced to change them.
2019-08-26 14:56:24 +00:00
2019-08-29 10:30:56 +00:00
#### Discovery
2019-08-26 14:56:24 +00:00
2020-03-30 05:04:52 +00:00
To implement a Status client you MUST discover or have a list of peers to connect to. We use a
2019-08-27 11:12:28 +00:00
light discovery mechanism based on a combination of [Discovery
v5](https://github.com/ethereum/devp2p/blob/master/discv5/discv5.md) and
[Rendezvous Protocol](https://github.com/libp2p/specs/tree/master/rendezvous),
(with some
[modifications](https://github.com/status-im/rendezvous#differences-with-original-rendezvous)).
2020-01-21 18:51:39 +00:00
Additionally, some static nodes MAY also be used.
2019-08-27 11:12:28 +00:00
A Status client MUST use at least one discovery method or use static nodes
to communicate with other clients.
Discovery V5 uses bootstrap nodes to discover other peers. Bootstrap nodes MUST support
Discovery V5 protocol as well in order to provide peers. It is kademlia-based discovery mechanism
and it might consume significant (at least on mobile) amount of network traffic to operate.
In order to take advantage from simpler and more mobile-friendly peers discovery mechanism,
i.e. Rendezvous protocol, one MUST provide a list of Rendezvous nodes which speak
Rendezvous protocol. Rendezvous protocol is request-response discovery mechanism.
It uses Ethereum Node Records (ENR) to report discovered peers.
Both peers discovery mechanisms use topics to provide peers with certain capabilities.
There is no point in returning peers that do not support a particular protocol.
Status nodes that want to be discovered MUST register to Discovery V5 and/or Rendezvous
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
with the `whisper` topic. Status nodes that are `Mailservers` and want to
be discoverable MUST additionally register with the `whispermail` topic.
2020-03-30 05:04:52 +00:00
It is RECOMMENDED to use both mechanisms but at the same time implement a structure
called `PeerPool`. `PeerPool` is responsible for maintaining an optimal number of peers.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
For mobile nodes, there is no significant advantage to have more than 2-3 peers and one `Mailserver`.
`PeerPool` can notify peers discovery protocol implementations that they should suspend
their execution because the optimal number of peers is found. They should resume
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
if the number of connected peers drops or a `Mailserver` disconnects.
2020-03-30 05:04:52 +00:00
It is worth noticing that an efficient caching strategy MAY be of great use, especially,
on mobile devices. Discovered peers can be cached as they rarely change and used
when the client starts again. In such a case, there might be no need to even start
peers discovery protocols because cached peers will satisfy the optimal number of peers.
Alternatively, a client MAY rely exclusively on a list of static peers. This is the most efficient
way because there is no peers discovery algorithm overhead introduced. The disadvantage
is that these peers might be gone and without peers discovery mechanism, it won't be possible to find
new ones.
2019-08-27 11:12:28 +00:00
2020-03-30 05:04:52 +00:00
The current list of static peers is published on <https://fleets.status.im/>. `eth.prod` is the current
group of peers the official Status client uses. The others are test networks.
2019-08-26 14:56:24 +00:00
2020-01-21 18:51:39 +00:00
Finally, Waku node addresses can be retrieved by traversing
the merkle tree found at [`fleets.status.im`](https://fleets.status.im), as described in [EIP-1459](https://eips.ethereum.org/EIPS/eip-1459#client-protocol).
2020-01-21 18:41:49 +00:00
2019-08-29 10:30:56 +00:00
#### Mobile nodes
2019-08-26 14:56:24 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
A `Mobile node` is a Whisper and/or Waku node which connects to part of the respective Whisper
and/or Waku network(s). A `Mobile node` MAY relay messages. See next section for more details on how
to use Whisper and/or Waku to communicate with other Status nodes.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
### Transport privacy and Whisper / Waku usage
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
Once a Whisper and/or Waku node is up and running there are some specific settings required
to communicate with other Status nodes.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
See [3/WHISPER-USAGE](https://specs.status.im/spec/3) and [9/WAKU-USAGE](https://specs.status.im/spec/9) for more details.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
For providing an offline inbox, see the complementary [4/WHISPER-MAILSERVER](https://specs.status.im/spec/4) and [10/WAKU-MAILSERVER](https://specs.status.im/spec/10).
2019-08-29 10:30:56 +00:00
### Secure Transport
2019-08-27 12:01:12 +00:00
2019-08-27 12:50:06 +00:00
In order to provide confidentiality, integrity, authentication and forward
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
secrecy of messages we implement a secure transport on top of Whisper and Waku. This is
2020-03-31 04:08:10 +00:00
used in 1:1 chats and group chats, but not for public chats. See [5/SECURE-TRANSPORT](https://specs.status.im/spec/5) for more.
2019-08-27 12:01:12 +00:00
2019-08-29 10:30:56 +00:00
### Data Sync
2019-08-27 12:01:12 +00:00
2019-08-27 13:15:11 +00:00
[MVDS](https://specs.vac.dev/mvds.html) is used for 1:1 and group chats, however it is currently not in use for public chats.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
[Status payloads](#payloads-and-clients) are serialized and then wrapped inside an
MVDS message which is added to an [MVDS payload](https://specs.vac.dev/mvds.html#payloads),
this payload is then encrypted (if necessary for 1-to-1 / group-chats) and sent using
Whisper or Waku which also encrypts it.
2019-08-27 12:01:12 +00:00
2019-08-29 10:30:56 +00:00
### Payloads and clients
2019-08-27 12:01:12 +00:00
2019-08-27 13:12:50 +00:00
On top of secure transport, we have various types of data sync clients and
payload formats for things like 1:1 chat, group chat and public chat. These have
2020-03-31 04:08:10 +00:00
various degrees of standardization. Please refer to [6/PAYLOADS](https://specs.status.im/spec/6) for more details.
2019-11-28 03:53:01 +00:00
### BIPs and EIPs Standards support
For a list of EIPs and BIPs that SHOULD be supported by Status client, please
2020-03-31 04:08:10 +00:00
see [8/EIPS](https://specs.status.im/spec/8).
2019-11-28 03:53:01 +00:00
2019-08-29 10:30:56 +00:00
## Security Considerations
2020-03-30 05:04:52 +00:00
See [Appendix A](#appendix-a-security-considerations)
2019-08-26 14:16:32 +00:00
## Design Rationale
2019-08-26 14:29:06 +00:00
### P2P Overlay
#### Why devp2p? Why not use libp2p?
At the time the main Status clients were being developed, devp2p was the most
mature. However, it is likely we'll move over to libp2p in the future, as it'll
provide us with multiple transports, better protocol negotiation, NAT traversal,
etc.
For very experimental bridge support, see the bridge between libp2p and devp2p
in [Murmur](https://github.com/status-im/murmur).
#### What about other RLPx subprotocols like LES, and Swarm?
Status is primarily optimized for resource restricted devices, and at present
time light client support for these protocols are suboptimal. This is a work in
progress.
2019-08-26 15:06:03 +00:00
For better Ethereum light client support, see [Re-enable LES as
option](https://github.com/status-im/status-go/issues/1025). For better Swarm
support, see [Swarm adaptive
nodes](https://github.com/ethersphere/SWIPs/pull/12).
For transaction support, Status clients currently have to rely on Infura.
Status clients currently do not offer native support for file storage.
2019-08-26 14:43:37 +00:00
#### Why do you use Whisper?
2019-08-26 15:06:03 +00:00
Whisper is one of the [three parts](http://gavwood.com/dappsweb3.html) of the
2019-08-26 14:43:37 +00:00
vision of Ethereum as the world computer, Ethereum and Swarm being the other
two. Status was started as an encapsulation of and a clear window to this world
computer.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
#### Why do you use Waku?
Waku is a direct upgrade and replacement for Whisper, the main motivation for
developing and implementing Waku can be found in the [Waku specs](https://github.com/vacp2p/specs/blob/master/specs/waku/waku-1.md#motivation).
2019-08-26 14:43:37 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
>Waku was created to incrementally improve in areas that Whisper is lacking in,
>with special attention to resource restricted devices. We specify the standard for
>Waku messages in order to ensure forward compatibility of different Waku clients,
>backwards compatibility with Whisper clients, as well as to allow multiple
>implementations of Waku and its capabilities. We also modify the language to be more
>unambiguous, concise and consistent.
2019-08-26 14:43:37 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
Considerable work has gone into the active development of Ethereum, in contrast Whisper
is not currently under active development, and it has several drawbacks. Among others:
- Whisper is very wasteful bandwidth-wise and doesn't appear to be scalable
- Proof of work is a poor spam protection mechanism for heterogeneous devices
- The privacy guarantees provided are not rigorous
- There are no incentives to run a node
2019-08-26 14:43:37 +00:00
Finding a more suitable transport privacy is an ongoing research effort,
2019-08-26 15:06:03 +00:00
together with [Vac](https://vac.dev/vac-overview) and other teams in the space.
2019-08-26 14:43:37 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
#### Why is PoW for Waku set so low?
2019-08-26 14:58:05 +00:00
A higher PoW would be desirable, but this kills the battery on mobile phones,
2019-08-26 14:58:05 +00:00
which is a prime target for Status clients.
This means the network is currently vulnerable to DDoS attacks. Alternative
methods of spam protection are currently being researched.
2019-08-27 11:12:28 +00:00
#### Why do you not use Discovery v5 for node discovery?
At the time we implemented dynamic node discovery, Discovery v5 wasn't completed
yet. Additionally, running a DHT on a mobile leads to slow node discovery, bad
battery and poor bandwidth usage. Instead, each client can choose to turn on
Discovery v5 for a short period of time until their peer list is populated.
For some further investigation, see
[here](https://github.com/status-im/swarms/blob/master/ideas/092-disc-v5-research.md).
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
#### I heard something about `Mailservers` being trusted somehow?
2019-08-27 13:49:03 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
In order to use a `Mailserver`, a given node needs to connect to it directly, i.e. add the `Mailserver` as its peer and mark it as trusted. This means that the `Mailserver` is able to send direct p2p messages to the node instead of broadcasting them. Effectively, it knows the bloom filter of the topics the node is interested in, when it is online as well as many metadata like IP address.
2019-08-27 13:49:03 +00:00
### Data sync
#### Why is MVDS not used for public chats?
Currently public chats are broadcast-based, and there's no direct way of finding
out who is receiving messages. Hence there's no clear group sync state context
whereby participants can sync. Additionally, MVDS is currently not optimized for
large group contexts, which means bandwidth usage will be a lot higher than
reasonable. See [P2P Data Sync for
Mobile](https://vac.dev/p2p-data-sync-for-mobile) for more. This is an active
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
area of research.
2019-08-26 14:16:32 +00:00
## Footnotes
2020-03-30 05:04:52 +00:00
1. <https://github.com/status-im/status-protocol-go/>
2. <https://github.com/status-im/status-console-client/>
3. <https://github.com/status-im/status-react/>
2019-08-26 14:16:32 +00:00
2019-12-12 19:50:17 +00:00
## Appendix A: Security considerations
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
There are several security considerations to take into account when running Status. Chief among them are: scalability, DDoS-resistance and privacy. These also vary depending on what capabilities are used, such as `Mailserver`, light node, and so on.
2019-12-12 19:50:17 +00:00
### Scalability and UX
**Bandwidth usage:**
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
In version 1 of Status, bandwidth usage is likely to be an issue. In Status version 1.1 this is partially addressed with Waku usage, see [the theoretical scaling model](https://github.com/vacp2p/research/tree/dcc71f4779be832d3b5ece9c4e11f1f7ec24aac2/whisper_scalability).
2019-12-12 19:50:17 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
**`Mailserver` High Availability requirement:**
2019-12-12 19:50:17 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
A `Mailserver` has to be online to receive messages for other nodes, this puts a high availability requirement on it.
2019-12-12 19:50:17 +00:00
**Gossip-based routing:**
Use of gossip-based routing doesn't necessarily scale. It means each node can see a message multiple times, and having too many light nodes can cause propagation probability that is too low. See [Whisper vs PSS](https://our.status.im/whisper-pss-comparison/) for more and a possible Kademlia based alternative.
**Lack of incentives:**
Status currently lacks incentives to run nodes, which means node operators are more likely to create centralized choke points.
### Privacy
**Light node privacy:**
The main privacy concern with light nodes is that directly connected peers will know that a message originates from them (as it are the only ones it sends). This means nodes can make assumptions about what messages (topics) their peers are interested in.
**Bloom filter privacy:**
By having a bloom filter where only the topics you are interested in are set, you reveal which messages you are interested in. This is a fundamental trade-off between bandwidth usage and privacy, though the trade-off space is likely suboptimal in terms of the [Anonymity](https://eprint.iacr.org/2017/954.pdf) [trilemma](https://petsymposium.org/2019/files/hotpets/slides/coordination-helps-anonymity-slides.pdf).
2019-12-12 19:50:17 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
**`Mailserver client` privacy:**
2019-12-12 19:50:17 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
A `Mailserver client` has to trust a `Mailserver`, which means they can send direct traffic. This reveals what topics / bloom filter a node is interested in, along with its peerID (with IP).
2019-12-12 19:50:17 +00:00
**Privacy guarantees not rigorous:**
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
Privacy for Whisper or Waku hasn't been studied rigorously for various threat models like global passive adversary, local active attacker, etc. This is unlike e.g. Tor and mixnets.
2019-12-12 19:50:17 +00:00
**Topic hygiene:**
Similar to bloom filter privacy, if you use a very specific topic you reveal more information. See scalability model linked above.
### Spam resistance
**PoW bad for heterogeneous devices:**
2019-12-12 19:50:17 +00:00
Proof of work is a poor spam prevention mechanism. A mobile device can only have a very low PoW in order not to use too much CPU / burn up its phone battery. This means someone can spin up a powerful node and overwhelm the network.
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
**`Mailserver` trusted connection:**
2019-12-12 19:50:17 +00:00
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
A `Mailserver` has a direct TCP connection, which means they are trusted to send traffic. This means a malicious or malfunctioning `Mailserver` can overwhelm an individual node.
2019-12-12 19:50:17 +00:00
### Censorship resistance
**Devp2p TCP port blockable:**
By default Devp2p runs on port `30303`, which is not commonly used for any other service. This means it is easy to censor, e.g. airport WiFi. This can be mitigated somewhat by running on e.g. port `80` or `443`, but there are still outstanding issues. See libp2p and Tor's Pluggable Transport for how this can be improved.
2020-03-30 05:04:52 +00:00
See <https://github.com/status-im/status-react/issues/6351> for some discussion.
## Acknowledgments
2020-03-31 04:08:10 +00:00
Jacek Sieka
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
## Changelog
### Version 0.3
Released [May 22, 2020](https://github.com/status-im/specs/commit/664dd1c9df6ad409e4c007fefc8c8945b8d324e8)
Update/waku replace (#114) Introduces Waku in to the relevant places in the specs. * First draft changes to 1-client.md * initial waku replace work on 2-account.md * Rename 3-whisper-usage to waku There may be broken links after this change * Initial update for 3-waku-usage.md * Adjustment to use WHISPER concurrently with WAKU * Converting 'moving away from whisper' section to `why use waku` * Added clarification about Open Whisper Systems X3DH usage * Updated transport privacy, include both whisper and waku * Updated 1-client, language supports concurrent whisper and waku * Updated 2-account.md to be whisper/waku concurrent * Reverted 3-whisper-usage changes, added 9-waku-usage * Complete revert of 3-whisper-usage * revert 3-whisper-usage.md * Fix to 3-whisper-usage.md links * Update docs/stable/1-client.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Removal of personal pronouns from 1-client.md * Update to 5-secure-transport.md * Implemented combined 'whispe/ waku relayer' role * Addressed ambiguous and stale links in 6-payloads * Updated 6-payloads * Fix broken / stale links in 7-group-chat.md * Fixed stale link 8-eips * link fix and todo resolved for 1-client.md * Added 10-waku-mailserver document * Added gitignore * Minor tweaks and fixes * Added Whisper / Waku briding section to 3-whisper-usage * Updated 10-waku-mailserver * Updated 9-waku-usage.md * Made changes to keep Mailserver term consistent * Removed some redundant comments * Removed seemingly vistigual '???' * Including large payload PoW See https://github.com/status-im/status-go/blob/7b6af0a7ccb8e39eeb2ab71ccca9841d75d57416/protocol/message_processor.go#L25-L35 * Changed 'mail server' to 'Mailserver' * Added details about status-options * Implemented final changes before review * Tpyo fix * Removed incorrect reference to topic-interest * removed .gitignore, defer to global_gitignore * Addressing feedback * Revert draft/7 link fix Readdressed in GH-120 * Reverted link fixes for stable/5 Addressing in GH-120 * Revert tpyo fix Addressed in GH-119 * Reverted stable/6 link fixes Addressed in GH-120 * Missed a minor link change * Revert link fix in stable/1 Addressed in GH-120 * Revert tpyo fix in stable/1 Addressed in GH-119 * Revert stable/1 link fix Addressed in GH-120 * Revert stable/2 link fix Addressed in GH-120 * Revert link fix to stable/2 * Revert stable/3 link fixes Addressed in GH-120 * Revert adding missing topic link Addressed in GH-120 * Revert stable/4 link fix Addressed in GH-120 * Revert stable/5 link fix Addressed in GH-120 * Revert stable/8 link fix Addressed in GH-120 * Partial revert of stable/1 node roles * Resolved whispermail reference query See GH-125 * Added changelog and version bump ... Added my name where appropriate and addressed some minor issues * Added consistent capitalisation to 'Whisper' * Resolved jRPC call issue for waku * Updated spelling * Addressing minor feedback issues * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> * Update docs/stable/10-waku-mailserver.md Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com> Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
2020-05-22 14:05:21 +00:00
- Added that Waku SHOULD be used
- Added that Whisper SHOULD NOT be used
- Added language to include Waku in all relevant places
- Change to keep `Mailserver` term consistent