Sidebar: trust. Some people in the Bitcoin community use terms such as “trust minimization” or “trustlessness” as a goal. This might sound backwards ‐‐‐ don’t we want systems that we can trust to operate correctly? The word trust has different meanings which might cause this confusion. When Alice lends Bob ten dollars and says she trusts him, she means that she thinks he’s a trustworthy person, and that she has confidence that he’ll pay her back. In the security context, a trusted component is one that you’re forced to be reliant on. When people use the word trusted to describe Certification Authorities, they mean that online security guarantees would be void if such authorities misbehaved. “Trust minimization” is a worthwhile goal in the sense that other things being equal, we want to build systems with fewer components that we’re reliant on for security. But when you have a hammer, everything looks like a nail, and Bitcoin enthusiasts often get carried away with removing trusted components from systems. A trusted component is not always bad, and the existence of a real‐world trust relationship is certainly not a problem by itself. Removing trusted components might also have other non‐obvious drawbacks. We’ll elaborate on these points in the final section, but for now, having noted the complexity of the word trust, we’ll seek to avoid it and instead talk about security, a less ambiguous word. The Framework To summarize this chapter up this point, we can characterize proposals for decentralizing a wide variety of things by asking four questions: 1. What is being decentralized? 2. What is the level of decentralization? 3. What block chain is deployed? 4. What security mechanism does it use? With answers to these four questions, we can succinctly represent almost any of the proposals that we see in the Bitcoin community for block‐chain‐based decentralization. Let’s consider a few examples. Example: Smart Property 1. What is being decentralized? Property ownership and trading 2. What is the level of decentralization? Disintermediation 3. What block chain is deployed? Bitcoin’s block chain 4. What security mechanism does it use? Atomicity 301
Smart property, as we’ve seen, decentralizes the notion of property ownership and transfers of ownership. It achieves complete disintermediation — it eliminates the need for entities like the DMV or the state. We saw how to realize it using Bitcoin’s block chain, but you could certainly use an alternative block chain. And finally, the key security principle that we used was atomicity in tying together the payment with the transfer of the car ownership. Example: Decentralized Prediction Markets 1. What is being decentralized? Prediction market 2. What is the level of decentralization? Competition, disintermediation 3. What block chain is deployed? Altcoin 4. What security mechanism does it use? Reputation, atomicity In a centralized prediction market, the centralized platform or exchange performs at least two crucial services: arbitrating the outcome of each event being wagered on, and selling shares to participants (or facilitating participants to securely trade with each other). The decentralized prediction market that we saw in Chapter 9 does away with the need for a central authority for both of these features. It allows anyone to create a market for an event and be its arbiter by sending a simple transaction, lowering the barrier to entry for performing this function. Thus, intermediaries still exist, but users a free to choose from a set of competing intermediaries, and if the user is still unhappy, they can always perform this function themselves. On the other hand, users directly trade shares with each other atomically, so this function of the central authority has been disintermediated. Decentralized prediction markets require new functionality not present in Bitcoin itself, and are thus naturally implemented through a customized altcoin with its own block chain. Example: StorJ 1. What is being decentralized? File storage and retrieval 2. What is the level of decentralization? Competition 3. What block chain is deployed? Bitcoin 4. What security mechanism does it use? Reputation StorJ is a proposal by Greg Maxwell for file storage and retrieval. It has evolved over time, but we’ll discuss a simple version of it. At a high level, StorJ deploys an “agent” that lives in the cloud and is programmed to make certain decisions on its own. For example, it can rent cloud computation and storage to give itself computational resources. Another feature it provides to users is the ability to store a file for a certain period of time, say 24 hours, in exchange for payment in Bitcoin. It will keep hosting the file as long it keeps receiving payment. Beyond simple storage, it can do a number of interesting things we will not consider here. Within our framework, StorJ decentralizes file storage and retrieval, which are the core features of centralized services like Dropbox. The agent is an intermediary; it doesn’t matter for our purposes that it is automated. However, there can be 302
competition among intermediaries. Payment is done with Bitcoin, but there is no atomic link between the agent performing its services and the payments it receives, so security is a matter of the agent’s reputation. Example: Zerocoin 1. What is being decentralized? Mixing of coins 2. What is the level of decentralization? Disintermediation 3. What block chain is deployed? Altcoin 4. What security mechanism does it use? Atomicity Zerocoin, which we discussed in Chapter 6, is effectively a method for decentralizing the mixing coins to achieve anonymity. Instead of using a centralized mixing service, Zerocoin realizes a cryptographic protocol that is functionally equivalent to using a mix but uses no intermediaries at all — only math and consensus. The relatively heavy cryptography needed in Zerocoin (and its successor, Zerocash) means that a separate block chain is the far more feasible route. As for the security mechanism, recall that the notion of burning a basecoin and getting a zerocoin in exchange for it are atomically coupled through the same transaction; and similarly for later redeeming a zerocoin. This is an example of atomicity. 11.4 When is Decentralization a Good Idea? In this chapter so far, we have focused on the technical challenges of achieving decentralization. Now we’re going to delve into questions of motivation. These questions are non‐technical but often they’re just as difficult to answer: Is decentralization a good idea? Is it economically feasible? What are the social consequences to decentralization? Until now, we have used the term decentralization as a technical concept without being explicit about the fact that it is politically charged. When we talk about replacing traditional systems fully or partly with technological alternatives, we are really talking about redistributing power from well‐established legal, social and financial institutions. Thus the idea of decentralization stems from Bitcoin’s roots in the cypherpunk movement — a movement begun by nonconformists dreaming of cryptography’s ability to empower individual autonomy. With the block chain, this ideal appear closer than ever. But is this ideal feasible or desirable? Returning to our running example, there are two problems that the traditional institutions try to solve for car owners. The first is enforcing ownership, or essentially, preventing theft. The second is ensuring secure exchanges, or preventing someone from being ripped off during a sale. So to analyze how smart property fares compared to the existing system, we have to look at not just how efficient things are when everything goes right, but also, crucially, how bad things can get when something goes wrong. 303
The challenge of real‐world security Defending against any form of theft — cars, art, money, etc. — is an exercise of prevention, detection and correction. Preventive security mechanisms try to stop theft before it happens, while detection mechanisms ensure theft is perceived so potential corrective measures can be taken to revert the damages of the theft and to punish the perpetrator (which could also serve as a deterrent to committing theft). Car locks and alarms are preventive mechanisms, while GPS tracing units (such as LoJack) can assist in detecting the theft and enabling law enforcement to recover the stolen car. The key insight is the car lock is just one small piece of deterrence to car theft — one piece of a large, intricate system involving police, insurance companies, courts, etc. If you lived in a lawless environment, a car lock by itself wouldn’t be much of a deterrent to theft. Leaving your car locked on the street would ensure that it would be quickly stolen. The model we have seen for smart property relies heavily on preventive mechanisms. We were able to achieve decentralization only because we equated possession with ownership — owning a car is essentially equivalent to knowing the private key corresponding to a designated transaction on a block chain. But this control mechanism is a poor replacement for our current mosaic of institutional support, as we’ll explain. If we reduce ownership to the problem of securing private keys, it raises the stakes for digital security, which is a difficult problem with humans being a weak link. Programmers have endeavored to write bug‐free code for decades, but the challenge remains elusive. Designers of cryptosystems have tried for decades to get non‐technical users to utilize and manage private keys in a way that resists both theft and accidental loss of keys, also with little progress. If the model of decentralization relies excessively on private keys, cars might get stolen by malware or in phishing attacks, and the loss of a key might turn your car into a giant brick. While there could be fallback mechanisms to cover these types of events, inevitably such mechanisms tend to lead us back toward intermediaries and centralized systems, chipping away at the benefits of the decentralized model that we were striving for. Another area of property transfers that is fundamentally human‐oriented is dealing with disputes that might arise over the terms of sale or other aspects of the transfer. If the real world, if the participants cannot reach a resolution, the issue will end up in court where a judge will methodically examine each bit of evidence, testimony, and written words to reach a nuanced ruling about the validity of the sale. It is tempting, particularly for technical people, to think of the law as a set of logical rules or algorithms that can produce a clear‐cut ruling. However the reality of the legal system is that not only are laws and contracts verbose, they are ultimately subject to human interpretation and discretion, which is further removed from the notion of clear‐cut logical rules. This is not a weakness. It allows resolving situations that are far more complex than what was anticipated by the individuals writing the law. 304
To drive home the mismatch between the security properties we get from the decentralized model and the security properties that we actually want, let’s revisit the earlier example of decentralized crowd‐funding. We saw a technical mechanism to ensure an entrepreneur cannot cash out on investments until the contributions sum to some pre‐specified amount. However, this by no means prevents an entrepreneur who has successfully raised the funds from absconding with the money! In fact, even with the current centralized model, there have been numerous alleged scams on crowd‐funding sites, resulting in several lawsuits. In a model where entrepreneurs are potentially anonymous and there is no deterrent effect from the threat of being sued, this problem is likely to be far worse. It is hard to imagine that there could be a technical solution to this problem. This is another case where the technology is only solving a small part of the problem, and frankly, not even the interesting part of the problem. To recap, the interesting problems with smart property seem to be social problems, issues that arise when something goes wrong. Technology can ensure a very efficient transaction when all parties are satisfied, but it is not well‐positioned to solve thorny disputes. The pros and cons of smart property As argued, smart property has difficulty decentralizing the aspects of a system that traditionally require human intervention. In fact, automation may even make it more difficult by not composing well with mediation and other processes if they are layered on after the fact. Finally, it may create new categories of problems, such as requiring software security in addition to physical security in the case of a car. These examples are, to a certain extent, cartoon versions of what a thorough proposal for smart property might look like. Many proposals in the Bitcoin community are more nuanced, but even in our simple setting, we can discern the advantages and disadvantages of smart property. The main advantage of smart property is the efficiency of ownership transfer, which can be done from anywhere at any time. For sales of items less valuable than a car, maybe a smartphone or computer, disputes are unlikely to end up in court, and so nothing is lost in that regard. For such items, atomic transactions are a useful security feature. Smart property through block chains also provide greater privacy, and even anonymity. While we’ve argued that it complicates dispute resolution, privacy is also beneficial in a society where consumer data is used by companies in ways that are unseen and likely unintended by making the purchases. In some cases, it might be important for the parties to a transaction to not disclose their identities, which is not feasible in a centralized intermediated model. Finally, the decentralized model allows mediators to be chosen. Even if we are content with the legal system, often disputes are mediated by private companies like Visa or PayPal behind closed doors using a method that is hard to scrutinize. By using an alternative model where such mediation is 305
opened up to competition, we can potentially bring more transparency and public oversight to the process. Crypto, the state, and the big opportunity There is a striking parallel between the emergence of the modern state and the goals of the technology we have discussed in this chapter. In scaling society up from tribes and small groups, governments have had to confront precisely the problem of enabling secure commerce and other interactions between strangers. The methods may be very different but the goal is a shared one. While a maximalist vision for decentralization might involve dismantling the state, this is not really viable vision, especially when others who share our democracy want one. However, decentralization through technology is not necessary in opposition to the state at all. In fact, they can be mutually beneficial. For example, assuming well‐identified parties, transfers of smart property can use the block chain for efficient transfers and still use the court system if there is a dispute. We think the big opportunity for block‐chain technology is implementing decentralization in a way that complement the functions of the state, rather than seeking to replace them. It is tempting to think that things will get decentralized simply because the technology exists. But in practice, there needs to be a compelling economic reason, such as government regulation that is particularly onerous or inefficient, or a power imbalance that could lead to abuse. As one illustration of this, people in various African countries have adopted cell phone minutes as an ad‐hoc currency that is outside of state control and less subject to abuses of power. To summarize, we’ve shown the technical blueprint for decentralization in this chapter, and also critically examined the motivations behind decentralization. We encourage you to look for compelling use cases of decentralization, in particular ones that integrate into existing legal and regulatory practices. 306
Conclusion to the book Some people are excited about Bitcoin because of the underlying technology. Others are excited about its commercial possibilities, and yet others about its social and political implications. Reasonable people can disagree about the latter two, but we hope this book has convinced you that technologically, Bitcoin is deep, novel, interesting, and based on sound principles. Beyond Bitcoin there is a fascinating world of alternative cryptocurrency designs that we’re just starting to explore, some of which might one day be more important than Bitcoin itself. We got into Bitcoin because we believe in the power of its technology, and we think it’s deeply connected to the rest of computer science. While we’ve highlighted how seemingly amazing new technology can struggle to displace established institutions, we believe that in the long run, people will continue to find new commercially and socially useful things to do with cryptocurrency technology. Even if your interest is primarily commercial, you’d do well to master the underlying technology — understanding its power and limitations will help you better weather the market’s hype cycles. We’ll end with a few words about where to go from here. One of the best things about decentralization is that it’s a great platform for experimentation and learning. Anyone can download and analyze Bitcoin’s block chain, or build their own applications on top of it; we hope you’ll take advantage of these opportunities. We’ve created a number of online materials that complement this text. Our Coursera course contains video lectures that mirror the contents of this book. It also has quizzes and a series of programming assignments. Taking the course will also give you access to the forums where you’ll find a community of like‐minded learners. While the first draft of this book is complete, it is a work in progress. We’re watching developments in areas such as Ethereum, and whenever a body of scientific knowledge develops around a new area, we will release additional chapters. Check our course website! 307
About the authors Arvind Narayanan (Ph.D. 2009) is an Assistant Professor of Computer Science at Princeton. Narayanan leads the Princeton Web Transparency and Accountability project that aims to uncover how companies are collecting and using our personal information. He also leads a research group studying the security, anonymity, and stability of Bitcoin and cryptocurrencies. His doctoral research showed that data anonymization is broken in fundamental ways, for which he jointly received the 2008 Privacy Enhancing Technologies Award. You can follow him on Twitter at @random_walker. Joseph Bonneau is a Technology Fellow at the Electronic Frontier Foundation and Postdoctoral Researcher at Stanford. In addition to researching Bitcoin and cryptocurrencies he has worked on passwords and web authentication, secure messaging tools, and HTTPS for secure web browsing. He received a PhD from the University of Cambridge under the supervision of Ross Anderson and an MS from Stanford under the supervision of Dan Boneh. Earlier he was as a Postdoctoral Fellow at CITP, Princeton and he has previously worked at Google, Yahoo, and Cryptography Research Inc. Edward W. Felten is a Professor of Computer Science and Public Affairs at Princeton, and the founding Director of the Center for Information Technology Policy. In 2011‐12 he served as the first Chief Technologist at the U.S. Federal Trade Commission. His research interests include computer security and privacy, and technology law and policy. He has published more than 100 papers in the research literature, and two books. His research on topics such as Internet security, privacy, copyright and copy protection, and electronic voting has been covered extensively in the popular press. Andrew Miller is a computer science PhD student at the University of Maryland, and previously received his M.S. degree from the University of Central Florida. He has studied cryptocurrencies since 2011, and has authored scholarly papers on a wide range of original research, including new proof‐of‐work puzzle constructions, programming languages for block chain data structures, and peer‐to‐peer network measurement and simulation techniques. He is an Associate Director of the Initiative for Cryptocurrencies and Contracts (IC3) at Cornell and an advisor to the zcash project. Steven Goldfeder is a PhD student in the Department of Computer Science at Princeton University, advised by Arvind Narayanan. He is a member of the Security & Privacy Research Group, a CITP Graduate Student Fellow, and a National Science Foundation Graduate Research Fellow. His research interests include cryptography, security, and privacy, especially decentralized digital currencies. His current work involves increasing the security of Bitcoin wallets. Jeremy Clark is an Assistant Professor at the Concordia Institute for Information Systems Engineering in Montreal. He received his PhD from the University of Waterloo in 2011, where he applied cryptography to designing and deploying verifiable voting systems, including Scantegrity — the first use of an end‐to‐end verifiable system in a public sector election. He became interested in Bitcoin in 2010 and published one of the first academic papers in the area. Beyond research, he has worked with several municipalities on voting technology and testified to the Canadian Senate on Bitcoin. 308
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308