Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [transaction-malleability]

A property of Bitcoin transactions that allows them to be replicated with another transaction id before they are included in a block.

1
vote
1answer
19 views

Why is the wtxid considered malleable?

Why is the wtxid considered malleable since the transaction is unconfirmed? How can a third-party modify it?
2
votes
1answer
111 views

In ECDSA, why is (r,−s mod n) complementary to (r, s)?

I am trying to find resources in previous malleability posts, but couldn't find derivations/proofs of this fact or how the exact low-s value is derived. Any pointers would greatly appreciated.
-1
votes
1answer
29 views

How malleability ussue works?

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 ...
5
votes
2answers
259 views

Why didn't Bitcoin implement segwit in the first place?

Why didn't Bitcoin implement segwit in the first place? Why and how does non-segwit Bitcoin enable a miner to change a transaction's txid? From Mastering Bitcoin ch. 7 § "Transaction identifiers": ...
1
vote
1answer
44 views

Transaction Malleability, if i want to change signature, what part should I change, so that it would remain valid?

I know what transaction malleability is, but I don't understand how someone can change my signature so that it would remain valid. For example, If I want to change signature what part should I change, ...
0
votes
1answer
29 views

“comment” and “to” of malleated transactions

I'm using the bitcoin core wallet and trying to build some programs around it. I see that comment and to can be added to transactions locally. If I understand it correctly, both are stored in local ...
0
votes
1answer
44 views

Can transaction id be used to verify a transaction?

I have seen alot of questions here on "Transaction Malleability issue". Editing of transaction id can be done by miners or nodes which relay the transaction. What I want to know is whether the ...
3
votes
1answer
306 views

Why was transaction malleability fix required for Lightning network?

Transaction malleability is that TXID can be changed modifying the signature slightly without the private key. To implement Lightning Network, it was required to fix the malleability. However, I ...
1
vote
1answer
74 views

Why are miners allowed to change a tx id?

BIP 62 proposed to make transaction malleability impossible. Why was this retracted and why are miners allowed to change a transaction id? Also, what does it mean when someone says signatures ...
2
votes
1answer
141 views

What does malleable mean in “transaction malleability”?

Does malleable mean modifiable? If you can malleate a transaction you can modify some of its parts leaving the transaction as still valid (the signatures are not broken). If you can malleate the ...
2
votes
1answer
284 views

Lightning network: how was malleability actually fixed?

Section 3.1.2 of the Lightning paper (Version 0.5.9.2, last modified 14 January 2016) discusses ways to fix the transaction malleability issue, which prevented Bitcoin transactions from spending UTXO ...
0
votes
1answer
197 views

malleability in 2-of-2 multisig payment channel

I am having issues understanding 2-of-2 multisig, with regards to the malleability attack. Where Alice and Bob set up a multisig payment channel where Alice sends 1 BTC in order to do multiple tx ...
1
vote
1answer
435 views

What can be the reason to change transaction ID?

I always thought that when my wallet create a transaction, it's transaction id is fixed (it is the SHA256 of the transaction message). Yes, the transaction might not be included in the next block (and ...
1
vote
1answer
123 views

What's the easiest way for a third party to malleate a transaction?

Let's say I am a node. A transaction has been relayed to me, and one of the scriptSig fields is: <sig> <pubKey> What is the easiest way for me to malleate this transaction? For example, ...
3
votes
1answer
369 views

Does Segwit mean easier government monitoring?

I have noticed a steady stream of PR articles talking ad nauseum of the dangers of a contentious hard fork and how miners refusing to signal segwit are screwing us all. Many are quite well written and ...
0
votes
1answer
70 views

tx-malleability who re-signed the tx?

It would be really great if there was a way to loop through all the txids in a new block and be able to check if you (can) sign your original transaction the same way it was re-signed - that it ...
0
votes
1answer
83 views

How did blockr.io see this?

Here's the pushed/broacast-ed tx http://tbtc.blockr.io/tx/info/d8e5dac095d5f6133e6c3f11e1d9f923c04dac0824f9f8ce0000573df7cc8080 txid was malleated to txid (when the tx was added into the block): ...
2
votes
2answers
147 views

