diff --git a/ch06_transactions.adoc b/ch06_transactions.adoc index 02056ccc..1352216b 100644 --- a/ch06_transactions.adoc +++ b/ch06_transactions.adoc @@ -255,13 +255,7 @@ unsigned integers: ++++ **** -Each input in a transaction must contain three fields: - -- An _outpoint_ field - -- A length-prefixed _input script_ field - -- A _sequence_ +Each input in a transaction must contain three fields: an _outpoint_ field, a length-prefixed _input script_ field, and a _sequence_ We'll look at each of those fields in the following sections. Some inputs also include a witness stack, but this is serialized at the end of a @@ -315,7 +309,6 @@ pieces of information from it: relative timelocks (described in <>) and outputs of coinbase transactions (described in <>). -[role="less_space pagebreak-before"] - Proof that the previous output exists in the blockchain (or as a known unconfirmed transaction) and that no other transaction has spent it. One of Bitcoin's consensus rules forbids any output from being spent @@ -428,7 +421,6 @@ _multisignature_ script (_multisig_ for short). This is called the _setup transaction_. They then create a transaction that spends that output: -[role="less_space pagebreak-before"] - The first version of the transaction, with nSequence 0 (0x00000000), pays Alice and Bob back the money they initially deposited. This is called a _refund transaction_. Neither of them broadcasts the refund diff --git a/ch07_authorization-authentication.adoc b/ch07_authorization-authentication.adoc index 8048d88c..68809541 100644 --- a/ch07_authorization-authentication.adoc +++ b/ch07_authorization-authentication.adoc @@ -1676,7 +1676,6 @@ our tree with this knowledge as shown in <>. .A MAST with the most-expected script in the best position. image::images/mbc3_0707.png["A MAST with the most-expected script in the best position"] -[role="less_space pagebreak-before"] Now we only need to provide two commitments for the common case (saving 32 bytes), although we still need three commitments for the less common cases. If you know (or can guess) the probabilities of diff --git a/ch10_network.adoc b/ch10_network.adoc index 10d82694..3432d67f 100644 --- a/ch10_network.adoc +++ b/ch10_network.adoc @@ -936,7 +936,7 @@ differences: -

0

+

0

6

diff --git a/ch11_blockchain.adoc b/ch11_blockchain.adoc index 831d0625..b3cf4020 100644 --- a/ch11_blockchain.adoc +++ b/ch11_blockchain.adoc @@ -439,7 +439,7 @@ An extended comment in Bitcoin Core's source code, reproduced here with slight r significant problem in the design of Bitcoin's duplication of odd elements in its merkle tree: -[quote,Bitcoin Core _src/consensus/merkle.cpp_] +[quote,Bitcoin Core src/consensus/merkle.cpp] ____ WARNING! If you're reading this because you're learning about crypto and/or designing a new system that will use merkle trees, keep in mind diff --git a/ch12_mining.adoc b/ch12_mining.adoc index d1e3ba14..2f0cb578 100644 --- a/ch12_mining.adoc +++ b/ch12_mining.adoc @@ -939,6 +939,13 @@ slower than expected, the difficulty decreases (target increases). The equation can be summarized as: + +[latexmath] +++++ +\begin{equation} +New\:Target = Old\:Target \times (20,160 minutes / Actual Time of Last 2015 Blocks) +\end{equation} +++++ ---- New Target = Old Target * (20,160 minutes / Actual Time of Last 2015 Blocks) ---- @@ -2049,6 +2056,12 @@ later. BIP9 offers a proposal state diagram to illustrate the various stages and transitions for a proposal, as shown in <>. + +[[bip9states]] +.BIP9 state transition diagram. +image::images/mbc3_1203.png[BIP9 Proposal State Transition Diagram] + + Proposals start in the +DEFINED+ state once their parameters are known (defined) in the Bitcoin software. For blocks with MTP after the start time, the proposal state transitions to +STARTED+. If the voting @@ -2060,10 +2073,6 @@ timeout elapses before the voting threshold has been reached, the proposal state changes to +FAILED+, indicating a rejected proposal. +FAILED+ proposals remain in that state perpetually. -[[bip9states]] -.BIP9 state transition diagram. -image::images/mbc3_1203.png[BIP9 Proposal State Transition Diagram] - BIP9 was first implemented for the activation of +CHECKSEQUENCEVERIFY+ and associated BIPs (68, 112, 113). The proposal named "csv" was activated successfully in July of 2016. diff --git a/images/mbc3_0204.png b/images/mbc3_0204.png index e656c34b..fb0c5c6e 100755 Binary files a/images/mbc3_0204.png and b/images/mbc3_0204.png differ diff --git a/images/mbc3_0206.png b/images/mbc3_0206.png index 78141481..f0a085ae 100755 Binary files a/images/mbc3_0206.png and b/images/mbc3_0206.png differ diff --git a/images/mbc3_0406.png b/images/mbc3_0406.png index a5f062b1..65efdeea 100755 Binary files a/images/mbc3_0406.png and b/images/mbc3_0406.png differ diff --git a/images/mbc3_0408.png b/images/mbc3_0408.png index e72a597c..1b751906 100755 Binary files a/images/mbc3_0408.png and b/images/mbc3_0408.png differ diff --git a/images/mbc3_0502.png b/images/mbc3_0502.png index 53acbad6..1f9e099a 100755 Binary files a/images/mbc3_0502.png and b/images/mbc3_0502.png differ diff --git a/images/mbc3_0701.png b/images/mbc3_0701.png index ff21e630..0faf697b 100755 Binary files a/images/mbc3_0701.png and b/images/mbc3_0701.png differ diff --git a/images/mbc3_1007.png b/images/mbc3_1007.png index 471d3f24..fad92a93 100755 Binary files a/images/mbc3_1007.png and b/images/mbc3_1007.png differ diff --git a/images/mbc3_1008.png b/images/mbc3_1008.png index 18f8b64e..9b007a8a 100755 Binary files a/images/mbc3_1008.png and b/images/mbc3_1008.png differ diff --git a/images/mbc3_1009.png b/images/mbc3_1009.png index e85dbc2a..dff30213 100755 Binary files a/images/mbc3_1009.png and b/images/mbc3_1009.png differ diff --git a/images/mbc3_1101.png b/images/mbc3_1101.png index e1f289f6..250d598e 100755 Binary files a/images/mbc3_1101.png and b/images/mbc3_1101.png differ diff --git a/theme/pdf/pdf.css b/theme/pdf/pdf.css index fa44ee3b..fbd0f843 100644 --- a/theme/pdf/pdf.css +++ b/theme/pdf/pdf.css @@ -67,6 +67,11 @@ section.less_space > h1:first-child { margin-top: 0 !important; + /* right and center align options for table cells */ +.right { text-align: right; } + + + /*hack to align sidebars to top of page*/ .less_space {margin-top: 0 !important;}