CS590P Secure Distributed Systems


Prof. Brian Levine
3 credits; Spring 2017

Mon/Wed 2:30PM - 3:45PM
Integ. Learning Center N101
And online through UMass CPE

Syllabus [pdf]


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 value).

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.

  • Applied cryptography
    • elliptical curves, hashes, etc.
  • Distributed Systems
    • lamport’s byzantine general’s result, paxos
    • Fischer, Lynch, and Paterson (FLP) result bounding consensus in distributed systems
    • Doucer’s Sybil attack result
    • Nakamoto’s consensus algorithm
    • Proof of stake versus proof of work
    • Side chains
  • Probability
    • Gambler’s Ruin problem (probability)
    • Hashrate estimation (first order statistics)
    • Selfish Mining (markov models)
  • Networking and network security
    • bitcoin’s p2p network
    • Ethereum (GHOST/rewards system)
    • Anonymous networking and bitcoin
    • New architectures for scaling
    • Mixing/privacy
  • Data Science
    • Analyzing the blockchain (clustering activities of users)
  • Finance
    • basic overview of economic metrics
    • basic overview of financial instruments (derivatives, etc)
    • Speculative attacks
    • software contracts (ethereum mainly here)
  • Law
    • Are digital currencies money? a commodity?
    • criminal activity on bitcoin

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.