1
0
mirror of https://github.com/bitcoinbook/bitcoinbook synced 2024-11-23 00:28:14 +00:00
Commit Graph

203 Commits

Author SHA1 Message Date
David A. Harding
02f8c485c1 Whitepaper: use MathML instead of screenshots
MathML created using LaTeX from
https://github.com/dhimmel/bitcoin-whitepaper/, a version of the paper
formatted by Daniel Himmelstein
2023-09-06 10:03:37 +02:00
David A. Harding
61c365b5e2 Images: remove currently unused files. 2023-09-01 13:24:36 +02:00
David A. Harding
e2048c4206 Images: move sources to new directory 2023-09-01 13:24:35 +02:00
David A. Harding
114d7bf25a Auth&Auth: explain differerence between MAST and Merklized Alt Script Trees
Inspired by a comment from Roasbeef about how we shouldn't described
MAST because that's not what taproot implements.
2023-09-01 13:21:39 +02:00
David A. Harding
89b548d5b5 All: update images for reviewer feedback
Special thanks to Murchandamus who provided most of the feedback
2023-09-01 13:21:39 +02:00
David A. Harding
67fd4677d1 Images: scale down send/receive 2023-08-01 07:13:05 -10:00
David A. Harding
f770347bd7 CH01-02: edits for Murchandamus feedback
- Fix bitcoin-overview image (P2PKH address was used as "private key")

