Description: This class will be a deep-dive into blockchain technology. We will discuss the fundamental cryptographic under-pinnings of the technology as well as different consensus mechanisms currently available. We'll discuss both single-purpose blockchains such as Bitcoin as well as general-purpose implementations. We'll discuss govern-ance of blockchain technology and related challenges, as well as legal challenges and concerns. This course will also provide an overview of blockchain programming, highlighting both existing challenges and specific nu-ances in blockchain programming. Students should leave the class with a better understanding of what block-chain technology is, what types of problems are best suited for blockchain-based solutions, as well as a more thorough understanding of the impact that blockchain technology is having across the board.
Learning Outcomes: After completing this course, students should be able to… - Be able to explain cryptographic concepts underlying blockchain technology in layman terminology - Describe how cryptography applies to blockchain and impacts implementation-related decisions - Describe blockchain technology, how it relates to the myriad of associated technologies and concepts (communication, consensus, architecture, identity, among others) - Assess the relevance of blockchain technology to arbitrary use cases - Evaluate the risks of using blockchain technology - Describe current attacks on blockchain technology, as well as possible attack surfaces to be aware of in the future - Discuss how blockchain fits in existing legal, political, and societal frameworks - Create a minimalist blockchain application