Pages:
Author

Topic: someone fucked up and lost ALOT of money - page 5. (Read 30483 times)

legendary
Activity: 1232
Merit: 1076
October 28, 2011, 09:38:17 PM
#27
Thought you all might find this chat from our channel useful:

Quote
< genjix> guys, in block 150951 there is 2609.36304319 BTC of irretrievable money: http://privatepaste.com/fba4dd1f44
< genjix> someone fucked up and lost ALOT of money
< joepie91> how come it's irretrievable?
< shockdiode> was just checking that out
< genjix> https://bitcointalksearch.org/topic/someone-fucked-up-and-lost-alot-of-money-50206
< shockdiode> http://blockexplorer.com/block/0000000000000449ee5b94ba7a051caffff5c23d6a03335f6e20e3985b5ffa61
-!- abstinence [~abstinenc@gateway/tor-sasl/abstinence] has quit [Ping timeout: 248 seconds]
-!- da2ce7 [~da2ce7@gateway/tor-sasl/da2ce7] has joined #bitcoinconsultancy
< necrodearia> genjix, interesting.  In what way is it irretrievable?
< genjix> you cant spend them?
< shockdiode> this seems like a real flaw in the protocol
< shockdiode> those are basically just not getting sent to any address - no address/pubkey in the output
< shockdiode> so it seems it should be designed so that the sender is able to recover those
< genjix> shockdiode: no it isn't
< shockdiode> i know it isn't
< shockdiode> i'm saying it seems like it should be that way to me
< shockdiode> seems like an oversight
< genjix> i disagree though
< shockdiode> oh?
< genjix> someone was using a hacked/custom version of bitcoin
< shockdiode> reasoning? i'm sure you've thought this out much better than i have so am genuinely curious
< genjix> they messed up their output script and lost
< joepie91> shouldn't this have been rejected by the rest of the network as an invalid transaction?
< joepie91> seeing as it doesn't have a recipient
< shockdiode> right that's basically what i'm saying
< genjix> well output scripts are supposed to give you the power to make many different special transactions
< genjix> but it's a sharp knife
< genjix> someone just put their address as 0 in the standard tx type
< genjix> joepie91: no it doesnt fail because it's a perfectly valid tx Smiley
< joepie91> what is the purpose of sending a transaction without a recipient?
< joepie91> why is it?
< genjix> ok do you think they should make programming languages where you cannot have a logic error?
< da2ce7> lol
< da2ce7> genjix you should quickly spend em'
< da2ce7> then give them back to mtgox ;P
-!- abstinence [~abstinenc@gateway/tor-sasl/abstinence] has joined #bitcoinconsultancy
< genjix> Sad
< shockdiode> so basically looks like someone (gox afaik) screwed up on their output scripts...
< joepie91> if there is no purpose for a transaction without recipient, and the only effects it can have appear to be negative effects
< joepie91> then why should it be considered a valid tx?
< genjix> shockdiode: seems so.
< genjix> joepie91: because the scripting facility is a near full fledged programming language where you can do many things but the bitcoin protocol doesn't tell you what you can or cannot do
< genjix> albeit it is largely disabled for security reasons (checksig ddos) but that's the idea.
< shockdiode> hrm... but shoudn't anything with outputs to address 0 be considered invalid?
< joepie91> ^
< joepie91> I know that it CAN be done
< joepie91> but should it be ALLOWED to be done?
< joepie91> I mean, in most languages you cannot multiply a string either
< genjix> there's tons of shit you can do that isnt valid
< genjix> why try to ban it
< joepie91> then why is it not considered invalid?
< genjix> what about if i try to send to 000000000000000000000000001
< joepie91> because that prevents issues like these?
< joepie91> seems like a pretty good reason
< joepie91> to try and implement safeguards/checks against it
< genjix> nope bad idea
< joepie91> why?
< joepie91> why would you NOT implement it?
< genjix> scripting system is supposed to be basic, simple and highly flexible
< genjix> if you want to implement a type safe language on top then go ahead
< joepie91> that does not answer my question
< joepie91> why would you not implement it?
-!- copumpkin [~pumpkin@unaffiliated/pumpkingod] has joined #bitcoinconsultancy
< genjix> bitcoin scripting = assembly language
< joepie91> that still does not answer my question
< genjix> pointless. you cannot protect against every strange thing people want to do
< genjix> it is folly
< joepie91> this is about one of the most obvious mistakes
< joepie91> that can be made
< joepie91> there is all reason to at least implement basic protections against things like these
< joepie91> and no reason not to
< joepie91> your arguments so far come down to "it's the law because it's the law"
< genjix> im totally against adding any restrictions to the scripting language
< joepie91> _why?_
< genjix> no rules
< joepie91> come up with a concrete reason
< genjix> because you start piling on lots and lots of rules to muddy the standard and then somewhere down the line you wonder how you got into this bureaucratic mess
< joepie91> this is more a bureaucratic mess than anything
< joepie91> "it's not like that because it's not supposed to be like that"
< genjix> a good standard is simple and elegant. it's not the job of the standard to try to protect people by implementing safeguards
< genjix> that's the job of the application developer
< joepie91> lolno
< genjix> HTML does not legislate rules to protect web servers
< joepie91> it is the job of the standard if that standard is responsible for collective bookkeeping that affects other users
< joepie91> and not just itself
< genjix> that's the job of the web server software themselves to not have flaws.
< joepie91> implementing a disapproval of miners of transactions without a recipient has ZERO negative consequences
< joepie91> NOT implementing it DOES have consequences
< joepie91> as we can see here
< joepie91> genjix: bad analogy
< genjix> someone misused bitcoin. not our fault.
< shockdiode> eh, well he's got a good point
< joepie91> HTML has zero to do with webservers
< joepie91> whatsoever
< joepie91> HTML is fully client-side interpreted
< shockdiode> it is up to the developer to check their shit
< joepie91> the webserver just sends out data, it doesn't give a shit whether it's XML, HTML, text, or an MP3
< joepie91> shockdiode, the issue here is that the implementation does NOT only affect those that use that specific implementation
< joepie91> but the entire network
< genjix> i dont want people stuffing crap into bitcoin. if gavin wants to implementing scoring for disconnecting nodes, i might not like that but it's ok since i don't have to do it.
< joepie91> also those that do NOT choose to use said implementation
< joepie91> and that is where the problem lies
< genjix> he thinks it makes the network more secure. i disagree
< genjix> but if that was a standard.
< genjix> then fuck me.
< joepie91> genjix: that can have negative consequences
< joepie91> the change I proposed does not
< joepie91> if it does, feel free to point out a concrete negative consequence
< genjix> yes it does have negative consequences.
< genjix> maybe not today.
< joepie91> ok, point it out
< joepie91> point it out
< joepie91> point out a negative consequence
< joepie91> a concrete negative consequence
< genjix> read this article: http://www.aosabook.org/en/bdb.html
< joepie91> that is not an answer to my question
< genjix> take it from someone who has worked on projects with millions and millions of lines of code
< joepie91> I don't care
< joepie91> name. a. concrete. negative. consequence.
< genjix> you don't tack shit on mindlessly *right* now
< joepie91> I value what people say, not who they are
< genjix> it is purely reactionary.
< joepie91> name a concrete negative consequence.
< joepie91> name one.
< genjix> that it is stopping me using the scripting system how *I* want to use it
< joepie91> how is that a negative consequence if you doing so would hurt the network as a whole?
< genjix> there are a near infinite number of different variations of scripts that can cause me to put my bitcoins into a black hole
< genjix> we cannot legislate to protect everybody
< joepie91> sure, and this one is so obvious it would be trivial to protect against it
< genjix> which this essentially is.
< joepie91> it's not a valid argument
< genjix> rules to try to coddle bad developers.
< joepie91> name a negative consequence - and I am talking about negative consequences for the network as a whole, not one individual user
< genjix> or well developers mistakes (we all make mistakes Smiley
< genjix> negative consequences - a hugely muddled and bloated standard
< joepie91> you're avoiding the point and have still not named a negative consequence that affects the network as a whole
< joepie91> that is not a concrete negative consequence
< genjix> yes it is
< joepie91> 'do not accept transactions without a recipient' is one line of text
< joepie91> that's it
< genjix> and 8 lines of code
< joepie91> calling that 'hugely muddled and bloated' is a MASSIVE exxaggeration
< genjix> now add another 100 of those
< joepie91> we are talking about this specific change
< genjix> 1000 lines of code and an extra month of work
< joepie91> not about 100 others
< joepie91> those 100 others only exist on your side of the conversation
< genjix> why are you scriptist?
< joepie91> this discussion is about transactions without a recipient and only about transactions without a recipient
< genjix> all bad scripts are equal
-!- ej_ [[email protected]] has joined #bitcoinconsultancy
 * joepie91 sighs
< genjix> we need to try to stop all of them Smiley
< joepie91> we are talking about ONE SPECIFIC CHANGE right now
< joepie91> not about 235018235601720681203967102936 potential imaginary future changes
< joepie91> name a concrete negative consequence that affects the network as a whole for THAT one specific change
< genjix> poor software
< joepie91> note the keyword concrete
< genjix> you are behaving like people who say X is bad, government needs to ban X
< joepie91> so, we can conclude that there are no concrete negative consequences that affect the network as a whole for that specific change?
< genjix> let people autonomously find their own way to protect against it
< joepie91> so, we can conclude that there are no concrete negative consequences that affect the network as a whole for that specific change?
< genjix> it only affects developers not users (ideally)
< genjix> your words, not mine.
< joepie91> yes or no?
< joepie91> it was a question
< genjix> yea-no.
< joepie91> seriously, stop dancing around it
< joepie91> if you cannot come up with a concrete consequence then just say you can't come up with one
-!- ej__ [[email protected]] has quit [Ping timeout: 244 seconds]
< joepie91> I've been asking you for what? 15 minutes now?
< genjix> miners set policy about what they accept
< joepie91> and you have not been able to give even ONE concrete negative consequence that fits the description I gave
< genjix> there is no rules on what they can put in the blockchain
< joepie91> and yes, you can trail off on another discussion now and try to divert the subject
< joepie91> to not have to admit that you cannot name a negative consequence
< genjix> and the software currently does NO checking of scrpts
< genjix> scripts
< joepie91> but I'm not going to bite into tjhat
< joepie91> that*
< genjix> you want to change ALL of that
< joepie91> are you even reading what I am saying/
< joepie91> ?*
< genjix> reshape the network. have a gigantic overhaul to implement a new standard.
< joepie91> I guess not then.
< genjix> ok.
< joepie91> did you read what I said above?
< genjix> the bad thing is that it compromises network architecture and the very foundation and ideas of bitcoin itself as well as being bureaucratically infeasible and a path towards a complicated and bloated standard (which is not what we want).
< joepie91> .......
< genjix> if i want to write to address 0 in c++ then I can
< genjix> the program doesn't try to stop me.
< genjix> and why should it? it's MY code. i do wateva the f i want
< genjix> bitcoin script IS code
< joepie91> it does not 'compromise network architecture', does not compromise the idea of bitcoin (this is a solely technical limitation, not a usage limitation), I cannot see how it would be bureaucratically infeasible, and 'towards a complicated and bloated standard' is a slippery slope fallacy.
< genjix> yes it does. how do you want to enforce all the miners to accept this new rule?
< joepie91> you don;t
< joepie91> you don't*
< genjix> then how can you make it invalid
< joepie91> did you see me say anywhere at all costs every single miner HAS to adopt this method or be kicked from the network
< joepie91> ?
< joepie91> because I didn't
< genjix> yeah that's how you enforce rules
< joepie91> because if it is a standard and is implemented over time, that will naturally happen
< joepie91> I never said ANYTHING about enforcing rules
< joepie91> anywhere
< joepie91> whatsoever
< genjix> umm bitcoin is a set of rules
< joepie91> every miner for himself can decide whether he wants to accept those transactions or not
< joepie91> with no address
< joepie91> I do not see any issue with that
< genjix> which is what has happened now
< genjix> im cool with that
< joepie91> yet, noone seems to have implemented it
< joepie91> because it isn't put down anywhere
-!- ThomasV [~ThomasV@unaffiliated/thomasv] has joined #bitcoinconsultancy
< ThomasV> genjix: it wasn't me!!
< ThomasV> (re: someone fucked up)
< genjix> heh ThomasV
< genjix> ThomasV: you missed the heated discussion Smiley
< ThomasV> what was it ?
< ThomasV> I bet it was about whether miners should accept that
< genjix> yes exactly
< genjix> guess which side i was on
< ThomasV> oh no idea
< genjix> pro-everything goes in script. no checks.
< ThomasV> checks seem to be difficult indeed
< ThomasV> pro-choice
< genjix> yep about a bazillion things you can do to cut yourself
< genjix> not a standards responsibility to protect implementations
< ThomasV> people should have the right to kill their bitcoins
< ThomasV> but hell, why did this guy play with 2600 coins? maybe he believed he was on testnet?
< genjix> no idea. so strange huh
< necrodearia> name a concrete negative consequence. - broken record ftw.  how about naming an abstract, ideal, immaterial or intangible, careless, faulty, inaccurate, lax, vague, counterfeit, false, fictitious, imaginary, legendary, pretended, unreal, diluted, dissolved, melted, opened, thinned, unclotted, liquified, separated, waterproof, loose, slack, flexible, soft, supple, weak, yielding, implicit and/or unclear consequence?
< joepie91> necrodearia, did you just smack me with a dictionary? D:
< necrodearia> no, a thesaurus
< joepie91> close enough
< necrodearia> although, I wasn't smacking you
-!- Mqrius [[email protected]] has joined #bitcoinconsultancy
< necrodearia> hi Mqrius
< shockdiode> "this guy" was tux...
< genjix> shockdiode: really?
< ThomasV> shockdiode: huh?
< shockdiode> yeah, he said as much in #mtgox
< shockdiode> [18:08] that's a problem, but not the worst problem we ever faced
< shockdiode> [18:08] all the broken withdraws have been re-issued
< genjix> Shocked
< shockdiode> [18:10] just spent one week of BTC-only income
< necrodearia> heh, one week
< OneFixt> his tx had too many inputs
< necrodearia> again, us$100,000+/year profits
< shockdiode> yeah
< genjix> OneFixt: explain?
< shockdiode> [18:14] I need to limit the number of inputs in a tx, seems that normal bitcoind don't like a tx with 293 inputs
< OneFixt> ^ that
< ThomasV> this is another blow to mtgox's tech reputation
< genjix> smells like bullshit
< shockdiode> oh yeah?
< genjix> there is no limit on the number of inputs
< shockdiode> intredasting
< shockdiode> wasn't aware of one myself
< genjix> and the maximum number of inputs on his transactions is 4
< OneFixt> isn't it 255?
< genjix> no
< genjix> anyway his max number of inputs was 4
< ThomasV> tux said a few days ago that he's not using bitcoind anymore
< ThomasV> bitcoinj instead
< genjix> damn
< OneFixt> i thought he was using something custom and not bitcoinj
< genjix> why?
< shockdiode> hrm, yeah does seem that max number of inputs was 4
< OneFixt> maybe it shows up as 4 because the other tx wouldn't show up in block explorer?
< genjix> nope
< genjix> i have a custom bitcoin version myself
< genjix> SQL database
< OneFixt> ok, i'd like to see more details on the error in that case
< OneFixt> looks like shockdiode brought it up
< genjix> if anyone wants a dump of the sql database ask me.
< OneFixt> i need to get around to writing one of those
< genjix> libbitcoin.org in case you didnt see it Smiley
< OneFixt> ah, thanks =)
< genjix> anyway it's still pre-alpha
< OneFixt> rally time
< genjix> 01:50 < graingert> just use Python
< genjix> 01:50 < graingert> and get on with your life
< genjix> 01:50 < gmaxwell> I like writing software that actually runs in realtime.
< genjix> laughed hard
 * necrodearia rallies with OneFixt
