Complete detail of how Bitcoin works

Steve Gibson’s Explanation of Bitcoin


Out-of-Date Information

  • Project is not on SourceForge anymore. It’s on GitHub.
  • We no longer go to an IRC chat room to find peers. We use DNS-based host seeding.
  • We have gone through a reward halving already. So his 50-bitcoin-reward is now out-of-date.
  • He references the EFF bitcoin donation page, which is no longer available.
  • He says coin creation rate is 300 coins per hour within the entire system. Since the block halving, this is no longer the case.
  • The network is no longer 186GH/s. It is as of this writing 36TH/s.
  • The UI no longer works in only two decimal digits of precision.
  • One can no longer use bitcoind to directly generate coins, nor is CPU mining of basically any worth.

Factual Inaccuracies

  • Asserts Satoshi is Japanese. We don’t know that.
  • He asserts that currencies are “synthetic”, but people use objects with instrinsic value all the time as currency, so this is incorrect unless you accept the narrow definition of “currency” as a “modern money system issued by a government.”
  • Humans didn’t just choose gold just because it was scarce. We chose gold for a whole host of other properties.
  • Satoshi’s paper doesn’t fully explain how bitcoin works, or else we’d all be able to just point to that paper and let newbies read it.
  • It was incorrectly claimed that Adam Back invented the concept of proof of work. Bitcoin does use Back’s hashcash proof-of-work because bitcoin needs specific properties and hashcash is the simplest (and so far only) proof of work with these required properties (primecoin maybe the new exception). But the PoW concept is older, and due to Dwork & Naor in their crypto 1992 paper.
  • Explanation of hashing is wrong: To get 20 bits of 0 at the beginning of a hash, you still don’t get a guarantee that after 2<sup>20</sup> hashes, you have all zeroes, and that half that number on average are what’s necessary to find a 20-zero solution. Basically this whole explanation is just plain wrong.
  • Hashcash didn’t fail because legitimate mailing lists are indistinguishable from spammers. He states that there are no measures that could be taken to allow legit mass-mailing lists while denying spamming. This is factually incorrect.
  • The public key of the signer of a transaction is NOT included in the transaction itself.
  • CPU mining is basically no point anymore. Nor was there a point even back then.
  • 21,000,000 is not the real number. The real number of bitcoins ever created in the far future will be 20999839.77085750 – 0.00000001 bitcoins, assuming nobody ever again does what midnightmagic did, and pays themselves less, and that there are no further bugs in the program which incidentally destroy more bitcoins.

Imprecise Wording

  • A block is more than just a collection of transactions.
  • He says bitcoind addresses are “public keys converted into ascii” which is somewhat misleading. It’s a special form of base-58.
  • Steve says the same thing twice without linking the two concepts: He says each four years X bitcoins are created (divided by two each four years,) but then then describes 210,000 blocks afterwards as the same thing without really linking the two facts together.
  • Is not using the terminology for “double-spend” or explaining why it’s even a consideration for cryptocurrency, which prevents people from looking terminology up later. (Too dumbed-down.)
  • The term “anchored” is wrong. Bitcoin is not anchored to other currencies.



See Also on BitcoinWiki