<oembed><type>rich</type><version>1.0</version><author_name>npub1sm6zhjmk5scuz294jmpkw99wwwjzetjgwp4fu4gn6utqgdz87hkqamnq7h</author_name><author_url>https://nostr.ae/npub1sm6zhjmk5scuz294jmpkw99wwwjzetjgwp4fu4gn6utqgdz87hkqamnq7h</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-02-12&#xA;📝 Original message:I think the solution is simply to encourage Bitcoin software developers to&#xA;design their software to use this static ID, instead of the full&#xA;transaction hash.    If MtGox had talked those IDs instead of the TX ID,&#xA;their software would&#39;ve correctly identified the mutated transactions and&#xA;there would be  no problem.&#xA;&#xA;Armory is slightly different, since it doesn&#39;t deal with the same stuff as&#xA;exchanges do.  But it didn&#39;t have any problems with malleability because it&#xA;doesn&#39;t track anything by ID, it only pays attention to whether inputs and&#xA;outputs are related to your wallets.  It&#39;s not necessarily hard to do it&#xA;this way, people just have to be aware of it.&#xA;&#xA;-Alan&#xA;&#xA;Sent from my overpriced smartphone&#xA;On Feb 12, 2014 10:15 AM, &#34;Rune Kjær Svendsen&#34; &lt;runesvend at gmail.com&gt; wrote:&#xA;&#xA;&gt; Instead of trying to remove the possibility of transaction&#xA;&gt; malleability, would it make sense to define a new, &#34;canonical&#xA;&gt; transaction hash/ID&#34; (cTxID), which would be a hash of the part of the&#xA;&gt; transaction data which we know is not malleable, and have clients use&#xA;&gt; this cTxID internally, thus making the traditional transaction hash&#xA;&gt; irrelevant for a client to function correctly?&#xA;&gt;&#xA;&gt; We already have a non-malleable transaction hash: the hash that is&#xA;&gt; signed, ie. the transaction with each scriptSig replaced by the&#xA;&gt; scriptPubKey it redeems. This could be the cTxID.&#xA;&gt;&#xA;&gt; Or is this simply a too fundamental change to the way bitcoin-qt (and&#xA;&gt; all other clients) work in order to be feasible?&#xA;&gt;&#xA;&gt; As far as I can see, it completely solves the issue of not having a&#xA;&gt; canonical ID for a transaction, but it also increases the&#xA;&gt; computational requirements for a node. For one, as far as I can see,&#xA;&gt; it requires the node to index all transactions, because in order to&#xA;&gt; calculate a cTxID, it would be necessary to fetch all transactions&#xA;&gt; referred to by the transaction in question, in order to pull in the&#xA;&gt; scriptPubKeys that are redeemed.&#xA;&gt;&#xA;&gt;&#xA;&gt; On Mon, Feb 10, 2014 at 4:00 AM, Peter Todd &lt;pete at petertodd.org&gt; wrote:&#xA;&gt; &gt; On Mon, Feb 10, 2014 at 12:33:02AM +0100, Pieter Wuille wrote:&#xA;&gt; &gt;&gt; Hello all,&#xA;&gt; &gt;&gt;&#xA;&gt; &gt;&gt; it was something I planned to do since a long time, but with the&#xA;&gt; &gt;&gt; recent related issues popping up, I finally got around to writing a&#xA;&gt; &gt;&gt; BIP about how we can get rid of transaction malleability over time.&#xA;&gt; &gt;&gt;&#xA;&gt; &gt;&gt; The proposed document is here: https://gist.github.com/sipa/8907691&#xA;&gt; &gt;&gt;&#xA;&gt; &gt;&gt; I expect most rules to not be controversial. Maybe rules 1 and 3, as&#xA;&gt; &gt;&gt; they require modifications to wallet software (Bitcoin Core 0.9 and&#xA;&gt; &gt;&gt; BitcoinJ already implement it, though) and potentially invalidate some&#xA;&gt; &gt;&gt; script functionality. However, these new rules remain optional and&#xA;&gt; &gt;&gt; controlled by an nVersion increase.&#xA;&gt; &gt;&gt;&#xA;&gt; &gt;&gt; Comments please!&#xA;&gt; &gt;&#xA;&gt; &gt; You should probably add making CHECKMULTISIG require the dummy value to&#xA;&gt; &gt; be exactly equal to OP_FALSE; verifying that in the transaction itself is&#xA;&gt; &gt; laborious. A more subtle example is we may want both CHECKSIG and&#xA;&gt; &gt; CHECKMULTISIG to fail the transaction if the signature is invalid but&#xA;&gt; &gt; not exactly equal to OP_FALSE; some transaction forms are significantly&#xA;&gt; &gt; more compact if you can have failed signatures, but that&#39;s a source of&#xA;&gt; &gt; malleability. (are there counter examples people can think of?)&#xA;&gt; &gt;&#xA;&gt; &gt;&#xA;&gt; &gt; But as I said on IRC, I&#39;m a bit hesitant to bake in assumptions about&#xA;&gt; &gt; malleability when we have no solid idea if ECC signatures are or are not&#xA;&gt; &gt; malleable on a fundemental level; if &#34;whack-a-mole&#34; anti-malleability is&#xA;&gt; &gt; all we&#39;ve got it could be ugly if a break is found. Similarly, we may&#xA;&gt; &gt; find we missed something, or some needed change makes the malleability&#xA;&gt; &gt; rules difficult to work with for some new script type that is required.&#xA;&gt; &gt;&#xA;&gt; &gt; I&#39;d rather see a new CHECKSIG mode for the case where malleability&#xA;&gt; &gt; absolutely must be eliminated - certain multi-party protocols - and fix&#xA;&gt; &gt; wallet software instead. (the malleability problems people see are&#xA;&gt; &gt; closely related to inability to handle double-spends and reorgs) But I&#xA;&gt; &gt; can easily see that being an impossible goal engineering wise...&#xA;&gt; &gt;&#xA;&gt; &gt; --&#xA;&gt; &gt; &#39;peter&#39;[:-1]@petertodd.org&#xA;&gt; &gt; 0000000000000001465bc2730ffed7493d166d18d288f6cf15e8cdb5d4a3c7b1&#xA;&gt; &gt;&#xA;&gt; &gt;&#xA;&gt; ------------------------------------------------------------------------------&#xA;&gt; &gt; Managing the Performance of Cloud-Based Applications&#xA;&gt; &gt; Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.&#xA;&gt; &gt; Read the Whitepaper.&#xA;&gt; &gt;&#xA;&gt; http://pubads.g.doubleclick.net/gampad/clk?id=121051231&amp;iu=/4140/ostg.clktrk&#xA;&gt; &gt; _______________________________________________&#xA;&gt; &gt; Bitcoin-development mailing list&#xA;&gt; &gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt; &gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt; &gt;&#xA;&gt;&#xA;&gt;&#xA;&gt; ------------------------------------------------------------------------------&#xA;&gt; Android apps run on BlackBerry 10&#xA;&gt; Introducing the new BlackBerry 10.2.1 Runtime for Android apps.&#xA;&gt; Now with support for Jelly Bean, Bluetooth, Mapview and more.&#xA;&gt; Get your Android app in front of a whole new audience.  Start now.&#xA;&gt;&#xA;&gt; http://pubads.g.doubleclick.net/gampad/clk?id=124407151&amp;iu=/4140/ostg.clktrk&#xA;&gt; _______________________________________________&#xA;&gt; Bitcoin-development mailing list&#xA;&gt; Bitcoin-development at lists.sourceforge.net&#xA;&gt; https://lists.sourceforge.net/lists/listinfo/bitcoin-development&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140212/5c046193/attachment.html&gt;</html></oembed>