<p>First of all, exchanges keep track of transactions by their TXIDs. The TXID can be changed by 3rd parties, but not the transaction data.</p>

<blockquote>
  <p>I can't understand how, say, Bob can change Alice's signature in a Alice->Bob transaction if that signature doesn't belong to him in the first place.</p>
</blockquote>

<p>Old versions of Bitcoin Core used OpenSSL to verify signatures (now libsecp256k1). OpenSSL is lenient about signature encoding.</p>

<ul>
<li>An ECDSA signature is an <code>(R,s)</code> pair. <code>(R,-s)</code> also makes a valid signature.</li>
<li>OpenSSL allows encoding algorithms other than DER.</li>
</ul>

<p>which means there are more than one possible way to encode signatures. Different but equivalent signatures allow 3rd parties to change the signatures without knowing the private key, thus changing the TXID.</p>

<p>Details: <a href="https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki" rel="nofollow noreferrer">BIP 62</a></p>

CC BY-SA 4.0
2018-11-04T10:48:51.023Z
"Old versions of Bitcoin Core used OpenSSL to verify signatures (now libsecp256k1). OpenSSL is lenient about signature encoding." Doesn't this issue still on since not everyone accepted SegWit?
D-Samp
CC BY-SA 4.0
2018-11-04T11:36:12.497Z
No, transactions with non-der signatures are not relayed. And no software, even pre-segwit, uses non-der signatures.
MCCCS
CC BY-SA 4.0
2018-11-04T10:31:13.240Z
2018-11-04T10:31:13.240Z
MCCCS
<p>Can you explain malleability issue, please?</p>

<p>This is what I read here: <a href="https://qz.com/175565/why-nobody-can-withdraw-bitcoins-from-one-of-the-currencys-largest-exchanges/" rel="nofollow noreferrer">https://qz.com/175565/why-nobody-can-withdraw-bitcoins-from-one-of-the-currencys-largest-exchanges/</a></p>

<p>"When a transaction record is sent out to the network of bitcoin miners, it’s possible for a hacker to tweak it enough to change the hash, but not enough to make the transfer invalid. One of the ways the hacker can do this is by slightly modifying the digital signature in a way that it is still recognized as the right signature, but, again, results in a completely different hash."</p>

<p>I can't understand how, say, Bob can change Alice's signature in a Alice->Bob transaction if that signature doesn't belong to him in the first place.</p>

CC BY-SA 4.0
2018-11-04T10:21:14.643Z
Possible duplicate of [What is Transaction Malleability?](https://bitcoin.stackexchange.com/questions/21994/what-is-transaction-malleability)
chytrik
CC BY-SA 4.0
2018-11-04T10:54:52.647Z
This question primarily addresses what it is. I wanted to clarify how exactly it is possible that third parties can change signatures of others
D-Samp
<transaction-malleability>
How malleability ussue works?
D-Samp
# How malleability ussue works?

(Asked by: username_0 on 2018-11-04)

Can you explain malleability issue, please?

This is what I read here: <https://qz.com/175565/why-nobody-can-withdraw-bitcoins-from-one-of-the-currencys-largest-exchanges/>

"When a transaction record is sent out to the network of bitcoin miners, it’s possible for a hacker to tweak it enough to change the hash, but not enough to make the transfer invalid. One of the ways the hacker can do this is by slightly modifying the digital signature in a way that it is still recognized as the right signature, but, again, results in a completely different hash."

I can't understand how, say, Bob can change Alice's signature in a Alice->Bob transaction if that signature doesn't belong to him in the first place.

**Tags:** transaction-malleability

> **Comments:**
> **username_1**: Possible duplicate of [What is Transaction Malleability?](https://bitcoin.stackexchange.com/questions/21994/what-is-transaction-malleability)  
> **username_0**: This question primarily addresses what it is. I wanted to clarify how exactly it is possible that third parties can change signatures of others  

---

## 1 answers

### Answer by username_2 on 2018-11-04. Score: 1 | Accepted answer

First of all, exchanges keep track of transactions by their TXIDs. The TXID can be changed by 3rd parties, but not the transaction data.

> I can't understand how, say, Bob can change Alice's signature in a Alice->Bob transaction if that signature doesn't belong to him in the first place.

Old versions of Bitcoin Core used OpenSSL to verify signatures (now libsecp256k1). OpenSSL is lenient about signature encoding.

* An ECDSA signature is an `(R,s)` pair. `(R,-s)` also makes a valid signature.
* OpenSSL allows encoding algorithms other than DER.

which means there are more than one possible way to encode signatures. Different but equivalent signatures allow 3rd parties to change the signatures without knowing the private key, thus changing the TXID.

Details: [BIP 62](https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki)

> **Comments:**
> **username_0**: "Old versions of Bitcoin Core used OpenSSL to verify signatures (now libsecp256k1). OpenSSL is lenient about signature encoding." Doesn't this issue still on since not everyone accepted SegWit?  
> **username_2**: No, transactions with non-der signatures are not relayed. And no software, even pre-segwit, uses non-der signatures.  

---

