Published on: 2013-04-15T11:51:02+00:00
In April 2013, Bitcoin developer Gregory Maxwell raised concerns about the network's ability to handle transactions due to non-standard encodings. A patch was implemented to enforce strict encodings for accepting transactions into the memory pool, but it was expected that some non-standard transactions would still make it into blocks until miners and nodes upgraded their software. The plan was to schedule a soft forking change once the rate of non-standard encodings in the blockchain decreased significantly. The current rules for acceptance into the memory pool include strict encoding rules for evaluated scripts and compressed or uncompressed public keys, with no support for the non-standard "hybrid" encoding. Signatures must also be strictly DER-encoded without padding.Pieter Wuille discussed the issue of network rules regarding transaction generators in 2013. He noted that not accepting them into memory pools would make it difficult for buggy clients creating transactions to get confirmations. Although only 0.6% of transactions were affected by these rules at the time, Wuille emphasized that the potential harm could be significant depending on how these transactions were created. He suggested posting a transaction normalizer tool to help users fix their transactions without needing assistance from developers.In an email dated April 7, 2013, Wuille informed the Bitcoin community that he had monitored transactions over the past few weeks and found that 9641 of them contained at least one non-standard signature. He provided a link to a list of the top addresses associated with these transactions and requested information about their owners or software usage. Wuille acknowledged the difficulty of reducing this number without significant effort and proposed not accepting these transactions into memory pools as a first step. However, this would make it very challenging for the buggy clients creating such transactions to obtain any confirmations.In another email thread, Mike Hearn requested more information on the invalid signatures. Wuille replied, stating that the majority of invalid signatures had negative R or S values, which are interpreted as unsigned by OpenSSL. Some signatures also had excessively padded R or S values when it was not necessary, and a few had incorrect length markers in the beginning.To address the dependence on OpenSSL and ensure strict adherence to DER-encoded signatures, Wuille proposed introducing a rule to make non-standard signatures invalid. This would require all clients on the network to stop creating such signatures. In his monitoring of transactions, he found that 9641 of them contained at least one non-standard signature. He urged anyone with knowledge of the top addresses associated with these transactions to come forward with information about their owners or software usage.
Updated on: 2023-08-01T04:37:55.852445+00:00