Crypto Course

Motivation

Bitcoin, Ethereum, Blockchain, DeFi, etc. are terms that are being thrown around a lot these days. You hear about it a lot on social media and on other places on the internet (especially when their prices are rising), but the vast majority of people do not know much about what they are or what they do.

My name is Harsh Strongman and I was one of those people. Naturally, being curious, I wanted to learn more about these technologies. I did what all of us do: a web search. And I found a myriad of resources, most of which were either too basic or too complex and filled with jargon. Moreover, they are entirely unstructured and I felt like I was picking up tiny pieces of information here and there, instead of learning in a structured, “builds on top of previous knowledge” way.

Since I could not find a decent non-technical resource that will allow me to learn about these technologies in a structured way, I decided to create one (in collaboration with Sergio from Your Coding Teacher).

This course will teach you everything you need to know about Bitcoin, Ethereum, Blockchain, DeFi, NFTs, etc. as a non-developer (i.e. you can understand everything without having a technical background).

All the course content is freely available and self-paced i.e. you can watch and read as per your leisure.

You will notice that some concepts are covered in multiple resources or sections. This redundancy is a feature of this course, not a bug. We deliberately looked for resources that demonstrated key concepts from different angles and at different levels of complexity to ensure the best possible learning experience for you.

Course Duration

Module Content Duration Estimated time*
1. Bitcoin 24 hours 4 weeks
2. Ethereum and Smart Contracts 12 hours 2 weeks
3. DApps, ENS, Tokens, and Oracles 7 hours 1 week
4. Decentralized Finance (DeFi) TBA TBA
5. Privacy coins, Storage coins, and other technologies TBA TBA

*assumes that you devote 6 hours per week to your studies.

Note: The content must be watched/read in the order presented. Each resource builds upon the information and concepts learnt in the previous resources.

Module 1: Bitcoin

Preliminaries

The best way to learn a thing is to know its history. Before you start exploring the internals of Bitcoin, you have to know the history and context under which it was created and what problem it is trying to solve.

Resource Topics Covered Effort
The History and Evolution of Money money, currency, barter, fiat, capitalism, history of money, trust, commodity money, paper money, currency printing, double spending problem, centralization, decentralization, motivation behind Bitcoin 30 m

Before we get into the nitty gritty details, we want you to get a broad idea of what Bitcoin is and the technology we’re dealing with.

Resource Topics Covered Effort
What is Bitcoin and how does it work? ledger, public key, private key, digital signature, hash functions, proof of work, blockchain, mining, block reward 30 m

There are a couple of technical ideas that you need to know to grasp how Bitcoin works. For example, hash functions are the basis for Public Key cryptography and Proof of work, some of the pillars of Bitcoin design. This is what we will cover now.

The content here might feel technical and intimidating, but it’s just there so you don’t find the words alien when they’re used later on. It’s okay if you don’t fully understand the topics at the moment.

Resource Topics Covered Effort

Hash Functions

  1. What is a cryptographic hash function
  2. How hard is it to reverse a cryptographic hash?
hash function, digital signature, MD5, SHA-256, collision resistance 30 m

Public key cryptography concepts

  1. Summary video
  2. What are Digital Signatures?
public key, private key, hashing, fingerprint, encryption, decryption, digital signature 20 m

Optional: Chapter 2 of The GNU Privacy Handbook

Basic Bitcoin

This section is mandatory.

After finishing this section, you’ll be able to understand the Bitcoin whitepaper.

Resource Topics Covered Effort
The basic concepts of bitcoin History of bitcoin, ways of getting bitcoin, price discovery, QR code, satoshi unit, transaction fee, mempool bitcoin exchange, Bitcoin ATM, private and public keys, bitcoin address, base58, 21 million upper limit, confirmations, blockchain, miner, halving, mining incentives, coinbase transaction 2 h

Consensus in a decentralized network

  1. Bitcoin Blockchain Consensus
  2. Disambiguating the word “Consensus”
  3. Disambiguating the word “fork”
  4. What is Nakamoto Consensus (Optional)
Byzantine Fault Tolerance, what is Consensus, Nakamoto Consensus 1.5 h

Nodes

  1. What is the role of nodes
  2. Types of nodes and forks
Role of nodes in the network, how the trustless system works, What is a node, what is Consensus, 51% attack, full node, light/SPV node, pruned full notde, archival full node, mining nodes, coinbase transaction, staking nodes, Consensus, authority nods, masternodes, lightning nodes, hard fork, soft fork 1 h

