Cryptographic Design of Pricloud, a Privacy-Preserving
Total Page:16
File Type:pdf, Size:1020Kb
Page 1 of 21 Transactions on Dependable and Secure Computing IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 1 1 2 3 Cryptographic Design of PriCloud, 4 5 a Privacy-preserving Decentralized Storage 6 7 with Remuneration 8 9 10 Henning Kopp, David Modinger,¨ Franz J. Hauck, and Frank Kargl Member, IEEE 11 12 Abstract—Over the last years, demand for file hosting has sky-rocketed due to cost reductions and availability of services. However, 13 centralized providers have a negative impact on the privacy of their users, since they are able to read and collect various data about their 14 users and even link it to their identity via their payments. On the other hand, decentralized storage solutions like GNUnet suffer from a 15 lack of participation by providers, since there is no feasible business model. We propose PriCloud, a decentralized storage system which 16 allows users to pay their storage providers without sacrificing their privacy by employing anonymous storage smart contracts and private payments on a blockchain. We are able to provide privacy to the users and storage providers, and unlinkability between users and files. 17 Our system offers decentralized file storage including strong privacy guarantees and built-in remuneration for storage providers. 18 19 Index Terms—Distributed Storage, Peer-to-Peer, Applied Cryptography, Blockchain, Privacy 20 F 21 22 23 24 25 1 INTRODUCTION are only due for fulfilled storage promises, while retaining 26 unlinkability of a stored file and its payment. Compared to Cloud storage systems, such as Dropbox, are in use by the 27 centralized systems, PriCloud provides sender and receiver general population for years now. Although providing a 28 anonymity, censorship resistance and possiblity to mitigate a financially viable service, privacy often plays only a minor 29 single point of failure. role in these systems. The identity of users can be revealed by 30 their e-mail address, payment information or IP addresses. 31 Central providers are often incentivized to disregard pri- 1.1 Contribution 32 vacy to improve efficiency, e.g., via file deduplication or This paper is an extended version of a previous presentation 33 personalized services. Another drawback of a centralised of our scheme [3]. We provide a more detailed description of 34 file storage is the lack of smaller competitors, creation of the linkable ring signature scheme and its security properties, 35 a single point of failure, as well as a lack of censorship as well as the security definitions of the proof of storage 36 resistance, as accounts can be suspended without appeal. we use. Further, this exposition provides a more extensive 37 Privacy improvements are important, as storage solutions are comparison with related work and discusses requirements 38 used to store privacy-sensible documents such as password on other abstraction layers beside the blockchain layer. The 39 lists, tax or banking information. Further, storage solutions contributions of our work can be summarized as follows: 40 may be used by whistle-blowers and journalists for critical • We propose a novel design for a privacy-preserving 41 documents. decentralized storage system which allows for privacy- 42 Privacy-friendly decentralized storage solutions exist, e.g., preserving payments. 43 GNUnet [1] and Freenet [2], in which the storage is provided • Our privacy-preserving payment mechanism on the 44 by other participants of the network. They lack financial blockchain is based on the cryptographic constructions 45 incentives for participants to contribute storage, leading of ring signatures and one-time addresses to provide 46 to the so called free-riding problem: Users are consuming unlinkability and untraceability of transactions. 47 storage capacities but are unwilling to provide storage • To incentivize file storage and retrievability, we make 48 themselves. As payments provide privacy risks, adding a use of proofs of storage and provide a formal analysis 49 payment scheme is non-trivial. of the incentives for serving files. 50 The lack of a financially viable alternative for a decentral- • Finally, we discuss additional considerations for abstrac- 51 ized storage system led to the creation of PriCloud, a novel tion layers beside the blockchain, e.g., the network layer. 52 peer-to-peer storage system, where users are remunerated for their contribution of resources [3]. PriCloud uses a 53 1.2 Paper Outline 54 blockchain-based token system to enable financial incentives 55 for those participants who provide storage to other users. Section 2 introduces the relevant notation used throughout 56 Unlike previous storage solutions, our system makes use of this paper. Section 3 provides an overview of the mechanics cryptographic techniques to enable private payments which of blockchain-based digital currencies. In Section 4, we 57 guarantee unlinkability and untraceability of transactions. introduce the PriCloud system focussing on the contract 58 Storage contracts in the blockchain ensure that payments mechanics and privacy mechanisms for payments. Section 5 59 60 Transactions on Dependable and Secure Computing Page 2 of 21 IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 2 1 discusses differences and improvements of PriCloud com- A coinbase transaction has no inputs but an output which 2 pared to similar systems. The description of PriCloud focuses grants the miner of this block a predetermined amount of 3 on the abstraction layer of blockchains, but for the system Bitcoins. In order to encourage miners to persist transactions 4 to remain private, additional requirements need to be met in blocks, these can be equipped with a transaction fee, which 5 on other layers. These are discussed in Section 6. Section 7 will be awarded to the miner including this transaction. 6 concludes our work. If two different new blocks are found at the same time, 7 this situation is called a fork. In this case the miners continue to mine on one of the chains chosen at random, until one of 8 2 NOTATION them is longer, which is then considered the valid chain. 9 We write a A(x) to assign to a the output of running the If blocks contain invalid transactions, e.g., they have a 10 randomized algorithm A on input x. With a A(x; r) we wrong signature, spend money which has already been spent 11 denote the deterministic result of running A on input x and before or from a block relying on an invalid block, miners 12 the fixed randomness r. We say that an algorithm A is ppt if reject that block. Consequently, miners are incentivized to 13 it runs in probabilistic polynomial time. With Zp we denote persist only correct information in the blockchain. 14 the residue classes of the integers Z modulo p 2 N. If an adversary changes old transactions already persisted 15 We say that a function f is negligible if for all positive in the blockchain, the hash of the block changes thus breaking 16 polynomials p there is a natural number N 2 N such that for all references to this block. In order to convince the other 17 all n > N it holds that jf(n)j < 1=p(n). Throughout the text, miners of the validity of this chain, it needs to grow longer ` 18 f 2 ZB with B 2 N denotes a file viewed as a vector with than the current chain. In a naive analysis, the adversary • 19 chunks f1; : : : ; f` 2 ZB. With the symbol f0; 1g we denote needs to control over 50% of the hashing power of the 20 the Kleene closure of f0; 1g, i.e., the set of arbitrarily long network to extend his chain fast enough. This is considered 21 finite bit strings. infeasible. The strongest attacker under which Bitcoin is 22 secure is still subject to research. 23 Concluding, a blockchain is a distributed database with- 3 BACKGROUND 24 out a trusted third party. The persisted data is replicated 25 The first truly decentralized payment system, not requiring at each participant and a consensus protocol decides what 26 a third party, was Bitcoin [4], where double spending, i.e., data is persisted. Further, the incentive structure and the 27 spending the same money twice, is prevented by a set of validation rules are built in such a way that only correct 28 so-called miners voting with their computational power information is persisted. Applications of blockchains beyond 29 on the validity of transactions. This design was copied in decentralized currencies include secure and fair multi-party 30 numerous other blockchain-based decentralized payment computations [9], [10], [11] and smart contracts [12], [13]. systems [5] and is also used in our system. This chapter gives 31 an overview of this design paradigm. 32 Bitcoin uses the notion of transactions, which are repre- 4 THE PRICLOUD SYSTEM 33 sented as a data structure of one or more inputs and one or 4.1 Overview 34 more outputs. Each input refers to a previous output which 35 is to be spent by this transaction. The output contains the The goal of PriCloud is to provide a distributed storage 36 public key of the receiver, i.e., its identity, and the amount system with financial rewards for its storage providers, 37 of money to be transferred. The input contains a signature and strong privacy protection for participating users. We 38 corresponding to the public key in the referenced output. implement our file storage with anonymous payments based 39 The signature acts as a proof of possession of a secret key, on a blockchain enhanced with anonymised money transfers 40 and therefore authorization to spend the referenced output. and storage contracts, so that no information is leaked by the 41 After creating a transaction the sender broadcasts it into payment method.