National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6221 : Blockchain and Cryptocurrency Technology { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Ashok Kumar Turuk

Syllabus

1. Origins of Blockchain Technology: Electronic Systems and Trust, Distributed Versus Centralized Versus Decentralized, Bitcoin Predecessors, DigiCash, E-Gold, Hashcash, B-Money, Bit Gold, The Bitcoin Experiment, Introducing the Timestamp Server, Storing Data in a Chain of Blocks, Bringing Bitcoin to Life, Compelling Components, Achieving Consensus
2. Cryptocurrency Fundamentals: Public and Private Keys in Cryptocurrency Systems, The UTXO Model, Transactions, The Merkle Root, Signing and Validating Transactions, The Coinbase Transaction, Bitcoin Transaction Security, Hashes, Block Hashes, Wallet Types: Custodial Versus Noncustodial, Wallet Type Variations, Mining, Block Generation, Consensus, Proof-of-Work, Proof-of-Stake
3. Cryptographic hash functions and digital signatures: Cryptographic hashes, Digital signatures, Private key Security
4. The blockchain: Building the blockchain, Lightweight wallets, Hierarchical deterministic wallets, Extended public keys, Deriving hardened private keys, Public key math, Public key multiplication, Public key encoding, Merkle trees, Security of lightweight wallets
5. Forks and Altchains: Understanding Forks, Contentious Hard Forks, The Bitcoin Cash Fork, Altcoins, Litecoin, Privacy-Focused Cryptocurrencies, Segregated witness, Evolution of Ethereum, The Ethereum Classic Fork

Course Objectives

  • Explain the working of Blockchain systems, mainly the Bitcoin and Ethereum
  • Understand the different components of the Blockchain system and interact with them securely
  • Describe the difference between proof-of-work and proof-of-concept
  • Design, build and deploy smart contracts and distributed applications

Course Outcomes

1. Explain the design principles of Bitcoin and Ethereum. <br />2. List and describe differences between proof-of-work and proof-of-stake consensus. <br />3. Interact with a blockchain system by sending and reading transactions. <br />4. Design, build and deploy a distributed application. <br />5. Define Bitcoin's consensus mechanism <br />6. Familiarize with Ethereum, smart contracts and related technologies, and solidity language <br />7. Learn the concept of Altcoins and the interaction between Bitcoin and Altcoins

Essential Reading

  • Kalle Rosenbaum, Grokking Bitcoin, MANNING Publication
  • Lorne Lantz & Daniel Cawrey, Mastering Blockchain Unlocking the Power of Cryptocurrencies, Smart Contracts, and Decentralized Applications, O’REILLY Publications

Supplementary Reading

  • Bina Ramamurthy, Blockchain in Action, MANNING Publication
  • Bikramaditya Singhal, Gautam Dhameja, and Priyansu Sekhra Panda, Beginning Blockchain, Apress Publication