[BIP] Normalized Transaction IDs



Summary:

The discussion is about the proposal for normalized transaction IDs and SIGHASH. Normalized transaction IDs help in building a long-running contract using a complex chain of transactions. The problem with malleable legacy transaction IDs is that they are not useful for complex interactions where there are multiple unconfirmed transactions waiting on each other, whereas normalized transaction IDs can solve this issue. The proposal is not to add any data to transactions but only adding a new operator called CHECKSIG to the script, which replaces the txids in txins by their ntxid. It is a softfork as it only impacts scripts that use the new CHECKSIG operator. Old nodes simply consider these checksigs valid. However, old full nodes are unknowingly reduced to SPV security for these opcodes. The proposed solution to address this problem is to keep using the old full transaction ids in blocks but ntxids everywhere else or having some alternative means to commit to the scriptSigs inside the block and have that enforced as a consensus rule.


Updated on: 2023-05-19T20:23:05.784457+00:00