Monday, February 10, 2014

HOT BREAKING: Mt. Gox Reports There Is a Critical Bitcoin System-Wide Problem

Mt. Gox is reporting that the problem which resulted in its limiting withdrawals, starting on Friday is a Bitcoin wide problem and not limited to Mt. Gox. The problem includes, according to Mt. Gox, "unusual activity on its Bitcoin wallets." Mt Gox said the activity was investigated and that, it "confirmed the presence of transactions which need to be examined more closely."

Bottom line: This appears to be a major technical glitch which suggests that some wallets are being exploited and bitcoins have either been stolen or  an attempt to steal them occurred. That this is a Bitcoin-wide problem and not limited to Mt. Gox should scare every Bitcoin holder.

Here is the entire Mt. Gox statement:
Dear MtGox Customers and Bitcoiners,

As you are aware, the MtGox team has been working hard to address an issue with the way that bitcoin withdrawals are processed. By "bitcoin withdrawal" we are referring to transactions from a MtGox bitcoin wallet to an external bitcoin address. Bitcoin transactions to any MtGox bitcoin address, and currency withdrawals (Yen, Euro, etc) are not affected by this issue.

The problem we have identified is not limited to MtGox, and affects all transactions where Bitcoins are being sent to a third party. We believe that the changes required for addressing this issue will be positive over the long term for the whole community. As a result we took the necessary action of suspending bitcoin withdrawals until this technical issue has been resolved.

Addressing Transaction Malleability
MtGox has detected unusual activity on its Bitcoin wallets and performed investigations during the past weeks. This confirmed the presence of transactions which need to be examined more closely. 

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.

Technical Explanation:
Bitcoin transactions are subject to a design issue that has been largely ignored, while known to at least a part of the Bitcoin core developers and mentioned on the BitcoinTalk forums. This defect, known as "transaction malleability" makes it possible for a third party to alter the hash of any freshly issued transaction without invalidating the signature, hence resulting in a similar transaction under a different hash. Of course only one of the two transactions can be validated. However, if the party who altered the transaction is fast enough, for example with a direct connection to different mining pools, or has even a small amount of mining power, it can easily cause the transaction hash alteration to be committed to the blockchain.

The bitcoin api "sendtoaddress" broadly used to send bitcoins to a given bitcoin address will return a transaction hash as a way to track the transaction's insertion in the blockchain.
Most wallet and exchange services will keep a record of this said hash in order to be able to respond to users should they inquire about their transaction. It is likely that these services will assume the transaction was not sent if it doesn't appear in the blockchain with the original hash and have currently no means to recognize the alternative transactions as theirs in an efficient way.

This means that an individual could request bitcoins from an exchange or wallet service, alter the resulting transaction's hash before inclusion in the blockchain, then contact the issuing service while claiming the transaction did not proceed. If the alteration fails, the user can simply send the bitcoins back and try again until successful.

We believe this can be addressed by using a different hash for transaction tracking purposes. While the network will continue to use the current hash for the purpose of inclusion in each block's Merkle Tree, the new hash's purpose will be to track a given transaction and can be computed and indexed by hashing the exact signed string via SHA256 (in the same way transactions are currently hashed).

This new transaction hash will allow signing parties to keep track of any transaction they have signed and can easily be computed, even for past transactions.

We have discussed this solution with the Bitcoin core developers and will allow Bitcoin withdrawals again once it has been approved and standardized. 

In the meantime, exchanges and wallet services - and any service sending coins directly to third parties - should be extremely careful with anyone claiming their transaction did not go through.

Note that this will also affect any other crypto-currency using the same transaction scheme as Bitcoin.

To put things in perspective, it's important to remember that Bitcoin is a very new technology and still very much in its early stages. What MtGox and the Bitcoin community have experienced in the past year has been an incredible and exciting challenge, and there is still much to do to further improve. 

MtGox will resume bitcoin withdrawals to outside wallets once the issue outlined above has been properly addressed in a manner that will best serve our customers.

More information on the status of this issue will be released as soon as possible. 

We thank you for taking the time to read this, and especially for your patience. 

Best Regards,
MtGox Team


  1. No, this is characteristic of the Bitcoin protocol that has been known for over a year that could easily be coded around. MtGox is simply shifting blame away from their own incompetence. Anyone who keeps funds on MtGox after learning their history is a fool. Spinning this as a problem of Bitcoin is like saying "Bank is incompetent with customer deposits therefore the dollar is bad".


    1. Correct
      Core developer Greg Maxwell explained in an interview with CryptoCoins News.

      “The Gox press release seems a little ‘spun’ to me,” said Maxwell. “They portray characteristics of the Bitcoin system well known since at least 2011 (which even have their own wiki page) as something new.”

      He continued, “These characteristics are annoying but don’t inhibit basic operation. They are slowly being fixed – but fixing them completely will likely take years as they require changing all wallet software. Correctly-written wallet software can cope with the consequences, and I cannot understand why they would gate their withdraws on external changes.”

      Maxwell said that MtGox is using transaction malleability as a scapegoat. “The challenge for me in offering something here is that this isn’t news to me – for years – and it’s never been a particularly large concern. This wouldn’t make the top ten list of dangers in the Bitcoin technology.”

      And finally, “MtGox is at fault for not implementing in a way that copes with behaviors in the Bitcoin protocol which have been known since at least 2011.”

      It appears therefore that MtGox did not build these protections into its own codebase, and the exchange itself has a fatal flaw, not the Bitcoin protocol.

      Another explanation would be that MtGox is operating on a fractional reserve and does not have enough BTC to cover the withdrawals.

  2. False, and fail in understanding Bitcoin.

    Read this.
    Read the comments.

    Mt. Gox is an unreliable scam of exchange who want to blame others over their own internal incompetency.
    The Bitcoin protocol is alive and kicking just as it did yesterday.

  3. Further evidence of MtGox's incompetence: CEO, Mark Karpeles, is the Technical Contact for the Bitcoin Wiki that has published the known issues for some time now:


    Bitcoin exchange price is already rebounding.