Bank Of Canada Paper Explores Factors Behind Bitcoin Volatility

As virtual currencies like bitcoin become more established, the exchange rate will be less affected by speculator perceptions, according to a staff working paper [PDF] on the value of virtual currencies written for the Bank of Canada by Wilko Bolt of the Netherlands Bank and Maarten R.C. van Oort of the Bank of Canada. Over time, […]

The post Bank Of Canada Paper Explores Factors Behind Bitcoin Volatility appeared first on CCN: Financial Bitcoin & Cryptocurrency News.

News – CCN: Financial Bitcoin & Cryptocurrency News

OP_CHECKSIG: reasoning behind construction of message to be signed

I’ve closely studied the deservedly famous OP_CHECKSIG explanation found here, including the diagram found here. That explanation details how to construct the message that is signed via ECDSA, producing the digital signature for SigScript. All good.

By way of summary, the aforementioned message is an amalgamation of the new transaction under construction (with its SriptSigs nulled out) and the PubKeyScript from the sourcing transaction output. For clarity, the “sourcing transaction output” is the one identified in the transaction input under construction by its Transaction Hash field and its Output Index field. All good.

MY QUESTION: in the new transaction under construction, its Transaction Hash field already “fingerprints” the sourcing transaction output. Why go to the effort of inserting the aforementioned PubKeyScript from the sourcing transaction output into the message? That seems redundant, given that the hash digest in the Transaction Hash field fingerprints the entire sourcing transaction.

I ask this question in order to more thoroughly understand the logic behind the intricate construction of the message that is signed via ECDSA.

Recent Questions – Bitcoin Stack Exchange

Reason behind including the nonce in the block header?

I’m wondering why the nonce is included in the block header, and thus in the prevBlockHash of the subsequent block, etc. What would break if you didn’t do that?

It seems to me that you would still be (a) able to validate the block, and (b) unable to mess around with the transactions in the block, because that would modify the hashMerkeRoot field, and thus render the block invalid.

Recent Questions – Bitcoin Stack Exchange