<oembed><type>rich</type><version>1.0</version><author_name>npub1j3u42vq63qzs2nyddgkf4s4t7pa85x855vas54e6yauxsvpf2wcsacwg9h</author_name><author_url>https://nostr.ae/npub1j3u42vq63qzs2nyddgkf4s4t7pa85x855vas54e6yauxsvpf2wcsacwg9h</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-10-19&#xA;📝 Original message:So what exactly is used to create the normalized txid (sha256 hash of&#xA;what data)? I&#39;ve read in the linked BIP draft that it will strip the&#xA;&#39;malleable parts&#39; but didn&#39;t understand what exactly will be used to&#xA;calculate the normalized transactions ids and how will the change apply&#xA;retro-active for the transactions so deep buried in the blockchain?&#xA;&#xA;Pubkeys (addresses) can be reused infinitely so what guarantees us&#xA;unique normalized txids all the time and protection against replay&#xA;attacks? The question is not if this issue is covered or not, I know it&#xA;is, I am just asking how, in simpler terms.&#xA;&#xA;SCRIPT_CHECKSIGEX_NORMALIZE could be explained better in the document.&#xA;&#xA;Will it also fix &gt; third level malleability (a tx which spends from&#xA;another unconfirmed tx which spends from yet another unconfirmed tx)?&#xA;&#xA;&#xA;On 10/19/2015 6:23 PM, Tier Nolan via bitcoin-dev wrote:&#xA;&gt; On Mon, Oct 19, 2015 at 3:01 PM, Christian Decker via bitcoin-dev&#xA;&gt; &lt;bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt; wrote:&#xA;&gt; &#xA;&gt;     As with the previous version, which was using a hard-fork, the&#xA;&gt;     normalized transaction ID is computed only considering the&#xA;&gt;     non-malleable parts of a transaction, i.e., stripping the signatures&#xA;&gt;     before computing the hash of the transaction.&#xA;&gt;     &lt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&gt;&#xA;&gt; &#xA;&gt; &#xA;&gt; Is this proposal recursive? &#xA;&gt; &#xA;&gt; *Coinbase transaction&#xA;&gt; *&#xA;&gt; &#xA;&gt; * n-txid = txid&#xA;&gt; &#xA;&gt; *Non-coinbase transactions&#xA;&gt; *&#xA;&gt; * replace sigScripts with empty strings&#xA;&gt; * replace txids in TxIns with n-txid for parents&#xA;&gt; &#xA;&gt; The 2nd step is recursive starting from the coinbases.&#xA;&gt; &#xA;&gt; In effect, the rule is that txids are what they would have been if&#xA;&gt; n-txids had been used right from the start.&#xA;&gt; &#xA;&gt;</html></oembed>