Blockchains and Distributed Ledgers

Class schedule and Study Guide

Welcome to the web-site of blockchains and distributed ledgers course.Dimitris KarakostasMonday, 14:10-16:00. (online, live lecture Class coursework.Assignment #1: Interacting with a Distributed Ledger and Basic Principles (20%)Assignment #2: Smart Contract Programming Part I (30%)Assignment #3: Smart Contract Programming Part II (30%)Assignment #4: Designing and deploying IT services using a distributed ledger (20%)Reading material for this class will be available in this github directory . For the study guide please see below.Piazza web-site click here Introduction to blockchains and distributed ledgers, the never ending book parable. Relevant cryptographic primitives. Digital Signatures and Hash Functions.The blockchain network and associated data structures. Transactions.Assignment #1.The blockchain as a platform.Pitfalls and security vulnerabilities in smart contracts. Common bugs and hazards. The DAO attack. Ponzi Schemes. Using Libraries. Programming advice.Assignment #2.The consensus problem.Byzantine fault tolerance and PoS Blockchains. Permissionless vs. Permissioned Ledgers. BFT and PoS-based approaches for permissioned Dynamic participationDistributed ledger economics and incentives.Assignment #3Anonymity and Privacy in blockchain protocols. Coinjoin transactions. Mix-nets. Ring signatures. Zero-knowledge proofs.Secure Multiparty ComputationAssignment #4Networking issues in blockchain systems. Eclipse attacks. Network partitioning attacks. The distributed ledger ecosystem. Colored Coins. Registries. Legal aspects. ICOs. The Howey Test.Summary and Overview. Student Questions. 2019-20 ] [ 2018-19 ] [ 2017-18