Main Navigation
Apply Now Request Info


CS 481A3 - Blockchain Principles and Applications

  • 4 credits
  • Online

CS 481A3 – Blockchain Principles and Applications presents various aspects of blockchain technology including distributed ledgers and consensus, internal mechanisms, smart contracts and DApps (distributed applications). We will focus on Naivecoin, Bitcoin and Ethereum as case studies and explore various application areas for blockchains including elections, supply chain management and others. Students will engage hands-on in the design, implementation and evaluation of DApps. It is recommended that students be proficient in Python and have a working knowledge of javascript.

Upon successful completion of this course, students will be able to:

  • Explain the features of blockchain, its pros and cons, the problems it solves, and the strengths and weaknesses of the technology and its derivatives.
  • Understand the motivations and business cases for blockchain, separating the hype from the reality, and differentiate blockchain from alternative technologies.
  • Explain Bitcoin, including its origin, its functionality, its strengths and weaknesses, and the major issues surrounding the coin.
  • Demonstrate knowledge of blockchain technologies by implementing and running programming experiments in NaiveChain and NaiveCoin, as well as programs demonstrating fundamental cryptographic algorithms.
  • Explain the types of mining algorithms, including Proof of Work (PoW), Proof of Stake (PoS), and Proof of Importance (PoI), and be able to explain why a mining algorithm is needed in the Blockchain ecosystem.
  • Explain the features of smart contracts and Distributed Applications (DApps) including their pros and cons, and explore various use-cases for individuals and businesses, focusing on the Ethereum Virtual Machine (EVM).
  • Describe pros and cons of blockchain technology for various application areas such as elections, games, vital records, etc.)
  • Implement a blockchain project incorporating distributed ledger and smart contracts using the Solidity programming language.
  • Describe leading edge blockchain concepts and implementations including zero-knowledge proofs, privacy-enhanced chains such as Zcoin, and platforms such as Hyperledger, Decent, and Rchain.

This course requires proctored exams. Details will be provided in the course syllabus.


CS 356 (Systems Security) with a grade of C or better.

Textbooks and Materials

No textbook is required.