Errata

Mastering Bitcoin

Errata for Mastering Bitcoin

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page 79
near the top of the page

in the code's comment: "cryptographically secure random generator" lacks the word "number"

Cihat Imamoglu  Dec 10, 2017  Mar 23, 2018
Printed
Page 250
Chapter 10 / Mining Pools / 2nd paragraph

It is written in the book that "The hardware consumes 1375 watts (1.3kW) of electricity when running, 32 kW-hours a day, at a cost of $1 to $2 per day at very low electricity rates." It should be 33 kWh (1.375 x 24 = 33).

More importantly, it is written that, "... the miner will be able to solo mine a block approximately once every four years. If the miner does find a single block in that timeframe, the payout of 12.5 bitcoin, at approximately $1,000 per bitcoin, will result in a single payout of $12,500, which will not even cover the entire cost of the hardware and the electricity consumed over the time period, leaving a net loss of approximately $1,000."

That seems wrong because the paragraph assumes the cost of this 14 TH/sec - 1.375 kW mining hardware is only $2,500 (which seems reasonable for 2017). And my estimate of the cost of electricity, over 4 years, at $2 per day, is 2 x 365 x 4 = $2,920. The total cost is therefore 2,500 + 2,920 = $5,420 which leaves a net profit of 12,500 - 5,420 = $7,080.

It would also be nice to show the calculation of the probability of this equipment of mining a block in 4 years. Assuming an average hash power of 3 EH/sec for the whole Bitcoin network (see numbers on page 247 for end of year 2016), the probability is P = (14e12/3e18)*6*24*365*4 = 0.98 ~ 1.

Note from the Author or Editor:
Fixed @6ef0bbc

P. Couvignou  Dec 06, 2017  Mar 23, 2018
Printed
Page 247
Chapter 10 / Mining and the Hashing Race / 3rd paragraph

Because the hashing power for year 2010 ends with 116 GH/sec, the hashing power interval for year 2011 should begin with 116 GH/sec and the growth number for 2011 should also be corrected as follows:

2011
116 GH/sec - 9 TH/sec (77x growth)

The printed book shows: "16 GH/sec - 9 TH/sec (562x growth)"

The growth numbers for year 2014, 2015 and 2016 are not correct. They should be:

2014
10 PH/sec - 300 PH/sec (3x growth)

2015
300 PH/sec - 800 PH/sec (2.66x growth)

2016
800 PH/sec - 2.5 EH/sec (3.12x growth)

The book shows, respectively: 3000x, 266x, and 312x growths.

P. Couvignou  Dec 06, 2017  Mar 23, 2018
Printed
Page 297
top of the page, 1st paragraph

At the top of the page in the code there seems to be a mistyping:
<payee Pubic Key> --> <payee Public Key>

Anonymous  Aug 31, 2017  Mar 23, 2018
Printed
Page 259
last paragraph

page 259 last paragraph and page 260 first paragraph
-------------------------------------------------------------
To get from 80% to 100% the factor is 1.25, therefore the expected average block period for the majority chain is 10 minutes times 1.25 = 12.5 minutes instead of 12 minutes. Therefore on page 260 the following numbers should be:
24,192 minutes --> 25,200 minutes
12 minutes --> 12.5 minutes
16.8 days --> 17.5 days
reduced by 20%: Guess this is again correct, my first thought was 25% but think I was wrong (I'm not 100% sure on this)

Note from the Author or Editor:
Fixed @e96c5c0

Marco Gauer  Aug 31, 2017  Mar 23, 2018
Printed
Page 47
1st paragraph

"...the transaction that credited our new address with 50 millibits...." The transaction was for 15 millibits, not 50.

Carlos  Aug 24, 2017  Mar 23, 2018
PDF
Page 49
first example

$ bitcoin-cli getblockhash 0000000000019d6689c085ae165831e934ff763ae46a2a6c17↵
2b3f1b60a8ce26f


getblockhash takes block height as parameter, so it should have been --

$ bitcoin-cli getblockhash 286384

Jerry Ji  Aug 09, 2017  Mar 23, 2018
Other Digital Version
999
999

Chapter5. Wallets
sub: Wallet Technology detail
sub sub: Generating mnemonic words

"The wallet starts from a source of entropy, adds a checksum, and then maps the entropy to a word list: ... "

Question: ls the second "entropy the same as the first "entropy"? If not, would it better to use other term such as "the result". ?

" 3. Add the checksum to the end of the random sequence.
4. Divide the sequence into sections of 11 bits."

question: is the "sequence" in (4). the same as the "sequence" in (3) ?. If not, would it be better to also use "the result"?

Note: Figure 5-6 is very clear, the previous two statement above imho just seem to contradict with the figure.

Note from the Author or Editor:
Clarified language in @078489e

adi tshai  Jul 28, 2017  Mar 23, 2018
Other Digital Version
999
999

Chapter 10.
Sub chapter : Mining the Block
sub sub chapter: Target Representation.

"Using that formula, and the difficulty bits value ...
target = 0x03 ... (0x19 - 0x03))^"

