52

It's admittedly a very general question, but I've heard "Whisper" mentioned in several places when reading about certain DApps.

I understand it allows peer-to-peer messaging of some kind, but what are the purposes of these messages, and who is it that they're passing between? Is it a way for DApps or contracts to communicate, or something else?

3 Answers 3

49

Whisper is a part of the Ethereum P2P protocol suite that allows for messaging between users via the same network that the blockchain runs on.

There are many uses, some of which are listed on the wiki

The protocol is seperate from the blockchain, so smart contracts do not have access.

Whisper has existed in a sort of alpha, working-prototype state for some time now. It can be enabled by using the -shh flag in geth, but nodes do not relay the messages by default, so chances are that messages won't get through unless you are directly connected to the recipient. API documentation can be found on github.

2
  • 1
    Is this statement still true: "nodes do not relay messages... chances are that messages won't get through unless directly connected" ?
    – Saad Malik
    Jul 6, 2018 at 2:35
  • Whisper is still not turned on by default, AFAIK, but enough nodes may hev it enabled that it is practical to use. You'd have to test it out and/or ask in gitter.im/ethereum/whisper Jul 6, 2018 at 16:46
1

From here

  • Whisper provides decentralized peer-to-peer messaging capabilities to the Ethereum network. It is an identity based messaging system

  • It is a communication protocol that DApps use to communicate with each other. The data and routing of messages are encrypted within Whisper communications.

  • It makes use of the DEVp2p wire protocol for exchanging messages between nodes on the network. Moreover, it is designed to be used for smaller data transfers and in scenarios where real-time communication is not required.

  • It is also designed to provide a communication layer that cannot be traced and provides dark communication between parties. Blockchain can be used for communication, but that is expensive, and a consensus is not really required for messages exchanged between nodes. Therefore, Whisper can be used as a protocol that allows censor-resistant communication.

  • At a considerable cost of bandwidth and latency, whisper is able to deliver a 100% dark operation. By completely dark operations mean that there is zero leakage of metadata during peer-to-peer communication

  • Any normal communication protocol's main purpose is to maximize the bandwidth and minimize latency. However, whisper as a communication protocol has only one goal: to nullify leakage of metadata and achieve true darkness, where no third party can eavesdrop while two peers are communicating. For this, whisper is willing to give up on both bandwidth and latency constraints.

  • Whisper messages are ephemeral and have an associated time to live (TTL)

1

Update, per Ethereum's current documentation:

Whisper was a protocol that aimed to deliver secure messaging between peers without writing any information to the blockchain. It was part of the DevP2P wire protocol but is now deprecated.

Waku networking layer was linked as a current replacement for Whisper.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.