Bitcoin Forum
November 10, 2024, 09:01:06 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: The MtGox Debacle Explained  (Read 15788 times)
erre
Legendary
*
Offline Offline

Activity: 1680
Merit: 1205



View Profile
February 10, 2014, 11:00:52 PM
 #41

thank you for the update, that-s the better explanation i've read so far

Roll a dice FOR FREE every hour, and win up to $200 in btc ---> CLICK HERE

Tip me using the LIGHTING NETWORK! -->https://tippin.me/@Erre96344121
augustocroppo
VIP
Hero Member
*
Offline Offline

Activity: 756
Merit: 504


View Profile
February 10, 2014, 11:02:55 PM
 #42

How could the transaction be changed without needing to be re-signed?  I lack the technical knowledge to understand how what you describe is possible.

You don't touch the actual signature, but there are meta-data around it. In a recent version of the official bitcoin client the format of that meta-data has been tightened so the transaction data provided by MtGox is now being rejected by the latest official version. A hacker can then take the rejected raw txdata provided from MtGox, patch it and rebroadcast it. It will get through, but MtGox still thinks it is invalid and returns balance.


This do not make sense. Explain again.
thecomputerscientist (OP)
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 11, 2014, 09:19:18 PM
 #43

How could the transaction be changed without needing to be re-signed?  I lack the technical knowledge to understand how what you describe is possible.

You don't touch the actual signature, but there are meta-data around it. In a recent version of the official bitcoin client the format of that meta-data has been tightened so the transaction data provided by MtGox is now being rejected by the latest official version. A hacker can then take the rejected raw txdata provided from MtGox, patch it and rebroadcast it. It will get through, but MtGox still thinks it is invalid and returns balance.


This do not make sense. Explain again.

In Bitcoin <0.8 The ECDSA signature was allowed to be padded with leading zeros, but in Bitcoin 0.8+ it is no longer allowed. MtGox sometimes issued transactions with leading zeros, and those transactions got stuck (because they were refused by the majority who are running Bitcoin 0.8+). However, MtGox published their failed transactions through an accessible API (https://data.mtgox.com/api/0/bitcoin_tx.php, the signatures are now redacted). Therefore, you could apply withdrawals on purpose until you got a ECDSA signature with leading zeros. Then you take that transaction and remove the leading zeros and rebroadcast the (modified) transaction. This would now be accepted by the network but with a different transaction hash. MtGox however thinks that the transaction never gets through because it is listening for its own transaction hash. Finally MtGox gives up, cancels the transaction, and returns the funds to the customer. Rinse, lather and repeat. In theory you can empty MtGox BTC vault, but they were quick enough to see what was going on and cancelled BTC withdrawals. Now they have to fix their client to listen for malleable transactions.
erre
Legendary
*
Offline Offline

Activity: 1680
Merit: 1205



View Profile
February 11, 2014, 10:12:42 PM
 #44

How could the transaction be changed without needing to be re-signed?  I lack the technical knowledge to understand how what you describe is possible.

You don't touch the actual signature, but there are meta-data around it. In a recent version of the official bitcoin client the format of that meta-data has been tightened so the transaction data provided by MtGox is now being rejected by the latest official version. A hacker can then take the rejected raw txdata provided from MtGox, patch it and rebroadcast it. It will get through, but MtGox still thinks it is invalid and returns balance.


This do not make sense. Explain again.

In Bitcoin <0.8 The ECDSA signature was allowed to be padded with leading zeros, but in Bitcoin 0.8+ it is no longer allowed. MtGox sometimes issued transactions with leading zeros, and those transactions got stuck (because they were refused by the majority who are running Bitcoin 0.8+). However, MtGox published their failed transactions through an accessible API (https://data.mtgox.com/api/0/bitcoin_tx.php, the signatures are now redacted). Therefore, you could apply withdrawals on purpose until you got a ECDSA signature with leading zeros. Then you take that transaction and remove the leading zeros and rebroadcast the (modified) transaction. This would now be accepted by the network but with a different transaction hash. MtGox however thinks that the transaction never gets through because it is listening for its own transaction hash. Finally MtGox gives up, cancels the transaction, and returns the funds to the customer. Rinse, lather and repeat. In theory you can empty MtGox BTC vault, but they were quick enough to see what was going on and cancelled BTC withdrawals. Now they have to fix their client to listen for malleable transactions.


So this is not a "bug in the bitcoin protocol" at all?

Roll a dice FOR FREE every hour, and win up to $200 in btc ---> CLICK HERE

Tip me using the LIGHTING NETWORK! -->https://tippin.me/@Erre96344121
riclas
Full Member
***
Offline Offline

Activity: 208
Merit: 106


View Profile
February 11, 2014, 10:21:40 PM
 #45

Nope. It's a bug on Mtgox's wallet software, that should be synchronized with the development updates of the bitcoin protocol.

portuguese p2p trader. telegram @riclas
erre
Legendary
*
Offline Offline

Activity: 1680
Merit: 1205



View Profile
February 11, 2014, 10:42:09 PM
 #46

So this declaration from mtgox:

Non-technical Explanation:
A bug in the bitcoin software makes it possible for someone to use the Bitcoin network to alter transaction details to make it seem like a sending of bitcoins to a bitcoin wallet did not occur when in fact it did occur. Since the transaction appears as if it has not proceeded correctly, the bitcoins may be resent. MtGox is working with the Bitcoin core development team and others to mitigate this issue.


makes them really assholes right?

Roll a dice FOR FREE every hour, and win up to $200 in btc ---> CLICK HERE

Tip me using the LIGHTING NETWORK! -->https://tippin.me/@Erre96344121
Pages: « 1 2 [3]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!