Giter Club home page Giter Club logo

6.892-public's Introduction

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 ([email protected]) and Silvio Micali ([email protected])

Time: Fridays 1-4 PM

Place: 36-155 4-163

Contact: [email protected]

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 scribed lecture 2 notes
3 2/24 Neha Bitcoin: SPV, mining, and forks SoK sections 3 and 5, pooled mining, hardware scribed lecture 3 notes
4 3/3 Maurice Herlihy and Tadge Dryja Concurrency in smart contracts, payment channels and the Lightning Network 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 Zerocash: conference version, more detailed full version snarks slides, zerocash slides
- 3/31 Spring Break -- no class
8 4/7 Silvio Byzantine Agreement Byzantine General's Problem Homework
9 4/14 Silvio Byzantine Agreement Byzantine Agreement Made Trivial, Aloni's proof of the need for unpredictable coins, Homework
10 4/21 Silvio Algorand, Graded Consensus Homework, Homework2
11 4/28 Silvio Algorand
12 5/5 Special topics
13 5/12 Final project presentations

Labs and Problem Sets

Submission instructions: For problem sets, email your solutions to [email protected]

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

6.892-public's People

Contributors

narula avatar nicola avatar

Watchers

Joao avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.