CompSci 461/661
login

CompSci 461/661

General

Instructor: G. Andrew Stone (gastone@umass.edu): Office Hours on Tues by appointment (send a message on Piazza) or via Zoom (813 149 9032) any day most times (PM me on Piazza).

Syllabus

TAs:
David Thibodeau dpthibodeau@umass.edu
Juan Altmayer Pizzorno jpizzorno@umass.edu

Graders:

Classroom:
461: Tues 2:30PM - 3:45PM: Computer Sciences Building 140
661: Tues 4:00PM - 5:15PM: Computer Sciences Building 140 (remote students use Zoom meeting: https://umass-amherst.zoom.us/j/92771831987)

Discussion: Piazza
Assignment Submission: Gradescope Course Entry Code: 7XJYPJ
Midterm: In class Oct 21
Final: BOTH SECTIONS: 12/16/2025, Tuesday 3:30PM - 5:30PM CompSci room 142
For the Midterm and final you may bring a 8.5x11" doublesided HANDWRITTEN by yourself, NOT PRINTED, cheat sheet. If it is too big I will make it smaller. If it is not handwritten I will take it before the exam.

General Reference Materials:

Bitcoin (UTXO) blockchain Concepts
Math
Ethereum

In Class Notes and Recordings

Week N notes
461 Recordings
661 Recordings

Weekly Process

Each week we’ll follow the same pattern:

  1. Skim the written materials.
  2. Watch the video, which is an overview of the written material. It does not replace them!
  3. Read through the written materials in detail.
  4. Come to class prepared for discussion with questions remaining from what you read, and ready to answer questions from your instructor. Discussion is not a repeat of the videos. It moves deeper on the video topics, and new material will be introduced! Attendance is mandatory!

Week 8: Oct 21 Midterm

Week 6: Oct 1-7 Block Propagation

Efficient Block Propagation Lecture Video
Bloom Filter Lecture Notes
Invertible Bloom Lookup Table (IBLT)
(661) Graphene Paper
(461) Graphene short paper

Week 5: Sept 24-30 Bitcoin Networking, Eclipse Attacks, and Distributed Clock Synchronization

We are going to use short excerpts from “Distributed Systems: Principles and Paradigms” by Andrew S. Tanenbaum and Maarten Van Steen. Fortunately, the entire text is available for free! Just give any email address to the author’s web site and they’ll send you a PDF.

Please read:

  • Section 6.1: Clock Synchronization (no need to read the Berkeley algorithm or about wireless networks)
  • Section 6.2: Logical clocks

Later in the semester, we’ll use the text for another topic.

Reference

Purely optional reading for the course, but if you are interested, here is the original Lamport paper:

Week 4: (Sept 17-23) Elliptic Curve Crypto

elliptic-curve-cryptography-a-gentle-introduction
ECC part 2

661 only
Review this paper Attacks against Autofinalization and Parking.
Understand:

  • That a variety of “tweaks” can be invented to modify Satoshi’s algorithm to choose the “main chain”
  • What two proposed tweaks: “autofinalization” and “parking” actually do
  • There seems to be no description of this consensus change, except for the source code located in this function (reading just the comments may be helpful).

Reference

These notes are from a different year than the video was recorded, but are similar enough to use for reference: ECC Video Lecture part 1 notes

(Optional) Chapter 8, Paar and Pelzl
(Optional) Chapter 9, Paar and Pelzl

Week 3: (Sep 9 - 16) Selfish Mining, Sybil Attack

Please skim the papers, watch the videos, and then read the papers carefully.

Reference


Week 2: (Sep 3-9) Cryptography Overview, Doublespend Attacks

We continue our investigation into basic blockchain architecture.

λ=zqp\lambda = \frac{zq}{p}
1k=0z+1(λkeλk!)(1(q/p)z+1k),ifq<p1- \sum_{k=0}^{z+1} (\frac{\lambda^ke^{-\lambda}}{k!})(1-(q/p)^{z+1-k}), if q < p

Reference


Week 1: Introduction

These are the materials for our first week.

Reference

Course Possibilities