Status Documentation
Secure messaging compendium
Starting point
Read this message.
Whisper
Talks and specs
In general, some of the links are dated 2015 whereas the protocol has moved to version 6 by now..
- EIP-627 - Vlad Gluhovsky’s proposal to document the protocol. There’s some interesting discussion in the PR thread about supporting multiple topics per message - now a parity extension (
psh
) - Whisper PoC Protocol spec - this looks like one of the most detailed accounts of the thinking that went into whisper
- Whisper Proposal - Ethereum Wiki - some high-level overview and background discussion
- Whisper Overview - Ethereum Wiki - Useful section on use cases describing the effect of supplying different combinations of keys and encryption
- DEVCON1: Shh! Whisper - Gavin Wood
- DEVCON3: Whisper: Achieving Darkness - Vlad Gluhovsky, Guillaume Ballet
- Scuttlebutt talks
Status notes and usages
- Call notes, Vlad/Status
- Status whisper research - V5-V6 difference, status implementation notes and what status needs the procotocol for
- Open issues brainstorming - round-table on what whisper pain points are held with our Whisper devs (2018-04-18)
- Messsage spec, clojure
- Protocol background work doc
- Status wiki whisper docs, including V5/V6 comparison
- How-status-uses-whisper thread
- Mail-server topic-vs-bloom discussion
- JS usage example - how to post a message to the chat
Push notification
- Push notifications v2 - idea for the next iteration of PN
- Whisper push notifications - this looks like the most recent one (?)
- Push notification market
- Where we are at
- Original proposal
PSS - postal service over swarm
- Swarm PSS - architectural notes, crucial quote:
Optionally routing can be turned off, forcing the message to be sent to all peers, similar to the behavior of the whisper protocol.
PSS = bzz whispered - initial PSS idea description
PSS hacking - Group chat using mutable resources from Mainframe / PSS
Related ETH projects
- Mainframe - Swarm/PSS user?
- Bloom - whisper use-cases
- Origin - distributed log-based messenger, as well as an IPFS-based replicated log database
Secure messaging - Non-ethereum
- Building a secure messenger - EFF
- Tox - distributed secure chat, DHT-based P2P lookup with lots of clients
- Briar - messaging app employing several censorship-resitance techniques, like direct device-to-device comms (bluetooth, wifi), tor routing,
- FireChat - mesh comms, closed source
- Wire - Open source messenger with lots of transparency around security
- Vuvuzela - metadata-leak-resistant chat protocol / application, also alpenhorn that takes care of contact setup / key exchange
- cwtch - extension of the Ricochet protocol that provides asynchronous, offline and multi-party metadata resistant messaging
- Scuttlebutt - open source, p2p replicated ledgers. 3 year old ecosystem, in active use. Offline friendly. Recent Android app (runs peer instance) https://manyver.se
Security / encryption
- X3DH - key exchange protocol for async comms with an intermediary server involved
- On Ends-to-Ends Encryption: Asynchronous Group Messaging with Strong Security Guarantees - Continuation of Signal Double Ratchet
- Megolm - An AES-based cryptographic ratchet intended for group communications
Alternate protocol
- Salsify - real-time Internet video that jointly controls a video codec and a network transport protocol
PSS Open issues
- Mutable resources, how to find last message? binary search?
- Swap incentives?