課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
1 | Course introduction |
1.Course organization
2.Course contents |
To gain an overview over the course |
|
|
|
2 | Cryptographic methods used in blockchain |
1. Public-Key Cryptography
2. Hash functions |
Understanding the basic theories of cryptography |
|
|
|
3 | Data structure of Bitcoin blockchain |
1. Merkle tree
2. Linked Lists |
To understand the data structure of blockchain |
|
|
|
4 | Decision by consensus |
1.Byzantine Generals problem
2. Algorithms for consensus |
Understanding why trust can be maintained in a democratic way. |
|
|
|
5 | Implementation of blockchain |
Program structure
Server modules
Client modules |
To know the main modules of blockchain |
|
|
|
6 | Peer-to-peer network |
1. Current Internet: Client-server architecture
2. Next-Generation network: Peer-to-Peer Architecture |
Structure of Internet |
|
|
|
7 | Mining of BitCoin |
Reward of efforts
Consensus |
Why BitCoin is valuable |
|
|
|
8 | Bitcoin application by scripts |
Interface to BitCoin |
Application program to BitCoin |
|
|
|
9 | Discussions on cryptocurrency and its applications |
Applications on supply chain |
To know the value |
|
|
|
10 | Introduction to Ethereum (ETH) |
Blockchain with permission |
Variations of BitCoin |
|
|
|
11 | ETH data structure: state tree |
Data structure used in Ethernet |
Understanding the meaning and use of state tree |
|
|
|
12 | Smart contracts |
Tools like DAPP or Solidity will be introduced |
Know how to get to Blockchain |
|
|
|
13 | Introduction to H-Diamond (HD) |
Characteristics of H-Diamond:
1. Distributed system
2. Consensus algorithms |
How to write client program for H-Diamond server |
|
|
|
14 | Program structure of HD |
Client program in Python or Java or C# |
Write application program using H-Diamond |
|
|
|
15 | Applications of HD |
1. Bonus management
2. Time deposit service |
Know the applications using H-Diamond |
|
|
|
16 | Basics of blockchain accounting |
1. Essentials for blockchain accounting
2. Triple-Entry bookkeeping system |
To know why blockchain is to change accounting |
|
|
|
17 | Implementation of blockchain accounting |
1. Program code of client in Java
2. Interface |
To know how to implement blockchain accounting |
|
|
|
18 | Concluding remarks |
Review of the contents of the course |
Gain an overview of block chain technologies and applications |
|
|
|