<p>Changing the padding would result in a completely different digest. Other validating clients do not have access to this "extra nonce" in the padding to validate it, and modifying their clients to implement it would be a hard-fork of the protocol.</p>

<p>The extra-nonce as implemented currently, placed inside the input of the coinbase transaction, was a backward-compatible change which utilized an unused area of the block to place random information. Existing validating clients would still validate the block as valid because the normal process of calculating the merkle root for the block was unchanged.</p>

CC BY-SA 4.0
2020-03-20T10:01:35.537Z
so when I submit a block to the network for the validation, the padding after the block header is not included?
Biology nerd
CC BY-SA 4.0
2020-03-20T12:00:21.787Z
Correct. The block header is serialized as 80 bytes, and the transactions immediately follow (prefixed by the transaction count as a CompactSize). The padding is internal to the SHA256 function. A bitcoin developer should not need to concern themselves with it unless they are writing an optimized SHA256.
Mark H
CC BY-SA 4.0
2020-03-20T12:31:03.033Z
You seem to have confused history here a bit. extraNonce was part of even the first Bitcoin release. https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L2190
Claris
CC BY-SA 4.0
2020-03-20T09:24:55.877Z
2020-03-20T09:24:55.877Z
Mark H
<p>The bitcoin block header is 80 bytes, but the SHA-256 input is required to be a multiple of 64 bytes; as a result, the block header needs 48 bytes of additional padding. </p>

<p>Therefore, why doesn't the miner use the 48 bytes of padding as extra-nonce? Instead of changing the timestamp and Merkle root, why don't miners opt to change the padding instead?</p>

CC BY-SA 4.0
2020-03-20T12:32:43.050Z
Possible dup, by the same author. https://bitcoin.stackexchange.com/questions/93814/is-there-a-limit-on-the-size-of-the-block-header/93818#93818
Claris
<mining-theory>
Why don't bitcoin miners use the padding as extra-nonce?
Biology nerd
# Why don't bitcoin miners use the padding as extra-nonce?

(Asked by: username_0 on 2020-03-20)

The bitcoin block header is 80 bytes, but the SHA-256 input is required to be a multiple of 64 bytes; as a result, the block header needs 48 bytes of additional padding.

Therefore, why doesn't the miner use the 48 bytes of padding as extra-nonce? Instead of changing the timestamp and Merkle root, why don't miners opt to change the padding instead?

**Tags:** mining-theory

> **Comments:**
> **username_1**: Possible dup, by the same author. https://bitcoin.stackexchange.com/questions/93814/is-there-a-limit-on-the-size-of-the-block-header/93818#93818  

---

## 1 answers

### Answer by username_2 on 2020-03-20. Score: 3 | Accepted answer

Changing the padding would result in a completely different digest. Other validating clients do not have access to this "extra nonce" in the padding to validate it, and modifying their clients to implement it would be a hard-fork of the protocol.

The extra-nonce as implemented currently, placed inside the input of the coinbase transaction, was a backward-compatible change which utilized an unused area of the block to place random information. Existing validating clients would still validate the block as valid because the normal process of calculating the merkle root for the block was unchanged.

> **Comments:**
> **username_0**: so when I submit a block to the network for the validation, the padding after the block header is not included?  
> **username_2**: Correct. The block header is serialized as 80 bytes, and the transactions immediately follow (prefixed by the transaction count as a CompactSize). The padding is internal to the SHA256 function. A bitcoin developer should not need to concern themselves with it unless they are writing an optimized SHA256.  
> **username_1**: You seem to have confused history here a bit. extraNonce was part of even the first Bitcoin release. https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L2190  

---

