<oembed><type>rich</type><version>1.0</version><author_name>npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2</author_name><author_url>https://nostr.ae/npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-02-10&#xA;📝 Original message:On Mon, Feb 10, 2014 at 12:33:02AM +0100, Pieter Wuille wrote:&#xA;&gt; Hello all,&#xA;&gt; &#xA;&gt; it was something I planned to do since a long time, but with the&#xA;&gt; recent related issues popping up, I finally got around to writing a&#xA;&gt; BIP about how we can get rid of transaction malleability over time.&#xA;&gt; &#xA;&gt; The proposed document is here: https://gist.github.com/sipa/8907691&#xA;&gt; &#xA;&gt; I expect most rules to not be controversial. Maybe rules 1 and 3, as&#xA;&gt; they require modifications to wallet software (Bitcoin Core 0.9 and&#xA;&gt; BitcoinJ already implement it, though) and potentially invalidate some&#xA;&gt; script functionality. However, these new rules remain optional and&#xA;&gt; controlled by an nVersion increase.&#xA;&gt; &#xA;&gt; Comments please!&#xA;&#xA;You should probably add making CHECKMULTISIG require the dummy value to&#xA;be exactly equal to OP_FALSE; verifying that in the transaction itself is&#xA;laborious. A more subtle example is we may want both CHECKSIG and&#xA;CHECKMULTISIG to fail the transaction if the signature is invalid but&#xA;not exactly equal to OP_FALSE; some transaction forms are significantly&#xA;more compact if you can have failed signatures, but that&#39;s a source of&#xA;malleability. (are there counter examples people can think of?)&#xA;&#xA;&#xA;But as I said on IRC, I&#39;m a bit hesitant to bake in assumptions about&#xA;malleability when we have no solid idea if ECC signatures are or are not&#xA;malleable on a fundemental level; if &#34;whack-a-mole&#34; anti-malleability is&#xA;all we&#39;ve got it could be ugly if a break is found. Similarly, we may&#xA;find we missed something, or some needed change makes the malleability&#xA;rules difficult to work with for some new script type that is required.&#xA;&#xA;I&#39;d rather see a new CHECKSIG mode for the case where malleability&#xA;absolutely must be eliminated - certain multi-party protocols - and fix&#xA;wallet software instead. (the malleability problems people see are&#xA;closely related to inability to handle double-spends and reorgs) But I&#xA;can easily see that being an impossible goal engineering wise...&#xA;&#xA;-- &#xA;&#39;peter&#39;[:-1]@petertodd.org&#xA;0000000000000001465bc2730ffed7493d166d18d288f6cf15e8cdb5d4a3c7b1&#xA;-------------- next part --------------&#xA;A non-text attachment was scrubbed...&#xA;Name: signature.asc&#xA;Type: application/pgp-signature&#xA;Size: 685 bytes&#xA;Desc: Digital signature&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140209/a2c80f9b/attachment.sig&gt;</html></oembed>