  Bitcoin was the first successful decentralized cryptocurrency and remains the
most popular of its kind to this day. Despite the benefits of its blockchain,
Bitcoin still faces serious scalability issues, most importantly its
ever-increasing blockchain size. While alternative designs introduced schemes
to periodically create snapshots and thereafter prune older blocks,
already-deployed systems such as Bitcoin are often considered incapable of
adopting corresponding approaches. In this work, we revise this popular belief
and present CoinPrune, a snapshot-based pruning scheme that is fully compatible
with Bitcoin. CoinPrune can be deployed through an opt-in velvet fork, i.e.,
without impeding the established Bitcoin network. By requiring miners to
publicly announce and jointly reaffirm recent snapshots on the blockchain,
CoinPrune establishes trust into the snapshots' correctness even in the
presence of powerful adversaries. Our evaluation shows that CoinPrune reduces
the storage requirements of Bitcoin already by two orders of magnitude today,
with further relative savings as the blockchain grows. In our experiments,
nodes only have to fetch and process 5 GiB instead of 230 GiB of data when
joining the network, reducing the synchronization time on powerful devices from
currently 5 h to 46 min, with even more savings for less powerful devices.
