Anonymous Accounting for Decentralized Systems

of “Anonymous Accounting for Decentralized Systems” by C. Chris Erway, Ph.D., Brown University, May 2011 Peer-to-peer systems have been proposed for a wide variety of applications, such as file-sharing, distributed storage, and distributed computation. These systems seek the benefits of a decentralized design—chiefly, the ability of a system to self-scale as new participants join, since participants are motivated to contribute resources that o set the added workload they generate. Decentralization also o ers improved fault-tolerance and user privacy, because no central authority is responsible for orchestrating or recording peer interactions. However, these beneficial system properties are at risk from selfish participants. While many peer-to-peer systems provide incentives for encouraging participation, past work has shown that these mechanisms can be gamed by selfish peers that consume resources while providing little or none in return. For example, the pairwise reputation scheme used by BitTorrent applies only in the short term of a single download; new peers must be bootstrapped by altruistic service. A currency-based accounting system provides fungible, long-term incentives for participation that persist beyond the limited scale of a single download or pairwise interaction. However, currency raises a number of privacy and systems concerns arising from the infrastructure required to support it. For example, a “bank” must check and count currency, which presents a potential performance bottleneck and privacy concern. In the digital world, the privacy of peer interactions can be preserved through the use of anonymous, cryptographically secure electronic cash (e-cash). This thesis shows that e-cash is a practical technique for ensuring fairness, robustness, and better long-term incentives in decentralized systems. It investigates how to build systems that anonymously account for three di erent resource types—bandwidth, storage, and computation— through the application of protocols for cryptographic fair exchange and e-cash, and how to mitigate the overhead involved in doing so. As a proof of concept, this thesis introduces Cashlib, an opensource library for e-cash; ZKPDL, a programming language that speeds both the performance and development of cryptographic implementations; and FairTrader, a currency-based file sharing system that uses e-cash to provide long-term, reliable service for users. Anonymous Accounting for Decentralized Systems by C. Chris Erway B. A. , Cornell University, 2002 Sc. M. , Brown University, 2006 A Dissertation submitted in partial fulfillment of the requirements for the Degree of Doctor of Philosophy in the Division of Computer Science at Brown University Providence, Rhode Island May 2011 c • Copyright 2011 by C. Chris Erway This dissertation by C. Chris Erway is accepted in its present form by the Division of Computer Science as satisfying the dissertation requirement for the degree of Doctor of Philosophy. Date John Jannotti, Director Recommended to the Graduate Council Date John Jannotti, Reader Date Anna Lysyanskaya, Reader Date Roberto Tamassia, Reader Approved by the Graduate Council Date Peter M. Weber, Dean of the Graduate School