Proof of work and Consensus

  1. Byzantine Fault Tolerance
  2. Proof of Work
  3. What is a 51% Attack
Proof of Work, Byzantine General’s Problem, Byzantine Fault Tolerance, Nakamoto Consensus, 51% or Majority Attack 15 m

Bitcoin Wallets

  1. What is a Bitcoin Wallet and types of bitcoin wallets?
  2. Visual explanation of wallets
What is a wallet, HD wallets, full nodes, SPV light wallets, hot wallet, web wallet, desktop wallets, mobile wallet, hardware wallet, cold storage wallet, paper wallet, brain wallet, multi-signature 30 m

The Bitcoin Whitepaper

  1. The full text
  2. Explanation
whitepaper
3 h

Extending Bitcoin

Bitcoin is a living creature. Developers continue working on its codebase, introducing new features, improving the documentation, fixing bugs, etc.

A Bitcoin Improvement Proposal (BIP) is a design document for introducing new features or information to Bitcoin. Submitting a new BIP follows a rigorous process to ensure the highest level of quality.

Resource Topics Covered Effort
  1. The BIP approval process
  2. BIP list (for reference)
List of all BIPs with explanation and status, how to add a new BIP 30 m

However, Bitcoin can also be extended without altering its source code. Although it was designed as a “peer-to-peer version of electronic cash”, Bitcoin provides a number of properties that can be leveraged to create applications on top of it, known as Layer 2 solutions.

 

In this section we will explore some of the most notable examples.

Improving Bitcoin’s scalability

As we have seen in previous sections, a new block is mined every 10 m on average. These blocks have a size limit of 1 MB. These two facts limit the number of transactions that the network can handle per unit of time.

Multiple solutions have been proposed to solve this problem. Here we will cover some of them.

The Lightning Network is a protocol that tries to improve Bitcoin’s ability to quickly handle payments via routed payment channels.

Resource Topics Covered Effort

Lightning Network

  1. Video Introduction
  2. Understanding the Bitcoin lightning network
  3. (Optional) Understanding the Lightning Network Part I, Part II and Part III
Payment Channels, Routed Payment Channels, Lightning Network, layer 2, multisig, hash time locked contracts (HTLCs), watchtowers 3 h

Other solutions have been proposed to solve the scalability problem:

  • Although it is not its main purpose, Segwit is an upgrade to the Bitcoin protocol that helps improving Bitcoin’s scalability by effectively making transactions smaller and solving the malleability bug which enables the Lightning Network
  • Increasing the block size, which resulted in multiple forks giving birth to Bitcoin Cash and Bitcoin Satoshi Vision.
  • Schnorr signatures use a faster algorithm to create digital signatures and can combine signatures (from multisig transactions or from transactions with multiple inputs) effectively reducing the transaction size and improving the network capacity.
  • Side chains are blockchains (separate from Bitcoins blockchain) that enable Bitcoin’s and other ledger assets to be transferred back and forth between multiple blockchains.

Most of these concepts will be covered in more detail in the upcoming sections.

Tracking assets in the real world (Optional)

Beyond its original use as a digital currency, Bitcoin transactions have been used in clever ways to keep track of assets outside of the blockchain. There are different methods to use transaction metadata to encode the ownership of an asset (a song, a painting, etc.) in the Bitcoin blockchain. These methods are referred to as Colored coins. A notable example is Omni Layer and Tether.

Advanced Bitcoin

This section contains advanced and somewhat technical resources for those wishing to go deeper.

Mandatory

Resource Topics Covered Effort

Bitcoin Transactions (pre-Segwit)

  1. Transactions in depth Part 1
  2. Transactions in depth Part 2
Multiple inputs, multiple outputs, locking and unlocking transactions 40 m

Segwit

  1. Transaction Malleability
  2. What is Segwit
Segregated witness, transaction malleability 1 h
The Script language script programming language, p2pk, p2pkh, p2ms, p2sh 1 h
More Segwit Segregated witness, transaction fee 1 h

Merkle Trees

  1. Merkle Roots and Merkle Trees
  2. Merkle Proofs (first 3 m only)
  3. (optional) Data corruption and Merkle trees
  4. How SPV nodes use Merkle trees
  5. How SPV nodes communicate with full nodes
Merkle tree, merkle tree leaf, merkle root, merkle proof, nonce 3 h

Optional

Resource Topics Covered Effort

Bloom Filters

  1. What are bloom filters and why they exist
  2. Bloom Filters and SPV nodes within the Bitcoin blockchain
  3. Bloom Filters and SPV
