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
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
c. Game Theory Fundamentals
d. Consensus Mechanisms
e. Attack Models
4. Data & Records (Weeks 7 and 8)
a. Blockchain as a Record Keeping System
b. Storage and Data Structure
c. Basis of Trusting Records
5. Modern Cryptography (Weeks 9 and 10)
a. Review of Cryptographic Basics
b. Elliptic Curve Cryptography (ECC)
c. ECC Digital Signature
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:
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