Curriculum For Blockchain Networks

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

CURRICULUM FOR BLOCKCHAIN NETWORKS

This 5 week course is a blend of face-to-face intensive training and online supported instruction.

MODULE 1: BASICS OF BLOCKCHAIN

In this module, we look at blockchain technology in overview and introduce students to basic blockchain
concepts like blockchain networks, cryptocurrencies, wallets, smart contracts and DApps. Students get into
practice by experimenting with an ETH wallet, sending and tracking transactions in the Ethereum testnet, as
well as writing a simple blockchain network in Python.

MODULE 2: BLOCKCHAIN CRYPTOGRAPHY

This session delves into the fundamentals of blockchain cryptography: elliptic curve cryptography (ECC),
secp256k1, private keys, public keys, addresses, ECDSA, hashing algorithms and digital signatures. Students
look at popular crypto libraries and participate in live coding exercises to generate keys and sign/verify
messages using secp256k1 EC cryptography.

MODULE 3: CONSENSUS ALGORITHMS

Students learn about: Proof of Work (PoW), Proof of Stake (PoS), Delegated PoS, Practical Byzantine Fault
Tolerance (PBFT), Proof of Importance (PoI), Proof of Authority (PoA), Tangle and Hashgraph. They are
introduced to hard and soft forks and begin their first practical project to build a blockchain network; this
project considers all major aspects of designing a blockchain network.

MODULE 4: MINING AND MINING POOLS

In this module, students work towards understanding the mining process in the proof-of-work systems, core
mining concepts, mining software, mining pools, mining hardware and software. Students engage in live
coding to build a simple miner. Students reinforce the mining process skill-set by actively mining Ethereum
and Monero in pools. Students design a Miner for their blockchain network and test implementation.

MODULE 5: PRACTICAL PROJECT - TRANSACTIONS, BLOCKS, PEERS AND CONSENSUS

In this module, students begin their practical project by designing and implementing a blockchain node,
consider aspects of the Node core logic and implementing peer interaction and consensus protocols. During
a live coding session, students start from a mock implementation of all the REST endpoints and write the
logic behind them
MODULE 6: WALLETS AND WALLET APIS

Students develop their understanding of wallets, hierarchical deterministic wallets and key derivation (HD
wallets, BIP-39, BIP-44 standards), hardware wallets, paper wallets, wallet software and online wallets. In a
live coding session, students build a wallet, wallet APIs, generate keys, use mnemonics and key derivation,
create, sign and send transactions.

MODULE 7: TRANSACTIONS AND EXCHANGES

This module focuses on transaction models and cryptocurrency exchanges. Students look at “UTXO” vs
“account balances” models and use the Bitcoin and Ethereum APIs to create, sign and send transactions.
Students are introduced to cryptocurrency exchanges, and decentralized trading platforms like HodlHodl.

MODULE 8: PRACTICAL PROJECT - WALLETS AND FAUCETS

This session focuses on creating and implementing a wallet for student’s practical projects. Students will
write code to create a new wallet, open an existing wallet, retrieve the account balances and create, sign and
send transactions from a wallet account

MODULE 9: OFFCHAIN TRANSACTIONS AND LIGHTNING NETWORK

This module focuses on off-chain transactions, payment channels and the Lightning Network. Students
conduct a variety of exercises during live coding sessions to open channels and send payments.

MODULE 10: ANONYMOUS COINS

This session highlights the role of anonymity in blockchain networks. Students also consider the role of
privacy on the blockchain, zero-knowledge proofs, confidential transactions and privacy coins. Students
execute confidential transactions in the ZCash Testnet.

You might also like