Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
Adding transaction data - finite effect on proof-of-work? #675
Comments
|
@darren-a thanks for the complement! In response to your comments:
|
darren-a
commented
Dec 10, 2014
|
|
How about "Also, only the 80-byte block header is hashed for proof-of-work, so including a large volume of transaction data in a block does not slow down hashing with extra I/O, and adding additional transaction data only requires the recalculation of the parent hashes in the merkle tree." |
|
@saivann I prefer to say "ancestor" rather than "parent" to help make it clear that multiple levels of hashes in the merkle tree might be affected. Otherwise, the revision sounds good to me. Do you want to push a commit with the revision, or shall I? |
|
@harding Sounds good, yes I'd be glad if you commit what you think is appropriate if you have time, thanks! |
darren-a commentedDec 9, 2014
Location: https://bitcoin.org/en/developer-guide#proof-of-work
quote
The block header provides several easy-to-modify fields, such as a dedicated nonce field, so obtaining new hashes doesn’t require waiting for new transactions. Also, only the 80-byte block header is hashed for proof-of-work, so adding more bytes of transaction data to a block does not slow down hashing with extra I/O.
/quote
Adding new transaction data would involve recreating the Merkle Tree, no? I realize that the rate of new tx being added, and even created in the network, is several orders of magnitude lower than the number of hashes that are tried on each "stable" block header but nevertheless there would be some I/O, would there not if a miner decides to add new txs?
I raise this for two reasons: