Bitcoin Forum
November 07, 2024, 04:35:20 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: MtGox (alleged) dust problem, solutions?  (Read 5844 times)
mp420 (OP)
Hero Member
*****
Offline Offline

Activity: 501
Merit: 500


View Profile
February 03, 2014, 08:59:20 AM
 #1

Gox's BTC withdrawals get stuck allegedly because someone floods Gox's addresses with dust. Wouldn't this be actually very easy to solve, just use some kind of rudimentary coin control to ignore the dust and only spend outputs that are above some threshold? Doesn't the satoshi client do something like this automatically?
thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 03, 2014, 12:23:10 PM
 #2

I fail to see how this can be a dust problem. Just take my case.
I withdrew 2 BTC at January 28:

2014/01/28 10:14:43   Withdraw      2.00000000 BTC   0.36568089 BTC
Bitcoin withdraw to 1Py5vDy6VYBQUnM9macWZbpXUJZqfJJyM6
Transaction hash

I've been assigned different transaction hashes the last couple of days as MtGox is trying to reprocess my BTC fund withdrawal.
The latest tx hash is:

aa6226683e85c386616e00035e5587bca42847991e5501a89bbceea74222613b

Checking

https://data.mtgox.com/api/0/bitcoin_tx.php

I find this transaction in their list.

So I get the txdata for this transaction:

"tx":"AQAAAAIVniX7sDYoeZevyeoLo0\/oPjgRtQpQiHF5kcbklyY4\/QAAAACMSTBGAiEA8kC36VyjZFpmvtDJjWOduT4G8vVyDjuuLApBItuNhn0CIQC8AB9Axg2wWrSOIH1Q0vYde+ATL5vYn9lnHZqH+iWI+gFBBMWXQhU\/uHevMedzW9mjnf+ZdlD4Yj1KZBZymtKrt1MSO1PnArXw4uum0ls9n927wXrH4QajtfTroreKhjHTNSz\/\/\/\/\/n0q7OnskurwjPN+0\/VBruWjWfxbdkT4NMoavtP1ChZYBAAAAjEkwRgIhALVugvO\/cHdcFKcQcFYoJFZbFCKTME+HkA83hD7j9BHcAiEA27eFG1aoBub0yItrP14Fez1xGsgM5t3sIKvzkcal5QoBQQTRBzmAS7kYdr2COu58+uC8MoOSSmJmvXMVW2ieGuMTRTiV99nIQrimO32LDwG+wlCxZXlqVhI+gp8jGSLyv1Ay\/\/\/\/\/wJcg9slAAAAABl2qRT9CB7wNXB9RsAqSF8CmoSlf0w09YisAMLrCwAAAAAZdqkU++4qiLzPPP+gJtPMfxDaZSYpMmKIrAAAAAA="

and give it to:

http://tomeko.net/online_tools/base64.php

to get the decoded byte string which is:

0100000002159E25FBB036287997AFC9EA0BA34FE83E3811B50A5088717991C6E4972638FD00000 0008C493046022100F240B7E95CA3645A66BED0C98D639DB93E06F2F5720E3BAE2C0A4122DB8D86 7D022100BC001F40C60DB05AB48E207D50D2F61D7BE0132F9BD89FD9671D9A87FA2588FA014104C 59742153FB877AF31E7735BD9A39DFF997650F8623D4A6416729AD2ABB753123B53E702B5F0E2EB A6D25B3D9FDDBBC17AC7E106A3B5F4EBA2B78A8631D3352CFFFFFFFF9F4ABB3A7B24BABC233CDFB 4FD506BB968D67F16DD913E0D3286AFB4FD428596010000008C493046022100B56E82F3BF70775C 14A71070562824565B142293304F87900F37843EE3F411DC022100DBB7851B56A806E6F4C88B6B3 F5E057B3D711AC80CE6DDEC20ABF391C6A5E50A014104D10739804BB91876BD823AEE7CFAE0BC32 83924A6266BD73155B689E1AE313453895F7D9C842B8A63B7D8B0F01BEC250B165796A56123E829 F231922F2BF5032FFFFFFFF025C83DB25000000001976A914FD081EF035707D46C02A485F029A84 A57F4C34F588AC00C2EB0B000000001976A914FBEE2A88BCCF3CFFA026D3CC7F10DA65262932628 8AC00000000

Trying to push this transaction via:

https://blockchain.info/sv/pushtx

Gives the response:

