Bitcoin

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.

Dispute Resolution for Smart Contract-based Two Party Protocols

One central promise of blockchain systems is to mediate interactions of mutually distrusting parties without the need for a trusted third party. SmartJudge is our lightweight framework to extend existing two-party protocols such as fair exchange or cross-blockchain trades with a conditional dispute resolution procedure. The rationale behind SmartJudge is that honest parties can jointly execute a protocol at minimal costs, and simultaneously are fully protected via a conditionally callable verifier smart contract in case of a dispute.

Thwarting Unwanted Blockchain Content Insertion

Since the insertion of illicit content into public blockchains can have severe consequences for users, we explore and discuss the design space for preventing this insertion. Our findings show that firewall-like scanning of Bitcoin transactions poses no viable solution to the problem. However, while content insertion cannot entirely be prevented by technical means, self-verifying blockchain identifiers make currently simple manipulations hard. Finally, the introduction of mandatory minimum fees can be used to disincentivize content insertion additionally.

Secure and anonymous decentralized Bitcoin mixing

CoinParty is a fully decentralized and thus secure Bitcoin mixing service. Our work uses threshold cryptography to combine the adavantages of centralized and decentralized mixers: high usability and strong security guarantees.