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.