An outpoint is already spent [(110837175, 0), (110838855, 1)]

Then I use:

http://skanner.net/MtGox/mtgox_tx.php

to search for my transaction (using my txid):

http://skanner.net/MtGox/mtgox_tx.php?searchme=aa6226683e85c386616e00035e5587bca42847991e5501a89bbceea74222613b&Submit=Search

This gives me 2 input and 2 output addresses:

Input Bitcoin Addresses Output Bitcoin Addresses
142DwSJdjzw8mDe3J1UkrahS8p6jSD2xEP        1Py5vDy6VYBQUnM9macWZbpXUJZqfJJyM6
1BGCzRSnW7PjmYgWdtvh3uGeb4XkZ9bsQ3     1Q4ugnEPC3LLbcGEMrXiMpEAuiq4j6aDvf
 
So I'm checking the sources. Let's start with: 142DwSJdjzw8mDe3J1UkrahS8p6jSD2xEP

https://blockchain.info/address/142DwSJdjzw8mDe3J1UkrahS8p6jSD2xEP

Looks good. It's relatively freshly created (Feb 1st) but the balance is 0, but I don't see any small transactions here. Everything looks reasonable.

The other source is: https://blockchain.info/address/1BGCzRSnW7PjmYgWdtvh3uGeb4XkZ9bsQ3

Again, nothing strange here. It's relatively freshly created (Feb 1st) but the balance is 0.

The only explanation I have is that someone else got the funds on those addresses. There seems to be a concurrency problem where all the claimed funds are withdrawn at the same time causing transactions using the same outputs for which only one will be the lucky user.

It just blows my mind WHY MTGOX CANNOT APPLY BTC WITHDRAWALS ONE AT A TIME (IN A SYNCHRONIZED MANNER) UNTIL THE CONCURRENCY ISSUES HAVE BEEN RESOLVED!

Sorry for the all caps above, but I recently added a comment to my ongoing support thread with MtGox on precisely this issue.
Either they are incompetent bastards and all the people who knows anything about programming have left the building. I certainly hope not. Lucky me though that I withdraw almost all of my coins half a year ago. I consider anything that still on my MtGox account as lost. This ship is going down hard.

skyrunner
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
February 03, 2014, 01:36:18 PM
 #3

and what about those marked LT?

LT = Large Transaction Size - The number of transactions on the input/outputs over 1662 may be far too many for the applied fee meaning they will never be processed. You may need to get MtGox to double spend this and create a smaller transaction size.

xorred
Full Member
***
Offline Offline

Activity: 166
Merit: 100


View Profile
February 03, 2014, 11:23:14 PM
 #4

Quote
The only explanation I have is that someone else got the funds on those addresses. There seems to be a concurrency problem where all the claimed funds are withdrawn at the same time causing transactions using the same outputs for which only one will be the lucky user.

did you actually just say that someone else got all the coins stuck in my last withdrawal?HuhHuh?!!!!!!!!!!! Shocked  Shocked  Shocked  Shocked  Shocked  Shocked
Industro
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
February 04, 2014, 03:39:49 AM
 #5

and what about those marked LT?

LT = Large Transaction Size - The number of transactions on the input/outputs over 1662 may be far too many for the applied fee meaning they will never be processed. You may need to get MtGox to double spend this and create a smaller transaction size.



My transaction was listed as "LT" (Large Transaction) on the Skanner.net/mtgox too. Seems to me like large transactions can easily be remedied by increasing the transaction fee, am I correct? I'd happily pay a larger TX fee if it meant getting my damn coins to finally come through after 10 days of waiting!
skyrunner
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
February 04, 2014, 04:41:55 AM
 #6

and what about those marked LT?

LT = Large Transaction Size - The number of transactions on the input/outputs over 1662 may be far too many for the applied fee meaning they will never be processed. You may need to get MtGox to double spend this and create a smaller transaction size.



My transaction was listed as "LT" (Large Transaction) on the Skanner.net/mtgox too. Seems to me like large transactions can easily be remedied by increasing the transaction fee, am I correct? I'd happily pay a larger TX fee if it meant getting my damn coins to finally come through after 10 days of waiting!

yeah it all sounds like bullshit to me
thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 04, 2014, 08:31:06 AM
 #7

Quote
The only explanation I have is that someone else got the funds on those addresses. There seems to be a concurrency problem where all the claimed funds are withdrawn at the same time causing transactions using the same outputs for which only one will be the lucky user.

