1
0
mirror of https://github.com/bitcoinbook/bitcoinbook synced 2024-11-26 09:58:22 +00:00
Commit Graph

227 Commits

Author SHA1 Message Date
David A. Harding
3ff08d8fff CH09: add info about fees
- New introduction to fees
- More detail about how the fee market works
- Adds RBF and CPFP fee bumping
- Adds transaction pinning
- Adds package relay
- Adds CPFP carve out
- Small edits to 'Adding fees'
- Tiny edits to fee sniping
2023-05-07 09:16:34 -10:00
David A. Harding
fd0aed78e9 CH01-03: edits for feedback from arufino (thanks!) 2023-02-09 20:58:47 -10:00
David A. Harding
33402f685d Anchors: rename "cup_of_coffee" to "spending_bitcoin" 2023-02-05 13:33:02 -10:00
David A. Harding
05c956e6a9 CH02: minor edits for consistency, voice, and correctness 2023-02-05 13:33:02 -10:00
David A. Harding
e472d344af CH02::mining: explain how confirmations add security
Previous text didn't explain how including a transaction in a block
gave it security.  We add a short explanation here, knowing that we'll
go into more detail in the mining chapter.
2023-02-05 13:33:02 -10:00
David A. Harding
cb3420c572 CH02::mining: replace sudoku example with accurate description
This takes up the same amount of space and is (I think) just as easy to
understand, but avoids the indirection of a metaphorical example and
some of the confusions it can create, e.g. that mining is a race to
complete a puzzle rather than a memoryless lottery.

We also remove a later desciption of PoW which is now redundant.
2023-02-05 13:33:02 -10:00
David A. Harding
2612342b9e CH02::mining: clarify what security miners provide re: valid txes 2023-02-05 13:33:02 -10:00
David A. Harding
08c1b635a1 CH02::mining: clarify that putting txes in blocks isn't hard
It's just forming the header correctly that's hard.

Also remove the word trust, since Bitcoin doesn't depend on "trust in
computation".
2023-02-05 13:33:02 -10:00
David A. Harding
a543abe388 CH02::Bobs view: remove tipbox about unconfirmed safety
This advice may have been somewhat accurate when the first edition of
this book was published and opt-in replace-by-fee wasn't available, but
that's no longer the case.  And now, especially, with default
replace-by-fee on the probable horizon, there's even less safety in
accepting unconfirmed transactions as final without some type of
secondary protection.
2023-02-05 13:33:02 -10:00
David A. Harding
e338f0ddc7 CH02::Bobs view: clarify what Bob's wallet sees (peer vs client)
Clarify what Bob's wallet can see if it's a lightweight client versus a
full node peer.
2023-02-05 13:33:02 -10:00
David A. Harding
fddaace478 CH02::propagation: mention non-node relay and s/flooding/gossiping/
- Alice can send her transaction to software that will forward it to a
  node for her.  This is very common today.

- Previous text used the term "flooding" but the more common phrase for
  this particular propagation technique is "gossiping".
2023-02-05 13:33:02 -10:00
David A. Harding
8aa01e03aa CH02::propagation: define full node / peer 2023-02-05 13:33:02 -10:00
David A. Harding
3af9bb8e93 CH02::tx propagation: use "full node" and "lightweight client"
Per the updated infobox in CH01, we stop using the name "clients" for
full nodes; they're peers.  We also clarify that miners commit effort to
blocks rather than necessary prove them valid.
2023-02-05 13:33:02 -10:00
David A. Harding
a40d5456f3 CH02: remove some more unnecessary specific values
Will make updating the text in the future easier.
2023-02-05 13:33:02 -10:00
David A. Harding
ab4935b2a8 CH02::creating outputs: remove block explorer image
Don't have enough space for readable text at a good resolution.
There's still a link for anyone who wants to see the tx.
2023-02-05 13:33:02 -10:00
David A. Harding
1601de2634 CH02::getting inputs: update example for new input for Alice
This uses the same address used in the updated CH01 screenshots.