< OneFixt> hehe
< necrodearia> excitebike world rally, right?
< OneFixt> bitcoinworld rally!
< genjix> sorry guys
< genjix> not going to happen
< OneFixt> you don't like rallies?
< genjix> why would a loss of 2k btc make a difference
< OneFixt> oh, it's unrelated
< genjix> ohh ok
< OneFixt> hehe just looking at my charts
< ThomasV> ping me when it reaches $30
< ThomasV> good night
-!- ThomasV [~ThomasV@unaffiliated/thomasv] has quit [Quit: Quitte]
-!- SomeoneWeird [~SomeoneWe@unaffiliated/someoneweird] has quit [Excess Flood]
-!- Guest59589 [~SomeoneWe@unaffiliated/someoneweird] has joined #bitcoinconsultancy
legendary
Activity: 2128
Merit: 1073
October 28, 2011, 09:36:39 PM
#26
MagicalTux is a dev of MtGox.
I just wanted to remind everyone in this thread that recently MtGox had acquired bitomat.pl and its development team. Or at least some time of that Polish development team.

So it is conceivable that those 2609.36304319 BTC is the cost of training of someone from that team.
hero member
Activity: 714
Merit: 504
^SEM img of Si wafer edge, scanned 2012-3-12.
October 28, 2011, 09:29:11 PM
#25
2-3k of bitcoins is big for us, but I guess nothing to a sizable exchange.
It's a week's worth of BTC-only income, apparently. Since they also have USD income, this would be about half of their week income. So it's definitly not nothing.
hero member
Activity: 756
Merit: 500
October 28, 2011, 09:24:11 PM
#24
2-3k of bitcoins is big for us, but I guess nothing to a sizable exchange.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
October 28, 2011, 09:23:55 PM
#23
If there were a stock feature for "reject a block" and "ignore transaction" and the majority of mining power could be persuaded to use it quickly, this could be reversed. The miners would attempt to replace the lowest rejected block and would refuse to relay or incorporate the thorn transaction.