did you actually just say that someone else got all the coins stuck in my last withdrawal?HuhHuh?!!!!!!!!!!! Shocked  Shocked  Shocked  Shocked  Shocked  Shocked

There's no need to panic here. The original bitcoin client (which most exchanges are based upon) takes all the personal accounts and mix them into a common money pool (there's basically a single wallet for all customers). Then each account has a claim on that pool. Thus, when a customer withdraws BTC it will withdraw outputs from the common money pool. Now, if several such requests happen at the same time it is important that the database uses atomic transactions (or have some locking mechanism) or otherwise there's a risk that two or more customers will fight over the same outputs. To summarize, there are no "personal" coins at an exchange.

I wasn't too happy with this myself. I'm working on a wallet solution as well, and I took the original bitcoin client and rewrote the entire wallet.cpp, including the SelectCoins() function. Instead, every user/customer has its own personal addresses for which funds are added/withdrawn from. The pros with this approach is that you don't need database locking and every user/customer can correctly track their own funds (even though they don't have access to their private keys). The cons with this approach is that BTC transfers become more traceable. I think the tracability aspect was one issue when they added multiple account support to the original client. Thus, it will be impossible to know (from the outside) when you withdraw BTC at MtGox which coins you'll actually get. However, this no stranger than having a pile of cash and scribbled notes for which how much each customer owns (and not the serial numbers for the individual notes).
thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 04, 2014, 10:39:52 AM
 #8

I fail to see how this can be a dust problem. Just take my case.
I withdrew 2 BTC at January 28:

2014/01/28 10:14:43   Withdraw      2.00000000 BTC   0.36568089 BTC
Bitcoin withdraw to 1Py5vDy6VYBQUnM9macWZbpXUJZqfJJyM6
Transaction hash

...


UPDATE: MtGox just cancelled that transaction and added back my funds (2 BTC) to my account.
I went ahead and remade my BTC withdrawal request just a couple of minutes ago (around Feb 4 2014 10:30 UTC), but again it hasn't shown up in the blockchain yet. I guess I'll have to go through to all this hassle AGAIN! I'll keep you updated.
Bitnicity
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
February 04, 2014, 11:10:49 AM
 #9

UPDATE: MtGox just cancelled that transaction and added back my funds (2 BTC) to my account.
I went ahead and remade my BTC withdrawal request just a couple of minutes ago (around Feb 4 2014 10:30 UTC), but again it hasn't shown up in the blockchain yet. I guess I'll have to go through to all this hassle AGAIN! I'll keep you updated.

UPDATE: When you posted this I checked my account and they have refunded my withdrawal of 7+ days as well. I will try to split up and withdraw in smaller amounts, to see if this actually has an effect.

at least, some comforts they are not missing,  let's know if your split up strategy works or not. But it seems not many cases where stuck coins eventually get through?
IIpeBeD_MeDBeD
Legendary
*
Offline Offline

Activity: 1386
Merit: 1002


View Profile
February 04, 2014, 12:57:56 PM
 #10

Made withdrawals of same BTC none are on the blockchain.
Im waiting 2 days yet! Support silent. WTF?

thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 04, 2014, 01:03:48 PM
 #11

It should be noted that the current MtGox volume is around 4000 BTC per day. The current failed TX volume is > 40000 BTC. It makes me wonder what the daily failure rate is for BTC withdrawals. The only conclusion I have is that it is extremely bad. Falkvinge recently posted an article falkvinge.net/2014/02/04/major-bitcoin-exchange-not-executing-withdrawals-now-owes-clients-38m-in-disappeared-money/) about the MtGox problem, so I'm expecting some serious attention now.

My theory I have so far is:

1) The double-spending / concurrency problem has been known for quite some time at MtGox. They simply ignored it, because they think that if the money pool is large enough it doesn't matter if customers step on each others toes. They just reprocess the transactions and the likelihood it's gonna fail again drops with time. However, given the current number of failed transactions it suggests that the money pool is too low (or the demand is too high), which requires MtGox to add more hot money from the cold storage.

2) For some reason, they are not adding more the (BTC) money required to solve (1). It could be that Mr Karpeles is currently unavailable (who is the only person who may have access to the cold storage), or WORSE:

3) They simply don't have the funds and they are bust! Prepare for Battlestar Galactica to hit ground with extra bright lights and mushroom effects.
rograz
Hero Member
*****
Offline Offline

Activity: 575
Merit: 500


View Profile
February 04, 2014, 01:08:27 PM
 #12

Got 20BTC re credited to my account as well, 2 smaller ones I made got trough after 1/2 days earlier. The smaller your transaction is the more likely it is to get trough since it will contain less inputs.
thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 04, 2014, 01:32:25 PM
 #13

https://support.mtgox.com/entries/26128504-Update-Statement-Regarding-BTC-Withdrawal-Delays

WTF!? 2 BTC is a large TX now?
mp420 (OP)
Hero Member
*****
Offline Offline

Activity: 501
Merit: 500


View Profile
February 04, 2014, 01:50:46 PM
 #14


Large means large as in many kilobytes, not large as in many BTC
outsiders
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
February 04, 2014, 02:08:33 PM
 #15

Is there a way to keep  the kilobytes low?
thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 04, 2014, 02:09:34 PM
 #16


But my failed transaction had 2 inputs and 2 outputs!
skyrunner
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
February 04, 2014, 02:37:51 PM
 #17

Is there a way to keep  the kilobytes low?

Yes, but it's up to their system to do that - easy to do with a manual wallet but their system has to do it automatically with many TXs, and it has been failing.

...supposedly.

then why even bother and tell us this?
thecomputerscientist
Newbie
*
Offline Offline

Activity: 48
Merit: 0


View Profile
February 04, 2014, 03:39:25 PM
 #18

This is INSANE!

Look at https://data.mtgox.com/api/0/bitcoin_tx.php

I found my stuck transaction in there:

b2ab0930acbc18e9ba4d5415025ed6022ad8b0c657b4ec51edbf5caa628c5295

which decoded looks like this:

"hash": "b2ab0930acbc18e9ba4d5415025ed6022ad8b0c657b4ec51edbf5caa628c5295",
            "tx_p": {
                "hash": "b2ab0930acbc18e9ba4d5415025ed6022ad8b0c657b4ec51edbf5caa628c5295",
                "ver": 1,
                "size": 257,
                "in": [
                    {
                        "prev_out": {
                            "hash": "2a9085d5476aa3965e498af7245d9271d632ce01f159a6d5f445b91404927070",
                            "n": 0
                        },
                        "scriptSig": "(redacted)",
                        "addr": null
                    }
                ],
                "out": [
                    {
                        "value_int": 200000000,
                        "value": 2,
                        "scriptPubKey": "OP_DUP OP_HASH160 fbee2a88bccf3cffa026d3cc7f10da6526293262 OP_EQUALVERIFY OP_CHECKSIG",
                        "addr": "fbee2a88bccf3cffa026d3cc7f10da6526293262"
                    },
                    {
                        "value_int": 587623433,
                        "value": 5.87623433,
                        "scriptPubKey": "OP_DUP OP_HASH160 90433401824d03160d00b4e5f3a5f1a133c46e50 OP_EQUALVERIFY OP_CHECKSIG",
                        "addr": "90433401824d03160d00b4e5f3a5f1a133c46e50"
                    }
                ]
            }

The only input to my transaction is:

2a9085d5476aa3965e498af7245d9271d632ce01f159a6d5f445b91404927070 (and it wants to use output 0 of that transaction)

Looking up this on blockchain it shows a current balance of: 7.87723433 BTC
And 2 + 5.876 is pretty close to that balance but not quite (any difference is going to be miner's fee)

However, there are 6 other transactions also claiming from the same output!

So currently, I have 1/6 chance of getting this output. WHY is MtGox doing this? The Bitcoin protocol clearly says that you have to consume the whole output and now there are 6 transactions claiming the same output!

Argh!
IIpeBeD_MeDBeD
Legendary
*
Offline Offline

Activity: 1386
Merit: 1002


View Profile
February 04, 2014, 04:01:23 PM
Last edit: February 04, 2014, 05:23:25 PM by IIpeBeD_MeDBeD
 #19

I made a withdrawal 2 days ago. So far, I have not returned to balance! Support service is not responding! What can I do? Help me pls!

vleroybrown
Hero Member
*****
Offline Offline

Activity: 1231
Merit: 506


This is who we are.


View Profile
February 04, 2014, 04:45:07 PM
 #20

So 10 days after initially starting transfer I log in today to see the btc back in my account.  Under history the reason for withdrawal cancelation was timeout.  I have tried again and it is not going through as before.  FUCK
Pages: [1] 2 »  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!