Staff

  • Instructor: Prof. Eran Tromer
    (tromer@bu.edu, office hours Mondays 11am-12pm at CDS 947)
  • Teaching fellows:

Course resources

See the course site on Piazza.

Time and place

BU course CAS CS595, Spring 2024

  • T1 (lecture):
    Mon+Wed 3:00pm-4:15pm at CDS 950
    (dates: 01/22-05/01)
  • T2 (optional lab):
    Wed 4:40pm-5:30pm at CDS 950
    (dates: 01/24-05/01)

Course Overview

Blockchain technology amalgamates technical tools, economic mechanisms, and system design patterns. It facilitates the construction of information systems with novel combinations of robustness, decentralization, privacy, cost, and flexibility. Beyond their initial use in cryptocurrencies such as Bitcoin, blockchains have become a promising and powerful technology in business, financial services, law, and other areas.

This course covers blockchain technology in a comprehensive, systematic, and interdisciplinary way. It surveys major approaches, variants, and applications of blockchains in these areas. Beyond a solid grasp of the principles, the course aims to build familiarity with practice through numerous case studies and hands-on projects.

To facilitate its interdisciplinary perspective, this course will be open to two categories of students: students with Computer Science background (graduate or advanced undergraduate), and graduate students with a substantial Business or Law background and a working knowledge of computer programming.

Projects will be done in heterogeneous teams combining these categories, and will center on devising and analyzing sample applications of blockchain technology, including both prototype implementations and analysis of its business/legal implications.

Topics covered

Disentangling "blockchain”; cryptographic prerequisites; assets and their representations; on-chain programming; state consensus; deployments; decentralized applications (Dapps/Web3); protocol governance; protocol revenue and business models; market structure; privacy and authorization; regulation.

Learning outcomes

Students will obtain a comprehensive overview of blockchain technology and markets, suitable as a foundation both for academic research and for industry practice/entrepreneurship. They will learn the capabilities of this technology, as well as the pitfalls and lessons learned from past security and business failures.

Since blockchain technology draws on a wide array of tools from distributed systems, software development, and cryptography, the course will also exemplify the usage of concepts students have seen in prior classes or (if not previously encountered) to gain awareness of these tools.

Similarly, blockchain markets provide ample, often dramatic, examples of key concepts in economics, business model development, funding, and risk management.

Furthermore, through the interdisciplinary topic coverage and the heterogeneous project groups, students will gain exposure to other disciplines’ core conceptual and analytical frameworks.

Syllabus

The course will cover the following topics:

  • Disentangling "blockchain"
  • Cryptographic prerequisites
  • Assets and their representations
    • Cryptocurrencies (UTXO and account models)
    • Stablecoins (backed and algorithmic)
    • Non-fungible tokens
  • On-chain programming: scripts, smart contracts, Solidity, pitfalls
  • State consensus
    • Centralized: Byzantine Fault Tolerance
    • Decentralized: Proof of Work/Stake, their security and economics
    • Sharding, sidechains, rollups and bridges
  • Deployment: protocol launch, asset creation, forks, open source, protocol ecosystem Decentralized applications (Dapps/Web3)
    • Components: on-chain code, frontends, backends, wallets
    • Examples: trading, automatic market makers, collateralized lending, flash loans, staking, gaming
    • Security: the risks of rigid protocols and their composition
  • Protocol governance
  • Additional applications
    • Provenance tracking
    • Transparency
    • Asset tokenization
  • Protocol revenue and business models
    • Token issuance
    • Protocol fees
    • Airdrops
    • Decentralized autonomous organizations
  • Market structure
    • Funding models and venture capital
    • Token liquidity: exchanges, OTCs, on/off-ramps, lockups
    • Recent fiascos (and how to avoid them)
  • Privacy and authorization
    • Chain analytics
    • Permissioned chains
    • Privacy and zero-knowledge proofs
  • Regulation
    • Anti-money laundering regulations
    • Securities regulation
    • Taxation
    • Privacy laws

Connections between these topics, and to real-world projects, will be explored through abundant examples and suggestions for further reading.

Class time will also be allocated to student project presentations and feedback.

Prerequisites

One of the following:

  • Students with substantial Computer Science background:
    Graduate or advanced undergraduate students in Computer Science or Computing & Data Sciences
    Prerequisites: CAS CS 330 or CDS DS 320 or equivalent, CAS CS 237 or CDS DS 122 or equivalent
  • Business School graduate students (MBA, masters, or PhD) who have also taken at least one course that included substantial hands-on programming in a general-purpose programming language such as Python, Java, C, or JavaScript.

Law School students with a suitable background are also welcome. Exceptions, such as equivalent industry or informal experience, will be considered.

Listing and credits

CAS CS595 Advanced Topics in Computer Science (4 credits)

Notes for Questrom School of Business students:

  1. While this course is explicitly designed to accommodate Questrom students, its formal listing this year is as a Computer Science. Thus, to count as an elective towards Questrom graduate degree requirements, you need to submit a Graduate Elective Request.
  2. This is a 4 credit course, unlike Questrom's usual 3 credits. To avoid extra tuition cost, full-time MBA students can have their tuition cap adjusted by their academic advisor. Professional Evening MBA may contact the instructor for alternative solutions.

For any questions, you can contact the instructor.