Title:  Basics of BlockChains: Distributed Computing Perspective

Credits: 1 Cr

Course Number: CS5530

 

Pre-requisite: Data Structures, Operating Systems

 

Tentative Syllabus (subject to change):

Introduction to Distributed Systems; Fault-Tolerance & Paxos; Consensus & Byzantine Agreement; Authenticated Agreement; Eventual Consistency & Bitcoin; Efficiency of Blockchains; Mining in Bitcoin Network

 

Texts:

- The Science of the Blockchain.  Roger Wattenhofer

 

References:

- Distributed Systems: An Algorithmic Approach, Second Edition by Sukumar Ghosh,

 

The classes will cover theoretical aspects. The corresponding lab/project will focus on the programming aspects of the course such as developing efficient mining in Bitcoins.