CSA E0 305: Fundamentals of Blockchain (January - April 2019)

This is an advanced course which would involve presenting research papers.
The course timing is 3:30 - 5 pm on Tuesday and Thursday.

Study Material
  • Study Material for the course will mostly involve research papers whose references will be provided during the lectures.
  • Book : "Bitcoin and Cryptocurrency Technologies" by Arvind Narayanan, Joseph Bonneau, Andrew Miller and Steven Goldfeder.
  • Book : (KL) "Introduction to Modern Cryptography" by Jonathan Katz and Yehuda Lindell, second edition 2014, CRC Press.

  • Notifications
  • Quiz 1 to be held on 14th Feb.
  • Papers for presentation to be submitted for approval by 7th Feb .
    Please refer to the guidelines below for the recommended list of topics . Mail us your topic along with the set of papers before the deadline.
  • First set of presentations to begin on 19th Feb .
  • Project proposals to be submitted for approval between 18 - 25th Feb .

  • Project / Presentation Guidelines
  • Projects need to be done in groups of 2.
  • The papers to be presented should preferably be related to the project.
  • While discussion among the group is highly encouraged, each paper should be presented by a single student.
  • Following are the recommended topics for projects/ presentations. Each of them comprises of a bunch of 5 - 6 papers. You are expected to select a topic (which would preferably be the same for your project as well). The goal is to gain a deep understanding of the topic - Accordingly, the presentations should be organized by collecting relevant information from the set of papers. For your reference, the primary author of the papers in the respective area has been mentioned.
  •          1. Algorand (Silvio Micali)
             2. Ouroboros (Aggelos Kiayias)
             3. Sleepy Consensus (Rafael Pass)
             4. Bitcoin Backbone (Juan Garay, Rafael Pass) and Lower Bounds (Rafael Pass)
             5. Traditional Broadcast and Byzantine Agreement Extensions in Dishonest Majority (Rafail Ostrovsky, Arpita Patra)
             6. ZK Proof for Blockchain ([1] [2] [3] [4])

    • Description :  Lecture 1 : Introduction to Blockchain
    • References : [GK18], [PS18], [BS+17]
    • Date & Time : 7th January
    • Description :  Lecture 2 : Network Settings and Introduction to Byzantine Agreement
    • References : Same as Lecture 1
    • Date & Time : 9th January
    • Description :   Lecture 3: Crypto Basics - OWF, PRF, PRP
    • References :   KL - Sect 3.5, 7.1
    • Date & Time : 16th January
    • Description :   Lecture 4: Crypto Basics - Problem Solving, Hash Functions
    • References :   KL - Chp 6
    • Date & Time : 21st January
    • Description :   Lecture 5: Crypto Basics - Hash Functions Constructions and Applications
    • References :   KL - Chp 6
    • Date & Time : 24th January
    • Description :   Lecture 6: Crypto Basics - Digital Signatures
    • References :   KL - Chp 12
    • Date & Time : 29th January
    • Description :   Lecture 7: Crypto Basics - Practice Session
    • References :   KL - Chp 3, 6, 7
    • Date & Time : 31st January
    • Description :   Lecture 8: Dolev-Strong protocol for broadcast
    • Date & Time : 5th February
    • Description :   Lecture 9: Multi-valued broadcast
    • References :   [Patra11]
    • Date & Time : 7th February
    • Description :   Lecture 10: Zero-Knowledge
    • Date & Time : 12th February
    • Description :   Lecture 11: Byzantine Agreement & Algorand - Part 1
    • References :   [Link 1] [Link 2]
    • Speaker(s)  :   Mahak
    • Date & Time : 19th February
    • Description :   Lecture 12: Byzantine Agreement & Algorand - Part 2
    • References :   [Link 1] [Link 2]
    • Speaker(s)  :   Protik
    • Date & Time : 21st February
    • Description :   Lecture 13, 14: Proof-of-Stake for Blockchain
    • Speaker(s)  :   Dr. Chaya
    • Date & Time : 26, 28th February
    • Description :   Lecture 15, 16: Byzantine Agreement & Algorand - Part 2 (Contd.)
    • References :   [Link 1] [Link 2]
    • Speaker(s)  :   Protik
    • Date & Time : 5, 7th March
    • Description :   Lecture 17, 18, 19: Ouroboros
    • References :   [Link 1]
    • Speaker(s)  :   Ajith
    • Date & Time : 12, 14, 19th March
    • Description :   Lecture 20, 21: Zero-Knowledge Proofs for Algebraic and Non-algebraic Statements
    • References :   [Link 1]
    • Speaker(s)  :   Sriram
    • Date & Time : 21, 26th March
    • Description :   Lecture 22: Algorand Protocol
    • References :   [Link 1]
    • Speaker(s)  :   Mahak
    • Date & Time : 28th March
    • Description :   Lecture 23: Albatross Consensus Algorithm
    • References :   [Link 1]
    • Speaker(s)  :   Protik
    • Date & Time : 2nd April
    • Description :   Lecture 24: Zero-Knowledge Proofs for Group Homomorphisms
    • References :   [Link 1]
    • Speaker(s)  :   Sriram
    • Date & Time : 4th April
    • Description :  Lecture 1 : Introduction to Blockchain
    • References : [GK18], [PS18], [BS+17]
    • Date & Time : 7th January
    • Description :  Lecture 2 : Network Settings and Introduction to Byzantine Agreement
    • References : Same as Lecture 1
    • Date & Time : 9th January
    • Description :   Lecture 3: Crypto Basics - OWF, PRF, PRP
    • References :   KL - Sect 3.5, 7.1
    • Date & Time : 16th January
    • Description :   Lecture 4: Crypto Basics - Problem Solving, Hash Functions
    • References :   KL - Chp 6
    • Date & Time : 21st January
    • Description :   Lecture 5: Crypto Basics - Hash Functions Constructions and Applications
    • References :   KL - Chp 6
    • Date & Time : 24th January
    • Description :   Lecture 6: Crypto Basics - Digital Signatures
    • References :   KL - Chp 12
    • Date & Time : 29th January
    • Description :   Lecture 7: Crypto Basics - Practice Session
    • References :   KL - Chp 3,6,7
    • Date & Time : 31st January
    • Description :   Lecture 8: Dolev-Strong protocol for broadcast
    • Date & Time : 5th February
    • Description :  Lecture 9 : Multi-valued broadcast
    • References : [Patra11]
    • Date & Time : 7th February
    • Description :  Lecture 10 : Zero-Knowledge
    • Date & Time : 12th February
    • Description :  Lecture 11: Byzantine Agreement & Algorand - Part 1
    • References :   [Link 1] [Link 2]
    • Speaker(s)  :   Mahak
    • Date & Time : 19th February
    • Description :   Lecture 12: Byzantine Agreement & Algorand - Part 2
    • References :   [Link 1] [Link 2]
    • Speaker(s)  :   Protik
    • Date & Time : 21st February
    • Description :   Lecture 13, 14: Proof-of-Stake for Blockchain
    • Speaker(s)  :   Dr. Chaya
    • Date & Time : 26, 28th February
    • Description :   Lecture 15, 16: Byzantine Agreement & Algorand - Part 2 (Contd.)
    • References :   [Link 1] [Link 2]
    • Speaker(s)  :   Protik
    • Date & Time : 5, 7th March
    • Description :   Lecture 17, 18, 19: Ouroboros
    • References :   [Link 1]
    • Speaker(s)  :   Ajith
    • Date & Time : 12, 14, 19th March
    • Description :   Lecture 20, 21: Zero-Knowledge Proofs for Algebraic and Non-algebraic Statements
    • References :   [Link 1]
    • Speaker(s)  :   Sriram
    • Date & Time : 21, 26th March
    • Description :   Lecture 22: Algorand Protocol
    • References :   [Link 1]
    • Speaker(s)  :   Mahak
    • Date & Time : 28th March
    • Description :   Lecture 23: Albatross Consensus Algorithm
    • References :   [Link 1]
    • Speaker(s)  :   Protik
    • Date & Time : 2nd April
    • Description :   Lecture 24: Zero-Knowledge Proofs for Group Homomorphisms
    • References :   [Link 1]
    • Speaker(s)  :   Sriram
    • Date & Time : 4th April