Waku and the future of Ethereum messaging
Tags: Ethereum, Ethereum Blockchain, Messaging, Status, Messenger

Waku and the future of Ethereum messaging

I’m actively using Status crypto messenger (my name there is cryptotexty.stateofus.eth in case you want to speak with me there). So my interest in Status and crypto messaging brought me to Waku.

A month ago Vitalik Buterina congratulated Waku as Whisper successor with update, the full update quoted in that tweet you can read here.

Firstly let’s define the differences between names and terms. As Oskar Thoren, the protocol research lead at Vac says:

1) Vac is the modular protocol stack for p2p secure messaging, paying special attention to resource-restricted devices, privacy, and censorship resistance.

2) Waku (and currently there is Waku v2) is the transport privacy/routing aspect of the Vac protocol stack. It sits “above” the p2p overlay, such as libp2p dealing with transports etc, and below a conversational security layer dealing with messaging encryption, such as using Double Ratchet etc.

3) Whisper was part of the holy trinity of Ethereum (Ethereum for consensus/computation, Whisper for messaging, and Swarm for storage).

Whisper didn’t get the attention it deserved and development decreased. Despite this, Status used it in its app from around 2017 to 2019. It was one of very few, if not the only, production uses of Whisper.

Vac grew out of our efforts Status to create a window on to Ethereum and secure messenger.

Vac team forked Whisper into Waku and formalized it with a proper specification, solving immediate bandwidth issues for light nodes, introduced rate limiting for better spam protection, improved historical message support, etc.

The main implementation of Waku is written in Nim using nim-libp2p, which is also powering Nimbus, an Ethereum 2 client.

Before Waku can be used in Status, it needs to be integrated into the main app using the Nim Node API. The bridge also needs to be implemented and tested.

It’s interesting to note that Status is using also a modified version of Signal’s Double Ratchet and X3DH key exchange for encryption and forward secrecy. I know and use Signal messenger for long time, but I didn’t know that the part of their technology is used in Status.

In Status app, Waku v2 is used for human to human messaging, but in future Waku can be used for generalized messaging, i.e. — machine to machine messaging.

Many of use know the prediction of the bigger rise of AI and IoT so it’s not different to imagine, that Wake can be used in such communications as:

Multisig transfers only needing one on chain transaction

DAO votes only needing one one chain transaction

Giving dapps ability to direct push notifications to users

Giving users ability to directly respond to requests from daps

Decentralized Wallet Connect

For the future of Ethereum messaging more infrastructure is needed, such as Wallets (Argent, Metamask, Status, etc) and Dapps that benefit from M2M messaging. In addition there should be more users who will benefit from such services.

Therefore we need to move adoption forward to the next level. And Status messenger is one of the engines of this adoption, which is easy to use even for non-crypto users. The biggest challenge I see in the fact, that the each particular adopter (person) in in the circle where most of his contacts use facebook, telegram, viber, whatsapp, wechat, etc. So it is necessary to take the brave step and brake that circle! Brake and bring your contacts to the Status, firstly — to messaging app, and then to the whole crypto ecosystem.

And last, but not least — Vac team is looking for Waku JS Wallet integration lead.

You can find more information and team contacts on the web-site https://vac.dev/