Star 0

Abstract

Bitcoin provides a new vision for online payments based on a decentralized public transaction ledger. Unfortunately, Bitcoin and its descendants suffer from anonymity issues because much can be learned from the transaction-graph induced by this ledger. In this paper we propose a new approach to improving anonymity in financial systems based on decentralized public ledgers. Our protocol, which we call Zerocash, builds on the previous Zerocoin work of Miers et al. Unlike Zerocoin, which acts as a decentralized 'laundry', we show how to build a complete and working anonymous currency on top of the Bitcoin network. Specifically, Zerocash allows users to transact in a fully-anonymous manner without disclosing a payment’s origin, destination, amount, or links to other payments. Moreover, our protocol is orders of magnitude more efficient than Zerocoin, and is even competitive with Bitcoin. We achieve these results by leveraging recent advances in zero-knowledge Succinct Non-interactive ARguments of Knowledge (zk-SNARKs), as well as a new e-cash protocol. Finally, we implement our techniques and demonstrate that they can be deployed in practice.