testnet3 frequent tx malleability

Related How confirm my own doublespend transaction got confirmed This is not about double spends and I believe that the related question is not about double spends ether! On bitcoin's testnet3 I am ...
3
votes
2answers
153 views

How confirm my own doublespend transaction got confirmed

Transactions in the testnet are right now almost always double spent with a new txid (possible due to tx malleability). This is actually quite nice for testing purposes. So I'm wondering - when I ...
3
votes
2answers
86 views

If well-built wallet software can avoid transaction malleability, why does the lightning network need an additional malleability fix?

My understanding is that wallets can avoid creating malleable transactions. If so, why does a lightning network need SegWit or some other tx malleability fix?
1
vote
1answer
91 views

OP_RETURN malleability?

Can anyone alter the data after OP_return? My question needs to have more characters, so I insert an example, that doesn't hurt: "vout" : [ { "value" : 0.00000000, "n" : 0, ...
1
vote
0answers
201 views

How to create walletconflicts in regtest mode?

I play with Bitcoin Core 0.13 in regtest mode using python. Now I use bitcoin-testnet-box, I have two nodes connected to each other. I want to create a walletconflict. I want to get gettransaction <...
3
votes
1answer
101 views

Bitcoin Core 0.13 — jsonrpc interface — conflicted transactions

I use bitcoind's Wallet feature to manage my bitcoins. Using json-rpc interface, how can I check that a transaction is a conflicted one? And, how can I get txhash of a transaction, that spends those ...
2
votes
1answer
142 views

How are transaction IDs generated and how are they then changed by transaction malleability?

How are the transaction IDs generated for a Bitcoin transaction? How can the transaction ID change due to a transaction malleability attack?
2
votes
1answer
251 views

why is double-spend not an issue for payment channels?

Micropayment Channels (MPC) cannot be used currently because of transaction malleability, I hear. AFAIK, people saying that have in mind that the refund & payment tx, which have as input the ...
5
votes
2answers
446 views

Are Micropayment channels still subject to malleability after BIP65?

After BIP 65, are simple, unidirectional, MPC still subject to transaction malleability? More specifically: Is the payee at risk because of malleability? If yes, how? (as far as I understood, the ...
2
votes
1answer
104 views

Is transaction malleability the only consensus issue that needs fix to allow lightning network?

Is transaction malleability the only thing needs fix in the bitcoin consensus code to enable lightning network to be implemented? Of course, lightning network itself would need to be implemented, but ...
5
votes
2answers
612 views

Is it possible to combine two separate transactions into one transaction by only using their signatures?

I have two valid txs and two valid signatures for those txs. Right now they look like: 1) A -> B 2) C -> D A and C are inputs & B and D are outputs. I want to be able to combine them ...
2
votes
1answer
75 views

Is CheckSequenceVerify only a stop-gap measure?

The Lightning Paper v0.5.9.2 says that CSV "would permit further abilities, including allowing a stop-gap solution before a more permanent solution for resolving transaction malleability. A future ...
2
votes
0answers
95 views

A common criticism of Segregated Witness is that it is “unnecessarily complex”. Why is it chosen over alternatives?

Segregated Witness (SegWit) is well-along the way to being implemented and deployed as a soft-fork. Facts: SegWit eliminates most forms of transaction malleability. Discounts input scripts in ...
9
votes
1answer
401 views

Why was the Oct 2015 Transaction Malleability event possible in spite of BIP62/66?

The recent re-emergence of transaction malleability has been responsible for a large number of Txs which are being double spent (October 2015). /r/Bitcoin has posted some C++ code which @amaclin has ...
2
votes
0answers
2k views

Transaction rejected by our node. Blockchain receive API

I use the Blockchain.info receive API with great succes. Yesterday I created a new address: 1MMVp6fzZ6QrVYXg9iRSJb5PsM8crq5iMZ It received 1.5 BTC and was transferred to my BTC address (unfonfirmed). ...
2
votes
1answer
152 views

transaction malleability “attack” vectors

are any of the following transaction malleability "attack" vectors currently feasible? alter scriptsig from: OP_PUSHDATA <sig> OP_PUSHDATA <pubkey> to one of: 1) OP_1 OP_SHA1 OP_DROP ...
7
votes
2answers
813 views

