mirror of
https://github.com/bitcoinbook/bitcoinbook
synced 2024-12-23 07:08:13 +00:00
CH12: s/Smores signature/Foocoin/
"Smore" sounds like "Schnorr", which could be confusing. Also, we have upgraded signatures now without a soft fork, so the example is confusing. Although we could add another coin with a soft fork (sort of), it seems a lot less likely to me, so I think it's a better cadidate for this section.
This commit is contained in:
parent
c10f5664a3
commit
2b4a4220e2
@ -2214,15 +2214,14 @@ image::images/mbc2_1009.png[A blockchain with forks]
|
|||||||
Later, however, at block height 6, a hard fork occurs. Let's assume that
|
Later, however, at block height 6, a hard fork occurs. Let's assume that
|
||||||
a new implementation of the client is released with a change in the
|
a new implementation of the client is released with a change in the
|
||||||
consensus rules. Starting on block height 7, miners running this new
|
consensus rules. Starting on block height 7, miners running this new
|
||||||
implementation will accept a new type of digital signature, let's call
|
implementation will accept a new type of bitcoin, let's call
|
||||||
it a "Smores" signature, that is not ECDSA based. Immediately after, a
|
it a "foocoin". Immediately after, a
|
||||||
node running the new implementation creates a transaction that contains
|
node running the new implementation creates a transaction that contains
|
||||||
a Smores signature and a miner with the updated software mines block 7b
|
a foocoin and a miner with the updated software mines block 7b
|
||||||
containing this transaction.
|
containing this transaction.
|
||||||
|
|
||||||
Any node or miner that has not upgraded the software to validate Smores
|
|
||||||
signatures is now unable to process block 7b. From their perspective,
|
signatures is now unable to process block 7b. From their perspective,
|
||||||
both the transaction that contained a Smores signature and block 7b that
|
both the transaction that contained a Foo signature and block 7b that
|
||||||
contained that transaction are invalid, because they are evaluating them
|
contained that transaction are invalid, because they are evaluating them
|
||||||
based upon the old consensus rules. These nodes will reject the
|
based upon the old consensus rules. These nodes will reject the
|
||||||
transaction and the block and will not propagate them. Any miners that
|
transaction and the block and will not propagate them. Any miners that
|
||||||
@ -2232,12 +2231,12 @@ the old rules may not even receive block 7b if all the nodes they are
|
|||||||
connected to are also obeying the old rules and therefore not
|
connected to are also obeying the old rules and therefore not
|
||||||
propagating the block. Eventually, they will be able to mine block 7a,
|
propagating the block. Eventually, they will be able to mine block 7a,
|
||||||
which is valid under the old rules and does not contain any transactions
|
which is valid under the old rules and does not contain any transactions
|
||||||
with Smores signatures.
|
with foocoins.
|
||||||
|
|
||||||
The two chains continue to diverge from this point. Miners on the "b"
|
The two chains continue to diverge from this point. Miners on the "b"
|
||||||
chain will continue to accept and mine transactions containing Smores
|
chain will continue to accept and mine transactions containing foocoins,
|
||||||
signatures, while miners on the "a" chain will continue to ignore these
|
while miners on the "a" chain will continue to ignore these
|
||||||
transactions. Even if block 8b does not contain any Smores-signed
|
transactions. Even if block 8b does not contain any foocoin
|
||||||
transactions, the miners on the "a" chain cannot process it. To them it
|
transactions, the miners on the "a" chain cannot process it. To them it
|
||||||
appears to be an invalid block, as its parent "7b" is not recognized as a
|
appears to be an invalid block, as its parent "7b" is not recognized as a
|
||||||
valid block.
|
valid block.
|
||||||
|
Loading…
Reference in New Issue
Block a user