Messaging for Web 3.0: Building an Anonymous Messaging Protocol

This blog post details the community initiative to bring messaging to Web 3.0.

Private, decentralized messaging is a core component of our collective vision of Web 3.0. A few teams have joined together to develop a much-needed solution: a decentralized, privacy-preserving messaging protocol. Want to get involved? This initiative is open to the community. Read more and join the discussion:

Motivation

Projects in the current decentralized application landscape are struggling to achieve mainstream adoption. The blockchain ecosystem has yet to have its “Netscape moment.” We believe that the underlying protocols upon which decentralized applications (dApps) rely do not have sufficient capability to enable broad adoption. One element of the problem is that dApps often require the exchange of transient messages (meaning they last only for a short time, and disappear). However, because of their immutable properties and privacy characteristics it does not make sense to transmit these transient messages via a blockchain. Gavin Wood realized this problem in the early days of Ethereum, and suggested that dApps would require a decentralized messaging protocol that would provide this capability. This protocol is called Whisper.

Unfortunately, despite the rapid advancement of dApps the evolution and adoption of Whisper has been stunted. The lack of development to meet the needs of the blockchain ecosystem means that Whisper is not able to provide the scaling dApps require. At the same time, it is not feasible for projects to create their own bespoke messaging protocols. What the ecosystem needs is a new protocol to handle transient messaging at scale. We believe that the vision of Web 3.0 and the ability for dApps to go mainstream necessitates us building a new, decentralized privacy-preserving communication protocol.

Project

We would like to gather a number of projects together to align and support this protocol:

  • Researchers
  • Academia
  • Web 3.0 projects
  • Protocol implementers
  • Core dev teams from Web 3 space
  • Application builders
  • User messaging application
  • State channels
  • Latency-agnostic streaming protocols
  • Other applications requiring transient messaging

The goal is to end up with at least one viable implementation, specification and a theoretical analysis of the protocol properties.

The Web3 Foundation (W3F) has started gathering requirements and aligning on goals, meeting with a number of projects to better understand what the needs are.

Contributors

Requirements

Ensuring Metadata protection:

  1. Sender Anonymity (who sent a message?)
  2. Receiver Anonymity (who read a message?)
  3. Sender-Receiver Unlinkability (who is talking to whom?)

Convenience, Usability:

4. Reasonable Latency (< 5 seconds, to allow for Instant Messaging)

5. Reasonable Bandwidth (not specified, ability to work with mobile data plan in undeveloped countries)

6. Adaptable Anonymity (adjustable pricing and resource consumption depending on how anonymous you want to be)

Decentralization:

7. Scalable (up to ~1M active nodes)

8. No Specialized Service Providers (pure peer-to-peer protocol)

Incentives to achieve mass adoption:

9. Incentivization for relayers

We would like to leverage libp2p for networking while ensuring at least one implementation is fully runnable in the browser by leveraging Javascript and Wasm.

For a more detailed description of requirements, view the GitHub repository.

Get Involved

We are organizing a workshop before FOSDEM, so get in touch if you are interested in this effort. Join the discussion on GitHub and Riot.