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.
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.