Too late for this transaction, but this would be the use case if there were one.
legendary
Activity: 4690
Merit: 1276
October 28, 2011, 09:21:00 PM
#22
Maybe this helps.
It seems MtGox made a mistake somewhere.
Quote
that's a problem, but not the worst problem we ever faced
all the broken withdraws have been re-issued
just spent one week of BTC-only income
MagicalTux is a dev of MtGox.

Damn.  A quick peek at bitcoincharts and back-of-the-envelope calc after my above note lead me to believe that they could make it back in a week.  More luck than any real understanding though.


...and...I've had a long-term dream of Mt. Gox 'crashing the train' and increasing the value of my holdings greatly.  It would have been quite something if they'd used this code to do any big internal moves like their famous 414141 one or whatever it was.

hero member
Activity: 714
Merit: 504
^SEM img of Si wafer edge, scanned 2012-3-12.
October 28, 2011, 09:19:19 PM
#21
They're gone. No chance of retrieval.

Edit: Technically, if >50% of the miners agree, they could take the blockchain before the block with these transactions, and then generate a blockchain which is longer than the current one, without the transactions. It's unlikely that this happens though.
hero member
Activity: 756
Merit: 500
October 28, 2011, 09:18:23 PM
#20
All these bitcoins, can they be retrieved or is it "Sayonara" for them?  That's really a lot of money!
legendary
Activity: 4690
Merit: 1276
October 28, 2011, 09:09:07 PM
#19
Maybe this helps.
It seems MtGox made a mistake somewhere.
Quote
that's a problem, but not the worst problem we ever faced
all the broken withdraws have been re-issued
just spent one week of BTC-only income
MagicalTux is a dev of MtGox.

Damn.  A quick peek at bitcoincharts and back-of-the-envelope calc after my above note lead me to believe that they could make it back in a week.  More luck than any real understanding though.

hero member
Activity: 714
Merit: 504
^SEM img of Si wafer edge, scanned 2012-3-12.
October 28, 2011, 08:56:38 PM
#18
Maybe this helps.
It seems MtGox made a mistake somewhere.
Quote
that's a problem, but not the worst problem we ever faced
all the broken withdraws have been re-issued
just spent one week of BTC-only income
MagicalTux is a dev of MtGox.
member
Activity: 98
Merit: 10
Feedback: +6
October 28, 2011, 08:50:05 PM
#17
It seems that coins were sent to the address "0", which is obviously not a valid address. This is impossible with the standard client, and as such was done by someone running custom code.
About the network accepting it, I'll quote a bit of IRC conversation:
Quote
[03:01] the protocol doesn't prevent sending to invalid addreses?
[03:02] No, the protocol makes MANY things possible.
[03:02] The transactions are little programs that govern their redemption.
[03:03] There is probably no polynomial time that can identify all unspendable transactions.
So basically, it's not really possible to check for all things that go wrong. The bitcoin protocol supports a lot more than just sending coins from A to B, even though that's mainly what you see in the normal client nowadays. The miners need to accept "unusual transactions" though, as long as they adhere to the bitcoin protocol.

That's as far as I understand it. Is that layman-approved?

+rep, appreciate the info, though now im left wondering...
administrator
Activity: 5222
Merit: 13032
October 28, 2011, 08:38:40 PM
#16
@theymos, how do you get that number? I get: 1FYMZEHnszCHKTBdFZ2DLrUuk3dGwYKQxh

This is an address transaction, so assuming (incorrectly) that we're comparing numbers instead of bytes, the all-zero hash160 with the address I posted would work.
legendary
Activity: 1232
Merit: 1076
October 28, 2011, 08:34:01 PM
#15
Ah, hash160 will always produce 20 bytes, and with equalverify leading zeroes matter. So it can't be spent.

Yeah I realised that once I saw that 0x00 is OP_0 rather than push 0 bytes.

EDIT: on closer inspection, actually OP_0 is defined but not ever used. The normal behaviour of the client is to push 0 bytes, so there can't be any destination address.
administrator
Activity: 5222
Merit: 13032
October 28, 2011, 08:30:26 PM
#14
@theymos, nope. It has no destination pubkey.

Ah, hash160 will always produce 20 bytes, and with equalverify leading zeroes matter. So it can't be spent.
hero member
Activity: 714
Merit: 504
^SEM img of Si wafer edge, scanned 2012-3-12.
October 28, 2011, 08:24:02 PM
#13
It seems that coins were sent to the address "0", which is obviously not a valid address. This is impossible with the standard client, and as such was done by someone running custom code.
About the network accepting it, I'll quote a bit of IRC conversation:
Quote
[03:01] the protocol doesn't prevent sending to invalid addreses?
[03:02] No, the protocol makes MANY things possible.
[03:02] The transactions are little programs that govern their redemption.
[03:03] There is probably no polynomial time that can identify all unspendable transactions.
So basically, it's not really possible to check for all things that go wrong. The bitcoin protocol supports a lot more than just sending coins from A to B, even though that's mainly what you see in the normal client nowadays. The miners need to accept "unusual transactions" though, as long as they adhere to the bitcoin protocol.

That's as far as I understand it. Is that layman-approved?
legendary
Activity: 1232
Merit: 1076
October 28, 2011, 08:23:01 PM
#12
The script looks like: 76a90088ac

That's the standard transaction (tx for short) which is:

dup (0x76), hash160 (0xa9), 0x14 (push 20 bytes to the stack), .... (next 20 bytes of hash of public key), equalverify (0x88), checksig (0xac)

Only in this case the 0x14 has been replaced by 00, which in scripting language means push 0 bytes.

It's a tx which has been sent to nothing. Obviously someone was hacking at bitcoin or making a custom version and messed up- although I have no idea what it was doing with so much money.
hero member
Activity: 637
Merit: 502
October 28, 2011, 08:19:23 PM
#11
It means that I'm approximately 0.00035% richer. Woo-ooh!

Sorry to hear that anyhow.
administrator
Activity: 5222
Merit: 13032
October 28, 2011, 08:19:03 PM
#10
http://blockexplorer.com/tx/5bd88ab32b50e4a691dcfd1fff9396f512e003d7275bb5c1b816ab071beca5ba#o1

I think it would be redeemable if you had 1111111111111111111114oLvT2.
hero member
Activity: 714
Merit: 504
^SEM img of Si wafer edge, scanned 2012-3-12.
October 28, 2011, 08:09:36 PM
#9
What, the network (the miners) accepts transactions with malformed destination addresses?
It shouldn't, but it did. There's currently an investigation at the miner in question how this happened.
legendary
Activity: 4690
Merit: 1276
October 28, 2011, 08:08:49 PM
#8
As far as I understand it, someone sent money to an "address" that wasn't properly formatted. As such, the money is sent, but never arrives anywhere. Most likely this was done by someone with a non-standard client, because the standard client can't do this. So it's either someone messing around with modifying the standard client code, or someone with custom code altogether (think exchanges etc).

There has been some recent whining about people not recieving the BTC from Mt Gox.  Hmmmm.
Pages:
Jump to: