Author: David A. Harding 2019-11-08 02:15:41
Published on: 2019-11-08T02:15:41+00:00
On the bitcoin-dev mailing list, a discussion has been initiated regarding the implementation of a rule to prevent witness v1 outputs of length other than 32. Currently, such outputs remain unencumbered, meaning that their insertion or erasure would result in an output that can be spent by anyone. If this is considered unacceptable, it could be prevented by outlawing v1 witness outputs of length 31 and 33. The implementation of such a rule would require users of libraries supporting v1+ segwit to upgrade their library, as old libraries will still attempt to pay v1 witness outputs of length 31 or 33, causing transactions to get rejected by newer nodes or get stuck on older nodes. This issue was previously addressed in problem #15846. There are two potential ways to address this issue: implementing a consensus rule or a standardness rule. Implementing either of these would require upgrading the bech32 algorithm. One contributor suggests that fixing the problem at the bech32 algorithm level may be preferable to fixing it at the consensus/standardness layer because it would require fewer upgrades overall. The discussion was prompted by a review of taproot BIP, and thanks were given to those who asked questions during the review process.
Updated on: 2023-06-13T22:06:38.776329+00:00