Blockchain Development Curriculum 2018-04-14T05:44:44+00:00

Blockchain development curriculum.

“We are going to be drawing a lot of people from the web development space into the blockchain space, and the mixture between web and blockchain is only going to get more and more interesting as time goes on”

Kyle Simpson | Head of Curriculum

I Want More Details

Week One Blockchain Course 

Below is a sample curriculum for the first week of the Hatch program. It addresses the topics listed under “Week 1 – Basics” in the Hatch curriculum published in February 2018 and reprinted below:

  • Bitcoin overview, evolution of bitcoin, what is mining and why it’s important
  • History of Ethereum and the automation of middlemen, DAO hack, hard forks
  • Blockchain basics, POW/POS, bitcoin and ethereum transactions, wallets, storage, safety

For the first week, we wish to instill strong foundational knowledge of blockchain and crypto principles. Students will use these principles throughout the course. Given students a larger conceptual vision will help guide and cement more code-specific skills.

Introduction and Orientation

Reading: “Building for the Blockchain” (Y Combinator)

Morning Session

  • Introductions

    • Students will introduce themselves by presenting coding projects they have created or contributed to. Will also discuss reasons for applying to Hatch, what they hope to achieve from the course (survey?)

  • 15 minute break

  • Expectations and Projected Schedule

    • Go over expectations for students in term of work, attendance and appropriate methods of communication.

    • Walk through the course repo while discussing course schedule. Either walk through install process in class or answer any questions about installation.

Afternoon Session

  • Taking care of any unfinished administrative or logistical issues

  • In-class discussion: Sky-blue discussion of blockchain / crypto

  • Begin working through Bitcoin whitepaper

BYOB (Build Your Own Blockchain)

Reading: “What on Earth is a Merkle Tree?” Part 1 and 2 (SeeBitcoin),

“How Hash Algorithms Work” (Metamorphosite)

Project: Learn a Blockchain by Building One

Based on a project from Hacker Noon, students will build their own small-scale blockchain by creating simple block components (with hashing and add-transaction methods) and mining methods. These are deployed through a local server and act through an API protocol. (Originally written in Python)

Morning Session

  • Blocks and Hashes

  • Representing a Blockchain:

    • Genesis

    • Adding Transactions

    • “Header”

    • Generating and Chaining New Blocks

    • Merkle Trees

Takeaway: Blocks are linked / chained by the previous hash. This is the security offered when used in trustless networks.

  • 15 minute break

  • Mining:

    • Proof of Work and Solving Hash Proofs

    • Defining difficulty

    • Other modes of validation: PoS, basic read-write access (private chains)

  • PGP and other forms of encryption

Afternoon Session

  • Deploying the Blockchain:

    • Setup local API service

    • Basic front-end interface to allow visualization

    • Ping API with REST methods to run and test blockchain

  • Merkle Tree Example and Directed Acyclic Graphs

Ethereum

Reading: “A Next-Generation Smart Contract and Decentralized Application Platform” (Ethereum Foundation), “Ethereum: A Secure Decentralised Generalised Transaction Ledger” (Gavin Wood)

Morning Session

  • The Limitations of Bitcoin

    • State Transition

  • Innovation of Ethereum: Another Field

    • Arbitrary State Transformation

  • 15 minute break

  • Ethereum Virtual Machine

  • Automation of the Middlepeople: Smart Contracts

Afternoon Session

  • Solidity and Dapp deployment

  • Explore beta and recently released Dapps: stateofthedapps.com/

Project: Hacks, Forks and Other Chaos Opportunities

Students will choose a topic to research and brief the class in the following morning session (some left blank for suggestions):

  • Mt Gox
  • Hard / Soft Forks
  • DAO Hack
  • Parity Multi-Sig Crisis
  • Mining Pools
  • Seg Wit
  • PoW Energy Consumption

Vulnerabilities and Opportunities

Morning Session

  • Student-prepared briefings on hacks, forks and other chaos opportunities presented

Afternoon Session

  • Discussion about responses to vulnerabilities and attack vectors.

  • Guest Lecturer: Someone from the field of crypto in Austin (or available to video in) speaks about their experience, answers questions and fosters discussion

Wallets and Storage

Morning Session

  • Hands-on demonstrations and interactions with cold storage wallets:

    • Trezor, Ledger, KeepKey, etc.

  • 15 minute break

  • Setting up and analyzing software wallet options:

    • Mist, Parity, MEW/MyCrypt, etc.

Afternoon Session

  • Begin developing ideas for individual projects and / or contributions to existing projects

  • Catch up on any outstanding work from the week, begin outreach for interview process.

I Want More Details