sandbox · no real money · nothing to install

Blockchain simulator

Every idea from the session as a little machine you can push buttons on. Pick any card — they are all open — press the buttons, and watch the picture react.

live · 0 players in this room

send coins to another player

10.0000 BTC10.0000 ETH
recipient

waiting for another player to join this room… open this page in a second tab or share the link with the class.

fee 0.0005 · total 0.5005 BTC
live transfers in this room
room ledger · tap a row to replay its steps
  • no transfers yet — be the first to pay a classmate.
your rank · curious wallet · 0 XP
0/14 explored

14 simulations · start anywhere

  1. 1 server
    many nodes
    slide 2 · fundamentals
    Decentralization

    Kill nodes in a central server vs a peer network and see who survives.

    Knock out the central serverKnock out nodes in the peer network
    open simulation →
  2. honest
    #1
    #2
    #3
    #4
    #5
    attacker
    #1
    #2
    orphaned ✕
    slide 3 · consensus
    Double spending

    Attack the chain with a conflicting spend and see confirmations defeat it.

    Pay the merchantLaunch the conflicting spend
    open simulation →
  3. database · update
    balance = 40
    old value gone
    ledger · append
    +100
    −60
    +0
    history kept
    slide 4 · fundamentals
    Blockchain vs conventional database

    Run the same UPDATE and DELETE on both and compare what is left behind.

    Run UPDATE on both sidesRun DELETE on both sides
    open simulation →
  4. block 1
    0000a…
    block 2
    0001a…
    block 3
    0002a…
    block 4
    0003a…
    slide 6 · fundamentals
    Immutability

    Tamper with a block and watch every hash after it break — then try to re-mine.

    Edit the text inside a blockWatch every later hash break
    open simulation →
  5. BTC · 7 tps
    ETH · 15 tps
    L2 · 2k tps
    Visa · 24k tps
    slide 10 · fundamentals
    Performance & scalability

    Throughput, latency and finality across Bitcoin, Ethereum, L2s and Visa.

    Drag the congestion sliderCompare tps, fees and finality
    open simulation →
  6. you
    mempool
    block
    them
    slide 13 · fundamentals
    BTC & ETH transfers

    Send simulated coins: BTC spends UTXOs on mempool.space, ETH updates an account on Etherscan.

    Pick BTC or ETH and set a feeSend and follow each stage
    open simulation →
  7. PoW
    PoS
    DPoS
    PBFT
    slide 16 · consensus
    Consensus algorithms

    Run a round of PoW, PoS, DPoS and PBFT side by side and compare trade-offs.

    Run a round of each algorithmCompare speed, cost and trust
    open simulation →
  8. wallet · confirm
    1.25 ETH
    0xa41f…9c2b
    slide 19 · ethereum
    MetaMask transaction

    A replica wallet flow: connect, review gas, confirm, sign, and get a receipt.

    Connect the fake walletReview the gas screen
    open simulation →
  9. pragma solidity
    contract Counter {
    uint256 public n;
    function inc()
    bytecode
    slide 21 · contracts
    Solidity syntax & coding

    Walk a contract line by line: pragma, state, visibility, modifiers, events.

    Step through the contract line by lineRead what each keyword does
    open simulation →
  10. call inc()
    contract
    storage
    n = 1
    slide 22 · contracts
    Smart contracts

    Deploy a contract, call its functions, and watch storage and events change.

    Deploy the contractCall its functions
    open simulation →
  11. oracle
    condition
    keeper
    payout
    slide 23 · contracts
    Smart contract automation

    An escrow that releases itself — conditions, triggers, keepers and oracles.

    Fund the escrowLet the oracle report
    open simulation →
  12. naive
    88k gas
    packed
    31k gas
    slide 24 · contracts
    Advanced contract writing

    Gas costs, storage vs memory, mappings, inheritance and custom errors.

    Toggle the gas optimisationsCompare gas before and after
    open simulation →
  13. proxy
    storage kept
    delegatecall →
    logic V1
    logic V2
    slide 27 · contracts
    Proxy contract approach

    Upgrade logic from V1 to V2 through delegatecall while storage survives.

    Call V1 through the proxyUpgrade to V2
    open simulation →
  14. attacker
    ↺ withdraw()↺ withdraw()↺ withdraw()
    vault
    slide 28 · security
    Smart contract vulnerabilities

    Exploit re-entrancy, overflow/underflow and 'private' data — then patch them.

    Run the exploitRead what the attacker did
    open simulation →