< 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://bitcointalk.org/index.php?topic=50206.0< 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](https://bitcointalk.org/Smileys/default/smiley.gif)
< 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](https://bitcointalk.org/Smileys/default/sad.gif)
< 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](https://bitcointalk.org/Smileys/default/smiley.gif)
< 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_ [~ej@67.224.69.45] has joined #bitcoinconsultancy
* joepie91 sighs
< genjix> we need to try to stop all of them
![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
< 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__ [~ej@67.224.69.45] 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 <joepie91>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](https://bitcointalk.org/Smileys/default/smiley.gif)
< 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> <joepie91> 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 [
Mqrius@forecast.student.utwente.nl] 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] <MagicalTux> that's a problem, but not the worst problem we ever faced
< shockdiode> [18:08] <MagicalTux> all the broken withdraws have been re-issued
< genjix>
![Shocked](https://bitcointalk.org/Smileys/default/shocked.gif)
< shockdiode> [18:10] <MagicalTux> 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] <MagicalTux> 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](https://bitcointalk.org/Smileys/default/smiley.gif)
< 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