Complete detail of how Bitcoin works: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
m this should be up here..
Taras (talk | contribs)
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
===[http://www.youtube.com/watch?v=mrlgw5KpkXM Steve Gibson's Explanation of Bitcoin]===
'''[http://www.youtube.com/watch?v=mrlgw5KpkXM Steve Gibson's Explanation of Bitcoin]'''


====Out-of-Date Information====
====Out-of-Date Information====
Line 16: Line 16:
* Humans didn't just choose gold just because it was scarce. We chose gold for a whole host of other properties.<ref name="why gold">[http://www.npr.org/blogs/money/2011/02/15/131430755/a-chemist-explains-why-gold-beat-out-lithium-osmium-einsteinium Why Gold for Currency], Reasons why gold was the best (and perhaps only) choice for currency on Earth</ref>
* Humans didn't just choose gold just because it was scarce. We chose gold for a whole host of other properties.<ref name="why gold">[http://www.npr.org/blogs/money/2011/02/15/131430755/a-chemist-explains-why-gold-beat-out-lithium-osmium-einsteinium Why Gold for Currency], Reasons why gold was the best (and perhaps only) choice for currency on Earth</ref>
* 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.<ref name="bitcoin paper">[http://bitcoin.org/bitcoin.pdf Bitcoin: A Peer-to-Peer Electronic Cash System], The seminal paper by Satoshi Nakamoto himself</ref>
* 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.<ref name="bitcoin paper">[http://bitcoin.org/bitcoin.pdf Bitcoin: A Peer-to-Peer Electronic Cash System], The seminal paper by Satoshi Nakamoto himself</ref>
* References 1997 work by Adam Back's hashcash anti-spam as the source of POW idea. The idea is actually much older. One counter-example is the paper by Dwork and Naor, presenting the idea of using processing power to combat junk mail to Cryto'92, (including hash-based processing-price functions) <ref name="counterexample">[http://www.wisdom.weizmann.ac.il/~naor/PAPERS/pvp.ps Dwork and Naor, Crypto'92], A single counter-example proving the assertion that the POW idea originated with Adam Back wrong. This is actually linked directly from the [http://www.hashcash.org/papers/ Hashcash Papers] site itself.</ref>
* 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.
* 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.
* 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.
Line 28: Line 28:
* There '''are''' ways in fact to track bitcoin users, even if you create all the pubkeys you want. Staying relatively anonymous doesn't require you to just create a bunch of pubkeys. It is quite a bit harder than that.<ref name="bitcoin analysis1">[http://www.youtube.com/watch?v=-FaQNPCqG58 Bitcoin - An Analysis], A 28c3 talk describing in depth some possible methods for de-anonymizing users, amongst quite a number of other topics studied</ref><ref name="bitcoin analyis2">[http://www.youtube.com/watch?v=gQoykhNoBbY Black OPs of TCP/IP], Dan Kaminsky rambling about Bitcoin security</ref>
* There '''are''' ways in fact to track bitcoin users, even if you create all the pubkeys you want. Staying relatively anonymous doesn't require you to just create a bunch of pubkeys. It is quite a bit harder than that.<ref name="bitcoin analysis1">[http://www.youtube.com/watch?v=-FaQNPCqG58 Bitcoin - An Analysis], A 28c3 talk describing in depth some possible methods for de-anonymizing users, amongst quite a number of other topics studied</ref><ref name="bitcoin analyis2">[http://www.youtube.com/watch?v=gQoykhNoBbY Black OPs of TCP/IP], Dan Kaminsky rambling about Bitcoin security</ref>
* CPU mining is basically no point anymore. Nor was there a point even back then.
* 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 20999999.97690000 - 0.00000001 bitcoins, assuming nobody ever again does what midnightmagic did<ref name="underpay">[https://bitcointalk.org/index.php?topic=7253.msg184414#msg184414 (in his case, as a tribute)], midnightmagic claims to have underpaid himself by 1x10<sup>-8</sup>, but he accidentally threw away a bunch of fees too</ref><ref name="blockexplorer underpay">[http://blockexplorer.com/b/124724 124724], the full blockexplorer decode of the underpay block</ref>, and pays themselves less.
* 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<ref name="underpay">[https://bitcointalk.org/index.php?topic=7253.msg184414#msg184414 (in his case, as a tribute)], midnightmagic claims to have underpaid himself by 1x10<sup>-8</sup>, but he accidentally threw away a bunch of fees too</ref><ref name="blockexplorer underpay">[http://blockexplorer.com/b/124724 124724], the full blockexplorer decode of the underpay block</ref>, and pays themselves less, '''and''' that there are no further bugs in the program which incidentally destroy more bitcoins.


====Imprecise Wording====
====Imprecise Wording====
Line 39: Line 39:
===References===
===References===
<references />
<references />
{{italic}}

Latest revision as of 21:49, 14 March 2015

Steve Gibson's Explanation of Bitcoin

Out-of-Date Information

  • Project is not on SourceForge anymore. It's on GitHub. [1]
  • 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.[2]
  • 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." [3]
  • Humans didn't just choose gold just because it was scarce. We chose gold for a whole host of other properties.[4]
  • 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.[5]
  • 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 220 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.[5]
  • He says multiple times that all nodes on the network are busy mining. This is not the case at all, nor was it for months prior to the video's creation date, which was February, 2011.
  • The blockchain is not the chain "up to the most recent block that anyone has created." It is the chain of most-work-done. Counter-examples include the possibility of multiple competing sibling blocks, and stale blocks arriving too late.
  • He equates the number of zeroes in front of the difficulty target directly with the integer-sounding difficulty.
  • Gibson says multiple times it is completely anonymous currency. False.
  • He says when you first fire up bitcoin it creates "a keypair." It's actually a whole bunch of them.
  • Since bitcoin is not anonymous, when he says there's no way of knowing who is behind addresses, this is misleading.
  • There are ways in fact to track bitcoin users, even if you create all the pubkeys you want. Staying relatively anonymous doesn't require you to just create a bunch of pubkeys. It is quite a bit harder than that.[6][7]
  • 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[8][9], 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.

References

  1. bitcoin on Github, The primary Bitcoin project page on Github
  2. Excellent hashrate graphs, sipa built a regularly-updated set of hashrate graphs
  3. Investopedia "Currency" Definition, A definition of the term as per an online reference
  4. Why Gold for Currency, Reasons why gold was the best (and perhaps only) choice for currency on Earth
  5. 5.0 5.1 Bitcoin: A Peer-to-Peer Electronic Cash System, The seminal paper by Satoshi Nakamoto himself
  6. Bitcoin - An Analysis, A 28c3 talk describing in depth some possible methods for de-anonymizing users, amongst quite a number of other topics studied
  7. Black OPs of TCP/IP, Dan Kaminsky rambling about Bitcoin security
  8. (in his case, as a tribute), midnightmagic claims to have underpaid himself by 1x10-8, but he accidentally threw away a bunch of fees too
  9. 124724, the full blockexplorer decode of the underpay block