* Replace current description of the block header with a better
description.
* Describe the various version numbers.
* Describe how the merkle root is constructed.
* Describe how nBits is parsed and how to correctly create it to
avoid negative values.
* Describe the serialized block format used to calculate max block size.
Bitcoin limits are usually defined using decimal-friendly numbers of bytes. The block size is limited to 1 MB, not 1 MiB, for example. Also, the latest block size limit is 750 KB, not 350 KB.
This modifies commits provided by @petertodd to use the terms "pubkey
script" and "signature script" instead of other terms.
* Rename "scriptPubKey" and "output script" to "pubkey script"
(suggested by @luke-jr). We leave a token "scriptPubKey" at the point
where we define pubkey script so that searchers can find it.
* Rename "scriptSig" to "signature script" (suggested by @luke-jr). We
also leave a token "scriptSig" at this definition point.
* Rename "redeemScript" to "redeem script"
* Defined ECDSA on secp256k1 curve as the crypto used in the Transaction
section and added references to secp256k1 private/public keys and
signatures.
* Removed "The Parts Of A Transaction" illustration by commenting it out
in the HTML. Shoehorning the pubkey/signature script terms into this
image was becoming difficult, and I'm not very fond of that
illustration anyway. I'll see if I can think of a nicer replacement
illustration for some point in the future.
* Add a short paraphrased version @petertodd's description of scripts as
generalized crypto.
* Updated all the illustrations which referred to either pubkey scripts
or signature scripts to use these terms.
Two unrelated minor additions which were requested at nearly the same
time.
* @mikehearn requested we add a link to @gavinandresen's PaymentRequest
generator. Added to _includes/guide_payment_processing.md with link
definition in _includes/references.md
* @Burrito-Bazooka requested we mention that the block reward halves
every 210,000 blocks. Added to _includes/ref_block_chain.md
**Suggested by @cbeams:**
_includes/ref_block_chain.md:
* Mention that coinbase is the first transaction in a block.
**Suggested by @gmaxwell:**
_includes/ref_core_rpcs-abcdefg.md:
* Mention that you need to unlock your wallet when you run out of
keys in the keypool.
* Remove erroneous assertion that txindex=1 would allow
`getreceivedbyaddress` to check balances of addresses not
belonging to this wallet.
_includes/ref_transactions.md:
* Clarify that OP_RETURN scripts aren't usually executed because
they always return false.
en/developer-reference.md
* Add a warning about using block chain or mempool data in
executable context.
Thanks also (in alphabetical order) to @cbeams, @mikehearn, and
@tgeller, among others.
The last pre-squash commit was: c2b8d562aa107c7b68c60946cea14cdccc5159ad