How do I uniquely identify a transaction (to protect against malleability)?

Transactions I broadcast can be malleated by anyone watching the mempool (more info here). This rules out using txid for transaction identification. How can I identify my transactions to make sure ...
8
votes
1answer
576 views

Using bitcoins JSON RPC, how can I confirm a transaction I published?

I have created, signed and sent a raw transaction via bitcoind RPC. Now I want to wait for it to have n confirmations. Considering transaction malleability, I can't just check the "confirmations" ...
12
votes
2answers
685 views

How much of BIP 62 (“Dealing with malleability”) has been implemented?

BIP 62 lists nine source of malleability: Non-DER encoded ECDSA signatures Non-push operations in scriptSig Push operations in scriptSig of non-standard size type Zero-padded number pushes Inherent ...
3
votes
1answer
990 views

Duplicate tx ids

Is there a quick and dirty way to detect all transactions whose tx-id can be found in more than one transaction since the genesis block? I would also like to see mutated transactions as well ...
4
votes
2answers
288 views

Why does txID generation consider signatures?

I've been reading a lot about transaction malleability, and noticed that the only way to achieve it is by altering the transaction signature/s. Why does the protocol even consider the signature in ...
3
votes
1answer
135 views

By whom and when can transaction malleability be applied?

Once I create a transaction and relay it to the network, who can alter the transaction id? Can the transaction id change at any time or only when the transaction is confirmed or unconfirmed?
3
votes
1answer
81 views

Tracking outgoing transactions & malleability attack

What is the best way (in terms of security or resources) to track my outgoing transactions through the RPC API? I would like to be able to track them down using their tx id and also to have a ...
2
votes
1answer
278 views

signrawtransaction hex

When calling RPC signrawtransaction it returns a hex-encoded string that contains the raw tx request with its signatures. Is this string: malleable? unique?
3
votes
1answer
80 views

How are mutated transactions prevented from getting relayed?

Quoth Bitcoin release-notes-0.9.0.md: This release contains a few fixes for transaction ID (TXID) malleability issues: -nospendzeroconfchange command-line option, to avoid spending zero-...
5
votes
2answers
96 views

Is the order of transaction inputs malleable?

I'm looking to track transactions in a non-malleable way. To achieve this I've read the recommendations in this answer, but I don't understand how the order of transaction inputs isn't malleable. It's ...
2
votes
2answers
786 views

Check if received bitcoin are in blockchain/not pending without a transaction id

I want to use the Bitstamp exchanger API to buy Bitcoin automatically. But then I see the API does not give me back a transaction-ID (txn id) if I do a withdrawal of Bitcoin to my wallet. If the ...
4
votes
1answer
357 views

Are public keys included in signatures?

I can't easily and quickly determine from these wiki pages, 1 and 2, if the public key is included in the signed message. Are public keys included in the signed message, or are they transmitted ...
5
votes
1answer
154 views

Anti-Transaction malleability patterns

What are the main principles and/or patterns programmers must apply to their code in order to make their programs bulletproof towards transaction malleability attacks?
6
votes
1answer
419 views

Spending own generated unconfirmed change in the v.0.9.0 era

Reading about spending own generated unconfirmed change some time ago I stumbled upon this reddit thread that convinced me that doing so is a really bad idea and could prove catastrophic for any ...
4
votes
1answer
230 views

walletnotify and transaction malleability

To monitor inbound payments for a web wallet, I plan to use walletnotify to record the transaction IDs, then on each blocknotify I will check the number of confirmations for each pending transaction. ...
6
votes
4answers
807 views

Is it possible to add a transaction input to a transaction in the mempool?

Is it possible to add an input to a transaction that is in the mempool? For example, if someone is paying 1 BTC to their friend, I can get the raw hex data of this transaction from the mempool before ...
3
votes
1answer
160 views

How is Transaction malleability affected by SIGHASH flags?

SIGHASH flags allow for the flexible alteration of a transaction. Given that there are legitimate usages of SIGHASH, and changing a Tx (and presumably the TxID as well), what is the correct way of ...