Foundation of Blockchain and Distributed Ledger V0.7

More Information

UBC Calendar

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:

1. Introduction (Week 1)

a. Introduction to Blockchair - The Basic Concept

b. Introduction to the 3-Layer Model - The Social, Data, and Technical Layers

c. Introduction to Blockchain Use Cases

d. Introduction to the Course

2. Peer-to-Peer System (Week 2)

a. Peer-to-Peer Networks

  1. Review of Computer Networks
  2. Graph Theory Basics

b. Gossip Protocols

c. Byzantine Generals Problem

3. Consensus Mechanism (Weeks 3, 4, 5 and 6)

a. Learning by Games

b. Double-spending Problem of Cryptocurrency

  1. Centralized Solution
  2. Decentralizes Solution

c. Game Theory Fundamentals

  1. Prisoner Dilemma
  2. Repeated Game and Collational Game
  3. Mechanism Design

d. Consensus Mechanisms

  1. FLP (Fisher, Lynch & Patterson) Impossibility
  2. Proof-of-Work - History and Disadvantages
  3. Proof-of-Stake (PoS) and Delegated PoS - Motivation and Problems

e. Attack Models

  1. Introduction to Attack Models
  2. 51% Attack
  3. Sybil Attack

4. Data & Records (Weeks 7 and 8)

a. Blockchain as a Record Keeping System

  1. Pros and Cons of Blockchain Comparing with Database
  2. Difference between Record and Data

b. Storage and Data Structure

  1. On Chain and Off Chain
  2. Hash Function, Merkle Tree, and Merkle Proof
  3. Distributed Hash Table

c. Basis of Trusting Records

  1. Data Privacy
  2. Data Transparency
  3. Data Tamper-resistance and Non-repudiation
  4. Data/Records Ownership and Control
  5. Data/Records Accuracy, Reliability, and Authenticity

5. Modern Cryptography (Weeks 9 and 10)

a. Review of Cryptographic Basics

  1. Symmetric and Asymmetric Encryption
  2. The Principle of RSA

b. Elliptic Curve Cryptography (ECC)

  1. Elliptic Curve
  2. ECC versus RSA

c. ECC Digital Signature

  1. ECC Signature
  2. ECC Signature Verification

6. Code and Virtual Machines (Weeks 11 and 12)

a. Turing Completeness

b. Operation Code in Bitcoin

c. Smart Contract in Ethereum

d. Ethereum Virtual Machine and Remote Procedure Call

7. Case Study (Week 13)

a. Bitcoin in a nutshell

b. Ethereum in a nutshell

8. Final Exam (Week 14)

Course Deliverables:



Time to Release

Time to Due


Assignment 1

Week 3

Week 4


Quiz 1

Week 5

Week 5


Assignment 2

Week 6

Week 7



Week 8

Week 8


Assignment 3

Week 9

Week 10


Quiz 2

Week 12

Week 12



Week 14

Week 14





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


a place of mind, The University of British Columbia

Electrical and Computer Engineering
2332 Main Mall
Vancouver, BC Canada V6T 1Z4
Tel +1.604.822.2872
Fax +1.604.822.5949

Emergency Procedures | Accessibility | Contact UBC | © Copyright 2019 The University of British Columbia