Why the witness commitment is optional?
So as can be read in BIP141 the witness commitment is optional:
If all transactions in a block do not have witness data, the commitment is optional.
But why?
We have a known issue that could lead to coinbase transactions having the same txid. Which is a problem because it can lead to make coins impossible to spend. Those cases are not covered by BIP34 and as far as I know BIP30 is no longer in use. See this resources for the collision cases.
Seems that making the witness commitment mandatory would solve it as the txid would change. Why was this rule not enforced since the beginning? I could understand that you don't want to force people to upgrade instantly to segwit and cause a fork on the chain but in that case, why it is not enforced now when all miners are running segwit so avoid a possible attack?
from Recent Questions - Bitcoin Stack Exchange https://ift.tt/SKfuGPQ
via IFTTT