• Prerequisites
- Any one of EE720 or CS406 or CS649
• Cryptocurrencies - Bitcoin: Elliptic curve cryptography, ECDSA, cryptographic hash
functions, SHA-256, Bitcoin addresses, Bitcoin’s blockchain, block header,
Merkle trees, mining, proof of work (PoW) algorithms, difficulty
adjustment algorithm, mining pools, transactions, double spending attacks,
the 51% attacker, block format, pre-SegWit transaction formats, Bitcoin
script, transaction malleability, SegWit transaction formats, smart
contracts (escrow, micropayments, decentralized lotteries), payment
channels, Lightning network - Ethereum: Overview of differences between Ethereum and Bitcoin,
block format, mining algorithm, proof-of-stake (PoS) algorithm, account
management, contracts and transactions, Solidity language, decentralized
applications using Ethereum - Stellar: Overview of Stellar Network, Horizon and Core servers,
Stellar consensus protocol, accounts, assets, ledger format, ledger
operations, transactions, smart contracts - Monero: Overview of differences between Monero and Bitcoin,
Cryptonote protocol, ring signatures, confidential transactions,
Cryptonight mining algorithm - Zcash: Overview of differences between Zcash and Bitcoin, zero
knowledge proofs, zero knowledge succinct non-interactive arguments of
knowledge (zkSNARKs), Equihash mining algorithm
• Blockchain Technologies
- Hyperledger Fabric: System architecture, ledger format, chaincode
execution, transaction flow and ordering, private channels, membership
service providers, case studies of applications - Hyperledger Sawtooth: System architecture, global state data
format, transactions, batches, journal, proof-of-elapsed time (PoET)
consensus algorithm, validator network, case studies of applications - Quorum: Overview of differences between Quorum and Ethereum,
system architecture, Constellation protocol, Raft-based consensus
protocol, Istanbul Byzantine fault tolerance (IBFT) protocol,
zero-knowledge security layer, case studies of applications