Skip to main content

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.

Filter by
Sorted by
Tagged with
3 votes
1 answer
128 views

Did Segwit (BIP141) eliminate all txid malleability issues listed in BIP62?

There are 9 malleability issues listed in the BIP62, but doesn't seem like BIP141 addressed all of them. If not, why not and why is it not an issue for Lightning or other DoS vectors? What is exactly ...
WhoIsNinja's user avatar
1 vote
2 answers
119 views

SIGHASH_ANYONECANPAY mediated tx modification

If Alice broadcasts a tx with an input tx_in1 and output tx_out1 signed with SIGHASH_ALL | SIGHASH_ANYONECANPAY, it lives temporarily in the mempool. Bob chooses to be a part of the crowdfunding and ...
b01001's user avatar
  • 13
0 votes
0 answers
59 views

Is there anyway to produce the transaction's hash created by sender?

It seems that when someone wants to send Bitcoins, he creates a transaction and the transaction_id will be transaction's hash. after block confirmation this id will be change and we can find out this ...
Mohsen Ghorbani's user avatar
0 votes
0 answers
67 views

Question about Second-Party Transaction Malleability described in book "mastering bitcoin"

In book "mastering bitcoin", 3rd edition, page 136, there is a statement as below. "Tx1 spends the second output of Tx0 to two new outputs, one to Alice for her share of the joint funds,...
fa william's user avatar
1 vote
1 answer
152 views

What are the main advantages/purposes of SegWit today?

I am currently learning about SegWit and trying to understand what it is used for. It is clear to me that it was primarily introduced to overcome txid malleability, but... Looking at this question and ...
dassd's user avatar
  • 1,099
5 votes
1 answer
281 views

What types of transaction malleability exist and which one of them does SegWit solve?

I am little confused about what types of transaction malleability exist in bitcoin and which one of them does SegWit solve. Here Antoine Poinsot talks about txid malleability and third-party ...
dassd's user avatar
  • 1,099
1 vote
1 answer
83 views

Bitcoin transaction malleability is it only for unconfirmed transaction?

I do understand what is transaction malleability and how to do it in practice eg. DER-encoded ASN.1, ECDSA and know that these 2 have been fixed. Also there are some other types (do not know examples),...
WebOrCode's user avatar
  • 373
5 votes
2 answers
286 views

Is a transaction with a non-segwit input STILL considered malleable? If so how?

Below are a few examples of witness malleability, along with reasons why I believe they are no longer valid: DER Malleability For every DER signature with (r,s), there exists 2 valid 's' values -> ...
Peter's user avatar
  • 215
1 vote
1 answer
143 views

Why is it a bug that a Taproot tree allows a Tapleaf to be repeated on multiple levels of the tree?

On the bitcoin-dev mailing list Russell O'Connor stated: There is a bug in Taproot that allows the same Tapleaf to be repeated multiple times in the same Taproot, potentially at different Taplevels ...
Michael Folkson's user avatar
4 votes
1 answer
271 views

When is a Miniscript solution malleable?

I'm having some trouble understanding malleability in miniscript. Specifically I cannot get why some solutions can be used instead of other. I think using an example may help. Say, for instance, this ...
landabaso's user avatar
  • 248
2 votes
1 answer
182 views

How and when were high-s signatures made non-standard?

I was just trying to pin-point which BIP made high-s signatures non-standard. BIP62 proposed it as a new consensus rule, but was withdrawn. I couldn't find it in another BIP.
Murch's user avatar
  • 77k
0 votes
1 answer
215 views

Where are signatures stored in segwit, and why are addresses different?

So I'm researching SegWit, and as far as I'm aware, it re-organizes the data structure of transactions so that the ECDSA signature is not included in the preimage of the Tx Hash. I am also aware that ...
bitcash complex's user avatar
0 votes
1 answer
31 views

Integrity of Bitcoin transaction outputs

I am a noob. Currently, I am reading Mastering Bitcoin book. If I understand correctly, output of a bitcoin transaction is just a locking script with this format: scriptPubKey: "OP_DUP OP_HASH160 ...
noooooob's user avatar
3 votes
1 answer
82 views

Do BIP199's HTLCs suffer from script malleability?

Do BIP199 HTLCs suffer from sigscript malleability like multisigs do due to OP_CHECKMULTISIG?
arshbot's user avatar
  • 1,808
4 votes
1 answer
74 views

What are the malleability threat vectors when passing PSBTs to other actors?

If I am passing a PSBT (Partially Signed Bitcoin Transaction) between multiple people, and I pass on my signature for my UTXOs for given inputs, can someone take advantage of malleability and cheat me ...
arshbot's user avatar
  • 1,808
5 votes
1 answer
261 views

Are the witnesses segregated with Schnorr signatures?

SegWit fixed transaction malleability by just moving the signature out of the block of data that's being hashed to form the transaction id. However, Schnorr does not suffer from signature malleability ...
Dalit Sairio's user avatar
1 vote
2 answers
247 views

what does segwit remove?

