adiabat / 6.892-public

Course information for 6.892 (Spring 2017)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

6.892 Spring 2017

Shared Public Ledgers: Cryptocurrencies, Blockchains, and Other Marvels

NOTE: This document is a draft and is subject to change.

Information

Instructors: Neha Narula (narula@media.mit.edu) and Silvio Micali (silvio@csail.mit.edu)

Time: Fridays 1-4 PM

Place: 36-155

Contact: 6.892-sp17-staff@mit.edu

You are welcome to contact us via email. However, if you think your question would be useful for others to see, please file it as an issue in this repository!

Description: This course is about the principles and core techniques of shared public ledgers, with an emphasis on Bitcoin and distributed consensus. Topics include Bitcoin, Byzantine agreement, authenticated data structures, Lightning networks, proof of stake, and new techniques to implement a shared public ledger.

course announcement

Schedule

NOTE: The schedule is in flux and subject to change.

We are occasionally providing our lecture notes in the interest of transparency. Note that they are rough, probably have mistakes, and are almost definitely incomplete. In addition, they might not accurately reflect what happened in class. Use at your own risk!

# Date Lecturer Topic Readings Lecture Notes
1 2/10 Neha and Silvio Introduction. Signatures, hashing, hash chains, e-cash, and motivation Untraceable Electronic Cash lecture 1 notes
2 2/17 Neha Bitcoin: how it works whitepaper, SoK sections 1, 2, and 4, how it works, script
3 2/24 Neha Bitcoin: mining and incentives SoK sections 3 and 5, pooled mining, hardware
4 3/3 Tadge Dryja and Maurice Herlihy Payment channels and the Lightning Network, concurrency in smart contracts Adding Concurrency to Smart Contracts
5 3/10 Joe Bonneau Proof-of-stake and alternatives to proof-of-work On Stake and Consensus
6 3/17 abhi shelat and Rafael Pass Analysis of Bitcoin, Fruitchains Analysis of the Blockchain Protocol in Asynchronous Networks, Fruitchains
7 3/24 Alessandro Chiesa and Madars Virza SNARKs and Zerocash
- 3/31 Spring Break -- no class
8 4/7 Silvio Byzantine Agreement Byzantine General's Problem
9 4/14 Silvio Algorand
10 4/21 Silvio Algorand
11 4/28 Silvio Algorand
12 5/5 Special topics
13 5/12 Special topics

Labs and Problem Sets

  • Lab 1: Bitcoin treasure hunt

Final Projects

A final project is encouraged, but not required, as this is an experimental course. You may form groups of 1-4 students and prepare a presentation and a 4 page paper on one of the following:

  1. Design and implement an application or system (project ideas)
  2. Add a new feature to an existing system like Bitcoin, Ethereum, or another cryptocurrency or shared ledger implementation
  3. Propose a formalization in this space for a topic that has not been formalized yet
  4. Pose and solve an interesting problem

Readings and Resources

About

Course information for 6.892 (Spring 2017)