CSCI 1951L: Blockchains and Cryptocurrencies

Jump to main content

Welcome to CSCI1951L!

This is the old course website from Spring 2022. Please go here to see the current offering of the course.

Introduction to modern blockchain-based systems. This timely course covers relevant topics such as consensus and distributed computing, example cryptocurrencies, programming smart contracts, privacy and secrecy, transfer networks, atomic swaps and transactions, non-currency applications of blockchains, and legal and social implications. Students will complete four partner programming projects, five homework assignments, one written assignment, and two labs.

Course Info

Assignments

Every project, homework, and lab should be turned in via Gradescope. Every assignment will be available by 11:59 pm ET on the day listed, and will be due at 11:59 pm ET on the due date listed. Written assignments should be submitted as PDFs. All assignment release and due dates are also available through the course calendar.

AssignmentOutIn
Homework 0: Course Setup 1/25ASAP
Lab 1: Introduction to Go 1/262/06
Homework 1: Blockchains 1/312/06
Homework 2: Bitcoin 2/072/13
Project 1: Chain 2/082/27
Project 2: Coin 3/053/22
Homework 3: Ethereum & Solidity 3/073/13
Lab 2: Introduction to Solidity 3/214/24
Project 3: Lightning 4/064/19
Project 4: Swap 4/185/01
Homework 4: Cross-Chain, Wallets, Byzantine, & Privacy 5/025/08
Written: White Paper 5/025/15

Lectures

Lectures will take place Tuesdays and Thursdays from 1pm-2:20pm ET in Friedman Hall Rm. 108. Recordings will be available soon after lecture ends.

LINK TO ALL SLIDES

Zoom Meeting ID (for remote synchronous viewing): 975 5918 2039

TopicDateSlidesRecording
Course Introduction1/27SlidesRecording
Bitcoin Introduction2/01SlidesRecording
Bitcoin Mining and Attacks2/03SlidesRecording
Bitcoin Data Structures2/08SlidesRecording
Ethereum Virtual Machine2/10SlidesRecording
Solidity2/15SlidesRecording
Ethereum Data Structures2/17SlidesRecording
Gas2/24SlidesRecording
Solidity Pitfalls 13/01SlidesRecording
Solidity Pitfalls 23/03SlidesRecording
Solidity Pitfalls 33/08SlidesRecording
Solidity Pitfalls 43/10SlidesRecording
Ethereum Scalability3/15SlidesRecording
Guest: Charles Hoskinson3/16-Recording
Off-Chain Payment Channels3/17SlidesRecording
Concurrency in Solidity3/22SlidesRecording
Privacy and Anonymity3/24SlidesRecording
Privacy Coins4/05SlidesRecording
Cross-Chain Commerce4/07SlidesRecording
Cross-Chain Commerce 24/12SlidesRecording
Wallets4/14SlidesRecording
Automated Market Makers4/19SlidesRecording
Byzantine Consensus4/22SlidesRecording
Algorand4/26SlidesRecording
Course Wrap-Up4/28SlidesRecording

Course Staff

Maurice Herlihy
Professor | he/him | mherlihy

I like figuring out how to make things sync.

Parker Ljung
HTA | he/him | pljung

I'm from Chicago. My favorite book is Ender's Game, and my favorite dragon is Toothless.

Yingjie Xue
GTA | she/her | yxue

Hello! I am a graduate student working on exciting blockchain research! My research area is cross-chain transactions.

Nathan Benavides-Luu
UTA | he/him | nluu1

Hey there! I'm from San Diego, and I love weightlifting, game development, and good Mexican food.

Ben Schornstein
UTA | he/him | bschorns

Hello! I'm a computer engineer from New Jersey, and I'm interested in blockchain technology, robotics, and space exploration.

Brian Sutioso
UTA | he/him | bsutioso

Hi! I'm Brian an APMA-CS concentrator from Indonesia. Outside of school, I love playing tennis and going for runs. Excited to meet you all.

Eshaan Mangat
UTA | he/him | emangat

Hello! I’m from New Jersey and I’m concentrating in apma-cs. I really enjoy playing and watching sports, and am a huge Arsenal and Ravens fan!

Michael Foiani
UTA | he/him | mfoiani

Florida man that turned his professional gaming skills into a deep passion for CS. My main interests are basketball, music, teaching, and privacy.

Rohit Panse
UTA | he/him | rpanse

I’m interested in CS and FinTech. I enjoy playing spikeball and making chai.

Nick Vadasz
STA-UTA | he/him | nvadasz

Hi, my name is Nick and I am from East Texas! Besides computer science, my main interests include music, photography, competitive videogames, and philosophy.

Copyright © 2022 CSCI 1951L at Brown University