- Use receiving and sending images from Bitcoin Design Guide
  (https://bitcoin.design) under CC-BY license
  (https://github.com/BitcoinDesign/Guide/blob/master/LICENSE)

- Mention changeless outputs, especially as used in transaction-chain
  image

- Include brief mention of best blockchain in paragraph about the cost
  to miners for confirming conflicting transactions
2023-08-01 07:11:27 -10:00
David A. Harding
0249c97460 CH01: edits for Mark (Xekyo) Erhardt feedback (thanks!)
- Provide rough block and year when 99% of all BTC will have been mined

- Remove user-stories section.  I think this section frontloaded too
  much irrelevant detail.  In new sections of this edition, I've
  exclusively used the convential Alice, Bob, Carol, etc.---without
  trying to maintain a consistent backstory.  This is simpler on the
  writer and, I think, simpler on the reader---if they jump into a
  section of the book, they don't need to worry that there's some
  important context in a previous section.

    - This also necessitated a few changes chapter 2.

- Mostly remove the phrase "custody".  Instead use the phares "control
  the key".  I think this is clearer to non-specialists and a quick grep
  shows that we don't use any version of the word "custody" elsewhere in
  the book.

- Drop localbitcoins.com.  This service was terminated after this
  chapter was updated.

- Add 'feerate' to the script for catching forbidden words.  :-( This
  required a change to a comment in an image source.

- Other minor changes and typo fixes
2023-08-01 07:11:27 -10:00
David A. Harding
a4f337b840 All: update to comply with current draft of bip-bikeshed 2023-08-01 06:44:36 -10:00
David A. Harding
463ad4102f Housekeeping: rename file with a space in it 2023-06-30 05:07:24 -10:00
David A. Harding
9142816196 CH10: add compact block relay & update relay networks
- Describe BIP152 compact block relay
- Describe why we still need relay networks (what they do that BIP152
  can't)
- Drop FALCON relay (never used, AFAIK)
- Minor updates to relay section
2023-05-18 15:55:38 -10:00
David A. Harding
d687eb538f CH09: add images 2023-05-07 09:25:10 -10:00
David A. Harding
1a27ee296e CH07: Add MAST, P2C, scriptless multisignature, taproot, tapscript 2023-03-30 14:01:06 -10:00
David A. Harding
22ddf6a202 CH07: replace terms locking/unlocking with sPK/sS/rS/wP/w
Although I understand the desire to use more human-friendly terms than
scriptPubKey, scriptSig, redeemScript, witness program, and witness, I
think it makes things less clear, particularly when we switch from
legacy to legacy P2SH to segwit v0 to segwit v1.

An additional problem is that, with scriptSig no longer being executed
(and witnesses never being executed), it's not quite accurate to use the
phrase "unlocking script".

This commit replaces "locking script" and "unlocking script" with either
the specific data type or with non-specific phrasing.
2023-03-30 14:01:06 -10:00
David A. Harding
56c701a6ad C_Txes: edits (nearly complete rewrite)
This chapter, containing parts of previous chapters 6 and 7, is almost
entirely rewritten.

- Instead of introducing concepts in a somewhat arbitrary order, almost
  every section except the last three (coinbase txes, weight, and legacy
  serializitaion) follows the order of transaction fields as seen in
  a P2P serialized transaction.

- We leave details of scripts for the next chapter (authorization &
  authentication), signatures for the chapter after that, and fees and
  fee bumping for the chapter after that (reflecting the increased
  importance of fees).
2023-03-05 11:05:36 -10:00
David A. Harding
99a41afdb1 CH05::Implementation details: edits
Edits to the implementation details section to conform to updated
language (wallet->wallet application/database, hardware wallet->hardware
signing device, mnemonic->recovery code) and also to update some
descriptions.
2023-02-17 22:32:19 -10:00
kristen@oreilly.com
8e7ba28073 Created images/coverER.png 2023-02-16 09:29:43 -08:00
David A. Harding
74c144bbf4 CH04::bech32 and bech32m: add new sections
- Briefly mention segwit and the need for new addresses.  Mention that
  getting wallets to a new base58check version would probably be only a
  little less work than upgrading to an entirely new address format.
  Describe the problems with base58check and the solutions provide by
  bech32.  Illustrate some of the problems and solutions.

- Describe the bech32 length extension issue and provide an example.

- Introduce bech32m as the solution to the lengith extension issue.

- Provide examples using the bech32m reference library for Python for
  encoding and decoding a bech32m address (mentioning the backwards
  compatibility with bech32 addresses).

- Ask wallet authors to ensure they support forward compatibility with
  future segwit versions.
2023-02-09 20:58:47 -10:00
David A. Harding
94f864cda4 CH04::intro: retitle and replace intro
- Introduce the problem keys solve (pseudonymonous encumbrance and
  satisfaction) and tell the user that we'll build up to addresses
2023-02-09 20:58:47 -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
bada9cbe41 CH01: minor edits for consistency, voice, and correctness 2023-02-03 20:26:17 -10:00
David A. Harding
b839919066 CH01::First Time: make more futureproof by removing specific prices
Also other changes to more generically describe wallet interfaces so
that screenshots can be updated in the future without changing text.
2023-02-03 20:26:16 -10:00
David A. Harding
84fd8b5953 CH01::Backups: s/mnemonic/recovery code/, add detail and warnings
- Use "recovery code" instead of "mnemonic phrase" or "seed phrase".  A
  new tipbox describes that mnemonic implies memorization but that's bad
  practice.  The phrase recovery code is generic enough to apply to a
  variety of schemes, including Electrum seed words, BIP38 seed words,
  aezeed, and non-phrase schemes like that used in Muun.

- Be clearer about the difference between "wallet" and "wallet
  software".

- Mention that restoring from a code doesn't restore labels or
  offchain transaction info.

- Warn about re-entering your code into malware / phishing attacks.
2023-02-03 20:26:16 -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
79e870d372 New illustrations for ECDSA and Schnorr signatures 2022-06-26 15:22:09 +02:00
Andreas M. Antonopoulos
45df5b3fc7 ch1 edits complete
ch1 edits
2022-06-26 15:22:09 +02:00
rating89us
92f81f9000 ch05: use Trezor Suite to export xpub 2022-01-07 15:49:58 +01:00
Will Binns
1a074fea07
Merge pull request #921 from rating89us/utxoimg
ch06: new image (UTXO, STXO, UTXO set)
2021-07-25 10:23:16 +02:00
Will Binns
776dd89e4c
Merge branch 'develop' into bluewalletreceivescreen 2021-05-29 13:01:42 +01:00
Will Binns
37a9e205a2
Merge pull request #913 from rating89us/new-mbc_0102
ch01: update Bluewallet send screen
2021-05-29 12:58:46 +01:00
Will Binns
b5eed6dba8
Merge pull request #912 from rating89us/newtxchainimage
ch02: fix transaction chain image
2021-05-29 12:57:22 +01:00
Will Binns
f6bb7f2c68
Merge pull request #911 from rating89us/newtrezorseedfigure
ch05: new trezor seed figure
2021-05-29 12:55:58 +01:00
Will Binns
9db0dc377b
Merge pull request #909 from rating89us/newtxfigures
ch02: new "Common Transaction Forms" figures
2021-05-29 12:47:02 +01:00
Will Binns
501d758b6f
Merge pull request #884 from krupawan5618/patch-4
Update ch01.asciidoc - Airbitz to BlueWallet
2021-05-29 12:20:01 +01:00
rating89us
f559c54d47 ch06: add new image (UTXO + STXO + UTXO set) 2021-04-10 23:48:21 +02:00
rating89us
7bdc8d385a ch01: update bluewallet receive screen 2021-04-09 18:25:53 +02:00
rating89us
ef8173e842
ch01: update Bluewallet send screen 2021-04-09 15:54:47 +02:00
rating89us
926ed34cf6
ch02: fix transaction chain image 2021-04-09 15:07:00 +02:00
rating89us
d91df93716
ch05: new trezor seed figure 2021-04-09 00:38:36 +02:00
rating89us
ecc98405ca
ch02: new "Common Transaction Forms" figures 2021-04-08 22:20:58 +02:00
Will Binns
30da12b481
Merge pull request #906 from rating89us/newimg
ch02: update mbc2_0201.png
2021-04-08 12:43:52 +02:00
krupawan5618
eea63c8ad0
Merge branch 'develop' into patch-4 2021-04-08 06:29:00 -04:00
Will Binns
636606f371
Merge pull request #893 from rating89us/patch-72
ch01: update joe transaction image and text
2021-04-08 11:43:30 +02:00
Will Binns
1463882cac
Merge pull request #879 from rating89us/walletimage
ch02: fix colors and size of mbc2_0502.png
2021-04-08 10:54:54 +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
e518c18730
ch02: update mbc2_0201.png 2021-04-04 22:38:17 +02:00
rating89us
04e7f2529f ch01: update joe's transaction image and text 2021-03-28 21:39:54 +02:00
krupawan5618
75d83b1b79
Add files via upload 2021-03-15 00:30:51 -04:00
rating89us
4a86994a16 ch02: fix new "Alice tx included in a block" image 2021-03-12 00:11:10 +01:00
rating89us
633142d2df
ch02: fix colors and size of mbc2_0502.png 2021-03-11 18:11:02 +01:00