This ((("Bitcoin whitepaper", "errata", id="bitcoin-whitepaper-errata")))((("whitepaper (Bitcoin)", "errata", id="whitepaper-errata")))appendix contains a description of known problems in Satoshi Nakamoto’s paper, "Bitcoin:
This appendix contains a description of known problems in Satoshi Nakamoto’s paper, "Bitcoin:
A Peer-to-Peer Electronic Cash System," as well as notes on terminology
A Peer-to-Peer Electronic Cash System," as well as notes on terminology
changes and how Bitcoin's implementation differs from that described in
changes and how Bitcoin's implementation differs from that described in
the paper.
the paper.
@ -84,7 +84,7 @@ than about 30% of the network."
=== Transactions
=== Transactions
____
____
"We ((("transactions", "errata in Bitcoin whitepaper", id="transaction-errata")))define an electronic coin as a chain of digital signatures. Each
"We define an electronic coin as a chain of digital signatures. Each
owner transfers the coin to the next by digitally signing a hash of the
owner transfers the coin to the next by digitally signing a hash of the
previous transaction and the public key of the next owner and adding
previous transaction and the public key of the next owner and adding
these to the end of the coin."
these to the end of the coin."
@ -101,13 +101,13 @@ in Bitcoin to date require providing at least one signature. So instead
of saying "a chain of digital signatures" it is more correct to say
of saying "a chain of digital signatures" it is more correct to say
"a chain of encumbrances." Given that transactions often have more
"a chain of encumbrances." Given that transactions often have more
than one input and more than one output, the structure is not very
than one input and more than one output, the structure is not very
chain-like; it’s more accurately described as a directed acyclic ((("transactions", "errata in Bitcoin whitepaper", startref="transaction-errata")))graph
chain-like; it’s more accurately described as a directed acyclic graph
(DAG).
(DAG).
=== Proof of Work
=== Proof of Work
____
____
"we implement ((("Proof-of-Work algorithm", "errata in Bitcoin whitepaper", id="proof-errata")))the proof-of-work by incrementing a nonce in the block
"we implement the proof-of-work by incrementing a nonce in the block
until a value is found that gives the block’s hash the required zero
until a value is found that gives the block’s hash the required zero
bits."
bits."
____
____
@ -148,12 +148,12 @@ Further, the average implemented in Bitcoin targets an average number of
blocks per two weeks (not per hour as might be implied by the text).
blocks per two weeks (not per hour as might be implied by the text).
Other implemented rules may further slow adjustments, such as a rule
Other implemented rules may further slow adjustments, such as a rule
that the adjustment cannot increase block production speed by more than
that the adjustment cannot increase block production speed by more than
300% per period, nor slow it by more ((("Proof-of-Work algorithm", "errata in Bitcoin whitepaper", startref="proof-errata")))than 75%.
300% per period, nor slow it by more than 75%.
=== Reclaiming Disk Space
=== Reclaiming Disk Space
____
____
"Once the((("disk space", "reclaiming")))((("reclaiming", "disk space")))((("blocks", "reclaiming disk space"))) latest transaction in a coin is buried under enough blocks, the
"Once the latest transaction in a coin is buried under enough blocks, the
spent transactions before it can be discarded to save disk space"
spent transactions before it can be discarded to save disk space"
____
____
@ -168,7 +168,7 @@ nodes will need to process all transactions.
=== Simplified Payment Verification
=== Simplified Payment Verification
____
____
"One strategy((("payment verification", "errata in Bitcoin whitepaper")))((("verifying payment", "errata in Bitcoin whitepaper"))) to protect against this would be to accept alerts from
"One strategy to protect against this would be to accept alerts from
network nodes when they detect an invalid block, prompting the user’s
network nodes when they detect an invalid block, prompting the user’s
software to download the full block and alerted transactions to confirm
software to download the full block and alerted transactions to confirm
the inconsistency."
the inconsistency."
@ -184,7 +184,7 @@ the past.
=== Privacy
=== Privacy
____
____
"Some linking is ((("privacy", "errata in Bitcoin whitepaper")))still unavoidable with multi-input transactions, which
"Some linking is still unavoidable with multi-input transactions, which
necessarily reveal that their inputs were owned by the same owner"
necessarily reveal that their inputs were owned by the same owner"
____
____
@ -203,7 +203,7 @@ it has been in use since 2015.
=== Calculations
=== Calculations
____
____
"The receiver ((("calculations", "errata in Bitcoin whitepaper")))generates a new key pair and gives the public key to the
"The receiver generates a new key pair and gives the public key to the
sender shortly before signing. This prevents the sender from preparing a
sender shortly before signing. This prevents the sender from preparing a
chain of blocks ahead of time by working on it continuously until he is
chain of blocks ahead of time by working on it continuously until he is
lucky enough to get far enough ahead, then executing the transaction at
lucky enough to get far enough ahead, then executing the transaction at
@ -238,6 +238,6 @@ into a single document.
https://oreil.ly/xZeBR[CC0] 1.0 Universal
https://oreil.ly/xZeBR[CC0] 1.0 Universal
Public Domain Dedication
Public Domain Dedication
For updates made after the publication of this book, ((("Bitcoin whitepaper", "errata", startref="bitcoin-whitepaper-errata")))((("whitepaper (Bitcoin)", "errata", startref="whitepaper-errata")))please see the
For updates made after the publication of this book, please see the