Blockchain and Smart Contract

It is a FinTech-related course with an emphasis on the aspects of blockchain and smart contract theory, operation and implementation issues for the next generation of FinTech leaders with proven deep technical and managerial skills, experience, and credibility to design, engineer, implement, and manage their overall blockchain program and smart contract, and explore the possibility of applying blockchain and smart contract in new and innovative applications. This course will also discuss the certain concept of IoT (Internet of Things) to enrich the application of smart contract, as well as the modern Cloud-based computation model, such as virtual machine and Docker container.

It is designed for senior students who wish to work in positions such as FinTech Consultant, Blockchain Engineer, IT Director/Manager, FinTech Architect, FinTech Analyst, and Chief Information Officer. The design of this course is to bridge the gap between academic theory and industrial practice. The student will learn why and how blockchain and smart contract are designed, what is the limitation of blockchain and smart contract, how to apply blockchain and smart contract in the real-world application, how FinTech affects our finance operation and innovation, and the security issues related to blockchain and smart contract.

Class Info

Announcements (Spring 2019)

  • 02/26: For students who want to evaluate taking this course, I list some resources below. If you can comprehend 60%+ of the content, then you may have no problem with taking this course. If you can only comprehend 30%~45% of the content, you might need to reconsider.

  • 03/12: [BN01] bonus #01. Due at 23:59 in 20 March. (It is not mandatory to write bonus homework.)

  • 03/18: The homework submission system is online. Please get your password in the class or send email to TA.

  • 03/18: [HW01] Homework #01. Due at 23:59 in 25 March. Please submit your answer via the homework submission system. It is okay if you have problem when uploading [BN01] and [HW01] homework, please email your them to Prof. Hsiao (if possible with the error screenshot).

  • 03/25: [HW02] Homework #02. Due at 23:59 in 1 April via homework submission system.

  • 04/16: [HW03] Homework #03. Due at 23:59 in 22 April via homework submission system.

  • 04/24: [HW04] Homework #04. Due at 23:59 in 6 May via homework submission system. Please upload PDF file, do not upload MS Word file.

  • 05/13: Here is an example (actually an outline) of TERM Project (B).

  • 05/27: TA shares his smart contract code right here.

  • 05/28: The upload entry of [HW07], [HW08], take-home essay exam, project presentation file, and project document has been created in the homework submission system. Please upload them before due time.

Course Objectives & Learning Outcomes

This course covers several topics, such as FinTech and digital currency, blockchain and Bitcoin, smart contract and Ethereum, and Internet of Things. The course objective is to comprehend the theory behind blockchain and smart contract (in order to understand the limitation and applicable scenario of blockchain and smart contract) and to be able to design a new blockchain or smart contract based application. The main topics include but not limited to:

  • The history and application of FinTech and digital currency

  • Hashcash, distributed consensus, and proof-of-work

  • Design, analysis, and implementation of blockchain

  • Underlying technique of blockchain: cryptography and virtual machine

  • Design, analysis, and implementation of smart contract

  • Create private blockchain and smart contract

  • IoT and smart contract

  • Case study

  • Security issue

References

