/mas.s62

MAS.S62 Spring 2018 course website

Primary LanguageGo

MAS.S62 Spring 2018

Cryptocurrency Engineering and Design

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

Information

Instructors: Tadge Dryja (tdryja@media.mit.edu) and Neha Narula (narula@media.mit.edu)

Time: MW 10-11:30 AM

Place: E14-341

Contact: cryptocurrency-sp18-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:

Bitcoin and other cryptographic currencies have gained attention over the years as the systems continue to evolve. This course looks at the design of Bitcoin and other cryptocurrencies and how they function in practice, focusing on cryptography, game theory, and network architecture. Future developments in smart contracts and privacy will be covered as well. Programming assignments in the course will give practical experience interacting with these currencies, so some programming experience is required.

Office hours: 4-6 PM Tuesdays

Office hours location: The big table outside E15-357

TA: James Lovejoy jlovejoy@mit.edu

Schedule

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

# Date Lecturer Topic Readings Lecture Notes Labs
1 2018-02-07 Neha and Tadge Introduction. Signatures, hashing, hash chains, e-cash, and motivation Untraceable Electronic Cash tadge's slides, neha's slides
2 2018-02-12 Neha and Tadge Proof of Work and Mining Bitcoin tadge's slides
3 2018-02-14 Tadge Signatures Simple Schnorr Multi-Signatures with Applications to Bitcoin tadge's slides LAB 1 DUE
4 2018-02-20 Neha Transactions and the UTXO model Bitcoin Transactions neha's slides
5 2018-02-21 Tadge Synchronization process, pruning tadge's slides
6 2018-02-26 Tadge SPV and wallet types tadge's slides NOTE: No office hours 2018-02-27 !
7 2018-02-28 Alin Tomescu OP_RETURN and Catena alin's slides, Catena paper, Catena code LAB 2 DUE
8 2018-03-05 Neha Forks neha's slides
9 2018-03-07 Sharon Goldberg Peer-to-peer networks
10 2018-03-12 Tadge PoW recap, other fork types tadge's slides
11 2018-03-14 Tadge Fees tadge's slides Note: Office hours on Thursday the 15th, 4-6 usual place
12 2018-03-19 Tadge Transaction malleability and segregated witness
13 2018-03-21 Tadge Payment channels and Lightning Network
14 2018-04-02 TBD TBD
15 2018-04-04 TBD TBD
16 2018-04-09 TBD TBD
17 2018-04-11 TBD TBD
18 2018-04-18 TBD TBD
19 2018-04-23 Joseph Bonneau Ethereum and smart contracts
20 2018-04-25 TBD NOTE: Class is in E15-359
21 2018-04-30 TBD TBD
22 2018-05-02 TBD TBD
23 2018-05-07 TBD TBD
24 2018-05-09 TBD NOTE: Class is in E15-359
25 2018-05-14 Final Presentations Day 1
26 2018-05-16 NOTE: Class is in E15-359 Final Presentations Day 2

Labs and Problem Sets

# Due Date Assignment
1 2018-02-14 Hash-based signature schemes. Code your own signatures and sign with them! In the pset01
2 2018-02-28 Mine your name
3 2018-03-21 UTXOhunt

All labs are due by 11:59 PM on the day specified.

Final Projects

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