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 1 (Bitcoin) is about 24 hours long. This translates to roughly 4 weeks if you devote 6 hours/week to your studies.

Module 2 (Ethereum and Smart Contracts) is about 12 hours long. This translates to roughly 2 weeks if you devote 6 hours/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 Minutes

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 Minutes

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 Minutes

Public key cryptography concepts

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

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 Hours

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 hours

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 Hour

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 Minutes

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 Minutes

The Bitcoin Whitepaper

  1. The full text 
  2. Explanation

whitepaper


3 Hours

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 Mins

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 minutes 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 Hours

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 minutes

Segwit

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

Merkle Trees

  1. Merkle Roots and Merkle Trees
  2. Merkle Proofs (first 3 minutes 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 Hours

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 hour
Elliptic Curve Cryptography Elliptic Curve Cryptography 20 min

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 Minutes

Hot Topics

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

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 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

Feedback

Leave your feedback for Module 1 here.

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 Hours

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 Minutes

Smart Contracts

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

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 Minutes
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 Minutes
Mining Incentives
  1. Block rewards and gas fees
  2. Incentives on uncled blocks
Block rewards, gas fees 30 Minutes
Transactions
  1. UTXO vs Nonce Increments
  2. Transactions in depth
Account based blockchains, UTXO, EOA, Contract accounts, replay attacks 1 Hour
Ethereum Virtual Machine (Optional, but recommended) Ethereum Virtual Machine (EVM), nonce 20 Minutes

Practical Exercises

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

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 Minutes

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 Hours

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 Minutes
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 Minutes
Sharding (Note: This video is general and not ETH specific, ignore the block size being represented in MB) Sharding, inter shard communication 10 Minutes

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 Minutes

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)

Feedback

Leave your feedback for Module 2 here.

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.