This class covers the blockchain – the technology behind Bitcoin. Introduced in 2008, Bitcoin has shown that blockchain can serve as a distributed ledger that records monetary transactions. But the blockchain technology has many more applications than this. That realization has lately blossomed into a dazzling array of startup companies, initiatives, corporate alliances, and research projects – a new industry where billions of dollars are being invested. This course will address important questions about: how does blockchain work? what makes it different? how secure is the blockchain?
In particular, this course will cover the technical aspects of blockchain technologies and distributed consensus. Students will learn how these systems work and how to engineer secure software that interacts with the Bitcoin network and other cryptocurrencies. The introductory material will cover the following areas:
Goals and objectives: By the end of the course, students will:
Prerequisite: basic Computer Science and good programming skills are essential. Knowledge of Computing Systems and Concurrency (CS 240), or an equivalent course, or instructor consent, is required. Knowledge and comfort with systems programming. Background in cryptography is helpful but not necessary; we will introduce concepts from cryptography as needed during class but students with no background in cryptography may wish to do extra reading. A basic understanding of probability theory and modular arithmetic will be helpful.
This video material for this course is from the online course Bitcoin and Cryptocurrency Technologies by Arvind Narayanan, Joseph Bonneau, Edward Felten and Andrew Miller. The slides of these video lectures are available at this website. It is with great admiration and thanks that we are using it.
Last updated: 2018-2-11 14:21:51