COSC 841: Doctoral Seminar: Blockchain Theory (Spring 2019)

Georgetown University

Prof. Calvin Newport

Tuesday, 2:00 to 3:40 pm

Car Barn 170 (subject to change)

Course Overview

Background

Blockchain systems (distributed systems that use a blockchain-based distributed ledger as a primary building block) have emerged in recent years as a disruptive technology in many sectors. Though perhaps best known for their ability to support cryptocurrencies like bitcoin, the real power of these systems is their general ability to enable and incentive multiparty transactions without the need for a trusted centralized authority.

Much of the initial development of blockchain-based technologies occurred in the context of more systems-oriented fields like networks, systems, and security, with developers racing to deploy systems that seemed like they should work as promised. There is now an effort to apply more theory to this field, using, in particular, tools from computer science subfields like distributed algorithm and game theory to both better formalize the guarantees and vulnerabilities of existing systems and enable new innovations.

Seminar Goals

The goal of this doctoral seminar is to perform a survey of the small but growing literature of computer science papers that apply formal theory to the study of blockchain systems. In particular, we will focus on categories of papers summarized in the reading list below.

Participants in this seminar should develop a strong understanding of the current state of the blockchain research community, and understand the main attempts to apply formal theory to its core ideas. It is hoped that the seminar will result in publishable research problems for those participants who are interested in continuing their study of this field. Any student who is interested should be able to write and publish a workshop-caliber paper on blockchain theory by the completion of this course (and hopefully, some will).

Logistics

With the exception of the introductory and concluding meetings, and the possibility of a small number of guest lectures, the seminar meetings will be structured around two student presentations: a short (10 - 30 minute) non-technical presentation on a selected blockchain system, application, or idea (to help elaborate our understanding of the contours of this field), and a long technical presentation on a selected blockchain-related theory paper (or collection of related papers).

The schedule of topics and assignments of students to presentations will be determined during the seminar meetings and captured in the below schedule. Grading will be based on the quality of presentations and engagement in the discussion.

Reading List

Here is an evolving reading list of blockchain theory papers, divided into broad categories. This list will grow as the the semester continues, and we might not be able to cover all of these titles during the seminar meetings, but putting together a reasonable survey of work in blockchain theory seemed to be an endeavor of standalone value.

Analysis of Existing Blockchain Systems

Analysis of Proposed Improvements to Blockchain Systems

Distributed Systems that Leverage Blockchains as a Blackbox Service

Adapting Byzantine Consensus Theory to Blockchain-Inspired Settings

Schedule

Below is a schedule of seminar meerings. Notice, in particular, the Tuesdays on which we will not meet. As the semester continue we will begin to fill in presentation and guest lecture information on specific dates.

Date Information
1/15Introduction
  • Blockchain basics
  • Seminar goals and logsitics
  • Scheduling of initial presentations
1/22 Non-technical presentation (Hao-Ren)
  • How to mine bitcoins (setup simple mining software like EasyMiner; demonstrate to class how it works, what you learn, etc.)
Tecnical presentation (Shuchen)
1/29 Non-technical presentation (Shaobo)
  • A tutorial on Ethereum and smart contracts
Technical presentation (Katina)
2/5Not meeting (professor travel)
2/12 Non-technical presentation (Shuchen)
  • A tutorial on the different styles of blockchains (e.g., provisoned, consortium, permissoned, premission-less, and so on...)
Technical presentation (Alex)
2/19Not meeting (holiday)
2/26 Non-technical presentation (Alex)
  • A tutorial on the P2P communication network used by the bitcoin blockchain protocol.
Technical presentation (Hao-Ren)
3/5Not meeting (spring break)
3/12We will go through the main results of the following paper altogether as a class: The Bitcoin Backbone Protocol. Review the paper enough to have basic familiarity. We will try to figure out the details together.
3/19 Non-technical presentation (Katina)
  • A tour of cryptocurrencies beyond bitcoin and ethereum.
Technical presentation (Shaobo)
3/26 Non-technical presentation (Hao-Ren) Technical presentation (Shuchen)
4/2 Non-technical presentation (Shaobo)
  • Anatomy of an Ethereum smart contract (We talked about smart contracts more generally, let's now spend some time on the details. Show us some simple smart contracts; teach us the basic syntax; give us a better sense of how we write these and what they can do).
Technical presentation (Alex)
4/9 
4/16 
4/23 
4/30Concluding discussion