This is the archived Spring 2015 version of the course. For the most recent version, see

Fall 2015 Cryptocurrency Cabal Course

Posted: Tue 09 June 2015

Cryptocurrency Cabal will be offered in Fall 2015. It is listed as a cs4501 (Special Topics in Computer Science) with class meetings Mondays and Wednesdays, 2:00-3:15pm in Olsson Hall 120. The expected background for the Fall 2015 course is having completed cs2150 and cs3102 (or equivalent experience and knowledge in some other way). Exceptions will be made for students who bring some other interesting background or perspective to the class.

This site is all the materials from the Spring 2015 course. The syllabus for this semester's course will change some for the next version of the course, but that page and the rest of the material on this site will give you a good idea what to expect.

If you are interested in joining the course, contact David Evans.

Cryptocurrency Projects

Posted: Mon 04 May 2015

The final projects are now all posted below. Lots of cool projects to look at and try! I hope many of these will continue to be developed over the summer.

[ Analyzing Bitcoin in Practice | Bitcoin Applications | PointCoin Projects ]

Analyzing Bitcoin in Practice

Inside Bitcoin Exchanges

Alex Coffin, Ankit Gupta, Corrigan Blanchfield, and Tara Raj

Project Link
Sankey Visualizer

Bitcoin Address-to-Address Visualizer

This project takes a look into Bitcoin exchanges (Coinbase and Circle) to formulate a methodology by which we can understand how various exchanges operate to better invest in Bitcoin.

In our project we explore strategies such as transaction visualization, taint analysis, fulfillment processes, and pricing models to create an evaluation methodology.

Examining Anonymous Market Places

Max Serpe and Peter Gregrowski

In order to better understand anonymous market places and how they work, we conducted research and hands-on transactions on the Agora Dark Market.

Project (github)

Analysis of Locking Scripts in the Blockchain

Saba Eskandarian

Description: This project aimed to learn about what kinds of unusual scripts are being used in bitcoin transactions and how this has changed over time by creating a script that analyzes the blockchain and keeps track of unusual transactions which are then explorable via a web page and reports of script usage generated by the script.

github (github repo itself)

Bitcoin Price History

Oriana Ngo

An analysis on the events affecting bitcoin market price

Description: Earlier in bitcoin, international events and news stories had a very immediate and significant effect on the bitcoin market price, resulting in high volatility; my project examines this effect to analyze which factors affected bitcoin and the explanation behind it.

Prezi Presentation (Part 2) - Cryptocurrency Reward Block Halving.

In-depth look at one of the past "native" (occurred strictly within bitcoin) and historical events that effected bitcoin price history and was not covered in the timeline. Because another bitcoin halving will occur soon and once again affect the market price, I felt it important and supplementary to include. This part also serves as a prediction for the next halving.

Prezi Presentation (Part 1) - Bitcoin Market Prize History

Report: PDF

Cryptocurrency Survival: A Price Analysis of Bitcoin

Avinash Ramesh

Project Site

This project aimed to understand the factors that affect Bitcoin's price, as well as to examine and understand whether Bitcoin will be adopted in the future.

Subsidy Studies

Jacob Rosenberg and Laurence Meyers

An examination of the economic impact that halving the mining subsidy will have on the popularity and price of Bitcoin.

Presentation (Slides)

Bitcoin Arbitrage

Sam Abbate

Explores the potential for arbitrage opportunity within Bitcoin exchanges, by creating an automated tool to locate and present exchange opportunities with the greatest potential profits.

SHA-256 and Bitcoin

Jeremy Gabalski

An Analysis of SHA256 and the use of ASIC Hashing Hardware on Bitcoin

Presentation (Slides)

Bitcoin Applications


Ori Shimony

A scheme for decentralized communal funds on the blockchain.

Paper (PDF)

Loans and Financial Instruments in the Bitcoin Marketplace

Our project aims to examine the current state of Bitcoin lending, propose changes to the current system, and analyze the application of the Credit Default Swap as a solution to keeping Bitcoin lending anonymous.

Report (PDF)

Mobile Multisignature Wallet

Will Emmanuel and Kevin Hoffman

The first multi-signature Bitcoin wallet for iOS.

Project (github)

Scro - An Escrow Service

Kyle Angelotti and Michelle Wang

Scro is an escrow wallet service that aims to make a safer marketplace for merchants.

Project Link
Code (github)

PointCoin Projects

Kickstarting PointCoin

Jake Shankman

Description: Kickstarting PointCoin aims to remove many of the "issues of trust" present in traditional crowd funding (like Kickstarter and Indiegogo) via the implementation of assurance contracts in the PointCoin protocol; it also serves as a way to expand the uses and appeal of PointCoin beyond standard transactions.

PointCoinJ Wiki


Joey Weate and Charles Harding

Remembar is a Google Chrome Extension that saves your PointCoin address and generates a unique QR code in order to enable quick transactions and facilitate the sharing of PointCoin.

Project (github)


Anat Gilboa and Benjamin Edgar

A cryptocurrency marketplace for PointCoin

Project Site (github)
Demo Site

Final Projects

Posted: Wed 29 April 2015

Final Project Submissions

Your final project submissions are due on Sunday, 3 May at 11:59pm. If you anticipate any problems submitting your final project on time, please contact me by Friday to discuss.

For most teams, I hope your final project submission will be an email with subject line Cryptocurrency Project and cc-ing all of your team members. The email should be plaintext containing:

  1. A title for your project (this is the title I will use on the public page listing all the projects).

  2. A one-sentence description of your project. This should be a clear, well-written sentence that will be enough for someone to understand what you did and why.

  3. A URL that points to a publicly-viewable web page that describes your project. The linked page can (and probably should) contain links to other pages (e.g., a website that is your actual project or a github repo with your project code). For example, the link you send could be a link to or, which is a page describing your project, as well as containing links to the main project site. Please try to put your project site somewhere that will not expire when you graduate from UVa, but that can survive forever.

It is not necessary to submit a separate PDF report, but you may do so if there are things you do not want to put on a public website, or that you think benefit from being written in a more formal way.

Course Feedback

Since I'll be offering a new version of this course in the fall, I would much appreciate your feedback. Indeed, you already agreed to this on the course syllabus:

I will provide useful feedback. I realize that this is a new and experimental course, and it is important that I let the course staff know what they need to improve the course. I will not wait until the end of the course to make the course staff aware of any problems. I will provide feedback either anonymously or by contacting the course staff directly. I will fill out all requested surveys honestly and thoroughly.

There are three possible ways for you to do this:

  1. Arrange (by email or finding me in person) a time to meet with me for coffee/lunch (I'll buy).

  2. Fill out this survey (which can be done anonymously):

  3. Send me an email with your thoughts (including at least one concrete suggestion for what to do next semester).

(You are welcome to do more than one of these, but everyone should do at least one of them!)

Thanks again for all of your contributions to the class, and I look forward to seeing your final projects.

--- Dave

Class 28: Presentations 3

Posted: Mon 27 April 2015

PointList: the PointCoin Marketplace

Anat Gilboa, Benjamin Edgar

Presentation (Google Slides)

PointCoin Pizza — Revamped

Kyle Angelotti and Michelle Wang

Slides (PPTX)


Joey Weate, Charlie Harding

Examining Anonymous Marketplaces

Max Serpe, Peter Gregrowski

Script Analysis in the Blockchain

Saba Eskandarian

Slides (PDF)

Class 27: Presentations 2 (Wed 22 April 2015)

Class 26: Presentations 1 (Mon 20 April 2015)

Final Presentations (Fri 17 April 2015)

Class 25: Proof of Reserve (Wed 15 April 2015)

Class 24: Silk Road (Mon 13 April 2015)

Rest of Semester Survey (Thu 09 April 2015)