We also mention that the output index number and script are needed for
spending.
2023-02-05 13:33:02 -10:00
David A. Harding
58643749fb CH02::getting inputs: warn about privacy for address lookup calls 2023-02-05 13:33:02 -10:00
David A. Harding
fbdb840923 CH02::getting inputs: introduce UTXO term
Introduce the UTXO term as it is one of the most essential concepts to
understanding how Bitcoin works and is widely used in other Bitcoin
technical documentation.
2023-02-05 13:33:02 -10:00
David A. Harding
2753d8cd8d CH02::constructing: clarify offline requirements
Previous text said that wallets can construct tranactions offline.  Add
clarification that this requires the wallet to already know what inputs
it controls.
2023-02-05 13:33:02 -10:00
David A. Harding
fa7a385c83 CH02::common tx forms: introduce technical terms
- *consolidation transaction_ for what was previously called an
  aggregating transaction

- *payment batching* for paying multiple outputs
2023-02-05 13:33:02 -10:00
David A. Harding
e458e803cd CH02::tx chain: remove repetitive summary paragraph 2023-02-04 21:17:35 -10:00
David A. Harding
a20a159cb5 CH02::coin selection: make its own subsection 2023-02-04 21:17:35 -10:00
David A. Harding
a4327fa4fe CH02::Change update for illustration, add detail
- Update text to refer to new illustration

- Introduce the term "change output" in addition to existing term
  "change address"

- Add information about the privacy advantages of unique change
  addresses
2023-02-04 21:17:35 -10:00
David A. Harding
b05a5ee6f8 CH02::chain of txes: update illustration, add detail
- Previous illustration was cut-off, both in the source and the print
  edition.  We update the illustration to not only correct that but also
  provide more accuracy:

    - Instead of showing input values, the illustration now shows input
      references to prevouts.

    - Instead of using BTC denomination, it use satoshis

    - Instead of putting tx fees in the output category, it shows them
      outside the transaction since they're an implicit value

    - The source for the new illustration is provided as a comment to
      make future editing easier

- The text is updated to refer to the new illustration appropriately.

- Text now mentions the implicit input value

- We describe that we use satoshi values because that's what's in the
  protocol
2023-02-04 21:17:35 -10:00
David A. Harding
4725f0f51d CH02::Alice pays Bob: change example from laptop to podcast episode
Before earlier edits, the second edition text for this chapter was about
buying a cup of coffee.  The edits changed it to a laptop.  The risk
profile of a cup of coffee and a laptop are different, making some parts
of the text problematic, e.g. Bob accepting payment without waiting for
confirmation.

This update replaces the example with Alice buying a premium podcast
episode, which has a very low risk profile.
2023-02-04 21:17:35 -10:00
David A. Harding
3d9794f65a CH02::Alice pays Bob: remove text about payment completion
Existing text claimed that Alice's unconfirmed transaction completed the
payment to Bob, but Bob would be wise to wait for a $750 transaction to
confirm.

I think this is a problem resulting from a previous edit to the
second-edition text where the example was changed from a cup of coffee
at a cafe to a laptop.  A cup of coffee is cheap and has no resale
value, so the chance of fraud is small; a laptop is expensive and has
significant resale value, making fraud a greater risk.
2023-02-04 21:17:35 -10:00
David A. Harding
fef1182828 CH02: remove some specific amounts
Remove some specific amounts and numbers to make updating the text in
the future easier.  The removed values don't add anything to the text.
2023-02-04 21:17:33 -10:00
David A. Harding
7a5351efa8 CH02::invoice: replace "payment request" with "invoice"
The payment request language is confusing because BIP70 payment requests
look a lot like the URI used here but this is not a BIP70 payment
request (and BIP70 is dead, so we need not describe it).

Instead, update the text to use the more generic word "invoice", which
has the advantage of also being simpler English.
2023-02-04 21:15:32 -10:00
David A. Harding
562304b4cf CH02::pluralization: update to follow standard conventions
Existing text used "bitcoin" as both the singular and plural unit, which
was not an uncommon practice when the first edition was written.
However, my edits to the first chapter and this update adopt the
practice of using the same pluralization rules used for other
currencies, like the dollar, plus most numbered things in general.
This produces more natural text.

