1) Understanding the limits of whisper (with and without optimizations)
## Swarm Participants
- Lead Contributor: @corpetty
- Commited Contributors:
- Suggested Contributors (??):
* Ivan: @divan
* Jakub: @jacob
* Jacek: @arnetheduck
* Mark: @easye
* Adam: @adamb
## Overview
Approach finding the limits of whisper from a rigorous academic approach. See [this](https://hackmd.io/B-W4T1SzSgCAbYS2CfoIPg) for details. We will be using the Skin In The Game (SITG) model for incentivizing the work here. See [this](https://hackmd.io/eqS67u1QSfmZQ3IsgywFkQ) for more details on SITG.
### Description
The concept is simple: We use whisper as a fundamental backbone to Status' communication, but we don't know how much of a load that backbone can support. Since this information does not exist, and there doesn't seem to be other people in the community focused on providing it, we must do it ourselves.
This endeavor outlines the process of systematically and rigorously evaluating the limitations, strengths, and weaknesses of Whisper as a communications protocol. It is then planned to use the results of this study to reason about future improvements of whisper and their prioritization, as well as what whisper's long term role within Status will be.
In an attempt to streamline and incentivize this process, as well as experiment with primitives of a DAO, we will be encapsulating this project with the SITG experiments, which are outlined in the above HackMD docs.
### Requirements & Dependencies
- Whisper Simulator and metrics
## [Milestones](#milestones)
### Milestone 1: Simulation engine completion and metrics definition.
* Completion of [whispervis](https://github.com/status-im/whispervis) and the required stats as laid out in [Overview](##Overview) HackMD doc, which are repeated here as follows:
- test capacity as
- number of nodes
- number of messages/sec
- poisson distribution
- number of connections
- a given message $m_i$ has:
- size of message, $m_{s,i}$
- poisson distribution
- proof of work, $m_{pow, i}$
- ttl, $m_{ttl,i}$
- a given node, $node$, has:
- messages/sec rate, $node_{v,i}$
- poisson distribution
- number of peers, $node_{num\_p,i}$
- poisson distribution
- reputation per peer link (spam)
- dynamic based on devp2p
- which means it can move within a given distribution
* Compeleted paper on whisper scaling, both theoretical and experimental
* Enough information to make a case on how Status uses Whisper, what userbase / message load it breaks at, and what improvements to test to judge viability of Whisper in the future