Skip to main content

What Is a Blockchain?

The One-Paragraph Version

A blockchain is a shared notebook that thousands of computers keep identical copies of. New pages (blocks) are only added when the network agrees on them, each page carries a fingerprint (hash) of the previous page, so nobody can quietly edit old pages. No single company owns the notebook.

Core Vocabulary

TermPlain meaningTechnical meaning
Transaction"Alice pays Bob 1 coin"A signed message that requests a state change
BlockA page of transactionsHeader (prev hash, Merkle root, timestamp, nonce) + body
HashDigital fingerprintFixed-size output of a one-way function (SHA-256, Keccak-256)
NodeA computer running the softwareStores chain, validates blocks, gossips with peers
Miner / ValidatorWho proposes new blocksSpends work (PoW) or stake (PoS) for the right to propose
WalletApp holding your "money"Holds a private key; the chain only knows signatures
AddressAccount numberHash of a public key (Ethereum: last 20 bytes of keccak256(pubkey))
Gas / FeeCost to use the networkPrice of computation + storage, paid to block producers
Smart contractProgram on the chainDeterministic bytecode executed by every node
ForkDisagreement / splitTwo valid blocks at the same height (temporary) or a rule change (hard/soft fork)

How One Transaction Travels

Blockchain Core Mechanics

Block #100prevHash0000a1…merkleRoot Β· nonce Β· timestamp7c1d… Β· 48213 Β· t+12sblockHash0000c4…Block #101prevHash0000c4…merkleRoot Β· nonce Β· timestamp7c1d… Β· 48213 Β· t+12sblockHash0000d9…Block #102prevHash0000d9…merkleRoot Β· nonce Β· timestamp7c1d… Β· 48213 Β· t+12sblockHash0000e2…Each block commits to its parent hash β†’ history is tamper-evident

Every header embeds the hash of its parent. Changing any historic byte changes that block hash, which invalidates the parent pointer of every descendant, so an attacker must redo all subsequent work (PoW) or control a supermajority of stake (PoS).

  1. Create & sign - your wallet builds {to, value, nonce, gasPrice} and signs it with your private key (ECDSA secp256k1).
  2. Broadcast - sent to a node, which gossips it to peers; it waits in the mempool.
  3. Select - a block producer picks transactions (usually highest fee first).
  4. Execute & validate - every node re-runs the transaction; invalid ones are rejected (bad signature, insufficient balance, wrong nonce).
  5. Agree - consensus decides which block becomes canonical.
  6. Finalize - after enough confirmations the block is practically irreversible.

Blockchain vs Crypto vs Web3

ConceptWhat it is
BlockchainThe data structure + replication protocol
CryptocurrencyA token whose ledger lives on a blockchain (BTC, ETH)
Smart contract platformA blockchain with a general-purpose VM (Ethereum, Solana, Avalanche)
Web3Applications where users own identity/assets via wallets, backed by chains + decentralized storage
DeFi / NFT / DAOApplication categories built on smart contracts

Types of Blockchains

TypeWho can readWho can write/validateExamplesUse case
Public permissionlessAnyoneAnyoneBitcoin, EthereumOpen finance, assets
Public permissionedAnyoneApproved validatorsSome L1s, Polygon Edge setupsRegulated public rails
Private / consortiumMembersMembersHyperledger Fabric, CordaSupply chain, interbank settlement

Common Beginner Misconceptions

  • "Blockchain is anonymous." It is pseudonymous. Every transaction is public forever; chain analysis links addresses to identities.
  • "Data on chain is secret." Public chains are transparent. Never put personal data on chain.
  • "Immutable means can't be wrong." Immutable means can't be changed; a buggy contract stays buggy (see The DAO hack).
  • "Blockchain = Bitcoin." Bitcoin is one application of the idea.
  • "Losing the key can be fixed by support." No one can reset a private key. Self-custody means self-responsibility.

Hands-On: Read the Chain

# Latest block number on a public Ethereum JSON-RPC endpoint
curl -s -X POST https://cloudflare-eth.com \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
# {"jsonrpc":"2.0","id":1,"result":"0x1312d00"} (hex = block height)

Check Your Understanding

  1. Why does editing an old block invalidate all newer blocks?
  2. What is the difference between an address and a private key?
  3. Why can two honest miners temporarily produce different blocks at the same height?

Next: Cryptography Primitives.

πŸ“–
Track Page Progress0 / 635 Read
Knowledge Base Completion0%