EECE 571B

Foundation of Blockchain and Distributed Ledge V0.7

3 credits

Background Assumption

Students are expected to have very basic knowledges in computer science and mathematics, including the Turing machine, the principle of computer networks, the list and tree data structures, the fundamentals of discrete mathematics, and the principle of statistics and probabilities.

Course Outline:

  • Introduction (Week 1)
    • Introduction to Blockchair – The Basic Concept
    • Introduction to the 3-Layer Model – The Social, Data, and Technical Layers
    • Introduction to Blockchain Use Cases
    • Introduction to the Course
  • Peer-to-Peer System (Week 2)
    • Peer-to-Peer Networks
      • Review of Computer Networks
      • Graph Theory Basics
    • Gossip Protocols
    • Byzantine Generals Problem
  • Consensus Mechanism (Weeks 3, 4, 5 and 6)
    • Learning by Games
    • Double-spending Problem of Cryptocurrency
      • Centralized Solution
      • Decentralizes Solution
    • Game Theory Fundamentals
      • Prisoner Dilemma
      • Repeated Game and Collational Game
      • Mechanism Design
    • Consensus Mechanisms
      • FLP (Fisher, Lynch & Patterson) Impossibility
      • Proof-of-Work – History and Disadvantages
      • Proof-of-Stake (PoS) and Delegated PoS – Motivation and Problems
    • Attack Models
      • Introduction to Attack Models
      • 51% Attack
      • Sybil Attack
  • Data & Records (Weeks 7 and 8)
    • Blockchain as a Record Keeping System
      • Pros and Cons of Blockchain Comparing with Database
      • Difference between Record and Data
    • Storage and Data Structure
      • On Chain and Off Chain
      • Hash Function, Merkle Tree, and Merkle Proof
      • Distributed Hash Table
    • Basis of Trusting Records
      • Data Privacy
      • Data Transparency
      • Data Tamper-resistance and Non-repudiation
      • Data/Records Ownership and Control
      • Data/Records Accuracy, Reliability, and Authenticity
  • Modern Cryptography (Weeks 9 and 10)
    • Review of Cryptographic Basics
      • Symmetric and Asymmetric Encryption
      • The Principle of RSA
    • Elliptic Curve Cryptography (ECC)
      • Elliptic Curve
      • ECC versus RSA
    • ECC Digital Signature
      • ECC Signature
      • ECC Signature Verification
  • Code and Virtual Machines (Weeks 11 and 12)
    • Turing Completeness
    • Operation Code in Bitcoin
    • Smart Contract in Ethereum
    • Ethereum Virtual Machine and Remote Procedure Call
  • Case Study (Week 13)
    • Bitcoin in a nutshell
    • Ethereum in a nutshell
  • Final Exam (Week 14)

Course Deliverables:

Task Time to Release Time to Due Weight
Assignment 1 Week 3 Week 4 5%
Quiz 1 Week 5 Week 5 5%
Assignment 2 Week 6 Week 7 10%
Midterm Week 8 Week 8 20%
Assignment 3 Week 9 Week 10 10%
Quiz 2 Week 12 Week 12 10%
Final Week 14 Week 14 40%

Developer:

Dr. Zehua Wang, Dr. Victoria Lemieux, Dr. Chris Rowell, Dr. Chen Feng, Dr. Alexandra Fedorova

More Information

UBC Course Page