|
November 03, 2016, 12:11:36 AM |
|
Segwit as a hard fork is nearly the same as segwit as a soft fork. As a hard fork, it means that the witness commitment would be part of the block header. However, this is not desireable because the same data can be put into the coinbase transaction with no additional overhead and would make it a soft fork.
Other proposals to make it a hard fork would make deployment a nightmare. One such idea is to implement all of the changes that segwit does but instead of creating new output types, the definitions for the current output types would be changed. This means that the scriptsigs would be excluded from the transaction id calculation and the sighash preimage algorithm would be changed. This introduces a huge issue with deployment: what happens to all of the unconfirmed transactions at the time of the threshold passing? Those transactions would instantly become invalid. If those transactions are timelocked where the transaction was signed and then the key thrown away, then those timelocked Bitcoin become lost forever. This deployment would not work, and would really only be effective on a completely new blockchain.
|