Schedule (Spring 2019)

  1. 2/26: Introduction.

  2. 3/5: FinTech, Digital Currency [01], Hash Function, Hashcash and Prof-of-Work.

    • [img] The concept of Hashcash I drew in the class

    • [slide] KPMG Technology Industry Innovation Survey: Blockchain [backup file]

    • [news] Warren Buffett says bitcoin is a ‘delusion’ and ‘attracts charlatans’

    • [news] Elon Musk: Bitcoin Has ‘Quite Brilliant’ Structure, Paper Money is Going Away

  3. 3/12: Blockchain 101 [02]

    • Try to play around with this website (hash, block, ...).

    • [BN01] bonus #01. Due at 23:59 in 20 March. (It is not mandatory to write bonus homework.)

  4. 3/19: Bitcoin and Transaction [03] and Bitcoin Core Daemon [04].

  5. 3/26: Bitcoin Script [05], Digital Signature.

    • [HW02] homework #02. Due at 23:59 in 1 April.

    • [Wiki] Electronic Digital and the figure shown in the class.

    • For your reference, here is an example of RSA (asymmetric encryption) calculation.

  6. 4/2: Bitcoin CLI [06]

    • [Project01] Every student needs to hand in two ideas about what you want to do/study for the final project. The ideas should be written in English and uploaded to the system before 23:59 in 22 April. We will review these ideas in 23 April or 4/30 in the class together. Students who have same interest may form a group for the final project. Some examples are right here.

  7. 4/9: Lab: Bitcoin APIs.

    • Discussion: digital currency and interest; small transaction small fee?

    • [news] No Bitcoin Deficit a Problem for Regulators

    • Tether Transparency [ch]

  8. 4/16: Bitcoin Network, Wallet, Keys, Security Issues [07]

    • [HW03] homework #03. Due at 23:59 in 22 April.

    • [news] 2019: The year of the Security Token Offering (STO)?

  9. 4/23 (M) Smart Contract. Introduction & State Machine [10]

    • [HW04] homework #04. Due at 23:59 in 6 May.

  10. 4/30: Ethereum

    • Discuss project topics (download topics from the homework system)

    • How to read the yellow paper?

    • Announce Take-home exam (due 23:59 in 3 June 2019).

  11. 5/7: Ethereum Transaction, Gas, Message, and Mining Process [11].

    • [HW05] homework #05. Due at 23:59 in 13 May.

    • 5/13: Note that you can upload this homework until 23:59 20 May.

  12. 5/14: [Speech] Big Tech Regulation: Why GAFAM needs to be regulated and how do we do that?

    • Sébastien Soriano and Antonio Casilli will give us a talk in 5/14 at Yi Xian Bldg in Room #050201 (逸仙樓201). Please directly go to Yi Xian Bldg before 10:30am.

      • How to regulate GAFAM? What is the role of individuals in such a regulation?

      • How digital and social networks changed individuals the society? What is the opportunity for individuals in GAFAM regulation?

      • [HW06] homework #06. Due at 23:59 in 20 May.

  13. 5/21: Poof of Stake [12]

    • Ethereum Lab. Please bring your laptop to the class.

    • TA shares his code right here.

  14. 5/28: Block Architecture, Events/Logs [13].

  15. 6/4: DApp and THE DAO [14]

  16. 6/11: Term Project Presentation

  17. 6/18: Term Project Presentation, Security and Risk

  18. 6/25 (F): Performance Issue: Lightning Network [08] and SegWit [09]

Video

  • [YouTube] Hash Function

  • Digital Signature

  • ...

Grading Policy

  • Homework 40%

  • Participation 10%: attendance and discussion

  • Term Project 30%: student should finish one of the following project.

    • A) implement a smart contract application on a private or public 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).

    • B) study and research a new blockchain-related technique from academic research paper. Write a research report of how this new technique is designed and implemented. The selected research paper should be reviewed by the instructor in advance. This project must be done alone.

  • Exam 20%: 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.

Course Policy

  • All of the homework, term projects and exams should be done yourself alone (unless it is a group project). If you have any question, TAs or the lecturer will help you to complete the homework and the project. Cheating on examinations and plagiarism in homework means breaking the academic integrity. If you violate the policies, you may be suspected of cheating or attempted cheating.

  • We encourage collaboration between students. It is permitted to discuss the assignment orally with others; both students and other people. However, co-operation between individuals on assignments, homework, examinations, etc., which leads to textual similarity in the submitted report and / or code, or which gives one or several candidates wrongful benefits in the exam situation, is considered cheating.

  • Please use different sources of inspiration, literature, code, figures, assignments and other types of references as long as they are cited and referenced correctly. But the submitted product should be essentially done by the student.