Bloom Filters, privacy 1 h
Elliptic Curve Cryptography Elliptic Curve Cryptography 20 m

Bitcoin Mind Map

You can get the high resolution Bitcoin Mind Map by signing up to our email list.

The Future of Bitcoin

Since Bitcoin is a decentralized project, there is no official roadmap to rely on. However, these topics are part of the community discussion and might become relevant in the future.

Resource Topics Covered Effort
Quantum Computing Risks Risks of quantum computing in the future 20 m

Hot Topics

  1. Schnorr signatures
  2. Taproot
privacy, scalability, smart contracts 30 m

Bitcoin FAQ

Resource
Can you spend unconfirmed receipts?
What happens if your transaction is never confirmed?
Why does each block store a Merkle root?
What’s the difference between SegWit and Native SegWit Address
Electrical Consumption
Coins and Tokens
Incentives
Disambiguating the word “fork”
Is Bitcoin Ruled by Miners?
What is Economic Majority?
Common Myths about Bitcoin

Bitcoin History and Culture

Optional reads to become familiar with the culture and history of Bitcoin

Resource Topics Covered
Bitcoin Auction: 10,000.00 BTC — Starting Bid 50.00 USD In March 2010, user “SmokeTooMuch” auctioned 10,000 BTC for $50 (cumulatively), but no buyer was found.
The Story of The Bitcoin Pizza On 22 May 2010,Laszlo Hanyecz made the first real-world transaction by buying two pizzas in Jacksonville, Florida, for 10,000 BTC
History of Bitcoin A full chronological timeline
The rise and fall of Mt. Gox Story of the first Bitcoin exchange
The Long Road To SegWit: How Bitcoin’s Biggest Protocol Upgrade Became Reality The history of Segwit
What is Bitcoin Cash (BCH)? Bitcoin Cash
What is Bitcoin SV (BSV) Bitcoin Satoshi Vison

Module 2: Ethereum and Smart Contracts

Starters

Resource Topics covered Effort
High level overview A lighthearted introduction from the founder Vitalik Buterin himself 2.5 h

Preliminaries

Ethereum is a distributed, unbounded state machine. This section will give an overview of what a basic state machine looks like.

Resource Topics covered Effort
Finite State Machines Finite state machines 20 m

Smart Contracts

Resource Topics covered Effort
What is a Smart Contract? (Video) smart contracts, trust, examples of smart contracts 45 m

The Ethereum Protocol

Resource Topics covered Effort
What is Ethereum and how does it work? (Video) Ethereum network, Externally owned accounts, contract accounts, ETH transactions, transaction structure, state, consensus, wei 45 m
What is Gas and what role does it play? (Video) gas, gas price, gas cost, gas limit, block gas limit, , block size, infinite loops, turing completeness, EVM, gwei 45 m
Mining Incentives
  1. Block rewards and gas fees
  2. Incentives on uncled blocks
Block rewards, gas fees 30 m
Transactions
  1. UTXO vs Nonce Increments
  2. Transactions in depth
Account based blockchains, UTXO, EOA, Contract accounts, replay attacks 1 h
Ethereum Virtual Machine (Optional, but recommended) Ethereum Virtual Machine (EVM), nonce 20 m

Practical Exercises

Resource Effort
Installing Metamask 10 m
Getting Test Ether 10 m
Simple Smart Contract Example Explained 10 m
How to Compile and Deploy a Smart Contract 20 m
The Problem With Random Number Generation in Ethereum 10 m

Ethereum Improvement Proposals

Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards. The full list of EIPs can be found at eips.ethereum.org.

Resource Topics covered Effort
EIP 1559
  1. What is EIP 1559
  2. EIP 1559 from a miner’s perspective (Optional)
EIP, first price auction, EIP 1559, feecap, base fee, inclusion fee (miner tip), base fee burning, Miner extracted value, EIP 3368 (rejected) 45 m

Miner Extractable Value

This section is optional.

Resource Topics covered Effort
  1. Understanding Mempool & Miner Extractable Value
  2. Frontrunning, MEV, consensus Instability
  3. Miner Extractable Value (MEV)
Miner Extracted Value, time bandit attack, mempool 2 h

Ethereum 2.0

Ethereum 2.0 is a set of upgrades that aim to make the network more scalable, secure, and sustainable. At the time of this writing, the development is still in progress. These are the main technical ideas you need to know to understanding what the upgrade to Ethereum 2.0 represents.

Resource Topics covered Effort
What is Ethereum 2.0, explained with timeline Proof of Stake, Validators, Staking, Beacon Chain, Sharding, Casper Protocol, eWASM 25 m
Official docs (Optional) Official docs  
Proof of Stake
  1. What is Proof of Stake
  2. PoS vs PoW
Proof of Stake, staking, forging blocks, docking 25 m
Sharding (Note: This video is general and not ETH specific, ignore the block size being represented in MB) Sharding, inter shard communication 10 m

Layer 2

Layer 2 is a collective term for solutions designed to help scale your application by handling transactions off the Ethereum mainnet (layer 1), while taking advantage of the robust decentralized security model of mainnet.

Resource Topics covered Effort
What is Layer 2 Scaling? Rollups, Plasma, Channels, Sidechains 15 m

Ethereum History and Culture

Resource
The Prehistory
The History

The DAO Story

  1. The DAO Hack and Smart Contracts on Ethereum
  2. Ethereum Classic?
  3. How the DAO Hack Changed Ethereum

Is it fair to compare Bitcoin and Ethereum?

Resource
The Lion and the Shark: Divergent Evolution in Cryptocurrency (Don’t tell me what to do)

Module 3: Tokens, DApps, ENS, and Oracles

Tokens

Resource Topics covered Effort
The Ultimate Guide to Crypto Tokens What is a token, examples of tokens, fungible tokens, non-fungible tokens (NFTs), currency tokens, asset backed tokens, reward tokens, governance tokens, utility tokens, security tokens, equity tokens, token standards, interfaces, difference between token and cryptocurrency, Initial Coin Offerings (ICO) 1 h
ERC 20 ERC 20 Token Standard 10 m
ERC 721 ERC 721 Token Standard 10 m
Art NFTs and Trading Platforms Examples of NFTs with platforms where they are traded 15 m

Decentralized Applications (DApps)

Resource Topics covered Effort
How apps work? Frontend and Backend 10 m

DApps

  1. What is a DApp
  2. Introduction to DApps
Decentralized Application (Dapp), benefits of DApps 15 m

Exploring a DApp (Cryptokitties)

  1. How to play Cryptokitties
  2. Examining the Cryptokitties codebasae
Cryptokitties, Fungible and non-fungible assets, ERC-20, ERC-721, Cryptokitties codebase, Events 30 Min
Find and explore more DApps Practical Exercise 1 h

Ethereum Name Service (ENS)

Resource Topics covered Effort
What is Domain Name System (DNS) Domain Name Service 10 m

Practical Exercise

  1. Type this IP address into your browser: 3.65.175.183

    You will land on this website. You can always access websites by their IP addresses. The .com name is simply a DNS mapping to make things easy for humans to remember.

  2. Register a domain name.

    Go to Namecheap and register a domain name for yourself. Register your FirstnameLastname.com.
30 m

Ethereum Name Service (ENS)

  1. What is ENS?
  2. ENS Architecture (optional)
ENS, Registry, Resolvers, Namehash 30 m
Register an ENS Domain Practical Exercise 30 m
ENS FAQ Controller, registrant, ownership, reverse record 15 m

Oracles and Chainlink

Resource Topics covered Effort

Oracles

  1. What is an Oracle
  2. Why do we need Oracles
Oracles, software and hardware oracles, deterministic blockchain, Decentralized Oracles, Chainlink basics, trusted execution environment 30 m

The Oracle Problem

  1. What is the Oracle problem?
  2. Chainlink and the Oracle Problem
blockchain middleware, oracle problem, need for seperate network, centralized oracle risks, need for decentralized oracles 30 m
What is Chainlink and how it works The chainlkin protocol: Reputation contract, order matching contract, aggregating contract 10 m

Optional: The Chainlink Whitepaper

Who Made This

This project was collaborated on by Harsh Strongman and Sergio.

Harsh Strongman is a Chartered Accountant and entrepreneur. He has a self-taught education in Computer Science. He is the owner of Life Math Money, the #1 self-improvement website for men. He can be found on Twitter, Instagram, and Telegram. Sign up for his free weekly newsletter here.

Sergio is an aerospace engineer by education, and has worked at Amazon (developing Alexa) as a software engineer. Currently, he works at eBay. He is also a Certified Professional Cloud Architect (Google Cloud), and is the owner of Your Coding Teacher, a website aimed at helping you supercharge your career. He can be found on Twitter, Instagram, and Telegram. His newsletter signup is available on the sidebar of his website.

Special thanks to Ash M for being our alpha-test student and providing us with valuable feedback along the way.

Inspiration

The inspiration for this course comes from the Computer Science OSSU and Teach Yourself Computer Science.