Krawisz-Mastersreport-2017
Total Page:16
File Type:pdf, Size:1020Kb
DISCLAIMER: This document does not meet current format guidelines Graduate School at the The University of Texas at Austin. of the It has been published for informational use only. Copyright by Daniel Gregory Krawisz 2017 The Report Committee for Daniel Gregory Krawisz Certifies that this is the approve version of the following report! "nonymity in Bit$oin and Bitmessage "%%R&'(D B) *+%(R',*,-G C&..,TT((! */pervisor! Vijay Garg William Bard "nonymity in Bit$oin and Bitmessage by Daniel Gregory Krawisz, B1"12.1"1 Report Presented to the Faculty of the Graduate School of The University of Texas at Austin in Partial Fulfillment of the Requirements for the Degree of .aster of Science in Engineering The University of Texas at A/stin .ay 2017 Dedication Dedicated to my cat, Lemon. "$knowledgements I thank Adnan Aziz, my first supervisor, for putting up with me I thank Vijay Garg and William Bard for supervising this proje!t I thank the people at "onetas and #tash, who supported my work on bmd, and the people at "y!elium, who supported my work on Shufflepuff. I thank my mother, Jane Kennedy, for her help and support. v ththth "bstract "nonymity in Bit$oin and Bitmessage Daniel Gregory Krawisz, M.S.E. The University of Texas at Austin, 2017 Supervisor: Vijay Garg )his report des!ribes two proje!ts !reated $y the author whi!h are based on ideas whi!h originate from the Bit!oin !ommunity )he first, bmd, is a re*implementation of the Bitmessage proto!ol in go. Bitmessage is an anonymous and se!ure messaging system invented $y 'onathan Warren, who was inspired $y the design of Bit!oin's p2p network. [WA../0 )he se!ond is #hufflepuff, an implementation of a protocol !alled CoinShuffle-.233/0 whi!h allows several people to !onstruct a Bit!oin transa!tion with an input and an output for ea!h parti!ipant without any parti!ipant knowing who owns whi!h output CoinShuffle was invented $y )im .uffing et al, and it is an upgrade of a protocol !alled CoinJoin, invented $y Gregory "axwell )his paper dis!usses the ba!kground, properties, appli!ations, and design of bmd and #hufflepuff. )here is also a report of a performance analysis on bmd. vi ththth Table of Contents 6ist of Figures i5 Chapter 1 Fundamental Concepts / Anonymity / 7roof-of-Work , Chapter 2 Prior Work 8 Comparison to PG7 8 Comparison to Freenet 9 Comparison to Bit!oin : Chapter 3 Justifi!ation /< 2ses of Bitmessage /< =igital Cash and Open Transa!tions // >pen Transa!tion Voting Pools // Chapter 4 Engineering /A )he Bitmessage Protocol /A Bitmessage and IMA7 /8 =esign of bmd /9 bmd and bt!d /: Chapter 5 Performance Analysis of bmd /B Chapter 6 Shuflepuff ,, Anonymity in Bit!oin ,, vii ththth Bit!oin Tumblers ,; 'oin Transa!tions in Bit!oin ,? =es!ription of CoinShuffle ,A )he TakerD"aker Model ,8 )heoreti!al Contributions ,9 Chapter 7 Artifi!ial Intelligence and Priva!y ,B Conclusion ;/ .eferences ;, viii ththth 5ist of Tables )able 1: "emory Usage of bmd ,8 i5 ththth Chapter 1! Fundamental Concepts "-&-).,TY In !omputer networking, anonymity means that it is infeasi$le for a passive atta!ker to link any two messages together as a single identity Anonymity is a subje!t whi!h is both poorly*understood and di4!ult to provide properly )he reason it is so di4!ult is that no one !an hide in a va!!uumF one must hide among other people Anonymity as a servi!e must therefore be provided $y many people to one another, all of whom wish to be anonymous It is inherently a social phenomenon, and therefore it is inherently compli!ated.[DIAG, S@.'] )he first person to publish a!ademi! papers on anonymity in a !omputer networking !onte5t was =avid Chaum-1H1, 1H,0 His two !lassi! papers are very different from one another and together they provide a good !onceptual overview of anonymity. His first paper, I)he =ining Cryptographers 7roblemJ, showed that a network !ould provide a maximal level of anonymity with a synchronized protocol that allowed one bit to be transmitted anonymously per round. He showed that it was possi$le for one member in a group to broadcast a message without leaking any information about who it was 3or an outside observer, the sender !annot be distinguished among n people, and for a parti!ipating observer, the sender is hidden among n-1 people (be!ause he knows if he is the sender). )his is the maximum degree of anonymity that !ould be a!hieved with n people Be!ause this protocol is synchronized, it is not pra!ti!al for real*world networks )his is unfortunate be!ause the author doubts that it is possible for a non-synchronized / network to avoid leaking some information. )hus, for larger networks, the problem be!omes one of leaking the least amount possible rather than leaking none in a way that is prova$le beforehand. )hus, real*world anonymity to serve many people appears to be much more about engineering than mathemati!s )he general strategy of any anonymity network is to spread any information enough that no node is likely to be a$le to re!onstruct the behavior of any identity on the network. ChaumMs other paper[CH,0 was about a much more pra!ti!al system that !ould provide anonymity allowing a lot of nodes to randomly mi5 signals It !ontained no mathemati!sF it simply argued that if a message is routed through a random set of a large number of servers, the message ought to be very di4!ult to tra!e )his is the basis for the )or network, whi!h is a large non-synchronized anonymity network, e5!ept that Tor routes I7 conne!tions rather than email only -=ING0 )his paper is about two proje!ts !reated $y the author whi!h are designed to provide anonymity >ne of them, #hufflepuff, e5ists to provide anonymity in Bit!oin transa!tions It uses a synchronized protocol !alled CoinShuffle, whi!h means that it !an provide strong guarantees of anonymity, but is limited to networks with fewer people. )he se!ond of these, bmd, implements a messaging protocol !alled Bitmessage-WA../0 Bitmessage is not a synchronized protocol, so it is !apable of serving a much larger network. PROOF-OF-WORK "ost of the ideas in this paper grew out of ideas originally proposed $y the Cypherpunks, a mailing list whi!h was a!tive from the late /B:<s to the early ,<<<s )he Cypherpunks were individualists who wanted to evade government oversight =avid Chaum is !onsidered to be their progenitor 7roof-of-work was an idea originally , proposed on the Cypherpunk mailing list $y Adam Ba!k.[BA1(/0 )he idea of proof-of- work is to show an expended cost in a cryptographi!ally se!ure way. A !ost function is a function that takes a !ost parameter 5 and a message m and produces a message mM that has a verifiable expe!ted !ost !K5L to !reate from m 3or e5ample, suppose that H is some cryptographi! hash function and m’ ≅ nOm, where n is a nonce whi!h is !hosen so that H(mML is less than a given value 5 )his is the simplest way to implement a !ost function. Be!ause a !ryptographi! hash function is supposed to a!t like a one-way function whose output is indistinguishable from a random string, a !omputer that re!eives message mM !an !onclude that it !ould not have been produced without trying nonces until one was found that produced a valid hash value By adjusting the cost parameter, one can make a valid nonce more or less di4!ult to find. )he appli!ation originally proposed for !ost functions was as a spam filter A given email address would have a !ertain di4!ulty associated with it, and any email whi!h did not have a suffi!iently di4!ult proof-of-work atta!hed would be automati!ally dis!arded without being read. A sender who was not suffi!iently interested in attra!ting the attention of the re!ipient to evaluate the work function would simply not send an email in the first pla!e A spammer depends on being able to send large numbers of emails !heaply in order to benefit from the small fra!tion of people who read them A tiny individualized per*message !ost would affe!t him a lot more than it would affe!t someone who only wanted to send personalized messages A proof-of-work filter is an appli!ation of the handi!ap principle-GA1], whi!h is an idea that !omes out of evolutionary theory It says that a believa$le message must !ome at a verifiable !ost to the sender )his idea has been tested mainly in mating ; displays, though its theoreti!al appli!ations are potentially much greater )here are game* theoreti! models that show this to be a sta$le strategy under !ertain !ircumstances -GRA3/0 Bitmessage uses proof-of-work for spam prevention. Be!ause anonymity and !onfidentiality are design goals of Bitmessage, the nodes must !ommuni!ate without knowing much about one another and therefore !annot automati!ally expe!t reliable information from one another A bitmessage node must be able to limit the !omputational power it expends to the messages most likely to be meaningful, but it !annot look at the !ontent of the majority of the messages )herefore, Bitmessage nodes transmit the messages they re!eive based on the proof-of-work string atta!hed to them >nly those messages worth the !ost to the senders are sent into the network.