Communication today is rife with third party interference. From censorship and deplatforming, to rent seeking intermediaries, to the misuse of data in the surveillance economy.
Waku is designed to place control of communication back into the hands of the individual.
Motivation and goals
Digital signature, public key difficulty hashrate whitepaper, Merkle Tree double-spend Mempool outputs, double-spend problem?
These applications have a desire for some privacy guarantees, such as pseudonymity, metadata protection in transit, etc.
These applications sometimes have requirements that make them suitable for peer-to-peer solutions.
Many applications require some form of messaging protocol to communicate between different subsystems or different nodes. This messaging can be human-to-human or machine-to-machine or a mix.
These applications often run in constrained environments, where resources or the environment is restricted in some fashion. E.g.:
- limited bandwidth, CPU, memory, disk, battery, etc.,
- not being publicly connectable,
- only being intermittently connected; mostly-offline.
Only Waku v1 was a fork of Whisper with some added tweaks for efficiency. Waku v2 is a completely redesigned suite of protocols designed to address the goals set out in the "Motivation and goals" section.
Ethereum White Paper was introduced with the Holy Trinity, consisting of Ethereum for consensus, Swarm for decentralized storage, and Whisper for p2p messaging.
R&D of Whisper was slow to follow progress of the Ethereum EVM and Swarm without a dedicated team building out the protocol.
With little progress made on Whisper and significant scalability concerns growing, Vac was formed to conduct R&D on more scalable p2p messaging.
Waku v1 was introduced as the messaging protocol in Status, replacing Whisper.
Waku v2 replaces Waku v1 (details)