SemesterSpring Semester, 2018
DepartmentMA Program of Management Information Systems, First Year PhD Program of Management Information Systems, First Year MA Program of Management Information Systems, Second Year PhD Program of Management Information Systems, Second Year
Course NameBlockchain and Smart Contract
InstructorHSIAO SHUN-WEN
Credit3.0
Course TypeElective
Prerequisite
Course Objective
Course Description
Course Schedule































































































































































週次



Week



課程主題



Topic



課程內容與指定閱讀



Content and Reading Assignment



教學活動與作業



Teaching Activities and Homework



學習投入時間



Student workload expectation



課堂講授



In-class Hours



課程前後



Outside-of-class Hours



1



FinTech



Lecture: introduce finance technology (FinTech), including its definition, scope, history, and possible applications.



Lecture.



3



6



2



Digital Currency



Lecture: introduce virtual currency, digital currency and the problem of them.



Class discussion: why creating a digital currency is so difficult.



Lecture. Class discussion.



Homework: digital currency.



3



6



3



Blockchain 101



Lecture: review some cryptography algorithms and the basic components of blockchain.



Class Demonstration: blockchain on a webpage



Lecture. Class Demonstration.



Homework: PoW problem.



3



6



4



Blockchain Case Studies



Lecture: the properties embedded in the blockchain.



Class discussion: Discuss the current blockchain based applications.



Lecture. Class discussion.



Homework: the problem of blockchain cases.



3



6



5



Bitcoin



Lecture: introduce Bitcoin and its data format, algorithms and bitcoin wallet.



Lecture.



Homework: install bitcoin wallet



3



6



6



Transaction



Lecture: the data format of a blockchain transaction, the concept of transaction pool, and the blockchain miner.



Class discussion: what data can be stored in a blockchain?



Lecture. Class discussion. Homework: database and blockchain.



3



6



7



Script Language



Lecture: understand the blockchain script language and its signing algorithm.



Lecture.



Homework: problem of scripting language.



3



6



8



Bitcoin Network



Lecture: introduce different types of blockchain peers and their functions.



Lecture.



Homework: install bitcoin node in docker



3



6



9



Private Blockchain



Lab: install Bitcoin software in a Docker container and create a private blockchain application.



Homework: install private block chain



3



6



10



Smart Contract



Lecture: introduce the definition of smart contract, the definition of Turing machine, the application of smart contract.



Lecture.



Homework: the difference between bitcoin and ethereum



3



6



11



Ethereum and its smart contract language



Lecture: introduce Ethereum, its algorithm and the additional mechanism other than Bitcoin, as well as the popular Ethereum script languages (e.g., Solidity, Serpent, and LLVM).



Lecture.



Homework: write your first smart contract



3



6



12



Smart Contract Case Studies



Lecture: the current smart contract based application.



Class discussion: why Etherrum is better than Bitcoin and how to design an even better blockchain?



Lecture.



Homework: the pros and cons of smart contract



3



6



13



Private Smart Contract



Lab: install Ethereum software in a Docker container and create a private smart contract application.



Lecture.



Homework: ethereum in docker



3



6



14



Security and Management



Lecture: known attacks to Bitcoin and Ethereum, and how to prevent them by design and management.



Lecture.



Homework: 51% attack



3



6



15



Reserved



Reserved time for unfinished lecture, holidays, and discuss the take-home exam



Lecture.



3



6



16



Term Project Presentation



Class presentation by students



Class presentation by studentsHomework: Orange.



3



6



17



Term Project Presentation



Class presentation by students



Class presentation by students



3



6



18



Other Security Problems and Blockchains



Lecture: Hyperledger



Lecture. Class discussion: any other blockchains?



3



6



Teaching Methods
Teaching Assistant

TBA


Requirement/Grading

Grading Policy 

- Homework (30%)

- Participation (10%): attendance, discussion

- Term Project (30%): implement a smart contract application on a private blockchain. Find your classmates to form a group (the number of group member will be announced according to the number of students in this class)

- Exam (30%): an individual take-home essay exam (graded according to the quality of in-depth argument with proper citations to support your arguments), and working in groups is considered cheating.


Textbook & Reference

- Bitcoin Developer Documentation [Online]. Available: https://bitcoin.org/en/developer-documentation

- Ethereum Homestead Documentation [Online]. Available: http://www.ethdocs.org/en/latest/

- Krzysztof Okupski, “Bitcoin Developer Reference Working Paper,” Technische Universiteit Eindhoven, Netherlands, 30th July 2016.

- Mastering Bitcoin: Unlocking Digital Cryptocurrencies, 1st Edition, Andreas M. Antonopoulos, O'Reilly Media, December 20, 2014 [Online]. Available: https://github.com/bitcoinbook/bitcoinbook

- Bitcoin Wiki [Online]. Available: https://en.bitcoin.it/wiki/Main_Page

- Ethereum Wiki [Online]. Available: https://github.com/ethereum/wiki/wiki

 


Urls about Course
https://sites.google.com/view/mikehsiao/teaching/blockchain-and-smart-contract-spring2018
Attachment