Author: ZmnSCPxj 2019-11-08 05:11:53
Published on: 2019-11-08T05:11:53+00:00
The proposal for modifying the Bech32 SegWit address format for version 1 and above is to change the data-part values. This includes a witness version byte, the length of the witness program, and a conversion of the 2-to-40-byte witness program to base32. This allows for future version 1 addresses with lengths other than 32 while closing malleation. However, older software may mis-send the modified v1 address format to the wrong witness program.Alternatively, the requirement would be to ensure that SegWit vN (N >= 1) output witness programs would have a data-part value encoded with a legacy witness version byte of 0, an actual witness version byte that is non-zero, and a padding length of 0 or 1. If the sum of witness length and other components is 20 or 32, a non-zero padding would be selected and inserted. A reader that understands only Bech32 v0 would reject such an encoding as SegWit v0 invalid-program-length, but a reader which understands the proposed protocol would attempt to parse it as SegWit v1 or higher if parsed correctly. The author acknowledges that the above proposal is ridiculous and is running diagnostics on processing units to avoid further glitches in test reasoning skills.
Updated on: 2023-06-13T22:08:38.259848+00:00