CoinPrune: Shrinking Bitcoin's Blockchain Retrospectively

In this paper, we present the full design of CoinPrune, our block-pruning protocol that is retrofittable to Bitcoin via a velvet fork. This work extends our initial paper presented at IFIP Networking 2020 by enabling CoinPrune to obfuscate most objectionable content stored in the UTXO set and introducing an additional store for application-level data. Furthermore, we extend our security discussion, our discussion of related work, we updated our performance evaluation, and we released a prototype implementation of CoinPrune. #

How to Securely Prune Bitcoin's Blockchain

This paper presents CoinPrune, a protocol for block pruning that is fully compatible to Bitcoin and therefore allows for gradual deployment. CoinPrune allows joining nodes to bootstrap using a state, which has been advertised on the blockchain recently, instead of having to download and verify all blockchain data. We maintain Bitcoin compatiblity by implementing CoinPrune as a velvet fork, i.e., instead of rejecting invalid state advertisements, we solely rely on positive state reaffirmations by multiple miners. Our evaluation shows users can reduce their synchronization times from 5 hours to 46 minutes using CoinPrune, while downloading only 5 GiB instead of 230 GiB of blockchain data as of October 2019.

Utilizing Public Blockchains for the Sybil-Resistant Bootstrapping of Distributed Anonymity Services

We present AnonBoot, an architecture for securely bootstrapping anonymity services seizing a public blockchain as a trust anchor. Through periodic peer advertisements, we create a Sybil-resistant repository of privacy peers that can be directly utilized to establish circuits for onion routing networks, or that can be elected to establish small distributed anonymity services such as mixnets or cryptotumblers. Our proof-of-concept implementation shows how AnonBoot can operate even on simple public blockchains such as Bitcoin.