HushList is a protocol for mailing lists using the encrypted memo field of the Zcash protocol. It supports anonymous and pseudonymous senders, anonymous receivers and Hushlist creators, as well as public and private lists. The HushList protocol can run on any fork of Zcash that has a compatible memo field, though certain advanced features might not be fully supported on all chains. HushList is developed and tested on the Hush mainnet and testnets and is designed to run on any ZEC code fork including but not limited to HUSH, KMD, ZCL, ZEN, VOT, BTCZ and LTZ. HushList is also compatible with Bitcoin Hush BTCH, which is a KMD asset chain.
In addition to the above properties, HushList provides users with censorship-resistant storage and retrieval, since every Hush full node will have an encrypted copy of every HushList memo. Further- more, sending and receiving via one or more blockchains is a serious deviation from traditional server- client design which easily allows a Man-In-The-Middle Attack and Deep Packet Inspection (DPI). Net- work traffic monitoring and correlation is made much harder, because there is no longer a packet with a timestamp and ”selectors” going from one unique IP to another unique IP via a very predictable net- work route.
Zcash [Zcash] is an implementation of the Decentralized Anonymous Payment scheme Zerocash, with security fixes and adjustments to terminology, functionality and performance. It bridges the exist- ing transparent payment scheme used by Bitcoin [Bitcoin] with a shielded payment scheme secured by zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs).
Hush is a fork of the Zcash codebase (1.0.9) which generated it’s own genesis block and uses the Zcash Sprout proving key.
This specification defines the HushList communication protocol and explains how it builds on the foundation of Zcash and Bitcoin.
Keywords: anonymity, freedom of speech, cryptographic protocols, electronic commerce and pay- ment, financial privacy, proof of work, zero knowledge.
Hush