Reference: https://www.chicagomanualofstyle.org/qanda/data/faq/topics/Numbers/faq0058.html
2023-02-04 21:15:32 -10:00
David A. Harding
9435ad7d66 CH02::block explorers: modernize list and add warning
Replace older block explorers with modern alternatives and warn readers
that looking up info on explorers may disclose their interest to third
parties.
2023-02-04 06:11:19 -10:00
David A. Harding
be0ab0c6c5 CH02::intro: remove statements that Bitcoin requires trust
Users operating a full node don't need to trust anyone else for certain
guarantees about the system, although they do need at least one honest
peer to obtain some other guarantees.  Clarify this in the text by
revising text about text and emergent properties.
2023-02-03 20:58:39 -10:00
David A. Harding
ef06e4294b CH02: reflow text so that future diffs will be more readable 2023-02-03 20:49:51 -10:00
David A. Harding
2f0d7d8c3a Revert CC-BY-SA material added since the second edition
The commit ab5ae32bae is the last commit
for the second edition, so all changes since then are dropped except for
several commits for the third edition authored by Andreas Antonopoulos.

No attempt is made to remove CC-BY-SA or other licensed content present
in the already-published first or second editions.

This revert may itself be reverted for versions of the book published
under CC-BY-SA.
2023-02-01 06:31:10 -10:00
Andreas M. Antonopoulos
f0bd0503b7 ch2 edits part 1 2021-12-07 13:57:43 +01:00
Andreas M. Antonopoulos
a3229bbbc0 bitcoin/Bitcoin capitalization changed everywhere 2021-10-25 23:51:17 +02:00
rating89us
fdf4584f21 blockchain.info -> blockchain.com 2021-04-10 19:15:01 +02:00
Will Binns
f05514c93e
Merge pull request #878 from rating89us/patch-68
ch02: fix new "Alice tx included in a block" image
2021-04-08 10:44:10 +02:00
rating89us
4a86994a16 ch02: fix new "Alice tx included in a block" image 2021-03-12 00:11:10 +01:00
rating89us
a1071a4856 ch02: new "Alice's transaction as part of a transaction chain" image 2021-03-11 13:30:03 +01:00
rating89us
80f1c386e0 ch02: new "alice's transaction in a block" figure 2021-03-11 12:09:02 +01:00
rating89us
0e3b6afe1b ch02: aggr. tx: add tx batching, saving in fees and exchange withdrawal example 2021-02-20 15:27:52 +01:00
Will Binns
be76404e18
Merge pull request #786 from rating89us/patch-26
simple-payment-verification -> simplified-payment-verification (SPV)
2021-02-20 10:55:48 +00:00
rating89us
b80ffe0bfe
ch02: explain that both outputs are in a single tx 2021-02-14 18:27:46 +01:00
rating89us
0261f4c086
ch02: simple -> simplified (SPV) 2021-02-12 22:33:41 +01:00
jerzybrzoska
65dd6b8be0
ch.02: Let us not be too assuming about the gender of "each miner"
It is too assuming to suppose that the gender of "each miner" is masculine. Hence I propose to use [singular they](https://en.wikipedia.org/wiki/Singular_they). More on singular they [here](https://www.grammarly.com/blog/use-the-singular-they/).
'He' was substituted with 'they' only when it refers to "each miner", i.e. miners in general, and not when it refers to Jing. In the latter case I have left he unchanged.
2021-01-19 13:05:10 +01:00
rating89us
472136434b
ch02: better wording of transaction outputs explanation 2021-01-11 15:07:32 +01:00
Will Binns
5c2c74d452
ch02/ch10: Update references to block reward post-halving 2020-07-16 16:26:25 +02:00
Will Binns
70d1d8024a
ch02: s/web page/website page/ 2020-05-04 12:46:46 -06:00
Will Binns
59cd645446
ch02: Revise sentence structure about GPUs 2020-05-04 12:44:22 -06:00
Will Binns
7488970115
ch02: s/address/public address/ 2020-05-04 12:36:31 -06:00