Liam Morris

Master's Thesis

Anonymity Analysis of Cryptocurrencies


Cash in the real world allows for parties to exchange currency without the need to go through some sort of central authority. One person, Alice, can simply hand cash over to another person, Bob. In this transaction the only two people that have knowledge of this exchange are Alice and Bob. Until recently there was no electronic equivalent to this exchange. In 1982 David Chaum proposed a system of anonymous electronic cash based on blind signatures, and in 1990 founded DigiCash as an electronic cash company. There were a few banks that implemented electronic cash systems, but these banks and DigiCash ultimately went bankrupt in 1997 and 1998 despite the enthusiasm surrounding anonymous electronic cash. Between 1998 and 2008 there were no successful implementations of electronic cash that offer a decentralized, anonymous, and untraceable system.

In 2008 a paper was published by Satoshi Nakamoto on the cryptocurrency known as Bitcoin. A cryptocurrency is a form of electronic cash backed by mathematical and cryptographic constructs, unlike traditional currency which was historically backed by gold or silver. Cryptocurrencies have seen rising popularity in recent years due to their decentralized, distributed, peer-to-peer protocols. Part of this rising popularity is also attributable to the supposed anonymity of these protocols; however, due to the public transaction history required for these protocols and the fact that transactions are pseudonymous and not purely anonymous, this supposed anonymity does not exist. While the systems may achieve the goal of decentralized currency it does not achieve the goal of untraceability. In this thesis we analyze the technical implementations of Bitcoin and other cryptocurrencies to determine the level of anonymity provided by these protocols. We also analyze proposed improvements for their feasibility.




Completed final draft of thesis. Added a section comparing Litecoin graph to random graphs. A brief section about Bitcoin economics has been added. Mixcoin section has been lengthened a bit. SHA-3 has been included in cryptographic background, and Chaum e-cash section has been expanded.


Added a section to cryptographic background describing accumulators. Both RSA and ECC accumulators are discussed. A section on commitment schemes, with the Pedersen scheme discussed in particular. The technical details of Bitcoin and Litecoin have been fleshed out to include specific values relevant to their operation. Analysis of Litecoin transaction graph has been added. Zerocoin details have been expanded as well. Zerocoin performance analysis has been done, including benchmarking RSA vs ECC accumulators.


Update after long break (full time job finalization, moving plans, packing up from school, etc.). I've added a section on stealth addresses and discussed its feasibility/usability.


Finished Litecoin analysis, added code to GitHub repo and added relevant sections to thesis. Initial code had an error when duplicates were present, which has since been fixed and is reflected in the repo. The code prints out information about entities such as average number of addresses, maximum number of addresses, and other statistics.


Began initial analysis of Litecoin transaction graph. Investigated ways to determine which transactions have multiple inputs.


Proposal submitted to and accepted by department.


Proposal revised and sent out to committee for further feedback.


Initial draft of proposal completed and sent out for feedback.


Sources collected for use in proposal, expanding on sources used for preproposal.


Preproposal has been submitted and accepted.