Course Content
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.
Text / References
- 1 Vijayakumaran, Saravanan. An Introduction to Bitcoin, Lecture Notes, Online: https://www.ee.iitb.ac.in/~sarva/bitcoin.html Narayanan, Arvind, et al. Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press, 2016.Antonopoulos, Andreas M. Mastering Bitcoin: Programming the Open Blockchain. O302222Reilly Media, Inc., 2017Antonopoulos, Andreas M. and Wood, Gavin. Mastering Ethereum. O302222Reilly Media, Inc., 2018. (Free draft available at https://github.com/ethereumbook/ethereumbook)Ethereum project documentation. Online: http://www.ethdocs.org/en/latest/Monero Research Lab papers. Online: https://getmonero.org/resources/research-lab/Stellar Developer Guides. Online: https://www.stellar.org/developers/guides/ZCash documentation. Online: https://z.cash/Hyperledger Sawtooth documentation. Online: https://sawtooth.hyperledger.org/docs/Hyperledger Fabric documentation. Online: http://hyperledger-fabric.readthedocs.io/en/latest/Quorum documentation. Online: https://github.com/jpmorganchase/quorum/