Mon/Wed 2:30PM - 3:45PM
Integ. Learning Center N101
And online through UMass CPE
|This is a class devoted to the study of securing distributed
systems, with decentralized digital currencies serving as our real
platform of interest. Examples of such decentralized systems include
Bitcoin and Ethereum, which are both open source, the subject of great
academic interest (hundreds of papers), and supporting an enormous
user base (not to mention holding hundreds of millions of dollars in
We'll start with the fundamentals of Lamport's, Fischer's, and Douceur's results that fence-in consensus systems, including blockchains. We'll also look at the efficiency of the network architectures for peer-to-peer communication and attacks on their security (e.g., eclipse and other denial of service attacks). And we'll review applied crypto such as elliptical curves (used to validate transactions). Other topics include privacy and attribution, economics and finance, and crime.
In many ways, our goal is to explore this broad collection of topics in security, network, and distributed systems with blockchains being the common thread that allows a cohesive structure. You'll learn a lot in this class that is applicable well beyond bitcoin and blockchains.There will be no textbook. There will be about 6 assignments, all focused on programming but some focused on probability. You must have experience with programming of about a sophomore or junior. We'll have two exams. We'll read a number of articles, and several of my own in-class notes/memos.
Here is a high-level overview of topics.
Last year, I offered the class for the first time; this will be an updated version, but students can't take the course twice for credit.