2

I've been trying to get my head around the process that stops transactions from being malleable on a system built using Bitcoind. I'm pretty sure, that out of the box, right now, I'm not doing anything to solve this problem.

So I thought I would look it up, but could not find any tutorials, or even a good explanation of the technical steps you need to take in order to stop or prevent transaction mailability.

Are there any protocol level tutorials on the subject? Or, do you have any personal experience with this that you could share with me?

Thanks in advance for your help.

Murch
  • 71,155
  • 33
  • 180
  • 600
Yitzhak
  • 249
  • 1
  • 8
  • 1
    You'll have to be more specific as to what you mean by "transaction malleability". Changing the meat of a transaction is essentially impossible. Changing things like the transaction id, which is really a checksum (it's not even guaranteed to be unique, though it's *highly* unlikely to be repeated) is possible, though practically difficult. Or perhaps you could be more specific as to what you're worried about? – Chris S Mar 03 '14 at 19:19
  • I apologize for being vague. – Yitzhak Mar 03 '14 at 19:26
  • Here's what I'm doing. I'm putting up an instance of bitcoind that users can drop money into, and make transactions with other users, who also put money in the system. What I want to make sure of is that there's no way to game bitcoind into putting money into the system where it gets logged and spent, and then taken out retroactively by the same user that put it in (if that's even possible). I'm not clear on this. – Yitzhak Mar 03 '14 at 19:27
  • There's no take-backs in BitCoin. The amount and who it's coming from and to can't be changed once the transaction is broadcast. The transaction malleability problems being talked about, like MtGox is where people modified something else in the transaction, calculated a new TxID - MtGox problem was keeping track of account balances *only* by the individual transactions; they'd never recalculate the balance of an address (eg lookup all transactions to/from an address). – Chris S Mar 03 '14 at 19:35
  • So as long as you keep a running total, by auditing accounts and all transactions in your system, you're okay? – Yitzhak Mar 03 '14 at 20:08
  • What's more important than your method of keeping accounts, is that you have a different method available for verifying accounts. The source and destination addresses in a Bitcoin transaction are immutable (without invaliding the transaction), so either your primary or secondary accounting methods should rely on that information. – Chris S Mar 03 '14 at 21:50
  • possible duplicate of [How is the transaction malleability issue being fixed?](http://bitcoin.stackexchange.com/questions/22918/how-is-the-transaction-malleability-issue-being-fixed) – Murch May 08 '14 at 10:30

0 Answers0