status-im / specs

Specifications for Status clients.
https://specs.status.im/
MIT License
14 stars 14 forks source link

Initial Transport Privacy through Whisper Specification #14

Closed oskarth closed 5 years ago

oskarth commented 5 years ago

This should give an overview of the transport privacy layer through Whisper. It should also mention requirements such as Devp2p (plus possible workarounds like libp2p mirror (side note)).

It should be structured in such a way that Whisper is an implementation detail, and it can be replaced by another spec, such as use of PSS, or Tor, or local network, or mixnet, etc.

We have a great start with @adambabik's document.

See https://github.com/status-im/specs/blob/master/x8.md for current draft.

Acceptance criteria

In terms of who will judge, it'll be 2-3 main groups initially:

Questions spec should answer

Properties such as:

Privacy

Sender Anonymity Recipient Anonymity Particip. Anonymity Unlinkability Global Adv. Resistant Usability

Contact Discovery No Message Delays No Message Drops Easy Initialization No Fees Required Adoption

Topology Independent No Additional Service Spam/Flood Resistant Low Storage Low Bandwidth Low Computation Asynchronous Scalable

Example technologies

Store-and-forward for mailserver Messaging broadcast for Whisper Specifically mention blockchain and how messages are not on blockchain but uses same devp2p stack

oskarth commented 5 years ago

FYI updated @adambabik

oskarth commented 5 years ago

Additionally, possibly separate, elaborate on mailserver system model and client pov https://github.com/status-im/status-react/blob/develop/src/status_im/mailserver/core.cljs

oskarth commented 5 years ago

Largely done; closing as no longer relevant. If we want to do further QA of specs, I suggest we do this through more specific issues.