Building Secure, Private, Reliable Messaging
A dedicated Status swarm has formed to conduct R&D of a new scalable, secure, and decentralized messaging protocol. The open source effort will collaborate closely with the Web3 Foundation and Validity Labs.
"Status strives to be a secure communication tool that upholds human rights. We enable community money, community law and through privacy, preserve culture."
The Importance of Private Messaging
"Dialogue is constitutive of human being. It is our primary means of expressing relationship - the first site of any possible transaction between you and I. Being able to express oneself without fear - to enter into transactions with whom you want according to terms you can agree on directly - is a requirement for free speech. If dialogue informs how we become human, then how freely one can speak defines the kind of humanity to which it is possible to aspire." - Andy Tudhope
What we say to one another, how we find each other, and the ways in which we choose to interact cannot be controlled by intermediaries if we are to consider ourselves 'free' in any meaningful way. As we become more reliant on third parties in our daily lives, the need for private, censorship resistant communication grows more important.
This is precisely why we are committed to censorship resistant protocols, which are a direct reflection of our principles. The Whisper protocol is currently a foundational element to the product and is used in private (1:1) messaging, private group chats, and public channels.
More than a Chat
It is very important to understand what we mean when we talk about messaging and communication. A common misconception when one hears the term “message” is to think of chat alone. A message is in fact so much more than this.
A message is an exchange of information. Consider all the types of information a message can transport. A message can transport information about money transfer, enabling the exchange of value. A message can be the signature of a contract, engaging one in law. A message can even trigger a hardware operation, bridging the material world with the digital.
So when we speak of a scalable messaging protocol, it is crucial to understand that this refers to much more than human readable content, but rather any exchange of information.
Whisper - A 10,000ft Overview
Whisper was an early solution for the messaging layer of the web3 stack. It enables many of the required features to be considered a viable web3 messaging protocol including:
- Peer-to-peer in that it uses Ethereum’s ÐΞVp2p wire protocol to gossip messages around the network.
- Multicast as, when I want to send a message to Bob, I actually broadcast that message to basically the whole network, though it is encrypted with the intended recipient’s public key, or the #topic of the public chat for which it is intended.
- End-to-end encrypted since it uses its own public-private key pairs to encrypt messages. It supports both symmetric and asymmetric encryption.
- Darkness in that it does not leak metadata and because clients rebroadcast even messages intended for them until the ttl is up making it extremely difficult to identify unique senders and receivers.
Outgrowing the Current Protocol
While this is a very rudimentary explanation of Whisper, one can see straight away that the intention for secure, private, and censorship resistant messaging is present. However, the first Whisper spec was written by Gavin Wood in 2014 during the early days of Ethereum. A lot has changed since then and the required work to keep up with the rapid growth and development of the ethereum ecosystem is simply not possible without a dedicated team.
Not only have the needs of DApp developers changed over time, but the understanding of scalable solutions to base layer problems has evolved - giving us a better understanding of how to approach such protocols. Since the initial Whisper spec, there was not and has not been rigorous testing and scrutiny of the protocol. And development of the protocol itself was not at the pace of the blockchain or the focused DApp teams now using it.
With dedicated resources and a wealth of knowledge across the ecosystem, now is the perfect time to revisit this layer of the ethereum stack and ensure it is built to handle decentralized messaging at scale.
Collaboration is Key
We are proud and excited to be collaborating on the effort to create at least one viable implementation, specification and a theoretical analysis of a new decentralized messaging protocol along with Web3 Foundation and Validity Labs.
Together, we will research building a messaging protocol which delivers the following (as called out by the recent Web3 Foundation post):
Ensuring Metadata protection:
- Sender Anonymity (who sent a message?)
- Receiver Anonymity (who read a message?)
- Sender-Receiver Unlinkability (who is talking to whom?)
- Reasonable Latency (< 5 seconds, to allow for Instant Messaging)
- Reasonable Bandwidth (not specified, ability to work with mobile data plan in undeveloped countries)
- Adaptable Anonymity (adjustable pricing and resource consumption depending on how anonymous you want to be)
- Scalable (up to ~1M active nodes, preferably more)
- No Specialized Service Providers (pure peer-to-peer protocol)
Incentives to achieve mass adoption:
- Incentivization for relayers
This is a long term project with with goals well past the immediate needs of the Ethereum ecosystem. There are a lot of unknowns when beginning work on a protocol such as this. Therefore, the aim is to have this ready around the same time Ethereum 2.0 rolls out en mass.
A Dedicated Status Team
Status is built on the foundation of secure, private, censorship resistant messaging. While the application will continue to use Whisper in its current spec, we will continue to research improvements and new methods of delivering private, secure messaging. We also have a dedicated team focused on the R&D of a new messaging protocol. One of the priorities of this swarm will be collaboration with W3F and Validity Labs.
The goal of Status is not only to serve as a messaging tool in the most extreme conditions, but also to enable scalable communication in all its forms (transacting and also interacting with the growing ecosystem of DApps). The swarm is formed and has already made good progress in its research. The goals of the swarm as outlined below can also be found in Github:
- Create a set of open protocol(s) for secure communication that reflects our principles.
- Produce an open, independent protocol specification can be audited, tested independently and implemented in many languages.
- Work with other teams in the Ethereum, Web3, decentralized web and secure communication space to ensure maximum interoperability and a high quality specification that other actors take seriously.
- Use a layered protocol approach that is mindful and explicit about what it requires, what it provides, under what threat models, and with what trade-offs.
- Enable implementation of clients to participate in the Status Network, and work with teams such as Status Core, to find a graceful path to implement and integrate the new set of protocols.
The swarm is currently working on a data replication/sync layer with the goal of providing an 'in-between layer' that synchronizes data over delay-tolerant p2p networks. Details can be found in GitHub and Discuss.
The Status team is currently in Brussels for a workshop to brainstorm and share early findings around the protocol research.
The dedicated Status swarm will be posting regular updates on progress. This is an open source, community initiative.
For resources and to get involved: GitHub
Status - #status-protocol