Whisper
Modern-day hacking and surveillance skills have advanced to such an extent that the hackers do not even need to intercept the actual message while it is travelling through a secured channel. They can guess the information carried by the message by just studying its shadow. By the shadow of a message, we mean the metadata logs and audit trails a message leaves while it is travelling via a channel.
To better understand such attacks, imagine you live in a big city where rents are very high. So, you find an old flat owner downtown who is willing to give you one room for rent, which is within your budget. The only problem is that the rail tracks run too close to your walls. Each night, you can feel the rumbling of your creaky bed when any train passes by. If you are a keen observer and think like a hacker, it would be quite easy for you to get familiar with each kind of train passing you every night, just by knowing the amount of time your cranky bed trembles once a particular train passes. The time band of the bed trembling becomes the signature of a particular train. You might even be able to predict, with a certain level of accuracy, whether the train that passed at a given time was the same train that passed last night or a different train, just by observing this signature property. What if the railway company realizes this and seals the surrounding of the tracks with thick concrete tunnels, which then absorb all the shock and tremors due to trains? Will you be able to identify the signatures even then? Think about it, because light reveals shadow when obstructed, while darkness doesn't.
When Gavin Wood laid down the specifications for whisper as a peer-to-peer communication protocol, in his whitepaper on GitHub (https://goo.gl/bR5fBZ), he designed one of the most interesting technologies in the field of cryptography. At a considerable cost of bandwidth and latency, whisper is able to deliver a 100% dark operation. By completely dark operations, we mean that there is zero leakage of metadata during peer-to-peer communication.
By technical definition, whisper is a messaging system with multi distributed hash table (DHT), with routing privacy acting as a companion protocol to the Ethereum blockchain. Any normal communication protocol has a fundamental aim to maximize bandwidth and minimize latency. However, whisper as a communication protocol has only one aim: 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 operates in a user-configurable manner with regard to how much information the communicating nodes are willing to leak concerning the decentralized application content that ultimately tracks the user activities.
Whisper is based on two key concepts: messages and envelopes. If whisper is considered a datagram messaging service, then an envelope represents an un-encrypted data format, comprehensible by a node, which carries the encrypted message datagram inside it. An envelope consists of original time to live (TTL, in seconds), the absolute time to expiry (UNIX system time), the encrypted message data field, which is the actual payload, topics (cryptographically secure, probabilistic partial classifications of message), and nonce, an arbitrary value. This nonce is used for the PoW to judge the efforts of a peer. The message has a binary flag for signature with an unfixed payload.
Figure 2.9 illustrates these two concepts for further clarity: