Tag Archives: MetaMask

Topic 27 – Introduction to Blockchain

Why do I need to learn about blockchain?

Blockchain offers an interesting and unique solution for applications that require distributed consensus.

Today, a key skill for software developers is the ability to use blockchain-based platforms and tools to solve real-world problems involving distributed agreements.

What can I do after finishing learning about blockchain?

You will be to create decentralized applications (dApps) using platforms like Ethereum or Hyperledger, and smart contract programming language like Solidity.

That sounds fun! What should I do now?

First, please read this book to learn about the core protocols and algorithms in cryptography: Bruce Schneier (1996). Applied Cryptography – Protocols, Algorithms and Source Code in C. Wiley.

After that, please read this book to learn about the core concepts of Bitcoin: Arvind Narayanan et al. (2016). Bitcoin and Cryptocurrency Technologies – A Comprehensive Introduction. Princeton University Press.

After that, please read the books below to learn programming with Bitcoin:

After that, please read this book to learn programming with Ethereum: Andreas M. Antonopoulos and Gavin Wood (2018). Mastering Ethereum. O’Reilly Media.

After that, please read this book to learn programming blockchain using Hyperledger Fabric: Matt Zand et al. (2021). Hands-On Smart Contract Development with Hyperledger Fabric V2. O’Reilly Media.

After that, please audit this course to gain some ideas about the application of blockchain: MIT 15.S12 Blockchain and Money, Fall 2018 (Lecture Slides).

Terminology Review:

  • Public Keys.
  • Private Keys.
  • Digital Signatures.
  • Digital Signature Scheme.
  • Cryptographic Hash Functions.
  • Merkle Tree: Binary Data Tree with Hashes.
  • Bitcoin: Digital money ecosystem.
  • bitcoin: Unit of currency.
  • Bitcoin Users.
  • Bitcoin Wallets.
  • Bitcoin Addresses.
  • Bitcoin Transactions.
  • Blockchain Explorer.
  • Bitcoin Mining, Miners.
  • The Chain of Transactions.
  • Bitcoin Core: The reference implementation of the bitcoin system.
  • Bitcoin Exchanges.
  • Bitcoin Network.
  • Double‐Spending Attacks.
  • Block Chain: Timestamped Append-Only Log.
  • Sybil Attack: Copies of nodes that a malicious adversary can create to look like there are a lot of different participants.
  • Proof of Work: Find a number, or nonce, such that H(nonce || prev_hash || tx || tx || … || tx) < target.
    51‐Percent Attack.
  • Account-Based Ledger: The ledger keeps track of account balances.
  • Unspent Transaction Output: A transaction output that can be used as input in a new transaction.
  • Transaction-Based Ledger: The ledger keeps track of individual transaction outputs.
  • Coinbase Transactions.
  • Bitcoin Scripting Language.
  • Turing Incompleteness.
  • Stateless Verification.
  • Candidate Block.
  • Genesis Block.
  • Ethereum: The world computer.
  • Ether.
  • Externally Owned Accounts (EOAs).
  • Contract Accounts.
  • Solidity.
  • Smart Contracts.
  • Ethereum Clients.
  • Ethereum Networks.
  • Permissionless Blockchain.
  • Permissioned Blockchain.

After finishing blockchain, please click on Topic 28 – Introduction to AI Agent Development to continue.