- Remove appendix dedicated to `bx`. They had already been slated for
deletion, as I wrote to a reviewer on 2023-07-27: "I'm also probably
going to delete the library/tool focused appendixes as I don't think
they add anything". After the disclosure of CVE-2023-39910 on August
8th, it's clear that this appendix was worse than useless: it was
harmful.
- Remove other mentions of `bx` in the book. I had not previously
intended this because it looked like a pain, but mentions of a tool
often come across as endorsements to readers and no tool created by
the team behind Libbitcoin is one I would ever want to endorse. I
regret that I didn't remove the mentions earlier in the process of
updating the book.
- Remove appendix dedicated to pycoin. I'm now aware of any problems
with pycoin, but I don't think these sort of short detached tutorials
add anything. Programming Bitcoin is an entire book built on pycoin,
and all of these tools have their own webpages that get updated more
frequently than the book.
- Drop soon-to-be-outdated mention of current block reward amount
- Aezeed: mention internal and external version sumbers. Instead of
saying "global word list", clarify that both the backup and the
recovery software need to support the same word list.
- Mention that compact block filters are something that blocks might
commit to in the future in a consensus-enforced way.
- Add links to both RGB and Taproot Assets documentation.
- Mention that taproot assets can also support native forwarding.
- Minor edits and add some FIXMEs for later changes.
- Explicitly describe what BIPs are before we start dropping references
to them.
- Mention that addresses don't encode a message, so using a unique
address that the receiver has privately associated with a spender is
the only guaranteed way to identify payments from that spender.
- Correct how many blocks need to elapse before an output can be spent
by an input with a relative lock time.
- Many other small edits.
- Mention the reason for the long validation time is the verification of
transactions. We previously implied it was download time, but some
people have really fast internet.
- Better describe bitcoind cookie authentication and provide an example
to make it even more clear.
- Add a link to bitcoin-s
- Make the long sidebar on collision attacks even longer by descripting
a pre-image attack in addition to the previous descriptions of second
pre-image and collision. That way we don't conflate pre-image and
second pre-image.
- Remove redundant tip box about an oddity in language about compressed
and uncompressed private keys.
- Link to information about vanity address "mining" (brute forcing)
Bitcoin Core works fine as a wallet (and I personally use it). Although
it doesn't implement BIP39, it does implement BIP32 and many other
standards, including some significant improvements over other wallets
(such as descriptors and HWI support ). It's also the easiest way to
take advantage of the additional verification and privacy advantages of
running a full node.
- Move "don't need to rely on third parties" to the top of the list
- Add the privacy benefit of a full node
- Clarify that running a full node only makes the network more robust if
you use it to verify your own wallet transactions
- Update resource requirements to their 2023 figures (and mention that
they may increase in the future).
- Be more precise about the minimal data a node needs, e.g. disk space
requirements with pruning enabled and bandwidth in blocks-only mode.
- Mention bandwidth alternatives, like Blockstream Satellite
- Drop text about running on a VPS, since that's not useful to the
network and not sure for anyone using a wallet.
- Add just a few words so users know what the "d" in bitcoind and the
"Unix" in build-unix.md stand for.
- Since the last update to this text, there are instructions for many
more platforms available, so rewrite final sentence to alert users to
them.
- Previous text said Bitcoin (Core) was "completed" before the Nakamoto
paper was written, but Nakamoto sent unfinished code to Hal Finney and
others after the paper was published but prior to the public software
release, suggesting Bitcoin wasn't completed at that time. This also
ignores the two updates (at least) which Nakamoto made to the Bitcoin
paper after the network was started. It also seems much more likely
to me that parts of the code and the paper were written in tandem.
Update text to say "mostly completed" and "published".
- Drop word "authoritative" from the description of Bitcoin Core as a
reference implementation. There's no authority here.
- Change problematic "full network node" language; see edits to previous
chapters.
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.
- Update link to new libbitcoin repo
- https for bcoin
- Remove Bits of Proof, whose site was purchased
- Update the link to the fork of pybitcointools that was maintained by the community after Vitalik ended support