1
0
mirror of https://github.com/bitcoinbook/bitcoinbook synced 2024-11-15 20:49:21 +00:00
Commit Graph

4160 Commits

Author SHA1 Message Date
David A. Harding
668827b1cb CH12: introduce the term "subsidy" 2023-06-05 15:53:29 -10:00
David A. Harding
1f8c932436 CH12: You can spend bitcoins even if they aren't confirmed 2023-06-05 15:53:29 -10:00
David A. Harding
db4de49491 CH12: miners don't necessary validate 2023-06-05 15:53:25 -10:00
David A. Harding
323922aef1 CH12: replace dated mining pool example with a timeless example 2023-06-05 15:53:25 -10:00
David A. Harding
2735c25bfa CH12: s/reconverge/(converge|reorganize)/
- When appropriate, use the current preferred technical term
  "reorganize" to describe what a node does when the block at the tip of
  the chain is removed.

- Otherwise, just use "converge".
2023-06-05 15:53:25 -10:00
David A. Harding
2866ffc9fb CH12: Drop mention of orphan blocks
- Orphan blocks are no longer a thing in Bitcoin Core since
  headers-first download was implemented (version 0.10).  Your peers
  know what blocks you have; if they send you any block that doesn't
  connect to one of those blocks, you just drop the connection to them.
2023-06-05 15:53:25 -10:00
David A. Harding
5cc6c4541d CH12: s/main blockchain/best blockchain/ 2023-06-05 15:53:25 -10:00
David A. Harding
561fe16041 CH12: style: s/BIP-/BIP/ 2023-06-05 15:53:25 -10:00
David A. Harding
0eb7cacd34 CH12: reflow text so that future diffs will be more readable 2023-06-05 15:28:41 -10:00
harding
ac428e7033 Updated atlas.json 2023-05-19 16:23:47 -07:00
David A. Harding
a04895d297 CH11: minor edits 2023-05-19 13:22:57 -10:00
David A. Harding
16c8376f77 CH11: update examples for modern Bitcoin Core 2023-05-19 13:22:57 -10:00
David A. Harding
a904ea4db9 CH11: described signets
- Describe the problem with testnet3
- BIP325 signet as a solution
- Using signet(s)
2023-05-19 13:22:57 -10:00
David A. Harding
670a780367 CH11: remove section about segnet (segwit test network)
Main advantage of describing this historic feature was the idea that it
might be used again, but I think signets have fully replaced the future
usage.
2023-05-19 13:22:57 -10:00
David A. Harding
b7387220da CH11: s/SPV node/SPV client/ 2023-05-19 13:22:57 -10:00
David A. Harding
94c9bd7c6e CH11: update para about height not being stored in blocks 2023-05-19 13:22:57 -10:00
David A. Harding
747d6c9b10 CH11: reflow text so that future diffs will be more readable 2023-05-19 13:22:57 -10:00
David A. Harding
f264bd6625 Meta: remove unused file (segwit_v1.asciidoc) 2023-05-19 13:22:57 -10:00
harding
f84fc54521 Updated atlas.json 2023-05-18 18:58:31 -07:00
David A. Harding
94c674a42e CH10: minor edits 2023-05-18 15:56:29 -10:00
David A. Harding
a4609f5680 CH10: transaction pools: use modern term "mempool" instead 2023-05-18 15:55:38 -10:00
David A. Harding
d850cc3414 CH10: network privacy: drop BIP150/151
Those particular BIPs are abandoned.  BIP324 takes the place of BIP151,
but a lot of this section refers to authentication, which is not in
BIP324.  Also, this section mentions implementation, but BIP324 has not
been deployed as of this writing.
2023-05-18 15:55:38 -10:00
David A. Harding
8b09a51b7b CH10: SPV privacy: update to account for compact block filters too
Previously assumed bloom filters would be used.  Only small updates
needed.
2023-05-18 15:55:38 -10:00
David A. Harding
1e2a2252b3 CH10: add section about compact block filters 2023-05-18 15:55:38 -10:00
David A. Harding
f75f6b83cc CH10: bloom filters: edits and introduce problems
- Introduce problems to provide context for the creation of compact
  block filters
2023-05-18 15:55:38 -10:00
David A. Harding
38f859fe3c CH10: SPV clients: edits and clarify misconceptions 2023-05-18 15:55:38 -10:00
David A. Harding
ad1fecb408 CH10: remove subhead before intro 2023-05-18 15:55:38 -10:00
David A. Harding
f1aea5e372 CH10: s/(SPV|lightweight) node/\1 client/ 2023-05-18 15:55:38 -10:00
David A. Harding
28cfc751c1 CH10: Inventory section
Update for headers-first sync rather than the old blocks-first sync.
2023-05-18 15:55:38 -10:00
David A. Harding
7d2ba06209 CH10: update Full Node section
- Drop everything that says a full node needs a complete copy of the
  blockchain
2023-05-18 15:55:38 -10:00
David A. Harding
cf750ecf4d CH10: update peer finding section
- Update example for Bitcoin Core 24
- Generalize language a bit
2023-05-18 15:55:38 -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
0ed5d4a199 CH10: edits to node roles sections
- Remove images: these are incorrect and (IMO) not very useful.  The
  first image is a legend.  The second image contains multiple errors or
  confusions, such as implying that a miner needs a full copy of the
  block chain or that a wallet is a routing node.  The third image is a
  very busy depiction of a network showing that clients connect to
  nodes, which I think is fine to just say in the text.

- Revise text to not reference images.

- Maintain distinction between nodes and peers by not using terms "full
  node client" or "SPV node"

- Update the count of reachable nodes

- Remove some dead full node implementations
2023-05-18 15:55:38 -10:00
David A. Harding
da1f8ee2ba CH10: intro edits
- We revise sentence about equality among peers to make it clear that
  the peers are full nodes.  Clients are not peers of a full node.

- Remove clause about "reciprocity" being the incentive for
  participation.  I think there are varied reasons for operating a full
  node, ranging from wanting to validate your own transactions
  (requiring only a pruning full node) to wanting to keep mining
  decentralized (e.g. by relaying transactions).

- Drop line about non-Bitcoin-P2P protocols being "extended Bitcoin
  network".  I think that's an unnecessary categorization.
2023-05-18 15:55:38 -10:00
David A. Harding
328c11c1ec CH10: s/bitcoin/Bitcoin/ 2023-05-18 15:55:38 -10:00
David A. Harding
e5dc7d86ab CH10: reflow text so that future diffs will be more readable 2023-05-18 15:55:38 -10:00
David A. Harding
c4007411b4 CH08: fix reference 2023-05-18 15:55:38 -10:00
kristen@oreilly.com
04fde07744 Edited author_bio.html with Atlas code editor 2023-05-18 05:29:50 -07:00
David A. Harding
037d8108fc CH07 & CH08: edits for arufino feedback (thanks!) 2023-05-08 14:21:49 -10:00
David A. Harding
d687eb538f CH09: add images 2023-05-07 09:25:10 -10:00
harding
14a5d35a59 Updated atlas.json 2023-05-07 12:18:23 -07:00
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
02d7401f9d fixmes 2023-04-09 05:52:11 -10:00
David A. Harding
eb78eb1dfd Delete now-unused files for original chapters 6 & 7 2023-04-09 05:35:55 -10:00
David A. Harding
7291582cb0 [Move only] Move CH07 MTP section to Mining chapter 2023-04-09 05:33:18 -10:00
David A. Harding
e0af3f1fa3 [Move only] Move CH06/07 fee material to Fees chapter 2023-04-09 05:30:48 -10:00
harding
7a50453afc Updated atlas.json 2023-04-08 14:49:03 -07:00
David A. Harding
e96341c9b7 CH08: add conclusion 2023-04-08 11:42:33 -10:00
David A. Harding
51a71a8e01 CH08: ECDSA terminology update
- "Ephemeral key pair" -> nonce; makes it consistent with schnorr
  section and better composes with section about avoiding nonce reuse

- Changed variables to be consistent with schnorr section
2023-04-08 11:42:33 -10:00
David A. Harding
4f53af3f4e CH08: Add new intro to ECDSA to compare it to schnorr 2023-04-08 11:42:33 -10:00