Skip to content

Instantly share code, notes, and snippets.

Last active May 12, 2019
What would you like to do?

PSS = bzz whispered

pss (bzz whispered) is a swarm network service offering incentivised internode messaging using kademlia based deterministic routing.

phase 0 comes with priorities and an easy to use api exposed to RPC. you can subscribe to messages and peers using geths new pub/sub (available via websockets and ipc).

Swarm kademlia routing implements an efficient unicast address based messaging system. While whisper's architecture offers a nice trade-off between efficiency and anonimity, it is lacking the case when strong anonimity is not required, but predictably low latency transfer is. Public chatrooms, or convo between nodes that do not mind leaking this fact (the content is always safe due to end-to-end encryption).

Swarm's forwarding kademlia is suitable to implement this. As part of core/network track of POC roadmap, we are planning to refactor the bzz protocol. The idea is to

  • pluggable subprotocol components: peer exchange/discovery, swap, sync, retrieval, delivery
  • use kademlia/hive abstraction to serve as backend for a whisper-format wire protocol
  • check if high level API.

By subsuming swarm messaging under the whisper API, we hope to arrive at a system covering the full spectrum of messaging systems with user configurable trade-off between anonymity and latency.

The immediate narrow scope is to establish if the whisper envelope format, wire protocol spec as well as high level API can accomodate swarm messaging.

The broader scope of the proposal is to investigate how other features of swarm can be leveraged to provide a comprehensive messaging.

Benefits of integration:

  • potentially completely anonymous browsing and data retrieval for swarm
  • the availability of deterministic routing (unicast, multicast and broadcast) for messaging dapps with only a config change
  • swap-incentivised forwarding without POW for spam protection for dapps even for proper shh?
  • use swarm ensured storage for preserved messages
  • pss is a subprotocol component (pss is bzz whispered or resolves as postal/payment services on swarm, or potentially silent swarm).

We teamed up with Heiko Hess's brainbot to provide the network layer for Raiden (the ethereum lightning network of offchain payments). The conversation has started and a plan is being spelt out. The third orange paper on payment channels on swap networks is in the making.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment