Bitcoin Forum
May 05, 2024, 07:18:29 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 [7] 8 »  All
  Print  
Author Topic: MtGox blames Bitcoin protocol problem for BTC withdrawal issue  (Read 15193 times)
wolongong
Member
**
Offline Offline

Activity: 66
Merit: 10



View Profile
February 10, 2014, 11:19:03 PM
 #121

So, then how do I easily spot this with a reasonably recent standard client?

Using QT client.  0.8.0+ works fine, probably older clients as well.
[snip rpc stuff]

That sounds doable indeed, thx! Never thought of saving more than just a txid, then again, I'm not running a shop worth stealing from (yet).
1714936709
Hero Member
*
Offline Offline

Posts: 1714936709

View Profile Personal Message (Offline)

Ignore
1714936709
Reply with quote  #2

1714936709
Report to moderator
1714936709
Hero Member
*
Offline Offline

Posts: 1714936709

View Profile Personal Message (Offline)

Ignore
1714936709
Reply with quote  #2

1714936709
Report to moderator
1714936709
Hero Member
*
Offline Offline

Posts: 1714936709

View Profile Personal Message (Offline)

Ignore
1714936709
Reply with quote  #2

1714936709
Report to moderator
"The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714936709
Hero Member
*
Offline Offline

Posts: 1714936709

View Profile Personal Message (Offline)

Ignore
1714936709
Reply with quote  #2

1714936709
Report to moderator
1714936709
Hero Member
*
Offline Offline

Posts: 1714936709

View Profile Personal Message (Offline)

Ignore
1714936709
Reply with quote  #2

1714936709
Report to moderator
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
February 10, 2014, 11:25:49 PM
 #122

So, then how do I easily spot this with a reasonably recent standard client?

Using QT client.  0.8.0+ works fine, probably older clients as well.
[snip rpc stuff]

That sounds doable indeed, thx! Never thought of saving more than just a txid, then again, I'm not running a shop worth stealing from (yet).

In theory you don't need to save more than just the txid, you should be able to look it up the rest as/when needed.  However I didn't code bitcoind, I don't know every event which could result in it repository changing.  As someone with a background in enterprise "database/backend stuff" (official title) that doesn't leave me with a happy feeling.  I don't like the idea of relying on data which a third party (bitcoind) has direct access to.  If I put the data in a repository and strictly control access then it makes for a more controlled environment and that makes me more confident that there will not be any unexpected changes.

It may not be necessary, I just have never traced every possible condition that might result in the bitcoind changing information in the wallet that I may be unaware of.

wolongong
Member
**
Offline Offline

Activity: 66
Merit: 10



View Profile
February 10, 2014, 11:50:27 PM
 #123

So, then how do I easily spot this with a reasonably recent standard client?

Using QT client.  0.8.0+ works fine, probably older clients as well.
[snip rpc stuff]

That sounds doable indeed, thx! Never thought of saving more than just a txid, then again, I'm not running a shop worth stealing from (yet).

In theory you don't need to save more than just the txid, you should be able to look it up the rest as/when needed.  However I didn't code bitcoind, I don't know every event which could result in it repository changing.  As someone with a background in enterprise "database/backend stuff" (official title) that doesn't leave me with a happy feeling.  I don't like the idea of relying on data which a third party (bitcoind) has direct access to.  If I put the data in a repository and strictly control access then it makes for a more controlled environment and that makes me more confident that there will not be any unexpected changes.

It may not be necessary, I just have never traced every possible condition that might result in the bitcoind changing information in the wallet that I may be unaware of.



Maybe this can help a little if there are no gaping holes in it https://github.com/sipa/bitcoin/commit/1173eef630783a822d9a709cfbc22ba91880231e
Now sendtoaddress just returns an id for what you did that might be altered by the distributed bookkeepers before being fixed into the ledger.
This getnormalizedtxid seems to give you something short to recognise your tx back no matter how long someone put in on an anvil and banged at it.

 
mb300sd
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000

Drunk Posts


View Profile WWW
February 11, 2014, 01:24:52 AM
 #124

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.

1D7FJWRzeKa4SLmTznd3JpeNU13L1ErEco
phzi
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile
February 11, 2014, 01:46:44 AM
 #125

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.
mb300sd
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000

Drunk Posts


View Profile WWW
February 11, 2014, 01:55:32 AM
 #126

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.

It cannot collide because inputs (prevout,vout) can only be spent once. Only malleable transactions collide with each other, which is the goal.

1D7FJWRzeKa4SLmTznd3JpeNU13L1ErEco
phzi
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile
February 11, 2014, 02:05:45 AM
 #127

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.

It cannot collide because inputs (prevout,vout) can only be spent once. Only malleable transactions collide with each other, which is the goal.
Ah yes, using the actual txouts, sure.  Still, maintaining this extra database is unneccesary.  The BTC protocol already provides the means to do with without extra data.  MtGox has also acknowledged your suggested technique as a possibility, and is trying to avoid that overhead.
mb300sd
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000

Drunk Posts


View Profile WWW
February 11, 2014, 02:24:59 AM
 #128

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.

It cannot collide because inputs (prevout,vout) can only be spent once. Only malleable transactions collide with each other, which is the goal.
Ah yes, using the actual txouts, sure.  Still, maintaining this extra database is unneccesary.  The BTC protocol already provides the means to do with without extra data.  MtGox has also acknowledged your suggested technique as a possibility, and is trying to avoid that overhead.

1 more column in a table and a couple extra lines of code is overhead? Instead they cause a massive crash by blaming it on the bitcoin protocol.

But knowing gox they would have implemented it wrong on their production server and screwed things up worse.

1D7FJWRzeKa4SLmTznd3JpeNU13L1ErEco
phzi
Hero Member
*****
Offline Offline

Activity: 700
Merit: 500


View Profile
February 11, 2014, 02:58:56 AM
 #129

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.

It cannot collide because inputs (prevout,vout) can only be spent once. Only malleable transactions collide with each other, which is the goal.
Ah yes, using the actual txouts, sure.  Still, maintaining this extra database is unneccesary.  The BTC protocol already provides the means to do with without extra data.  MtGox has also acknowledged your suggested technique as a possibility, and is trying to avoid that overhead.

1 more column in a table and a couple extra lines of code is overhead? Instead they cause a massive crash by blaming it on the bitcoin protocol.

But knowing gox they would have implemented it wrong on their production server and screwed things up worse.
Heh, not saying their claim of overhead is reasonable, just re-stating it.

And yes... Gox seems full of fail right now.  I mean come on, throw a fix together and get your business going again, and then work on core protocol changes.
jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1093


View Profile
February 11, 2014, 03:47:05 AM
 #130

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.

It cannot collide because inputs (prevout,vout) can only be spent once. Only malleable transactions collide with each other, which is the goal.

So this is essentially what gox is proposing

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
il--ya
Newbie
*
Offline Offline

Activity: 47
Merit: 0


View Profile
February 11, 2014, 01:16:44 PM
 #131

I proposed a new txid type this morning that would contain only prevout,vout and address,amount pairs. It would only need to be used internally by companies vulnerable to this type of attack and doesn't require 99% of bitcoin users to change a thing. When creating a withdrawal, log the new id and do your lookups based on it when users complain.
The txid you propose could collide, should a spend be made from the same address to the same address in the same amount (a certainly foreseeable circumstance). Non-reuse of addresses after spending from them is simpler, requires no protocol change, and seems to be as Shatoshi himself suggested using the bitcoin protocol.

It cannot collide because inputs (prevout,vout) can only be spent once. Only malleable transactions collide with each other, which is the goal.

So this is essentially what gox is proposing

They are not even using reference client, why the hell they are fucking everybody's brain? Your system failed to track transactinos - so go and fix your system, and then go ahead and propose a patch in the reference client if you believe this is necessary/reasonable. I don't understand why core developers even take this seriously. That's like negotiating with terrorists - just encouraging them.
hostmaster
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250


View Profile WWW
February 11, 2014, 01:23:05 PM
 #132

Basically they are saying "We are not to blame. There is huge security issue in Bitcoin protocol!!! affecting whole bitcoin network"
Why to blame they make tons of money they can fix it by themself???
mp420
Hero Member
*****
Offline Offline

Activity: 501
Merit: 500


View Profile
February 11, 2014, 01:29:22 PM
 #133

Basically they are saying "We are not to blame. There is huge security issue in Bitcoin protocol!!! affecting whole bitcoin network"
Why to blame they make tons of money they can fix it by themself???

I expect it to take a while for the reality to sink in and MK to swallow his pride and pay someone to fix/rewrite their custom client.

It's the same thing all over again as it was with the trading engine last year.
il--ya
Newbie
*
Offline Offline

Activity: 47
Merit: 0


View Profile
February 11, 2014, 01:59:54 PM
 #134

I expect it to take a while for the reality to sink in and MK to swallow his pride and pay someone to fix/rewrite their custom client.

It's the same thing all over again as it was with the trading engine last year.

I believe the reason they are doing that is because they simply don't have enough coins, and they are trying to win time under a false pretext and force their users to sell bitcoins cheaply (to them). They can then sell those coins somewhere else, and buy more, until they become solvent. No matter how shitty their developers are, they should still be able to fix their bug in some shitty way, which would be enough to restart "normal" operation. Also they could provide manual withdrawal option at a premium - but they don't do that. They simply don't have enough coins.

i hope i am wrong.
but i begin to think that they lost so much btc to this issue that they need to buy coins.

seems so..
mp420
Hero Member
*****
Offline Offline

Activity: 501
Merit: 500


View Profile
February 11, 2014, 02:15:21 PM
 #135

I expect it to take a while for the reality to sink in and MK to swallow his pride and pay someone to fix/rewrite their custom client.

It's the same thing all over again as it was with the trading engine last year.

I believe the reason they are doing that is because they simply don't have enough coins, and they are trying to win time under a false pretext and force their users to sell bitcoins cheaply (to them). They can then sell those coins somewhere else, and buy more, until they become solvent. No matter how shitty their developers are, they should still be able to fix their bug in some shitty way, which would be enough to restart "normal" operation. Also they could provide manual withdrawal option at a premium - but they don't do that. They simply don't have enough coins.

i hope i am wrong.
but i begin to think that they lost so much btc to this issue that they need to buy coins.

seems so..

I don't think the insolvency explanation holds any water. Even if they have less money than their all deposits are worth, they still have huge amounts of BTC and fiat. And there's no way their day-to-day operations would lose money. They're actually still making a lot of money from the trading fees. And they would make even more money if they'd be wise enough to fix their buggy software.

On the other hand, I do not trust their (or actually, Mark's) overall technical or business competence at all.
underhood (OP)
Full Member
***
Offline Offline

Activity: 124
Merit: 101


View Profile
February 11, 2014, 02:56:29 PM
 #136

I don't think the insolvency explanation holds any water. Even if they have less money than their all deposits are worth, they still have huge amounts of BTC and fiat. And there's no way their day-to-day operations would lose money. They're actually still making a lot of money from the trading fees. And they would make even more money if they'd be wise enough to fix their buggy software.

On the other hand, I do not trust their (or actually, Mark's) overall technical or business competence at all.

+1 to that
fairglu
Legendary
*
Offline Offline

Activity: 1100
Merit: 1030


View Profile WWW
February 12, 2014, 07:37:06 AM
 #137

A small exchange doesn't need an automated system to deal with tx mutability.  We don't.  That is because 99.9%+ of the tx will never be mutated.
We'll see who sinks and floats as other exchanges pick up the slack and grow.

I wish you and them all well, but I would be surprised if there aren't other noteworthy casualties.

Damn, looks like it happened

http://www.coindesk.com/massive-concerted-attack-launched-bitcoin-exchanges/

MtGox was just the first (and biggest) victim. And the wallet is vulnerable due to bugs as well

https://bitcoinfoundation.org/blog/?p=422

Looks like the devs and foundation finally decided to step on it and work together. Which is great.

As an aside, bitcoin is technology, not religion, it's not about what's right or wrong or who is to blame.
Technology is about moving forward, fixing bugs and delivering, once you get entrenched in finger pointing, you're losing the plot.

ZephramC
Sr. Member
****
Offline Offline

Activity: 475
Merit: 254



View Profile
February 12, 2014, 08:49:14 AM
 #138

Lets hope future advanced functionality (custom scripts output, multisigs, colored coins, micropayments, contracts, Agents, ...) will not be obstructed while dealing with the malleability problem.
fairglu
Legendary
*
Offline Offline

Activity: 1100
Merit: 1030


View Profile WWW
February 12, 2014, 10:05:18 AM
 #139

Lets hope future advanced functionality (custom scripts output, multisigs, colored coins, micropayments, contracts, Agents, ...) will not be obstructed while dealing with the malleability problem.

I hope they'll leave advanced scripts and automation out, those will likely introduce a lot more problems than they'll solve.

I'd rather see the focus on the basic "everyday" issues first: malleability, blockchain bloat, micro-payments / fees from dust, low performance of wallets with many transactions, etc.

At the current rate, blockchain bloat alone is enough to menace the distributed nature of the network.
Every time someone switches to a MultiBit-like wallet, the network loses a node and becomes more vulnerable.

ZephramC
Sr. Member
****
Offline Offline

Activity: 475
Merit: 254



View Profile
February 12, 2014, 10:12:57 AM
 #140

Lets hope future advanced functionality (custom scripts output, multisigs, colored coins, micropayments, contracts, Agents, ...) will not be obstructed while dealing with the malleability problem.

I hope they'll leave advanced scripts and automation out, those will likely introduce a lot more problems than they'll solve.

I'd rather see the focus on the basic "everyday" issues first: malleability, blockchain bloat, micro-payments / fees from dust, low performance of wallets with many transactions, etc.

At the current rate, blockchain bloat alone is enough to menace the distributed nature of the network.
Every time someone switches to a MultiBit-like wallet, the network loses a node and becomes more vulnerable.

Well, me too. I'd also rather see more pressing issues focused on first. But with keeping long time development in mind. It is easy to make some change now that will have to be undone in the future.
Pages: « 1 2 3 4 5 6 [7] 8 »  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!