It's said that Segwit removes signature data from transactions which makes block have more space for more transactions. Question 1) If SegWit removes signature data, where does it put it exactly ? ...
Nika Kurashvili's user avatar
1 vote
1 answer
202 views

Are P2PKH or P2SH transactions malleable?

BIP66 fixed one source of transaction malleability and segwit, to my understanding, fixed the rest of the sources. Yet, there are still many common types of non-segwit transactions in use, like P2PKH ...
Pedro's user avatar
  • 773
1 vote
1 answer
91 views

Transaction malleability in Testnet

I want to replicate transaction malleability to study it. I have two transactions data signed in testnet. One it's the original, ...
monkeyUser's user avatar
  • 1,004
1 vote
1 answer
475 views

scriptsig-not-pushonly (code 64) during send transaction in regtest

I create a transaction in regtest without send it, I have transaction data signed. I modified a little bit the scriptSig in order to replicate transaction malleability, I add two operations (2 OP_DROP)...
monkeyUser's user avatar
  • 1,004
2 votes
1 answer
192 views

Multisig refund transaction flaw in Lightning Network talk

I was watching Tadje Dryja's talk at SF Bitcoin Devs conference on transaction malleability, which formed part of the basis behind the Lightning Network. At 17'45", I saw this example. Prior to ...
GViz's user avatar
  • 153
3 votes
1 answer
227 views

Transaction malleability

I have been reading about transaction malleability a lot still doesn't make sense to me. Is there a script I can use to test it out ? If the transaction that is malleable is changed by the attack, how ...
Wuncler's user avatar
  • 45
1 vote
2 answers
229 views

How does storing the witness outside of the block prevent malleability?

I have some question on how segregated witness work. I'm reading this post and in the answer exist this phrase Since signature data (witness data) is stored outside the transaction (and outside ...
vincenzopalazzo's user avatar
2 votes
2 answers
140 views

Are non-SegWit transactions still malleable?

SegWit was (amongst other improvements) introduced to fix malleability issues. Does that mean that non-SegWit transactions are still malleable? If so, what types of malleability could still happen in ...
SCBuergel's user avatar
  • 125
1 vote
1 answer
210 views

Following SegWit implementation, is BIP-146 signalling and implementation still on the docket?

Is BIP 146, which defines using the low S value, still on the docket to be signalled and implemented given that SegWit fixed the txid malleability issue by moving the witness outside the transaction? ...
Ugam Kamat's user avatar
  • 7,437
5 votes
2 answers
98 views

Why SHOULD the funding tx consume BIP 141 inputs?

In BOLT 02 we read that the funding TX should only consume segwit inputs. The sender: when creating the funding transaction: SHOULD use only BIP141 (Segregated Witness) inputs. What is the reason ...
Rene Pickhardt's user avatar
3 votes
2 answers
261 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?
dcfg's user avatar
  • 404
4 votes
1 answer
1k 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.
James C.'s user avatar
  • 2,521
0 votes
1 answer
71 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 ...
D-Samp's user avatar
  • 61
5 votes
2 answers
355 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": ...
Geremia's user avatar
  • 4,715
1 vote
1 answer
74 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, ...
Nika Kurashvili's user avatar
0 votes
1 answer
63 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 ...
Will Gu's user avatar
  • 368
0 votes
1 answer
97 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 ...
SMJ's user avatar
  • 141
7 votes
3 answers
810 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 ...
ogw_yuya's user avatar
  • 635
1 vote
1 answer
97 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 ...
lolololol ol's user avatar
2 votes
1 answer
241 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 ...
croraf's user avatar
  • 1,248
4 votes
1 answer
397 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 ...
Sergei Tikhomirov's user avatar
0 votes
1 answer
272 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 ...
user62261's user avatar
1 vote
1 answer
1k 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 ...
Salvador Dali's user avatar
1 vote
1 answer
583 views

Why is BIP-147 (Dealing with dummy stack element malleability, part of segwit) necessary?

Given BIP-11 (M-of-N Standard Transactions) it's not clear why BIP-147 (Dealing with dummy stack element malleability) is necessary. BIP-11 states: OP_CHECKMULTISIG transactions are redeemed using ...
Rich Apodaca's user avatar
  • 2,431
2 votes
1 answer
177 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, ...
inersha's user avatar
  • 3,185
3 votes
1 answer
531 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 ...
maple_shaft's user avatar
0 votes
1 answer
94 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 ...
Ben Muircroft's user avatar
0 votes
1 answer
122 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): ...
Ben Muircroft's user avatar
2 votes
2 answers
186 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 ...
Ben Muircroft's user avatar
2 votes
2 answers
262 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 ...
tobi's user avatar
  • 135
2 votes
2 answers
111 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?
murty's user avatar
  • 272
1 vote
1 answer
167 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, ...
nopara73's user avatar
  • 846
1 vote
0 answers
314 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 <...
Yevhen's user avatar
  • 173
2 votes
1 answer
233 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 ...
Yevhen's user avatar
  • 173