Wednesday, June 22, 2016

New Course: Introduction to Bitcoin, Blockchain and Decentralized Technology

I'm very excited to announce the release of a new course on Bitcoin, blockchain and decentralized projects like Ethereum. The Bitcoin world is evolving at a breakneck pace, so I hope this 3.5 hour course will provide one of the fastest ways possible to get up speed.

The course is mostly targeted at developers, but I try to stay at the concept level for the most part and hope it will be insightful for people that just want to learn more in general about blockchain technology and its potential applications. There are tons of demos, including basics like buying online with a mobile phone, buying Bitcoin at an exchange, and storing Bitcoin in a hardware wallet (Trezor), to advanced, including sending transactions programmatically in JavaScript, and creating a Smart Contract on Ethereum.

Note: Pluralsight is paywalled, but you can get a free trial to watch 200 minutes of this 210 minute course.

Full course outline:

Module 1: Bitcoin Concepts and Basic Use
  • Demo: buying a digital video online
  • What gives Bitcoin value?
  • Big Ideas: openness, privacy, decentralized, cryptocurrency, programmable
  • Basic structure: a collectively maintained ledger
  • Transactions: how money is sent in Bitcoin
  • Smart Contract example: crowdfunding
  • Getting Bitcoin: exchange, ATM, in person, pros / cons
  • Demo: buying Bitcoin on an exchange
  • Wallets: How to store and use Bitcoin, mobile, online, hardware, paper, cold storage
  • Demo: using a hardware wallet
  • Bitcoin mining
  • Demo: accepting Bitcoin on a website with BitPay

Module 2: How Bitcoin Works Under the Hood
  • Bitcoin software universe: from wallets and libraries to full nodes
  • Demo: Installing Bitcore, javascript Bitcoin library, create Bitcoin address
  • Digital Signatures,
  • Bitcoin addresses
  • Transaction structure, UTXOs, scripts
  • Demo: creating and sending a transaction on testnet with Bitcore
  • Ledger consensus (voting) & security
  • Cryptographic hashes
  • The blockchain: structure that holds transactions
  • Coin creation, double spend attacks
  • SPV (Simplified Payment Verification) Wallets

Module 3: Advanced Bitcoin
  • HD (Hierarchical Deterministic) Wallets
  • Mnemonic codes (human friendly private key storage)
  • Demo: derive Bitcoin HD addresses securely on public server without private keys using Bitcore
  • Multisignature Addresses for shared wallets & backup
  • Low trust escrow with multisignature addresses
  • Bitcoin challenges: centralization due to mining & software control, blocksize debate
  • Soft vs Hard Forks (software upgrade procedures)
  • Segregated Witnesses
  • Payment Channels & Lightning Networks (secure, off-chain transactions)
  • Check Lock Time Verify (time-based script logic)
  • Replace by Fee (update stuck transactions)
  • Payment Protocol (secure payment address delivery)
  • CoinJoin (mixing transactions for privacy)

Module 4: Beyond Bitcoin

  • Altcoins, metacoins, colored coins & side chains
  • Comparison metrics
  • Byzantine General’s problem
  • Proof-of-Work Consensus Alternatives (Primecoin, Foldingcoin)
  • Proof-of-Stake (Peercoin, NXT, future Ethereum, Bitshares delegated Proof-of-Stake)
  • Permissioned / Private blockchains for banking, enterprise (distributed database or something more? Multichain, R3)
  • Seeking high performance blockchains (Tendermint, Ripple, BigChainDB)
  • Privacy procotols & projects - why needed? (Monero, Ring Signatures, Stealth Addresses)
  • Zero Knowledge Proofs & Zerocash
  • Stability coins: Digix, Tether, BitUSD, Nubits, MakerDAO
  • Ethereum - Open, Decentralized Computer for Smart Contracts
  • Demo: create and use Smart Contract (create your own token) on Ethereum
  • Prediction Markets & Augur
  • IoT (Internet of Things) and DAOs (Decentralized Autonomous Organizations), with
  • Decentralized Storage with Storj & IPFS (Interplanatary File System)
  • Decentralized Identity and Reputation (Namecoin, Identify & Onename)