CMC742/Semester 7
Blockchain
17 notes written · 49% syllabus coverage (17 of 35 topics)
CMC742 — Blockchain
Detailed Syllabus
Module I — Introduction to Blockchain (6 hours)
- 1.1 What is a blockchain
- 1.2 Origin of blockchain — cryptographically secure hash functions
- 1.3 Foundation of blockchain: Merkle trees
- 1.4 Components of blockchain, Block in blockchain
- 1.5 Types: Public, Private, and Consortium
- 1.6 Consensus Protocol
- 1.7 Limitations and Challenges of blockchain
Module II — Cryptocurrency (6 hours)
- 2.1 Cryptocurrency: Bitcoin, Altcoin, and Tokens (Utility and Security)
- 2.2 Cryptocurrency wallets: Hot and cold wallets
- 2.3 Cryptocurrency usage
- 2.4 Transactions in Blockchain
- UTXO and double spending problem
- 2.5 Bitcoin blockchain
- Consensus in Bitcoin
- Proof-of-Work (PoW)
- Proof-of-Burn (PoB)
- Proof-of-Stake (PoS)
- Proof-of-Elapsed Time (PoET)
- 2.6 Life of a miner, Mining difficulty, Mining pool and its methods
Module III — Programming for Blockchain (8 hours)
- 3.1 Introduction to Smart Contracts
- Types of Smart Contracts
- Structure of a Smart Contract
- Smart Contract Approaches
- Limitations of Smart Contracts
- 3.2 Solidity Programming — Basics
- Functions, Visibility and Activity Qualifiers
- Address and Address Payable
- Bytes and Enums
- Arrays: Fixed and Dynamic Arrays, Special Arrays (Bytes and Strings)
- Struct, Mapping
- Inheritance, Error handling
- 3.3 Case Study — Voting Contract App
- 3.4 Preparing for smart contract development
Module IV — Public Blockchain (8 hours)
- 4.1 Introduction to Public Blockchain
- 4.2 Ethereum and its Components
- Mining in Ethereum
- Ethereum Virtual Machine (EVM)
- Transaction, Accounts
- Architecture and Workflow
- 4.3 Comparison between Bitcoin and Ethereum
- 4.4 Types of test-networks used in Ethereum
- 4.5 Transferring Ethers using Metamask, Mist Wallet
- 4.6 Ethereum frameworks
- 4.7 Case study of Ganache for Ethereum blockchain
- 4.8 Exploring etherscan.io and ether block structure
Module V — Private Blockchain (8 hours)
- 5.1 Introduction, Key characteristics, Need of Private Blockchain
- 5.2 Smart Contract in a Private Environment
- 5.3 State Machine Replication
- 5.4 Consensus Algorithms for Private Blockchain
- PAXOS and RAFT
- 5.5 Byzantine Faults
- Byzantine Fault Tolerant (BFT) and Practical BFT
- 5.6 Introduction to Hyperledger
- Tools and Frameworks
- Hyperledger Fabric
- Comparison between Hyperledger Fabric & Other Technologies
- 5.7 Hyperledger Fabric Architecture
- Components: MSP, Chain Codes
- Transaction Flow
- Working of Hyperledger Fabric
- Creating Hyperledger Network
- 5.8 Case Study of Supply Chain Management using Hyperledger
Module VI — Tools and Applications of Blockchain (4 hours)
- 6.1 Corda, Ripple, Quorum and other Emerging Blockchain Platforms
- 6.2 Blockchain in DeFi: Case Study on any of the Blockchain Platforms
Text Books
| # | Title | Author(s) | Publisher |
|---|---|---|---|
| 1 | Blockchain Technology | Chandramouli Subramanian, Asha A. George, Abhillash K. A, Meena Karthikeyen | Universities Press |
| 2 | Mastering Ethereum, Building Smart Contract and Dapps | Andreas M. Antonopoulos, Dr. Gavin Wood | O’Reilly |
| 3 | Mastering Blockchain: A deep dive into distributed ledgers, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more (3rd Ed.) | Imran Bashir | Packt Publishing |
References
| # | Title | Author(s) | Publisher |
|---|---|---|---|
| 1 | Blockchain for Beginners | Yathish R, Tejaswini N | SPD |
| 2 | Blockchain Basics: A Non-Technical Introduction in 25 Steps | Daniel Drescher | Apress |
| 3 | Blockchain with Hyperledger Fabric | Luc Venkatraman Ramakrishna | Packt Publishing |
Online References
(None listed in syllabus.)
CML792 — Blockchain Lab
List of Experiments
| Sr. No. | Experiment Title | Hours |
|---|---|---|
| 1 | Cryptography in Blockchain — Merkle root tree hash | 2 |
| 2 | Creating Smart Contract using Solidity and Remix IDE | 2 |
| 3 | Creating Transactions using Solidity and Remix IDE | 2 |
| 4 | Embedding wallet and transaction using Solidity | 2 |
| 5 | Blockchain platform — Ethereum using Geth | 2 |
| 6 | Blockchain platform — Ganache | 2 |
| 7 | Case Study on Hyperledger | 2 |
| 8 | Case Study on Other Blockchain platforms | 2 |
| 9 | Creating a blockchain Application | 2 |
Assignments / Tutorials
| Sr. No. | Description | Hours |
|---|---|---|
| 01 | Assignment covering Modules I–III (limited to 3 questions) | 2 |
| 02 | Assignment covering Modules IV–VI (limited to 3 questions) | 2 |
Lab Text Books & References
(Same as theory — see Text Books and References sections above.)