Whisper and Anonymity

Whisper is the native messaging tool of the Ethereum network.

The tool allows for communication via the blockchain network for Dapps, but is a somewhat underdeveloped part of the protocol. We can expect it to be built out and utilized more as the Dapp ecosystem matures. Whisper is a useful tool in a variety of applications. It will help form key functions and components for a lot of Ethereum Smart Contracts and to anonymity.

Ethereum transactions, like Bitcoin transactions, are pseudo-anonymous. This means that, while all transactions are public, they only possess cryptographic identifiers. Tying them to actual human identities would require further analysis and extra work. A budding ecosystem of companies are already creating a technology to make Bitcoin transactions more traceable. The attempts are there to strip back any layers of secrecy.

Financial privacy and freedom of financial expression are very important; both matter just as much as the need to reveal and trace real world identities behind transactions. Anonymous mixing is an idea that has been around for some time. The concept consists of a set group that mixes their transaction inputs and outputs.

Whisper makes it possible to do anonymous mixing on the Ethereum network in a decentralized way. It is theoretically possible to anonymize any part of mixing that requires concealment. Having Whisper talk to other wallets in search of other mixing partners would allow for the creation of mixing paths. It is important, at a protocol level, for tools like Whisper to exist in order to help developers build applications that both aid in de-anonymizing and anonymizing.

One approach to trustless mixing that could benefit from Whisper would be to involve ring signatures. These are digital signatures that can be endorsed from any member of a specific group. These proposals allow a coinjoin style mixing among a group of users who wish to anonymize fund transfers.

First, users submit funds from an origin address, along with their public key, to the smart contract. Then, the set of public keys are used to create a ring signature for the desired destination address. Lastly, the smart contract would verify the signature in order for the funds to be distributed into the appropriate address.

With this approach destination and origin addresses would be completely ‘decoupled’ for full anonymity. This is where whisper comes in again since it would be used to assign a topic, allowing the required signatures to be published through its anonymous messaging service.