question: What is the "^" at the end of above sentence?. The notations are repeated several time down the lines. Is this an extra notation or simply one exponential notation too many.?

Note from the Author or Editor:
Exponent notation was not properly formatted. Please review and confirm it formats correctly now.

2^(8*(exponent–3))^

The entire (8*(exponent-3)) part should be superscript (exponent) of the number 2. Meaning 2 raised to the power of (8*(exponent–3))

SImilarly for all the following lines, where I gradually calculate the value of (8*(exponent–3)). It should always show as 2 raised to the power of XXXXX.

adi tshai  Jul 24, 2017  Mar 23, 2018
Other Digital Version
999
999

Chapter. 7
Subchapter. Complex Script Example

Nature: Missing numbered lines and implicit script type..

"Here's the script that Mohammed design ......
IF
IF
2
... "

"This execution path consists of lines 3 and 9."

Note:
1. The lines number referenced in the text are missing on the script.
2. This part just mentioned script, yet down the line in the same sub chapter there is "unlocking script". Does this mean that the script mentioned above quote is a redeem script?. If so, would not it more explicit as "Here's the redeem script that Mohammed design ..." to help reader?

Note from the Author or Editor:
Added line numbers to the script formatting, to make it easier to understand. Please confirm that these render correctly!

Added the word "redeem" before "script" in the caption.

Adi tshai  Jul 23, 2017  Mar 23, 2018
, Printed, PDF, ePub, Mobi, , Other Digital Version
Page 110
Figure 5-11

The current Fig 5-11 should be placed in the position of Fig 5-10. Author should update the Figure 5-11 with a new one.

Note from the Author or Editor:
Figure 5-11 was intended for location 5-10. A new figure has been provided for 5-11

ZHU Xiaoyang  Jul 13, 2017  Jul 21, 2017
, Printed, PDF, ePub, Mobi, , Other Digital Version
Page 107
Figure 5-10

The figure 5-10 should not be the picture of creating Master Key from the seed.

Note from the Author or Editor:
Figure 5-10 is incorrect. The correct figure for this location is the one shown in 5-11.

ZHU Xiaoyang  Jul 13, 2017  Jul 21, 2017
, Printed, PDF, ePub, Mobi, , Other Digital Version
Page 199
last paragraph on the page

In the last paragraph on page 199 "Almost 11 minutes after starting to mine block 277,316...". The nonce for this (277,316) block is 924591752 and the hash is 0000000000000001b6b9a13b095e96db41c4a928b97ef2d944a9b31b2cc7bdc4.
Example 8-3 is correct.

Note from the Author or Editor:
Corrected - the details corresponded to block 277,315, which was the previous block. Updated to reflect the correct details of block 277,316

Alexander Revyakin  Jul 09, 2017  Jul 21, 2017
, Printed, PDF, ePub, Mobi, , Other Digital Version
Page 1
1

On chapter 10. Mining and consensus
Sub chapter topic: Blockchain forks

Re: Discription of Figure 10-3. Visualization of a Blockchain fork event: two block found simultateously.

Nature of error : discrepancies between description and figure.

In the description : "In figure 10-2, we see two miners (Node A and Node B) where .... "

In the figure 10-3: " There are no such "Node A" and "Node B"

Note from the Author or Editor:
Replaced with Node X and Node Y names, as per the diagrams.

Anonymous  Jul 03, 2017  Jul 21, 2017
, Printed, PDF, ePub, Mobi, , Other Digital Version
Page 20
Figure 2-4

In the third and final transaction of this figure, in the OUTPUTS To column:

Output #1 Bob''s Address (change) 0.0845 BTC (unspent)

the 0.0845 figure appears to be wrong
For the INPUTS to sum to the OUTPUTS, the change must be 0.0045

Note from the Author or Editor:
Corrected directly in the image

John Pollard  Jun 28, 2017  Jul 21, 2017
, Printed, PDF, ePub, Mobi, , Other Digital Version
Page Ch2
Figure 2-4

In the bottom section of figure 2-4, there is an extra apostrophe in "Bob's address" (Ie. "Bob''s address").

Note from the Author or Editor:
Repaired directly in the image

Anonymous  Jun 15, 2017  Jul 21, 2017
ePub
Page 29
1st paragraph

At the top of the "Stories" section of chapter 1, you've got an "it's" when you should have an "its":

At it's core, money simply facilitates the exchange of value between people.

Anonymous  Jul 17, 2016  Jun 01, 2017