CS 499
CS499: Blockchain and Cryptofinance
George Mason University, Computer Science, Spring 2024
Instructor: Prof. Foteini Baldimtsi (foteini@gmu.edu)
GTA: Huseyin Gokay (hgokay@gmu.edu)
Office Hours: Prof. Baldimtsi: Wednesdays 1:30PM-3:00PM, Engineering 5333
GTA: Thursdays 1:00pm - 2:00pm, Engineering 4456
Lectures: Monday & Wednesday 3:00PM-4:10PM, Location: Innovation Hall, Room 204
Course Summary
This class will serve as an introduction to the exciting new world of blockchain technologies. We will start our journey by studying the basic cryptographic and distributed systems concepts that are in the basis of cryptocurrencies. Then, we will see in details how some of the most popular cryptocurrencies work. We will start from Bitcoin, study how bitcoins are generated/mined, how transactions are being made and how the blockchain makes it possible to keep everything secure, fast and reliable without depending in any ``trusted party'' such as a government or a financial institution. Then, we will discuss Ethereum and other modern blockchain systems. We will also look at smart contract technology that enforces the automated execution of electronic commitments among parties without the need for a mediator. Finally, we will explore further applications of blockchain such as identity management or distributed data storage.
Prerequisites: No specific prerequisites. Familiarity with networks, security and cryptography will be helpful. There will also be some programming assignments and students should be familiar with programming in C, Java or another language.
Required Materials
Optional TextBook: Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder. Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, Princeton University Press, 2016. (Required). Freely available here.
There will also be on-line news articles and research publications that you will be required to read and present during lectures.
Grading
Homeworks: 40% (4 assignments that will require both programming and problem solving. Two late day tokens without point reduction. No points will be given for late HW submissions after the use of late tokens.)
Quizzes: 15% Weekly in-class electronic quizzes (on Gradescope), every Wednesday (2 lowest grades dropped)
Final Project: 45% (You will work on a group project (2-3 students per group) in blockchain technologies with a writeup/coding part and in class presentation. Project topics will be finalized by the end of February and final presentations will take place during the last 2 weeks of classes. The written/coding component will be due on the week of finals. There is an option to work on a single student project after permission from the instructor.)
Communications: We will use piazza to communicate with you. You are welcome to use Piazza to set up study groups, to post interesting blockchain related articles you read about, or to discuss course material with other students. If you have a question about the course you should: (a) Come to office hours, OR (b) Post to Piazza. You are welcome to post to Piazza anonymously, but please don't use private posts to ask technical questions. The rest of the class is probably also interested in your question, so make it public!
Ethics: You have to read and follow the GMU honor code.
Class Schedule: TBD