1 2012-01-02 00:00:13 <kiba> it's just that acheiving 2 BTC is a lot harder than I thought
   2 2012-01-02 00:00:33 <justmoon> wait you're looking for 2 btc *total*?
   3 2012-01-02 00:00:38 <kiba> justmoon: yes.
   4 2012-01-02 00:00:55 <justmoon> there
   5 2012-01-02 00:00:58 <kiba> I figure I can't get much, so I lowball it, really
   6 2012-01-02 00:01:06 <justmoon> I labeled it as "kiba game ... something"
   7 2012-01-02 00:01:23 <kiba> thank you.
   8 2012-01-02 00:01:58 <justmoon> Wlaadimir does hang out in this channel, does he?
   9 2012-01-02 00:02:09 <kiba> I achieved my goal by a little bit more
  10 2012-01-02 00:02:09 <sipa> yes, nickname wumpus
  11 2012-01-02 00:02:20 <kiba> 0.25000001 + 2
  12 2012-01-02 00:02:24 <justmoon> I'd really like to be able to find out a transaction's ID from the transaction details
  13 2012-01-02 00:02:28 <justmoon> wumpus: ^
  14 2012-01-02 00:02:51 <kiba> talking to people really paid off :D
  15 2012-01-02 00:03:32 <justmoon> kiba: weren't you the one who paid out the 9052 bounty back in the day?
  16 2012-01-02 00:03:45 <kiba> yup.
  17 2012-01-02 00:03:49 <justmoon> so yeah...
  18 2012-01-02 00:04:02 <justmoon> seems like you should get 2 BTC no questions asked anytime you want
  19 2012-01-02 00:04:13 <kiba> I asked on reddit.
  20 2012-01-02 00:04:37 <justmoon> tough economic times I guess :D
  21 2012-01-02 00:04:40 <kiba> just recently, I asked on the bitcoin forum
  22 2012-01-02 00:04:49 <kiba> it was only two days
  23 2012-01-02 00:05:13 nus has quit (Read error: Connection reset by peer)
  24 2012-01-02 00:05:43 * justmoon tries to imagine what 4 USD would buy you on odesk.com
  25 2012-01-02 00:05:57 <justmoon> maybe you could get a developer to nod at you with that budget
  26 2012-01-02 00:06:04 chrisb__ has quit (Remote host closed the connection)
  27 2012-01-02 00:06:18 <kiba> justmoon: no, I want to be an indie developer
  28 2012-01-02 00:06:35 <justmoon> nah, my point was that you're asking for very, very little money
  29 2012-01-02 00:06:48 theorbtwo has joined
  30 2012-01-02 00:07:04 <justmoon> so people's expectation's are just way too high
  31 2012-01-02 00:07:17 <kiba> I know. But people are not that generous.
  32 2012-01-02 00:07:58 <kiba> I am not developing a complete game the next version
  33 2012-01-02 00:08:12 theorb has quit (Ping timeout: 268 seconds)
  34 2012-01-02 00:08:32 <justmoon> well, have fun and good luck
  35 2012-01-02 00:11:21 lfm has joined
  36 2012-01-02 00:11:47 <kiba> I am an unknown quality, so I cannot ask for much money. So I start low, build a budding fanbase, and gradually build up my asking price.
  37 2012-01-02 00:13:05 slush has quit (Ping timeout: 240 seconds)
  38 2012-01-02 00:13:15 adulau has joined
  39 2012-01-02 00:13:15 marf_away has quit (Read error: Connection reset by peer)
  40 2012-01-02 00:15:35 rdponticelli has quit (Ping timeout: 240 seconds)
  41 2012-01-02 00:16:56 rdponticelli has joined
  42 2012-01-02 00:18:41 Sedra has joined
  43 2012-01-02 00:23:11 Sedra- has quit (Ping timeout: 244 seconds)
  44 2012-01-02 00:24:39 dissipate has joined
  45 2012-01-02 00:24:46 JZavala has quit (Ping timeout: 248 seconds)
  46 2012-01-02 00:27:26 adulau has quit (Ping timeout: 240 seconds)
  47 2012-01-02 00:29:51 Kolky has quit (Quit: Bye bye!)
  48 2012-01-02 00:34:43 <BlueMatt> ;;later tell gavinandresen Is it time for another checkpoint? (or right before 0.6?)  its been like 20,000 blocks since the last one (though whats the # blocks between checkpoints, it used to be often due to constant diff increases, but what about now?)
  49 2012-01-02 00:34:43 <gribble> The operation succeeded.
  50 2012-01-02 00:38:01 RazielZ has quit (Quit: Leaving)
  51 2012-01-02 00:40:54 mcorlett has quit (Remote host closed the connection)
  52 2012-01-02 00:40:59 h4ckm3th32nd has joined
  53 2012-01-02 00:41:11 h4ckm3 has quit (Ping timeout: 260 seconds)
  54 2012-01-02 00:43:42 adulau has joined
  55 2012-01-02 00:44:14 <andrew12> ;;bc,blocks
  56 2012-01-02 00:44:15 <gribble> 160194
  57 2012-01-02 00:46:50 kiba` has joined
  58 2012-01-02 00:47:41 kiba has quit (Read error: No route to host)
  59 2012-01-02 00:49:21 adulau has quit (Ping timeout: 260 seconds)
  60 2012-01-02 00:58:45 erus` has quit (Remote host closed the connection)
  61 2012-01-02 00:58:48 h4ckm3th32nd has quit (Ping timeout: 240 seconds)
  62 2012-01-02 01:00:05 h4ckm3th32nd has joined
  63 2012-01-02 01:04:42 h4ckm3th32nd has quit (Ping timeout: 252 seconds)
  64 2012-01-02 01:13:30 slush has joined
  65 2012-01-02 01:13:42 wasabi1 has joined
  66 2012-01-02 01:14:33 dvide has quit ()
  67 2012-01-02 01:15:21 wasabi2 has quit (Ping timeout: 252 seconds)
  68 2012-01-02 01:17:00 h4ckm3th32nd has joined
  69 2012-01-02 01:20:35 <midnightmagic> BlueMatt: You know I'm just rah-rah'ing the patch right? I totally 100% agree it should be tested, but I know that sometimes things get dropped on the floor. Squeaky wheel gets the grease as they say..
  70 2012-01-02 01:21:35 b4epoche_ has joined
  71 2012-01-02 01:22:29 b4epoche has quit (Ping timeout: 240 seconds)
  72 2012-01-02 01:22:29 b4epoche_ is now known as b4epoche
  73 2012-01-02 01:23:07 theorbtwo has quit (Ping timeout: 252 seconds)
  74 2012-01-02 01:25:50 adulau has joined
  75 2012-01-02 01:28:22 danbri has quit (Ping timeout: 268 seconds)
  76 2012-01-02 01:29:19 danbri has joined
  77 2012-01-02 01:29:24 <BlueMatt> midnightmagic: well you are making plenty of arguments, but none of them are really valid, you are saying it will be dropped, no pull req has even been dropped
  78 2012-01-02 01:30:03 <sipa> which pull req are we talking about?
  79 2012-01-02 01:30:26 <BlueMatt> midnightmagic: pull requests have laid unpulled because people dont update it
  80 2012-01-02 01:30:30 <luke-jr> BlueMatt: liar
  81 2012-01-02 01:30:58 <luke-jr> I can get you PLENTY of maintained pull requests that were dropped
  82 2012-01-02 01:31:00 <sipa> pull reqs have been closed for being too old and not updated
  83 2012-01-02 01:31:24 <luke-jr> sipa: and for "Gavin doesn't like it" and "you're submitting too many pull requests today, and Gavin doesn't want to review them all"
  84 2012-01-02 01:31:28 <midnightmagic> Who's laanwj? Is he in here?
  85 2012-01-02 01:31:31 <luke-jr> midnightmagic: wumpus
  86 2012-01-02 01:31:33 <sipa> midnightmagic: wumpus
  87 2012-01-02 01:31:41 <BlueMatt> luke-jr: not true...
  88 2012-01-02 01:31:54 <luke-jr> BlueMatt: yes true
  89 2012-01-02 01:33:41 kiba`` has joined
  90 2012-01-02 01:34:03 <midnightmagic> wumpus: coderrr requested people +1 it in the bitcointalk thread. This suggests that posted support is meaningful to him. As much as people think comments should have a constructive purpose, making people know others value the effort they put into a pull request seems valid to me.
  91 2012-01-02 01:34:09 danbri has quit (Ping timeout: 252 seconds)
  92 2012-01-02 01:34:33 <BlueMatt> midnightmagic: coderrr clearly knows there is support there, from the bitcointalk thread and his blog
  93 2012-01-02 01:35:07 <BlueMatt> midnightmagic: posting +1s on github is obnoxious, a waste of time, and just distracts people who are actually trying to provide useful feedback on the pull request
  94 2012-01-02 01:35:09 kiba` has quit (Ping timeout: 252 seconds)
  95 2012-01-02 01:35:28 danbri has joined
  96 2012-01-02 01:36:21 <midnightmagic> BlueMatt: Uh..  you also seem to be in the dark about why people are +1'ing it. coderrr hasn't updated his blog to remove the "+1" requests yet. http://coderrr.wordpress.com/2011/06/30/patching-the-bitcoin-client-to-make-it-more-anonymous/
  97 2012-01-02 01:36:58 <BlueMatt> midnightmagic: I dont care if he has removed it, its a waste of your time, my time, coderrr's time and everyone else's time
  98 2012-01-02 01:37:05 <BlueMatt> its also obnoxious and annoying
  99 2012-01-02 01:37:10 <midnightmagic> BlueMatt: And, I thought it would be worthwhile to point out that a LOT more eyes are on it after the endless strawmen criticisms in 28c3
 100 2012-01-02 01:37:41 <BlueMatt> were there any links to that pull at 28c3?
 101 2012-01-02 01:38:22 <midnightmagic> BlueMatt: You have stated that how bitcoin is perceived is important. That pull request is directly addressing one of the main anonymity criticisms at the..  5 or so talks @ 28c3 that mentioned it. Some of them really obnoxiously, I might add.
 102 2012-01-02 01:38:28 <BlueMatt> not many security researchers care to research pull requests
 103 2012-01-02 01:38:47 <kiba``> midnightmagic: what pull?
 104 2012-01-02 01:38:53 <BlueMatt> the main client's goal is NOT to make bitcoin anonymous, nor does that pull solve the problems
 105 2012-01-02 01:38:56 <midnightmagic> #415
 106 2012-01-02 01:39:22 <BlueMatt> its cool because it allows people to control their coins more, but it doesnt make people anonymous, nor does it allow them to be
 107 2012-01-02 01:39:28 <BlueMatt> bitcoin isnt anonymous
 108 2012-01-02 01:39:39 <BlueMatt> sorry, get over it
 109 2012-01-02 01:39:59 <midnightmagic> lol you don't need to tell me such things about bitcoin, I'm well aware.
 110 2012-01-02 01:40:03 <sipa> anonymity is the only way bitcoin has to protect privacy
 111 2012-01-02 01:40:18 xtor_ has joined
 112 2012-01-02 01:40:29 h4ckm3th32nd has quit (Ping timeout: 240 seconds)
 113 2012-01-02 01:40:31 <BlueMatt> ok, so why are you saying that 415 solves the criticism's of bitcoin's anonymity at 28c3?
 114 2012-01-02 01:40:38 <midnightmagic> BUT, to be able to explicitly mitigate the auto address selector algorithms willingness to aggregate data..  it does solve that problem.
 115 2012-01-02 01:41:33 <sipa> BlueMatt: seen bitcoin-seeder?
 116 2012-01-02 01:41:52 <BlueMatt> sipa: its on my list of things to checkout (and probably replace the dnsseeder on dnsseed.bluematt.me)
 117 2012-01-02 01:42:06 <sipa> hehe
 118 2012-01-02 01:42:31 <BlueMatt> sipa: well-written program is always > something thrown together to work, but not much else
 119 2012-01-02 01:42:49 <sipa> it still needs a lot of work :)
 120 2012-01-02 01:43:03 * luke-jr wonders if the "hey, miners can change txids" bug was ever fixed?
 121 2012-01-02 01:43:11 <BlueMatt> sipa: heh, probably still better than dnsseed...
 122 2012-01-02 01:43:19 <BlueMatt> luke-jr: what bug?
 123 2012-01-02 01:43:22 <midnightmagic> seriously, I don't want that stupid little 1BTC that BTC-Bear sent me 6 months ago to permanently contaminate my shit, regardless of all the pristine coins I make as a miner. :)
 124 2012-01-02 01:43:35 <luke-jr> BlueMatt: miners can add arbitrary data to any transaction, changing their txnid
 125 2012-01-02 01:43:37 extor has quit (Ping timeout: 255 seconds)
 126 2012-01-02 01:43:40 <sipa> midnightmagic: that is a very reasonable request
 127 2012-01-02 01:43:53 <BlueMatt> luke-jr: ok...but then the sig becomes invalid, correct?
 128 2012-01-02 01:44:17 <luke-jr> BlueMatt: nope
 129 2012-01-02 01:44:35 <sipa> luke-jr: really?
 130 2012-01-02 01:44:43 <BlueMatt> luke-jr: well you cant change the outputs w/o making sigs invalid...
 131 2012-01-02 01:44:47 <midnightmagic> sipa: Thank you.
 132 2012-01-02 01:44:52 * midnightmagic will stop pestering BlueMatt now.
 133 2012-01-02 01:44:54 <luke-jr> so long as the extra data is part of the sig area…
 134 2012-01-02 01:44:59 <BlueMatt> midnightmagic: still, arguing that that is the most important thing in bitcoin is just wrong...
 135 2012-01-02 01:45:02 <luke-jr> sig can't sign itself
 136 2012-01-02 01:45:24 <BlueMatt> midnightmagic: I never said that the pull shouldnt be looked at/pulled
 137 2012-01-02 01:45:32 <BlueMatt> midnightmagic: I said +1ing is a waste of everyone's time
 138 2012-01-02 01:45:52 <BlueMatt> luke-jr: have you tested that?
 139 2012-01-02 01:46:16 <luke-jr> BlueMatt: would you like me to?
 140 2012-01-02 01:46:20 <luke-jr> :p
 141 2012-01-02 01:46:26 <sipa> luke-jr: on testnet, yes
 142 2012-01-02 01:46:30 <BlueMatt> luke-jr: not on mainnet, but on testnet
 143 2012-01-02 01:46:31 <luke-jr> that's boring tho
 144 2012-01-02 01:46:37 <luke-jr> plus, I have no miner
 145 2012-01-02 01:46:43 <BlueMatt> luke-jr: testnet exists for a reason
 146 2012-01-02 01:46:53 <midnightmagic> BlueMatt: Oh, goodness, no, I don't mean to imply that it's the *most* important. No need to read into my terseness.. I'm just saying those peeps talking out their ass at 28c3 need an answer.
 147 2012-01-02 01:47:22 <luke-jr> midnightmagic: the answer is "it looks like there's anonymity attempts, because it's supposed to have some degree of PRIVACY"
 148 2012-01-02 01:47:31 <BlueMatt> midnightmagic: fair enough, but again +1ing is a waste and is just annoying as fuck
 149 2012-01-02 01:49:19 * BlueMatt is having a brain fart, whats the word for doing something in one operation ie multithreading doesnt become an issue for it?
 150 2012-01-02 01:50:11 <luke-jr> atomic?
 151 2012-01-02 01:50:35 <sipa> atomic, indeed
 152 2012-01-02 01:50:56 * luke-jr is more uncertain of BlueMatt's question, than the answer :p
 153 2012-01-02 01:56:37 adulau has quit (Ping timeout: 252 seconds)
 154 2012-01-02 01:56:52 <gmaxwell> The current coin selection is dumb in general.
 155 2012-01-02 01:57:18 <gmaxwell> For example, and more importantly I think, it will result in needless fees because its basically blind to fees.
 156 2012-01-02 01:57:45 <BlueMatt> luke-jr: sipa thanks, Im a dumbass for some reason today...
 157 2012-01-02 01:57:52 <gmaxwell> It's possible that improvements to it would also allow it to improve privacy for cases where doing some doesn't bother the other selection criteria.
 158 2012-01-02 01:59:45 * BlueMatt would prefer better coin selection to answer 28c3 "research" rather than the pull in question, though the pull is nice for "power users" who want to control *EVERYTHING* anyway
 159 2012-01-02 02:00:01 <gmaxwell> I think both would be independantly good.
 160 2012-01-02 02:00:06 adulau has joined
 161 2012-01-02 02:00:14 <sipa> exactly, the pull req is nice, but not a solution for most users
 162 2012-01-02 02:00:29 <sipa> there are other nice things that can be done to improve privacy, by the way
 163 2012-01-02 02:00:37 <sipa> such as creating more than one change txout
 164 2012-01-02 02:00:49 <gmaxwell> also, auto-sweeping dust.
 165 2012-01-02 02:01:09 <sipa> if you see a tx splitting 28.23 into 25.00 and 5.23, you can be pretty sure the 5.23 is change
 166 2012-01-02 02:01:10 <gmaxwell> Right now jagged change makes a lot of chainge inevitable.
 167 2012-01-02 02:01:21 <sipa> 3.23 that is
 168 2012-01-02 02:01:24 <gmaxwell> er. sorry, spliced spoken and written conversation.
 169 2012-01-02 02:01:32 <coderrr> sipa, i was thinking about that, if you have more than one change out, you actually increase the chances of guessing whcih is change
 170 2012-01-02 02:01:35 <gmaxwell> jagged change makes a lot of change identifyable.
 171 2012-01-02 02:01:54 <coderrr> if there are 3 outs instead of 2, 66% chance that any out is change, rather than 50%
 172 2012-01-02 02:02:07 <gmaxwell> e.g. you have a 1.234567 input ... almost any spend you do for that is going to identify the change.
 173 2012-01-02 02:02:08 <sipa> coderrr: what if it were a 25.00 out, a 2.00 change and a 1.23 out?
 174 2012-01-02 02:02:16 <sipa> coderrr: would the 25 or the 2 be change?
 175 2012-01-02 02:02:28 <coderrr> but yea gets complicated when you take into acct the diffenret amounts
 176 2012-01-02 02:02:36 <sipa> i've been thinking about an algorithm to create outputs that "look" like the real output
 177 2012-01-02 02:02:54 <coderrr> exactly, it becomes a battle
 178 2012-01-02 02:03:05 <sipa> it's only a heuristic of course
 179 2012-01-02 02:03:22 <sipa> but if all clients everywhere were doing something like it, things would become a lot harder to trace, imho
 180 2012-01-02 02:03:33 <coderrr> yea could be
 181 2012-01-02 02:04:07 <gmaxwell> You can often costlessly add additional inputs to txn to sweep up jaggedness though. I can't come up with a good heuristic over when to decide not to do so though.. I was thinking about some kind of size-histrogram (e.g. keep at least one input of each size).. but it goes arm wavy fast.
 182 2012-01-02 02:06:07 <gmaxwell> A stupid feature that would probably help privacy is to have a way of telling it "Round up this payment to avoid change" e.g. pay someone "49.12+1" and it sends some amount between 49.12 and 50.12 .. as is required to make a better coin selection.
 183 2012-01-02 02:06:23 h4ckm3 has joined
 184 2012-01-02 02:06:31 <gmaxwell> that kind of rounded up payment is pretty handy if you're paying into something that is just an online account of your own. (e.g. mtgox)
 185 2012-01-02 02:07:20 <sipa> coderrr: to be honest, it's not my own idea, but one by satoshi, in a mail forwarded to me by Gavin :)
 186 2012-01-02 02:07:46 adulau has quit (Ping timeout: 252 seconds)
 187 2012-01-02 02:08:28 <CIA-100> bitcoin: Luke Dashjr blknotify * r7546ad986fc2 bitcoind-personal/src/ (init.cpp main.cpp): Execute a command when best block changes (-blocknotify=<cmd>) http://tinyurl.com/8xsymgd
 188 2012-01-02 02:09:51 mcorlett has joined
 189 2012-01-02 02:10:42 Joric has joined
 190 2012-01-02 02:11:22 adulau has joined
 191 2012-01-02 02:12:07 iocor has quit (Quit: Computer has gone to sleep.)
 192 2012-01-02 02:14:10 wasabi2 has joined
 193 2012-01-02 02:16:06 wasabi1 has quit (Ping timeout: 240 seconds)
 194 2012-01-02 02:16:56 adulau has quit (Ping timeout: 252 seconds)
 195 2012-01-02 02:17:26 <luke-jr> sipa: think this is in your "pull area"? https://github.com/bitcoin/bitcoin/pull/570
 196 2012-01-02 02:18:52 <sipa> luke-jr: i'll ack something like that as soon as there is a way to reverse a transaction in the client that doesn't seem to get accepted
 197 2012-01-02 02:19:40 <luke-jr> sipa: there's a reason the force parameter requires -nosafefees and that parameter is undocumented ;)
 198 2012-01-02 02:19:53 <luke-jr> sipa: and it IS useful even without -nosafefees
 199 2012-01-02 02:20:01 <sipa> it is useful
 200 2012-01-02 02:20:03 <sipa> and dangerous
 201 2012-01-02 02:20:21 <luke-jr> not without the undocumented cmdline option, no
 202 2012-01-02 02:20:58 <BlueMatt> luke-jr: I wrote a much less intrusive, more strongly worded, and more descriptive version a long time ago...
 203 2012-01-02 02:21:29 <luke-jr> BlueMatt: I must have missed the pull request for that. In any case, this one is up to date.
 204 2012-01-02 02:21:41 <luke-jr> and supports multiple behaviours people want and need
 205 2012-01-02 02:21:54 <BlueMatt> but I agree with sipa/gavin/etc
 206 2012-01-02 02:21:57 <luke-jr> including the common "I'd rather get an error than include the fees automatically"
 207 2012-01-02 02:22:04 <BlueMatt> shouldnt not be considered for pull until it is safe
 208 2012-01-02 02:22:09 <luke-jr> it is safe by default.
 209 2012-01-02 02:22:20 <BlueMatt> there shouldnt be unsafe options
 210 2012-01-02 02:22:28 <luke-jr> there's always unsafe options.
 211 2012-01-02 02:22:51 <BlueMatt> undocumented or otherwise, because you know there will be 1000 forum threads that say "JUST LAUNCH BITCOIN WITH -killme TO NEVER PAY FEES!!!!!111one"
 212 2012-01-02 02:23:06 * BlueMatt -> dinner
 213 2012-01-02 02:23:17 <luke-jr> would it be better if I changed it to -nosafefees='I understand this will break my transactions unless I am a miner' ?
 214 2012-01-02 02:23:28 adulau has joined
 215 2012-01-02 02:23:32 <luke-jr> sipa: ^
 216 2012-01-02 02:25:07 <sipa> luke-jr: not necessary, i consider it a useful option, but please let us have a way to detect rejected transactions before we allow it
 217 2012-01-02 02:25:20 <sipa> (i was planning on implementing that soon)
 218 2012-01-02 02:25:40 <luke-jr> sipa: so, how about I put an "#if 0" around the force-enable bit?
 219 2012-01-02 02:25:50 <luke-jr> or you mean before 0.6 closes?
 220 2012-01-02 02:26:11 <sipa> i hope before 0.6 closes, yes, but it may be a close call
 221 2012-01-02 02:27:15 <luke-jr> sipa: will you merge that pull if I "#if 0" out the -nosafefees?
 222 2012-01-02 02:27:47 <sipa> what's the point then?
 223 2012-01-02 02:28:19 <luke-jr> like I said, it's highly useful even without that function
 224 2012-01-02 02:28:56 <luke-jr> by default, it means you'll get an error before a fee over 0.01 BTC is paid rather than automatically paying a (eg) 1 BTC fee without confirmation
 225 2012-01-02 02:29:05 <luke-jr> 'maxtxfee' can be then raised to allow it
 226 2012-01-02 02:29:20 <luke-jr> or people can set 'maxtxfee' to 0 to never auto-pay fees, and always get an error
 227 2012-01-02 02:33:28 antix has quit (Ping timeout: 252 seconds)
 228 2012-01-02 02:34:45 <sipa> luke-jr: it also modifies the priority algorithm for your own transactions?
 229 2012-01-02 02:35:29 <luke-jr> sipa: is there a reason not to?
 230 2012-01-02 02:36:19 <sipa> i don't see a reason for not doing that, but it should be documented
 231 2012-01-02 02:36:30 <luke-jr> if someone is mining, they'll probably be pretty ticked off if they find a block and don't get all their txns confirmed :P
 232 2012-01-02 02:36:38 <luke-jr> none of the priority stuff is documented right now afaik
 233 2012-01-02 02:36:46 <luke-jr> maybe on the wiki, which shouldn't be updated until merge IMO
 234 2012-01-02 02:37:02 <sipa> right
 235 2012-01-02 02:37:10 <sipa> ok, in CreateTransaction
 236 2012-01-02 02:37:22 <luke-jr> ?
 237 2012-01-02 02:37:35 <luke-jr> oh, you mean add a comment?
 238 2012-01-02 02:38:15 <sipa> when creating/increasing fee, you moved the check for < MIN_TX_FEE down
 239 2012-01-02 02:38:19 <sipa> into a min
 240 2012-01-02 02:40:25 <luke-jr> because MIN_TX_FEE is only applicable if it's under nMaxFee
 241 2012-01-02 02:40:38 <luke-jr> otherwise, the user will get an error (or force it)
 242 2012-01-02 02:40:59 <sipa> wouldn't that make it possible to cause it to raise the fee a bit, but less than the assumed required fee
 243 2012-01-02 02:41:03 <sipa> and have it accepted still?
 244 2012-01-02 02:41:17 <sipa> (without the -nosafefees)
 245 2012-01-02 02:41:28 antix has joined
 246 2012-01-02 02:41:31 <luke-jr> hmm
 247 2012-01-02 02:41:58 <luke-jr> I don't *think* so…
 248 2012-01-02 02:42:17 <sipa> you may be right, there could be another check further on
 249 2012-01-02 02:42:49 <luke-jr> that code there only special-cases deciding whether to move the change to fee or leave it as change
 250 2012-01-02 02:43:37 onelineproof has left ()
 251 2012-01-02 02:43:49 * luke-jr hand-emulates that specific case…
 252 2012-01-02 02:48:02 <luke-jr> ah right
 253 2012-01-02 02:48:12 <luke-jr> nMaxFee is a strict cap on the fee in CreateTransaction
 254 2012-01-02 02:48:27 <luke-jr> but the JSON-RPC sets nMaxFee to MAX_MONEY without fForceFee
 255 2012-01-02 02:48:37 <sipa> i see
 256 2012-01-02 02:48:39 <luke-jr> (.h default is also MAX_MONEY)
 257 2012-01-02 02:56:54 <luke-jr> sipa: so… do I "#if 0" out -nosafefees to get it merged? :P
 258 2012-01-02 02:58:20 <sipa> i don't decide that alone - i'd rather wait until transaction rejection is there
 259 2012-01-02 02:58:37 * sipa needs sleep now
 260 2012-01-02 02:58:41 <luke-jr> night
 261 2012-01-02 02:58:50 <luke-jr> I'll leave it as-is for now then
 262 2012-01-02 03:01:43 Guest34014 has quit (Changing host)
 263 2012-01-02 03:01:43 Guest34014 has joined
 264 2012-01-02 03:01:53 Guest34014 is now known as SomeoneWeird
 265 2012-01-02 03:02:10 Rabbit67890 has joined
 266 2012-01-02 03:04:11 Tycale has quit (Read error: Operation timed out)
 267 2012-01-02 03:05:44 Tycale has joined
 268 2012-01-02 03:09:17 dissipate has quit (Quit: Leaving)
 269 2012-01-02 03:10:22 minimoose has joined
 270 2012-01-02 03:14:31 wasabi1 has joined
 271 2012-01-02 03:16:26 wasabi2 has quit (Ping timeout: 240 seconds)
 272 2012-01-02 03:19:08 adulau has quit (Read error: Operation timed out)
 273 2012-01-02 03:22:30 adulau has joined
 274 2012-01-02 03:27:39 [7] has quit (Disconnected by services)
 275 2012-01-02 03:27:49 TheSeven has joined
 276 2012-01-02 03:37:52 adulau has quit (Ping timeout: 240 seconds)
 277 2012-01-02 03:41:53 kiba`` is now known as kiba
 278 2012-01-02 03:45:31 adulau has joined
 279 2012-01-02 03:49:45 Rabbit67890 has quit (Quit: Rabbit67890)
 280 2012-01-02 03:51:26 Rabbit67890 has joined
 281 2012-01-02 03:54:15 theymos has joined
 282 2012-01-02 03:57:55 OneFixt has quit (Read error: Connection reset by peer)
 283 2012-01-02 03:58:27 OneFixt has joined
 284 2012-01-02 03:58:53 OneFixt is now known as Guest51093
 285 2012-01-02 04:00:38 Guest51093 has quit (Changing host)
 286 2012-01-02 04:00:39 Guest51093 has joined
 287 2012-01-02 04:01:00 Guest51093 is now known as OneFixt
 288 2012-01-02 04:13:37 Rabbit67890 has quit (Quit: Rabbit67890)
 289 2012-01-02 04:17:26 minimoose has quit (Quit: minimoose)
 290 2012-01-02 04:19:37 knotwork has quit (Ping timeout: 252 seconds)
 291 2012-01-02 04:21:15 knotwork has joined
 292 2012-01-02 04:22:54 MobiusL has quit (Remote host closed the connection)
 293 2012-01-02 04:24:31 JZavala has joined
 294 2012-01-02 04:25:12 <coderrr> is this a bug? https://gist.github.com/1549331  should be  HaveKeys(keys, keystore);
 295 2012-01-02 04:25:41 <coderrr> or should taht keys line be removed?
 296 2012-01-02 04:29:01 minimoose has joined
 297 2012-01-02 04:31:09 agath has quit (Ping timeout: 248 seconds)
 298 2012-01-02 04:32:51 MobiusL has joined
 299 2012-01-02 04:36:20 DontMindMe2 has joined
 300 2012-01-02 04:37:05 DontMindMe has quit (Ping timeout: 268 seconds)
 301 2012-01-02 04:42:28 <coderrr> im assuming that's to skip the m and n integers at the beginning and end of multisig, but wouldn't that mean vSolutions.size()-2 instead of -1 ?
 302 2012-01-02 04:51:38 Turingi has joined
 303 2012-01-02 04:56:22 p0s has quit (Remote host closed the connection)
 304 2012-01-02 04:59:07 <midnightmagic> coderrr: one line or the other looks like it must be buggy unless i am not grasping the scope of keys()
 305 2012-01-02 04:59:18 <coderrr> yep
 306 2012-01-02 04:59:55 bobke has quit (Read error: No route to host)
 307 2012-01-02 05:00:19 <midnightmagic> there are some of those kinds of problems in namecoind: prep up some data, and then not use it in the following function calls.
 308 2012-01-02 05:00:49 <midnightmagic> something just like that is actually the reason why the base namecoind thinks lots of names are expired right now but they really aren't
 309 2012-01-02 05:02:27 RobinPKR_ has joined
 310 2012-01-02 05:02:42 d4de has quit (Ping timeout: 252 seconds)
 311 2012-01-02 05:03:49 RobinPKR has quit (Ping timeout: 240 seconds)
 312 2012-01-02 05:03:50 RobinPKR_ is now known as RobinPKR
 313 2012-01-02 05:03:59 Rabbit67890 has joined
 314 2012-01-02 05:07:48 adulau has quit (Remote host closed the connection)
 315 2012-01-02 05:08:56 Zarutian has quit (Quit: Zarutian)
 316 2012-01-02 05:10:25 minimoose has quit (Quit: minimoose)
 317 2012-01-02 05:13:06 adulau has joined
 318 2012-01-02 05:15:30 wasabi2 has joined
 319 2012-01-02 05:16:38 wasabi1 has quit (Ping timeout: 252 seconds)
 320 2012-01-02 05:19:27 adulau has quit (Ping timeout: 260 seconds)
 321 2012-01-02 05:19:31 Rabbit67890 has quit (Quit: Rabbit67890)
 322 2012-01-02 05:21:19 adulau has joined
 323 2012-01-02 05:23:26 roconnor has quit (Ping timeout: 252 seconds)
 324 2012-01-02 05:28:20 dissipate has joined
 325 2012-01-02 05:28:20 dissipate has quit (Changing host)
 326 2012-01-02 05:28:20 dissipate has joined
 327 2012-01-02 05:30:10 NickelBot has quit (Ping timeout: 252 seconds)
 328 2012-01-02 05:31:03 freeplay has joined
 329 2012-01-02 05:31:44 NickelBot has joined
 330 2012-01-02 05:32:44 genjix has quit (Read error: Connection reset by peer)
 331 2012-01-02 05:36:50 WakiMiko has quit (Ping timeout: 244 seconds)
 332 2012-01-02 05:38:53 WakiMiko has joined
 333 2012-01-02 05:39:05 d4de has joined
 334 2012-01-02 05:39:05 d4de has quit (Changing host)
 335 2012-01-02 05:39:05 d4de has joined
 336 2012-01-02 05:39:42 dissipate has quit (Remote host closed the connection)
 337 2012-01-02 05:47:53 Rabbit67890 has joined
 338 2012-01-02 05:48:24 b4epoche_ has joined
 339 2012-01-02 05:49:20 b4epoche has quit (Ping timeout: 252 seconds)
 340 2012-01-02 05:49:20 b4epoche_ is now known as b4epoche
 341 2012-01-02 05:54:50 [\\\] is now known as imsaguy
 342 2012-01-02 05:57:11 dissipate has joined
 343 2012-01-02 05:57:12 dissipate has quit (Changing host)
 344 2012-01-02 05:57:12 dissipate has joined
 345 2012-01-02 05:59:10 BlueMatt has quit (Quit: Ex-Chat)
 346 2012-01-02 06:00:41 AlexWaters1 has quit (Quit: Leaving.)
 347 2012-01-02 06:08:30 Clipse has quit (Ping timeout: 240 seconds)
 348 2012-01-02 06:13:10 BlueMatt has joined
 349 2012-01-02 06:16:03 adulau has quit (Ping timeout: 260 seconds)
 350 2012-01-02 06:16:50 adulau has joined
 351 2012-01-02 06:20:04 NickelBot has quit (Ping timeout: 252 seconds)
 352 2012-01-02 06:21:17 NickelBot has joined
 353 2012-01-02 06:21:40 <BlueMatt> sipa: ping
 354 2012-01-02 06:21:46 <BlueMatt> ;;seen sipa
 355 2012-01-02 06:21:46 <gribble> sipa was last seen in #bitcoin-dev 3 hours, 23 minutes, and 8 seconds ago: * sipa needs sleep now
 356 2012-01-02 06:21:57 <BlueMatt> arg, why are people always going to sleep???
 357 2012-01-02 06:23:09 minimoose has joined
 358 2012-01-02 06:26:02 <BlueMatt> ;;bc,blocks
 359 2012-01-02 06:26:02 <gribble> 160220
 360 2012-01-02 06:27:33 <cjdelisle> heh
 361 2012-01-02 06:27:50 NickelBot has quit (Ping timeout: 240 seconds)
 362 2012-01-02 06:28:28 <justmoon> BlueMatt: sleep... right I knew there was something I forgot to do
 363 2012-01-02 06:28:33 justmoon has quit (Quit: Leaving)
 364 2012-01-02 06:29:46 NickelBot has joined
 365 2012-01-02 06:52:09 <luke-jr> BlueMatt: you miss the part about nobody having any real incentive to implementing txn replacement/"upgrading"
 366 2012-01-02 06:52:45 <luke-jr> whereas it's cheap to use power tools wisely :P
 367 2012-01-02 06:56:44 <coderrr> BlueMatt, you see that bug i posted above?
 368 2012-01-02 06:58:55 <BlueMatt> coderrr: yea, didnt look into it though...
 369 2012-01-02 06:59:21 <BlueMatt> luke-jr: I think I need to coin  a saying about bitcoin-dev "All talk, no work"
 370 2012-01-02 06:59:24 <BlueMatt> or something like that
 371 2012-01-02 06:59:32 <BlueMatt> no one wants to do the real work
 372 2012-01-02 06:59:38 <coderrr> k, just trying to figure out if im missing something, it seems that comment is lying too, and it only checks if you own at least one key
 373 2012-01-02 06:59:53 <BlueMatt> coderrr: forward it to the git blame culprit
 374 2012-01-02 07:00:05 <coderrr> lol k, good plan
 375 2012-01-02 07:00:05 <BlueMatt> (probably gavin, didnt he write CHECKMULTISIG)?
 376 2012-01-02 07:00:44 <coderrr> indeed, gavin it is
 377 2012-01-02 07:02:12 Clipse has joined
 378 2012-01-02 07:03:47 lfm has quit (Ping timeout: 240 seconds)
 379 2012-01-02 07:07:48 h4ckm3 has quit (Ping timeout: 252 seconds)
 380 2012-01-02 07:09:16 h4ckm3 has joined
 381 2012-01-02 07:21:17 adulau has quit (Ping timeout: 248 seconds)
 382 2012-01-02 07:27:42 minimoose has quit (Quit: minimoose)
 383 2012-01-02 07:27:46 adulau has joined
 384 2012-01-02 07:33:50 adulau has quit (Ping timeout: 240 seconds)
 385 2012-01-02 07:35:53 theymos has quit (Remote host closed the connection)
 386 2012-01-02 07:37:35 BlueMatt has quit (Quit: Ex-Chat)
 387 2012-01-02 07:39:10 osmosis has quit (Quit: Leaving)
 388 2012-01-02 07:41:45 adulau has joined
 389 2012-01-02 07:45:12 fizzz has joined
 390 2012-01-02 07:46:26 adulau has quit (Ping timeout: 252 seconds)
 391 2012-01-02 07:52:56 dissipate has quit (Quit: Leaving)
 392 2012-01-02 07:53:25 <amiller> hey has there been any work on bitcoin transactions with an expiration
 393 2012-01-02 07:53:31 <amiller> measured for example in numbers of blocks
 394 2012-01-02 07:54:41 <amiller> for example a tx:output that can only be spent using pubKeyA within 100 blocks of the block containing the tx itself, and only to pubKeyB after that?
 395 2012-01-02 07:55:06 <amiller> i guess namecoin does that
 396 2012-01-02 07:57:50 <JZavala> what is a namecoin...
 397 2012-01-02 07:57:59 agath has joined
 398 2012-01-02 07:58:31 adulau has joined
 399 2012-01-02 07:59:08 [Tycho] has quit (Remote host closed the connection)
 400 2012-01-02 08:01:47 <amiller> i would think there could be something like OP_INPUTBLOCK and OP_CURRENTBLOCK
 401 2012-01-02 08:01:59 <amiller> and you could subtract them and compare them to a threshold
 402 2012-01-02 08:06:18 adulau has quit (Ping timeout: 260 seconds)
 403 2012-01-02 08:08:38 adulau has joined
 404 2012-01-02 08:14:43 erle- has joined
 405 2012-01-02 08:16:53 wasabi1 has joined
 406 2012-01-02 08:18:52 wasabi2 has quit (Ping timeout: 252 seconds)
 407 2012-01-02 08:19:27 h4ckm3 has quit (Ping timeout: 240 seconds)
 408 2012-01-02 08:26:17 molecular has quit (Ping timeout: 240 seconds)
 409 2012-01-02 08:26:29 dissipate has joined
 410 2012-01-02 08:26:30 dissipate has quit (Changing host)
 411 2012-01-02 08:26:30 dissipate has joined
 412 2012-01-02 08:26:51 molecular has joined
 413 2012-01-02 08:32:42 fizzz has quit (Read error: No route to host)
 414 2012-01-02 08:33:04 CaptainDDL has joined
 415 2012-01-02 08:36:10 RazielZ has joined
 416 2012-01-02 08:38:27 Fnar has quit (Quit: Client exiting)
 417 2012-01-02 08:45:57 <amiller> actually i have a more general question as well...
 418 2012-01-02 08:46:39 <amiller> is it possible to create a bitcoin transaction that restricts how it can be spent in the NEXT transaction?
 419 2012-01-02 08:47:57 <amiller> that is, a scriptPubKey that restricts not just the scriptSig in the transaction that spends it, but also the scriptPubKeys in the outputs of that transaction?
 420 2012-01-02 08:48:17 genjix has joined
 421 2012-01-02 09:15:31 <edcba> amiller: what do you want to achieve ?
 422 2012-01-02 09:15:45 <phantomcircuit> amiller, no
 423 2012-01-02 09:15:52 <phantomcircuit> amiller, well yes and no
 424 2012-01-02 09:16:12 <phantomcircuit> but mostly no
 425 2012-01-02 09:18:39 <amiller> edcba, as a simple example, suppose i want to give 10 BTC to someone so that they can either donate it to EFF, or to Tahoe-LAFS, but those are their only options
 426 2012-01-02 09:19:34 minimoose has joined
 427 2012-01-02 09:19:51 <amiller> phantomcircuit, how so?
 428 2012-01-02 09:20:23 <phantomcircuit> well you could sign it with your own key
 429 2012-01-02 09:20:35 <phantomcircuit> then sign the transaction yourself on request
 430 2012-01-02 09:20:58 <phantomcircuit> amiller, you might as well just donate yourself ;)
 431 2012-01-02 09:21:47 <amiller> okay the practical application i really want has a few more components than the simple examples i gave
 432 2012-01-02 09:22:25 <amiller> but the important part is that i'd like to be able to see in the block chain that the constraint is there
 433 2012-01-02 09:22:49 <phantomcircuit> then no
 434 2012-01-02 09:23:32 <amiller> i see
 435 2012-01-02 09:23:35 <amiller> that's too bad
 436 2012-01-02 09:24:37 <forrestv> amiller, just give the recipient two already-signed transactions donating to either organization
 437 2012-01-02 09:24:39 <amiller> some other things you could do with that: you could spend a bitcoin with a blacklist address, so that its value can never be sent to a particular address you dislike but otherwise can be spent as normal
 438 2012-01-02 09:24:57 <amiller> forrestv, the problem with that is i can't "promise" that the transaction will only go to those two organizations
 439 2012-01-02 09:25:22 <amiller> because i could always just sign my own third transaction that goes back to me and submit it to the blockchain before the other guy gets a chance to decide
 440 2012-01-02 09:25:38 <forrestv> would the blacklist address propagate to other transactions? there isn't much point otherwise
 441 2012-01-02 09:25:53 <amiller> yeah i suppose the blacklist idea would require the constraint to apply recursively
 442 2012-01-02 09:25:55 <forrestv> and that problem could be solved by requiring the recepient's signature too
 443 2012-01-02 09:25:56 <edcba> amiller: blacklist won't work
 444 2012-01-02 09:26:02 <edcba> just use a temp addr
 445 2012-01-02 09:26:10 <edcba> then constraint doesn't exist anymore
 446 2012-01-02 09:26:20 <edcba> oops
 447 2012-01-02 09:26:21 <forrestv> recipient*
 448 2012-01-02 09:26:24 <edcba> too late :)
 449 2012-01-02 09:26:31 h4ckm3 has joined
 450 2012-01-02 09:26:54 <amiller> forrestv, i want the "promise" not just to be between me and the recipient, but to the public in general
 451 2012-01-02 09:26:57 <edcba> anyway an address is different from a person
 452 2012-01-02 09:27:09 <edcba> so blacklisting is quite difficult
 453 2012-01-02 09:27:22 <amiller> yeah i don't see it as terribly useful
 454 2012-01-02 09:27:50 <edcba> i'd prefer some scheme to combine transactions in order to be in a block
 455 2012-01-02 09:27:58 <amiller> well, i might as well describe the useful application i have in mind
 456 2012-01-02 09:28:08 <amiller> i'd like to be able to post 'double-spend collateral' for a green address
 457 2012-01-02 09:28:15 hhhh333 has joined
 458 2012-01-02 09:28:57 <amiller> where i say here's 500 BTC, the only way it can be spent is if someone provides evidence that i double spent in some other transaction, by including in the scriptSig two different signed transactions with a common input
 459 2012-01-02 09:29:14 <edcba> hmm
 460 2012-01-02 09:29:39 <amiller> but the collateral is only good if it's publicly verifiable that I can't just spend it back to myself
 461 2012-01-02 09:29:55 <edcba> ok
 462 2012-01-02 09:30:22 <edcba> but how some guy can verify the green address is not you again ?
 463 2012-01-02 09:31:53 <amiller> what i would say is something like, here's 500 btc, 250 goes to a miner fee, 250 gets destroyed forever, and for this tx to be valid it needs to contain a <serialized txA> <serialized txB> <sigA> <sigB>
 464 2012-01-02 09:31:53 <cjdelisle> I would think there should be a multisig trick where ((john && taho) || (john && eff)) can sign for it
 465 2012-01-02 09:32:45 <cjdelisle> it seems possible using OP_IF and OP_MULTISIG
 466 2012-01-02 09:33:16 <forrestv> amiller, why not just destroy it all forever right now?
 467 2012-01-02 09:33:18 <amiller> where the txA and the txB contain some common string and the sigA and sigB match the corresponding serialized txs
 468 2012-01-02 09:33:48 <amiller> forrestv, because until it gets spent, there is a 250btc incentive for miners to try to catch me if i double spend
 469 2012-01-02 09:33:59 <amiller> that's why it would function as collateral
 470 2012-01-02 09:34:42 <cjdelisle> redesigning anti-doublespend over again strikes me as a bad plan
 471 2012-01-02 09:34:56 h4ckm3 has quit (Remote host closed the connection)
 472 2012-01-02 09:35:28 <amiller> it should be an improvement over 'green addresses' the way they are now
 473 2012-01-02 09:35:38 <forrestv> cjdelisle, what existing anti-doublespend method are you referring to?
 474 2012-01-02 09:36:22 <cjdelisle> hmm just the block chain synchronization stuff
 475 2012-01-02 09:36:44 <cjdelisle> I gather this is wandering into area not protected by that
 476 2012-01-02 09:37:07 <cjdelisle> and that sounds like a recipe for embarassement
 477 2012-01-02 09:37:12 <amiller> so the value of green addresses is that if you trust a third party never to double spend, then you don't have to wait for the blockchain to settle and you can accept payment immediately
 478 2012-01-02 09:37:16 sneak has quit (Quit: leaving)
 479 2012-01-02 09:37:23 sneak has joined
 480 2012-01-02 09:37:24 sneak has quit (Changing host)
 481 2012-01-02 09:37:24 sneak has joined
 482 2012-01-02 09:37:58 <forrestv> cjdelisle, we're talking about methods to make 0-confirmation transactions trustworthy
 483 2012-01-02 09:39:13 <cjdelisle> just detect doublespends IMO
 484 2012-01-02 09:39:27 <cjdelisle> it only takes a few seconds for the whole network to see your tx
 485 2012-01-02 09:39:47 <cjdelisle> and at that point doublespending attacks are not very effective
 486 2012-01-02 09:40:49 Rabbit67890 has quit (Quit: Rabbit67890)
 487 2012-01-02 09:40:59 <cjdelisle> if tycho and slush were to add a bots like luke's which read off transactions as they were discovered and validated, you could wait until the 3 validated a transaction and unless you're dealing with hundreds of btc, nothing to worry about
 488 2012-01-02 09:41:35 <forrestv> cjdelisle, in response to your first idea, nodes don't forward a transaction if it conflicts with an already-received one
 489 2012-01-02 09:42:15 <forrestv> so a node might not see both, unless it were on the edge between the two parts of the network that heard either transaction first
 490 2012-01-02 09:42:29 <cjdelisle> don't have to see both
 491 2012-01-02 09:42:43 <cjdelisle> just have to see that the major pools all saw yours and didn't drop it
 492 2012-01-02 09:43:11 dissipate has quit (Quit: Leaving)
 493 2012-01-02 09:43:14 devrandom has quit (Ping timeout: 276 seconds)
 494 2012-01-02 09:44:26 <amiller> so some of sipa's script extension proposal sort of involves parsing the current transaction
 495 2012-01-02 09:44:28 <amiller> https://gist.github.com/1262449
 496 2012-01-02 09:44:47 <amiller> OP_TXHASH specifically
 497 2012-01-02 09:46:10 <amiller> so i could imagine an op like OP_OUTPUT1 that puts a serialized version of the first tx:output <scriptpubkey> and <amount> on the stack
 498 2012-01-02 09:49:33 theorbtwo has joined
 499 2012-01-02 09:49:51 oww has quit (Ping timeout: 248 seconds)
 500 2012-01-02 09:50:08 <forrestv> amiller, your idea is still vulnerable to a kind of finney attack, where you're constantly mining for a block that gets your deposit back
 501 2012-01-02 09:50:53 <forrestv> in addition to containing the double-spend transaction
 502 2012-01-02 09:54:00 <amiller> yeah
 503 2012-01-02 09:54:43 <amiller> so in my example the collateral is 250 btc that is guaranteed to destroyed, there's no way to get it back even if you mine and try a finney attack
 504 2012-01-02 09:55:14 <amiller> the additional 250 btc that goes to the miner as an incentive you could get back if you mine your own blocks with your own double spends in it
 505 2012-01-02 09:55:41 <amiller> if we could rely on the expiration time then another way it could work is
 506 2012-01-02 09:56:17 <amiller> the collateral gets destroyed when a double spend is detected, unless a year's worth of blocks go by and then you can get your deposit back
 507 2012-01-02 09:58:36 hhhh333 has quit (Read error: Connection reset by peer)
 508 2012-01-02 09:58:42 hhhh333 has joined
 509 2012-01-02 10:00:39 <forrestv> ah
 510 2012-01-02 10:00:45 b4epoche_ has joined
 511 2012-01-02 10:01:35 b4epoche has quit (Ping timeout: 248 seconds)
 512 2012-01-02 10:01:36 b4epoche_ is now known as b4epoche
 513 2012-01-02 10:03:04 abragin has joined
 514 2012-01-02 10:08:35 gfinn has quit (Ping timeout: 276 seconds)
 515 2012-01-02 10:09:53 MobiusL has quit (Ping timeout: 276 seconds)
 516 2012-01-02 10:11:02 booo has joined
 517 2012-01-02 10:12:34 bakh has joined
 518 2012-01-02 10:21:47 sytse has quit (Ping timeout: 252 seconds)
 519 2012-01-02 10:23:14 MobiusL has joined
 520 2012-01-02 10:31:46 gfinn has joined
 521 2012-01-02 10:33:51 theorb has joined
 522 2012-01-02 10:33:56 theorbtwo has quit (Ping timeout: 244 seconds)
 523 2012-01-02 10:38:01 RazielZ has quit (Quit: Leaving)
 524 2012-01-02 10:40:15 booo has quit (Ping timeout: 252 seconds)
 525 2012-01-02 10:55:01 m00p has joined
 526 2012-01-02 11:01:02 the__batman has quit (Read error: Connection reset by peer)
 527 2012-01-02 11:02:26 the_batman has joined
 528 2012-01-02 11:03:44 Diablo-D3 has quit (Read error: Operation timed out)
 529 2012-01-02 11:05:21 devrandom has joined
 530 2012-01-02 11:07:30 Joric has quit (Ping timeout: 255 seconds)
 531 2012-01-02 11:12:48 Joric has joined
 532 2012-01-02 11:12:49 Joric has quit (Changing host)
 533 2012-01-02 11:12:49 Joric has joined
 534 2012-01-02 11:13:15 Dagger3 has quit (Quit: Quitting)
 535 2012-01-02 11:14:16 Dagger3 has joined
 536 2012-01-02 11:14:53 JZavala has quit (Ping timeout: 248 seconds)
 537 2012-01-02 11:16:31 minimoose has quit (Quit: minimoose)
 538 2012-01-02 11:19:09 theorb has quit (Ping timeout: 248 seconds)
 539 2012-01-02 11:23:32 Fnar has joined
 540 2012-01-02 11:23:53 hhhh333 has quit ()
 541 2012-01-02 11:24:11 marf_away has joined
 542 2012-01-02 11:28:30 theorbtwo has joined
 543 2012-01-02 11:35:09 theorb has joined
 544 2012-01-02 11:35:11 theorbtwo has quit (Ping timeout: 240 seconds)
 545 2012-01-02 11:41:12 bakh has quit (Remote host closed the connection)
 546 2012-01-02 11:47:44 copumpkin has quit (Ping timeout: 248 seconds)
 547 2012-01-02 11:47:54 copumpkin has joined
 548 2012-01-02 11:49:11 darkee has quit (Remote host closed the connection)
 549 2012-01-02 11:49:26 darkee has joined
 550 2012-01-02 11:50:35 darkee has quit (Remote host closed the connection)
 551 2012-01-02 11:51:08 darkee has joined
 552 2012-01-02 11:55:47 weather has joined
 553 2012-01-02 11:57:33 RazielZ has joined
 554 2012-01-02 12:05:30 darkee has joined
 555 2012-01-02 12:07:02 darkee has quit (!~darkee@gateway/tor-sasl/darkee|Remote host closed the connection)
 556 2012-01-02 12:07:19 darkee has joined
 557 2012-01-02 12:08:50 darkee has quit (Ping timeout: 276 seconds)
 558 2012-01-02 12:08:55 darkee has quit (!~darkee@gateway/tor-sasl/darkee|Remote host closed the connection)
 559 2012-01-02 12:14:35 datagutt has joined
 560 2012-01-02 12:15:36 theorbtwo has joined
 561 2012-01-02 12:16:21 theorb has quit (Ping timeout: 255 seconds)
 562 2012-01-02 12:18:42 wasabi2 has joined
 563 2012-01-02 12:20:31 wasabi1 has quit (Ping timeout: 240 seconds)
 564 2012-01-02 12:32:02 weather has quit (Remote host closed the connection)
 565 2012-01-02 12:36:25 iocor has joined
 566 2012-01-02 12:46:49 theorb has joined
 567 2012-01-02 12:47:09 theorbtwo has quit (Ping timeout: 248 seconds)
 568 2012-01-02 12:48:16 darkee has joined
 569 2012-01-02 12:48:20 TD has joined
 570 2012-01-02 12:51:23 justmoon has joined
 571 2012-01-02 13:03:15 roconnor has joined
 572 2012-01-02 13:10:12 [Tycho] has joined
 573 2012-01-02 13:11:01 theorb has quit (Ping timeout: 240 seconds)
 574 2012-01-02 13:11:31 <justmoon> roconnor: got three bullet points on static analysis, see if you can add any: http://piratepad.net/E8AEAQJUw7
 575 2012-01-02 13:15:34 theorbtwo has joined
 576 2012-01-02 13:16:27 <roconnor> thanks
 577 2012-01-02 13:16:52 <roconnor> justmoon: BTW, I don't think I buy luke-jr's attack as I understood it from your description
 578 2012-01-02 13:17:22 <roconnor> justmoon: in order to build an attack block the attacker has to perform sufficent proof of work, which by its nature is expensive on average.
 579 2012-01-02 13:18:11 <roconnor> justmoon: such a block has to be atop the current chain otherwise a smart client could delay processing it until it is part of a most-difficult chain.
 580 2012-01-02 13:18:50 <roconnor> justmoon: and if the block is invalid the attack window is about 10 minutes on average.
 581 2012-01-02 13:19:15 <sipa> roconnor: an attacker wishing to create a block with an invalid transaction in currently needs the same
 582 2012-01-02 13:19:15 abragin has quit (Read error: Connection reset by peer)
 583 2012-01-02 13:20:11 <roconnor> sipa: an attacker only needs to create an invalid transaction; not an invalid block
 584 2012-01-02 13:20:23 <sipa> those will not pass IsStandard()
 585 2012-01-02 13:20:26 <sipa> roconnor: however, if IsStandard() is removed (or miners use their own rules), it may be possible to let them check pathological scripts
 586 2012-01-02 13:21:32 abragin has joined
 587 2012-01-02 13:21:32 abragin has quit (Changing host)
 588 2012-01-02 13:21:33 abragin has joined
 589 2012-01-02 13:21:50 <sipa> justmoon: nice summary, by the way
 590 2012-01-02 13:22:08 <roconnor> sipa: what are you thinking?
 591 2012-01-02 13:22:11 <roconnor> er
 592 2012-01-02 13:22:14 <roconnor> that came out badly
 593 2012-01-02 13:22:28 <roconnor> sipa: what are you thinking when you say " it may be possible to let them check pathological scripts" ?
 594 2012-01-02 13:24:32 <sipa> right now, miners will not accept non-standard transactions into their memory pool
 595 2012-01-02 13:24:44 <sipa> (or those who do are at their own risk)
 596 2012-01-02 13:26:33 <sipa> so if you create a script such as described in justmoon's text, with the intention of DoS'ing a node, it will not be executed unless it is in a block
 597 2012-01-02 13:26:33 TD has quit (Read error: Connection reset by peer)
 598 2012-01-02 13:26:42 <roconnor> sipa: what about miners who charge their fees based on the number of OP_CHECKSIGs and OP_MULTICHECKSIGs?
 599 2012-01-02 13:26:49 <jgarzik> luke-jr: for what do you wait?
 600 2012-01-02 13:26:54 theorb has joined
 601 2012-01-02 13:27:28 theorbtwo has quit (Ping timeout: 248 seconds)
 602 2012-01-02 13:27:43 <sipa> roconnor: all i'm saying is that with IsStandard() in place, in one form or another, there is no problem
 603 2012-01-02 13:28:41 <sipa> however, i'm in favor of removing or at least weakening that check over time
 604 2012-01-02 13:28:47 <roconnor> sipa: I don't think that was luke-jr's argument.
 605 2012-01-02 13:29:11 <roconnor> sipa: afterall IsStandard() is simply a form of static analysis; one that does happen to work in the presence of OP_EVAL.
 606 2012-01-02 13:29:21 <sipa> true
 607 2012-01-02 13:29:32 <sipa> i'm not sure what you're saying now
 608 2012-01-02 13:29:42 <sipa> or what we're discussing
 609 2012-01-02 13:31:12 <sipa> justmoon mentions that there is a equally bad attack, namely a large block with a bad tx at the end; you answer that it is not the same, as a pathological script will cause havoc by just producing a script, while luke's attack requires a proof-of-work; i claim that with IsStandard() in place, a pathological script that is not in a block will not cause harm either as it is discarded before entering the memory pool
 610 2012-01-02 13:32:07 <makomk> coderrr: I actually noticed in my own testing that it seemed to treat multi-sig transactions where you only have one key and more are required as yours, come to think of it.
 611 2012-01-02 13:32:54 oww has joined
 612 2012-01-02 13:33:43 <roconnor> sipa: yes, but that argument applies only to standard miners.  There are other non-standard miners and I think it would be a mistake to not give them consideration when ammending the protocol.  Otherwise you should be ammending the protocol to fail with any non-standard transaction.
 613 2012-01-02 13:33:59 <sipa> roconnor: yes, absolutely
 614 2012-01-02 13:35:47 TD has joined
 615 2012-01-02 13:36:39 TD has quit (Client Quit)
 616 2012-01-02 13:37:26 <justmoon> sipa: is it safe to assume that we will never ever want to accept non-standard transactions into the memory pool?
 617 2012-01-02 13:37:34 <sipa> no
 618 2012-01-02 13:37:40 <justmoon> sipa: maybe that's a very strong argument for statis analysis actually
 619 2012-01-02 13:37:56 <justmoon> i.e. static analysis allows to define rules for semi-standard transactions in the future
 620 2012-01-02 13:38:05 <sipa> well, imho a miner decides what he accepts into his pool
 621 2012-01-02 13:38:37 <justmoon> right, but say we want to allow arbitrary scripts as standard, but disable specific op codes
 622 2012-01-02 13:38:40 <sipa> but if we cannot guarantee safe runtime behaviour at the network rule level, you shift responsibility for only allowing sane scripts to the miner
 623 2012-01-02 13:38:46 <sipa> and that is probably not the best solution
 624 2012-01-02 13:39:35 <justmoon> sipa: are you agreeing or disagreeing with me right now? ^^
 625 2012-01-02 13:39:45 <genjix> justmoon & sipa, how were those times? we might have to adjust them so tell me what works best for both of you
 626 2012-01-02 13:39:51 <genjix> especially if it becomes a regular thing
 627 2012-01-02 13:40:18 <sipa> tuesday around midnight is fine for me, genjix
 628 2012-01-02 13:40:35 <sipa> justmoon: i'm agreeing i think :)
 629 2012-01-02 13:40:45 <justmoon> genjix: I can't do regular anything, sorry - I can pop in to meetings if I happen to be on, that's it - but you don't need me anyway, I don't usually care about the original client too much :P
 630 2012-01-02 13:41:11 <genjix> justmoon: well it's not about the original client, just 'things'
 631 2012-01-02 13:41:33 <justmoon> genjix: well, the only I would care about is blockchain-level changes and hopefully we won't do those every week
 632 2012-01-02 13:41:39 <justmoon> only thing*
 633 2012-01-02 13:42:13 <justmoon> although we may have to do them every week if we prematurely launch OP_EVAL </sarcasm>
 634 2012-01-02 13:42:14 <genjix> ok but you'd be surprised what having a regular communication could do. simply discussing ideas and stuff
 635 2012-01-02 13:42:43 <justmoon> yes, yes, I'll see what I can do, now bugger off ;)
 636 2012-01-02 13:42:55 <justmoon> thanks for organizing it though :)
 637 2012-01-02 13:44:07 <roconnor> justmoon: I added a bullet
 638 2012-01-02 13:44:09 paraipan has quit (Remote host closed the connection)
 639 2012-01-02 13:44:36 <justmoon> roconnor: thanks!
 640 2012-01-02 13:45:04 paraipan has joined
 641 2012-01-02 13:45:56 dvide has joined
 642 2012-01-02 13:48:53 Sedra has quit (Read error: Connection reset by peer)
 643 2012-01-02 13:49:02 Sedra has joined
 644 2012-01-02 13:50:57 <justmoon> sipa, roconnor: so, where does this line of argument lead us: "Suppose we want to one day allow arbitrary scripts as IsStandard, but put constraints on the maximum count of certain opcodes and on which opcodes are allowed. If we want to include OP_EVAL in the set of allowed opcodes in that case it's important that OP_EVAL is implemented in a way that allows static analysis. If proponents of the current implementation want to argue that we don
 645 2012-01-02 13:50:57 <justmoon> 't need static analysis now, the burden is on them to show how we could retrofit it when/if we get to this point or why they think we will never want to allow some freedom in IsStandard that includes OP_EVAL."
 646 2012-01-02 13:55:02 [Tycho] has quit (Remote host closed the connection)
 647 2012-01-02 13:55:54 bobke has joined
 648 2012-01-02 13:58:40 theorbtwo has joined
 649 2012-01-02 13:59:51 theorb has quit (Ping timeout: 260 seconds)
 650 2012-01-02 14:06:12 <sipa> justmoon: pretty good argument, i'd say
 651 2012-01-02 14:06:37 <sipa> in favor of static analysis
 652 2012-01-02 14:06:41 <justmoon> sipa: k, can you check the list for static analysis proposal and see if I missed any?
 653 2012-01-02 14:06:44 <justmoon> http://piratepad.net/E8AEAQJUw7
 654 2012-01-02 14:06:54 <justmoon> or misattributed any, etc.
 655 2012-01-02 14:09:17 <sipa> justmoon: i believe i mentioned that a dry run cannot predict the outcome of a checksig
 656 2012-01-02 14:09:58 <justmoon> sipa: you mean you were the first?
 657 2012-01-02 14:10:26 <justmoon> yep, you were
 658 2012-01-02 14:10:44 <sipa> i think so, but you had an example to prove the potential exponential behaviour
 659 2012-01-02 14:11:20 <justmoon> yep, I checked, you were the first :)
 660 2012-01-02 14:11:27 <justmoon> credit where credit is due :D
 661 2012-01-02 14:12:26 <sipa> anyway, i'll elaborate the fixed position prefix idea and send it to the mailinglist
 662 2012-01-02 14:12:46 <justmoon> very good - did I miss any promising proposal that we know about?
 663 2012-01-02 14:12:51 b4epoche_ has joined
 664 2012-01-02 14:12:58 <justmoon> I got a list of four at the bottom right now
 665 2012-01-02 14:13:32 <sipa> i don't know any other that allow analyysis
 666 2012-01-02 14:13:47 <genjix> yay for the victory of static analysis over dry runs
 667 2012-01-02 14:13:48 b4epoche has quit (Ping timeout: 240 seconds)
 668 2012-01-02 14:13:48 b4epoche_ is now known as b4epoche
 669 2012-01-02 14:15:08 <justmoon> I'm not going too declare victory yet, if working on bitcoin has taught me anything, it's that I know nothing about anything until I post it to mailing list and someone completely take it apart :D
 670 2012-01-02 14:15:11 <justmoon> takes*
 671 2012-01-02 14:18:13 <jeremias> :D
 672 2012-01-02 14:18:19 <jeremias> pretty good description
 673 2012-01-02 14:18:29 <justmoon> thanks :)
 674 2012-01-02 14:18:55 <justmoon> oh wait, were you talking about my OP_EVAL summary or my mailing list humility comment? :D
 675 2012-01-02 14:23:27 chrisb__ has joined
 676 2012-01-02 14:24:20 <justmoon> hmm, should I use nicknames or real names in the summary btw?
 677 2012-01-02 14:24:28 MC1984 has quit (Ping timeout: 240 seconds)
 678 2012-01-02 14:24:46 MC1984 has joined
 679 2012-01-02 14:24:49 <justmoon> I'll probably leave it at nicknames
 680 2012-01-02 14:24:53 bencoder has joined
 681 2012-01-02 14:25:25 MC1984 has quit (Read error: Connection reset by peer)
 682 2012-01-02 14:25:33 bencoder has left ()
 683 2012-01-02 14:26:11 MC1984 has joined
 684 2012-01-02 14:26:30 <roconnor> justmoon: honestly I don't really know people's real names, so I'd find it more confusing to use them :D
 685 2012-01-02 14:26:57 <justmoon> hi I'm Stefan :D
 686 2012-01-02 14:27:01 <justmoon> :P
 687 2012-01-02 14:27:08 <roconnor> :D
 688 2012-01-02 14:27:11 <roconnor> I'm roconnor
 689 2012-01-02 14:27:16 theorbtwo has quit (Ping timeout: 260 seconds)
 690 2012-01-02 14:27:25 <justmoon> lol
 691 2012-01-02 14:27:39 <justmoon> ok, point taken, I'll leave it at nicks
 692 2012-01-02 14:28:26 <mcorlett> justmoon: You're the Stefan Thomas from the Bittalk.tv thing?
 693 2012-01-02 14:28:36 <justmoon> the same, yep
 694 2012-01-02 14:28:46 * sipa knows no other Stefan Thomas involved in Bitcoin
 695 2012-01-02 14:28:58 <justmoon> sipa: there are 150 Stefan Thomases on facebook
 696 2012-01-02 14:29:07 hippich_ has quit (Ping timeout: 268 seconds)
 697 2012-01-02 14:29:14 <justmoon> in fact there is a facebook group for stefan thomases
 698 2012-01-02 14:29:20 <mcorlett> sipa: He only mentioned his first name, wise guy!
 699 2012-01-02 14:29:23 <roconnor> justmoon: BTW, do you know what the point of OP_IFDUP is?
 700 2012-01-02 14:29:36 <sipa> mcorlett: dang!
 701 2012-01-02 14:29:48 <justmoon> mcorlett: my forum nick is "Stefan Thomas" with a description of "aka justmoon" :D
 702 2012-01-02 14:30:01 <roconnor> justmoon: it is one of the few (only) operations that doesn't statically change the size of the stack.
 703 2012-01-02 14:30:04 <sipa> ok, i still don't know any other Stefan involved in Bitcoin, but maybe I don't know that many real names either
 704 2012-01-02 14:30:19 <roconnor> oh right and OP_MULTISIGCHECK
 705 2012-01-02 14:30:30 <roconnor> damn
 706 2012-01-02 14:30:36 <sipa> I'm quite sure that there were people at the conference I knew online, not recognizing them IRL
 707 2012-01-02 14:30:44 <roconnor> if only m and n were part of the OP_MULTISIGCHECK code
 708 2012-01-02 14:31:05 <genjix> roconnor: hi i'm genjix
 709 2012-01-02 14:31:12 <sipa> anyway, gotta go
 710 2012-01-02 14:31:16 <justmoon> sipa: bye
 711 2012-01-02 14:31:22 <roconnor> The more I think about it the more I think that is a big mistake in the protocol.
 712 2012-01-02 14:31:30 <justmoon> roconnor: OP_CHECKMULTISIG has a max of 20 - that's not too bad
 713 2012-01-02 14:31:30 <genjix> there is only one of me in the whole world
 714 2012-01-02 14:31:42 <genjix> my dad mis-transliterated his surname to english
 715 2012-01-02 14:31:54 <roconnor> justmoon: but it would be better if m and n were staticaly given.
 716 2012-01-02 14:32:02 theorbtwo has joined
 717 2012-01-02 14:32:11 <justmoon> roconnor: you can't have everything
 718 2012-01-02 14:32:17 <roconnor> justmoon: static analysis would give more accurate time and space usage
 719 2012-01-02 14:32:25 <justmoon> roconnor: the problem with OP_EVAL is that it can contain easily 6 OP_CHECKMULTISIGs, putting its upper bound at 120
 720 2012-01-02 14:34:35 <roconnor> justmoon: if I were the senior bitcoin developer I could have everything. BWAHH!
 721 2012-01-02 14:34:57 <mcorlett> sipa: Here are a couple of semi-involved Stefans: http://www.google.com/search?q="stefan"%20bitcoin%20-thomas%20-weusecoins
 722 2012-01-02 14:35:02 <roconnor> I don't know, probably OP_CHECKMULTISIG is already in use.
 723 2012-01-02 14:35:23 <justmoon> mcorlett: rofl
 724 2012-01-02 14:35:40 <justmoon> I see a "Bitcoin Stefans" facebook group in my future
 725 2012-01-02 14:35:48 <mcorlett> Hahaha!
 726 2012-01-02 14:36:05 <justmoon> http://en.wikipedia.org/wiki/Project_Steve
 727 2012-01-02 14:37:40 <mcorlett> You should start a trend of naming your children variations of the name "Stefan" on the forums.
 728 2012-01-02 14:37:52 <mcorlett> Bitcoin children!
 729 2012-01-02 14:37:55 <mcorlett> Our future!
 730 2012-01-02 14:38:10 <justmoon> yeah... no.
 731 2012-01-02 14:38:14 <justmoon> ;)
 732 2012-01-02 14:38:20 DontMindMe2 has quit (Quit: Nettalk6 - www.ntalk.de)
 733 2012-01-02 14:38:32 <mcorlett> Oh well... at least I tried!
 734 2012-01-02 14:38:39 <justmoon> my ego thanks you for indulging it
 735 2012-01-02 14:39:31 <genjix> project steve includes Stefan, Steven and Stephan
 736 2012-01-02 14:39:46 <justmoon> yep, unfortunately I'm not a scientist
 737 2012-01-02 14:40:15 <genjix> weird, i just realised that Stevan is softer than Stephan is softer than SteFan
 738 2012-01-02 14:40:33 <genjix> Steven
 739 2012-01-02 14:40:51 Mqrius has quit ()
 740 2012-01-02 14:40:57 <justmoon> yeah, man, I'm hardcore
 741 2012-01-02 14:41:20 <justmoon> all those other guys are SOFT, but I'm SHARP
 742 2012-01-02 14:41:31 <justmoon> this has got to be a low point for this channel
 743 2012-01-02 14:41:35 <genjix> jajaja
 744 2012-01-02 14:41:37 <mcorlett> genjix: Stop repeating the name in your head, or http://en.wikipedia.org/wiki/Semantic_satiation
 745 2012-01-02 14:42:40 hippich_ has joined
 746 2012-01-02 14:43:20 <genjix> interesting article
 747 2012-01-02 14:47:00 theorb has joined
 748 2012-01-02 14:47:07 theorbtwo has quit (Ping timeout: 244 seconds)
 749 2012-01-02 14:48:28 ski_ has quit (Ping timeout: 255 seconds)
 750 2012-01-02 14:48:38 <CIA-100> libbitcoin: Kamil Domanski * recfacba8d032 / (5 files in 4 dirs): early stub of node discovery http://tinyurl.com/7gbxop5
 751 2012-01-02 14:48:51 hippich_ has quit (Ping timeout: 260 seconds)
 752 2012-01-02 14:49:11 theorb is now known as theorbtwo
 753 2012-01-02 14:50:05 MC1984 has quit (Ping timeout: 268 seconds)
 754 2012-01-02 14:50:25 MC1984 has joined
 755 2012-01-02 14:50:54 ski_ has joined
 756 2012-01-02 14:51:30 ThomasV has joined
 757 2012-01-02 14:56:04 Carmidev has joined
 758 2012-01-02 14:56:15 gavinandresen has joined
 759 2012-01-02 14:58:45 <justmoon> gavinandresen: sipa, roconnor and I have been working on a summary of the private discussion to be posted on the list, can you review please? http://piratepad.net/E8AEAQJUw7
 760 2012-01-02 14:59:55 <gavinandresen> justmoon:  I've got another alternative proposal that I think I like
 761 2012-01-02 15:00:26 <gavinandresen> Are sipa and roconnor here?
 762 2012-01-02 15:00:37 <justmoon> on and off
 763 2012-01-02 15:01:57 <gavinandresen> So I was thinking.... what if the new pay-to-code-hash transaction is just:    HASH160 <> EQUAL  ?
 764 2012-01-02 15:02:14 <gavinandresen> Old clients would verify that the hash is correct.
 765 2012-01-02 15:02:36 <gavinandresen> New clients would recoginize "ah, a pay-to-script, I should take the top item on the scriptSig and use that as the scriptPubKey"
 766 2012-01-02 15:02:40 <gavinandresen> (after verifying the hash)
 767 2012-01-02 15:03:03 <justmoon> sounds good, no recursion though, right?
 768 2012-01-02 15:03:14 <gavinandresen> No, no recursion.  No find-and-replace.
 769 2012-01-02 15:03:34 <gavinandresen> Just "Run the script like an old client.  If it validates, take last item on scriptSig and validate again."
 770 2012-01-02 15:03:49 <gavinandresen> And probably "fail validation if scriptSig is not push-only"
 771 2012-01-02 15:04:17 <justmoon> I think that's my new favorite proposal
 772 2012-01-02 15:04:31 jacobwg has joined
 773 2012-01-02 15:04:46 <justmoon> would like to look at recursion again though - maybe someone has a clever idea for that as well
 774 2012-01-02 15:05:34 <gavinandresen> I think I agree with roconnor:  recursion should wait until we really deeply understand the current Script.
 775 2012-01-02 15:05:52 <justmoon> good to have to sane, conservative gavin back :D
 776 2012-01-02 15:06:25 <gavinandresen> I just want the feature, and if there is a safer way to get it....
 777 2012-01-02 15:06:33 <sipa> in that case i'd still prefer to have an OP_EVAL there
 778 2012-01-02 15:06:54 <sipa> whose semantics is: replace script with current top-of-stack and start over
 779 2012-01-02 15:07:36 <gavinandresen> But then you get into cannot-statically-analyze again....
 780 2012-01-02 15:07:44 <sipa> ah bah; of course
 781 2012-01-02 15:07:47 <gavinandresen> ... because top-of-stack may not be what you started with
 782 2012-01-02 15:08:01 theorb has joined
 783 2012-01-02 15:08:07 theorbtwo has quit (Ping timeout: 252 seconds)
 784 2012-01-02 15:08:19 theorb is now known as theorbtwo
 785 2012-01-02 15:08:20 <justmoon> we can still add OP_EVAL, this new idea doesn't consume a NOP at all
 786 2012-01-02 15:08:26 <justmoon> we just don't need it as urgently
 787 2012-01-02 15:08:26 <gavinandresen> Right
 788 2012-01-02 15:08:35 <sipa> good point
 789 2012-01-02 15:08:55 * justmoon hugs gavin - best christmas present ever!
 790 2012-01-02 15:09:08 Carmidev has quit (Read error: Connection reset by peer)
 791 2012-01-02 15:09:25 <sipa> justmoon: but but.. there has not yet been a christmas this year!
 792 2012-01-02 15:09:29 <gavinandresen> "We" still need to specify the rules for counting sigOps inside the serialized scripts
 793 2012-01-02 15:10:10 <genjix> the idea is a hack
 794 2012-01-02 15:10:13 <justmoon> same... as normal?
 795 2012-01-02 15:10:14 <genjix> but i like it
 796 2012-01-02 15:10:19 <genjix> haha
 797 2012-01-02 15:10:26 <justmoon> that was @counting
 798 2012-01-02 15:10:50 <justmoon> why is the counting any different?
 799 2012-01-02 15:11:00 <genjix> i dont think it is
 800 2012-01-02 15:11:04 <sipa> it still needs to be specified, even if it is trivial
 801 2012-01-02 15:11:11 <gavinandresen> Right now, a CHECKMULTISIG is counted as 20 sigops.  That will be an issue if they get popular.
 802 2012-01-02 15:11:33 <justmoon> I see, so you're thinking here's our chance to tighten that
 803 2012-01-02 15:11:37 <justmoon> hmm
 804 2012-01-02 15:11:37 <gavinandresen> Yes
 805 2012-01-02 15:11:38 <sipa> note that old clients will only count the visible operations
 806 2012-01-02 15:11:46 <sipa> and you want to keep co,patibility with those, no?
 807 2012-01-02 15:12:07 <gavinandresen> Rule could be:  n CHECKMULTISIG where n is one of the OP_1 to OP_16 opocdes is counted as n in the serialized part of scritpSig
 808 2012-01-02 15:12:31 <gavinandresen> If n doesn't immediately precede (if it is calculated somehow) then count as worst-case (20)
 809 2012-01-02 15:12:50 <genjix> if you tighten it you risk a fork
 810 2012-01-02 15:12:50 <gavinandresen> sipa:  right, we need to keep no hard-block-chain-split with old clients
 811 2012-01-02 15:13:03 <justmoon> genjix: no old clients will see it as just data
 812 2012-01-02 15:13:05 <gavinandresen> genjix:  that's why it is "in the serialized scriptSig script"
 813 2012-01-02 15:13:12 <genjix> yeah but then what's the purpose?
 814 2012-01-02 15:13:28 <gavinandresen> I think most CHECKMULTISIGs will be done using the new method
 815 2012-01-02 15:13:47 <genjix> an attacker doesnt care though. he just wants to make a bad block
 816 2012-01-02 15:14:36 <gavinandresen> The purpose is to allow more "new-style" CHECKMULTISIG operations in a block that old clients AND new clients will both accept as valid.
 817 2012-01-02 15:14:39 <genjix> there are a bunch of forking changes that may happen in the future... might be a good idea to have a wish-list for that day
 818 2012-01-02 15:15:33 <justmoon> so funny, now that gavin has gone back to being sane, I have gone back to being superfluous :D
 819 2012-01-02 15:15:36 <gavinandresen> yes, that's on my todo list....   I worry about keeping it on the wiki, though.....
 820 2012-01-02 15:16:11 <gavinandresen> I keep telling people to slap me upside my head if I go insane and people keep thinking I'm not serious
 821 2012-01-02 15:16:21 <justmoon> gavinandresen: should I still post my summary to the mailing list? any corrections?
 822 2012-01-02 15:16:34 <genjix> i get you. but what if new clients accept same number of SIG ops in main script and less in the EVAL script
 823 2012-01-02 15:16:43 <genjix> and old clients accept same number of SIG ops
 824 2012-01-02 15:16:52 <gavinandresen> justmoon:  No, it is a good summary of the opposition to OP_EVAL
 825 2012-01-02 15:16:58 <gavinandresen> justmoon: so post it
 826 2012-01-02 15:17:12 <genjix> anyway i am really glad for no dry-run and keeping static analysis
 827 2012-01-02 15:18:04 <gavinandresen> genjix: a majority of mining power still needs to be doing things "the new way" for everything to work smoothly.
 828 2012-01-02 15:18:09 <justmoon> posted.
 829 2012-01-02 15:18:16 <genjix> true
 830 2012-01-02 15:19:09 theorbtwo has quit (Ping timeout: 244 seconds)
 831 2012-01-02 15:19:10 theorb has joined
 832 2012-01-02 15:19:19 <gavinandresen> ... so there still needs to be a vote, etc.   And if you are mining using the old code AND mining non-standard transactions then you could pretty easily end up on the wrong side of a blockchain split.
 833 2012-01-02 15:19:21 theorb is now known as theorbtwo
 834 2012-01-02 15:19:32 <genjix> oh miners could not build off bad blocks
 835 2012-01-02 15:19:41 <genjix> simple
 836 2012-01-02 15:20:09 <genjix> yeah i dont think a fork is a problem
 837 2012-01-02 15:20:21 <justmoon> vote? who gets to vote? miners?
 838 2012-01-02 15:20:29 <genjix> yeah
 839 2012-01-02 15:20:36 <justmoon> kk
 840 2012-01-02 15:20:50 <gavinandresen> Yes, we'll ask them to put a string in their coinbase showing they accept the new rules
 841 2012-01-02 15:20:57 <genjix> vote with their C/G/XPUs
 842 2012-01-02 15:21:40 <genjix> make it [X]
 843 2012-01-02 15:24:33 <justmoon> gavinandresen: so what's the exact sigPubKey in your proposal? OP_HASH160 OP_EQUALVERIFY?
 844 2012-01-02 15:25:08 <gavinandresen> justmoon:  OP_HASH160 <push 20-byte-hash> OP_EQUAL
 845 2012-01-02 15:25:18 <gavinandresen> scriptPubKey has to leave a true value on the stack....
 846 2012-01-02 15:25:44 <justmoon> right
 847 2012-01-02 15:26:13 [Tycho] has joined
 848 2012-01-02 15:26:19 danbri has quit (Ping timeout: 240 seconds)
 849 2012-01-02 15:26:43 <gavinandresen> Hey [Tycho] .  You should delay rolling out OP_EVAL.
 850 2012-01-02 15:27:21 <[Tycho]> Hello.
 851 2012-01-02 15:27:32 <[Tycho]> Should I stop including it in my coinbase too ?
 852 2012-01-02 15:27:45 DaQatz has quit (Read error: Connection reset by peer)
 853 2012-01-02 15:28:50 <gavinandresen> [Tycho]: yes.  Although there's no rush, I'm thinking about an alternative that is different but compatible
 854 2012-01-02 15:29:39 <genjix> [Tycho]: what's your email?
 855 2012-01-02 15:29:40 <[Tycho]> Ok, I'll make necessary adjustments before 15.01.2012
 856 2012-01-02 15:30:08 <[Tycho]> genjix: at the bottom of my webpages.
 857 2012-01-02 15:30:15 DaQatz has joined
 858 2012-01-02 15:30:28 <genjix> [Tycho]: which is?
 859 2012-01-02 15:30:37 <[Tycho]> deepbit.net
 860 2012-01-02 15:30:53 <kinlo> the getmemorypool call, it never includes the generation transaction right?   So one is always required to "decompile" the transactions it is presenting to calculate the required sum to put in the generation transaction?
 861 2012-01-02 15:32:47 <[Tycho]> gavinandresen: were there any changes to proposed checkmultisig usage ? When it will be safe to send multisigs to main net ?
 862 2012-01-02 15:33:36 <gmaxwell> kinlo: Why ask here instead of just running it?
 863 2012-01-02 15:33:38 <gmaxwell> jeesh.
 864 2012-01-02 15:33:42 <gmaxwell>     "coinbasevalue" : 5000350000,
 865 2012-01-02 15:33:55 <gavinandresen> [Tycho]: No changes to CHECKMULTISIG; if you can find somebody to mine them it is safe to create them now (the plain CHECKMULTISIG without OP_EVAL)
 866 2012-01-02 15:33:57 <kinlo> uh
 867 2012-01-02 15:34:08 <kinlo> gmaxwell: my apologies, I must be blind
 868 2012-01-02 15:34:26 <gmaxwell> kinlo: heh, none needed. :) I just thought it was funny. :)
 869 2012-01-02 15:34:36 <kinlo> eh
 870 2012-01-02 15:34:46 <kinlo> well I *should* have seen that!
 871 2012-01-02 15:35:05 <[Tycho]> gavinandresen: with one additional "0" before actual args ? Ok.
 872 2012-01-02 15:35:22 <gmaxwell> well, it's less obvious that it includes fees if your pool doesn't have any fees in it.
 873 2012-01-02 15:35:28 <[Tycho]> It's sad that nice addresses for multisigs aren't available...
 874 2012-01-02 15:36:55 <kinlo> gmaxwell: well, it currently has fee's in it
 875 2012-01-02 15:37:14 theorb has joined
 876 2012-01-02 15:37:31 theorbtwo has quit (Ping timeout: 255 seconds)
 877 2012-01-02 15:37:42 theorb is now known as theorbtwo
 878 2012-01-02 15:40:03 theorbtwo has quit (Remote host closed the connection)
 879 2012-01-02 15:40:13 theorbtwo has joined
 880 2012-01-02 15:40:17 <gmaxwell> kinlo: Hey, I'm trying to give you an out here! :)
 881 2012-01-02 15:40:32 <kinlo> gmaxwell: it was a 6 between all zero's
 882 2012-01-02 15:40:49 <kinlo> but actually, the sheer number of transactions made me overlook the bottom part
 883 2012-01-02 15:41:15 <kinlo> I'm now trying to figure out the bits part without having to ask :p
 884 2012-01-02 15:42:14 <kinlo> it looks like difficulty but trying to confirm myself
 885 2012-01-02 15:42:22 <gmaxwell> kinlo: yes, that the compact target.
 886 2012-01-02 15:42:23 minimoose has joined
 887 2012-01-02 15:42:38 <kinlo> great!
 888 2012-01-02 15:42:48 <kinlo> now only write code to create a block :)
 889 2012-01-02 15:43:24 <gmaxwell> kinlo: if you weren't aware— p2pool uses getmemorypool so you can go look at its code.
 890 2012-01-02 15:43:43 <kinlo> I haven't had a look at p2pool yet
 891 2012-01-02 15:43:47 <kinlo> lemme do that first
 892 2012-01-02 15:44:00 DontMindMe2 has joined
 893 2012-01-02 15:44:20 <gmaxwell> (and p2pool has solved two blocks so far since the newyear, both with transactions, whoppie!)
 894 2012-01-02 15:44:25 <genjix> gmaxwell: what's your email?
 895 2012-01-02 15:44:32 <gmaxwell> genjix: gmaxwell@gmail.com
 896 2012-01-02 15:44:37 <genjix> thanks
 897 2012-01-02 15:44:42 <genjix> nanotube: ?
 898 2012-01-02 15:45:13 theorb has joined
 899 2012-01-02 15:45:57 theorbtwo has quit (Ping timeout: 276 seconds)
 900 2012-01-02 15:46:37 theorb is now known as theorbtwo
 901 2012-01-02 15:47:11 m00p has quit (Read error: Operation timed out)
 902 2012-01-02 15:50:13 theorb has joined
 903 2012-01-02 15:51:48 theorbtwo has quit (Ping timeout: 276 seconds)
 904 2012-01-02 15:51:57 theorb is now known as theorbtwo
 905 2012-01-02 15:52:41 theorbtwo has quit (Remote host closed the connection)
 906 2012-01-02 15:52:46 theorbtwo has joined
 907 2012-01-02 15:55:32 zyb has quit (Ping timeout: 240 seconds)
 908 2012-01-02 16:01:36 <luke-jr> jgarzik: coinbaser merged into master
 909 2012-01-02 16:02:22 <roconnor> [Tycho]: It shouldn't be hard to come up with an addressing scheme for arbitrary scripts.  Something like URI:bitcoin-script:<base64 encoding of script>  I'm sure people have already thought of this.
 910 2012-01-02 16:03:09 <roconnor> [Tycho]: if you define it, it will quickly become defacto
 911 2012-01-02 16:03:21 <[Tycho]> Cool.
 912 2012-01-02 16:03:55 <[Tycho]> But multisigs can be redeemed by different scripts.
 913 2012-01-02 16:04:04 <gavinandresen> bitcoin-script:<blah> makes me nervous....
 914 2012-01-02 16:05:08 <gavinandresen> ... for the same reason an openssl-digest-scheme:<blah> URI that users could see would make me nervous
 915 2012-01-02 16:05:15 <roconnor> gavinandresen: well, it is out-of-band data isn't under our control anyways, so no point in sweating it.
 916 2012-01-02 16:05:39 ThomasV has quit (Quit: Leaving)
 917 2012-01-02 16:05:41 <gavinandresen> roconnor: I just don't want to encourage it as "here's a good way to do it"
 918 2012-01-02 16:05:43 * roconnor didn't quite edit that senctence correctly
 919 2012-01-02 16:06:30 <roconnor> [Tycho]: what do you mean by "But multisigs can be redeemed by different scripts."
 920 2012-01-02 16:06:51 <justmoon> what's wrong with an address type for arbitrary scripts? [version byte] [scriptPubKey] [checksum]?
 921 2012-01-02 16:08:00 <gavinandresen> justmoon: Seems ripe for hacking to me.  An attacker could modify scriptPubKey and adjust the checksum if they can MITM
 922 2012-01-02 16:08:31 <justmoon> I didn't read the earlier part of the discussion, but it seems like if you're MITM you can replace any address
 923 2012-01-02 16:09:46 <gavinandresen> justmoon: true....  I'll admit my reaction is more "feels wrong" rather than "I've thought hard about it"
 924 2012-01-02 16:10:08 <justmoon> I just wanted to point out that bitcoin:<address> where address can be standard, eval or sigpubkey seems cleaner than a separate bitcoin-script:<sigPubKey>
 925 2012-01-02 16:10:34 <luke-jr> justmoon: when presented with long "garbage" data, humans tend to check the first and/or last few characters to be sure it's what they want
 926 2012-01-02 16:10:51 theorb has joined
 927 2012-01-02 16:11:01 <justmoon> luke-jr: meaning?
 928 2012-01-02 16:11:15 <luke-jr> justmoon: meaning a MITM of a non-hash is less likely to be noticed
 929 2012-01-02 16:11:16 theorbtwo has quit (Ping timeout: 255 seconds)
 930 2012-01-02 16:11:27 theorb is now known as theorbtwo
 931 2012-01-02 16:11:27 <luke-jr> more*
 932 2012-01-02 16:11:29 <luke-jr> err
 933 2012-01-02 16:11:30 <luke-jr> less* ☺
 934 2012-01-02 16:11:47 <justmoon> luke-jr: well, if a human sees an address, I call that a bug
 935 2012-01-02 16:11:55 <gavinandresen> luke-jr: yup
 936 2012-01-02 16:12:05 <gavinandresen> justmoon: Sure, in a perfect world humans never see them....
 937 2012-01-02 16:12:09 <luke-jr> justmoon: it's inevitable that humans must verify addresses at some point.
 938 2012-01-02 16:12:10 <gavinandresen> ... but we don't live in a perfect world
 939 2012-01-02 16:13:04 <luke-jr> it's not a new "problem"
 940 2012-01-02 16:13:21 <luke-jr> if SSH couldn't solve it, chances are neither will we
 941 2012-01-02 16:13:38 theorbtwo has quit (Remote host closed the connection)
 942 2012-01-02 16:13:45 theorbtwo has joined
 943 2012-01-02 16:14:22 <roconnor> meh, I don't really see what all the worry about URI:bitcoin-script: is
 944 2012-01-02 16:14:23 <justmoon> luke-jr: right, there is no online shopping, because nobody could solve the problem of how to identify the merchant without having users compare 30 byte crypto strings by hand
 945 2012-01-02 16:14:52 <luke-jr> justmoon: there is online shopping, because people *do* compare crypto hashes by hand
 946 2012-01-02 16:15:35 <justmoon> whatever, no interested in having the argument - you worry about the usability/security of your software and I'll worry about mine
 947 2012-01-02 16:15:43 <amiller> couldn't a client could always recognize 'whitelisted' scripts according to trust rules
 948 2012-01-02 16:15:44 theorbtwo has quit (Remote host closed the connection)
 949 2012-01-02 16:15:51 theorbtwo has joined
 950 2012-01-02 16:16:07 <amiller> the first time you see a new odd script, well you'd have to look at the code and analyze it (or look it up somewhere)
 951 2012-01-02 16:16:08 <roconnor> justmoon: isn't the solution to online shopping to make Credit Card companies liable for frauduent transactions for wich we indirectly pay 2% - 5% fees for?
 952 2012-01-02 16:16:29 <roconnor> justmoon: ah sorry you are right
 953 2012-01-02 16:16:35 <roconnor> this topic is wandering
 954 2012-01-02 16:17:07 <luke-jr> amiller: exactly my point
 955 2012-01-02 16:18:25 <roconnor> [Tycho]: maybe bitcoin-script:<base64 encoding of script>/<checksum> would be a little better
 956 2012-01-02 16:18:56 <amiller> if everyone is suddenly interested in static analysis, i wonder why you wouldn't use a simply typed lambda calculus or something equivalent
 957 2012-01-02 16:18:58 <[Tycho]> Actually now I think that multisigs may not need an address format
 958 2012-01-02 16:19:00 <amiller> or like the kernel language of Coq
 959 2012-01-02 16:19:25 <roconnor> amiller: that would be ideal, but we've got what Satoshi has given us.
 960 2012-01-02 16:19:27 <luke-jr> roconnor: base64 probably isn't valid in URIs
 961 2012-01-02 16:19:37 <gavinandresen> What would be better is if the URI includes the https: website address of the entity paying, and the client securely asked "does this address/Script belong to you?"
 962 2012-01-02 16:19:57 <roconnor> luke-jr: it is valid in data URI's.  I use them all the time.  Thought there is a special URI version of base64 IIRC.
 963 2012-01-02 16:20:08 <gavinandresen> Or maybe even better, asked a third-party "hey, could you ask amazon.com if bitcoin-uri:gobbledygook belongs to them"
 964 2012-01-02 16:20:19 <luke-jr> gavinandresen: HTTPS just moves the verification to <someone else>; centralization
 965 2012-01-02 16:20:50 <gavinandresen> luke-jr: right, ideally you want to spread the trust so an attacker has to compromise several somebodies
 966 2012-01-02 16:21:15 bobke has left ()
 967 2012-01-02 16:21:17 bobke has joined
 968 2012-01-02 16:21:35 <luke-jr> gavinandresen: now you're sounding like the namecoin suggestion ;)
 969 2012-01-02 16:22:37 <gavinandresen> I'd actually be happy trusting the existing HTTPS certificate authority system.  It works "good enough" for online commerce
 970 2012-01-02 16:23:15 <gavinandresen> (it doesn't work 'good enough' if you're doing something very high-value like building a nuclear bomb-making plant)
 971 2012-01-02 16:23:16 bobke has left ()
 972 2012-01-02 16:23:19 bobke has joined
 973 2012-01-02 16:24:07 bobke has left ()
 974 2012-01-02 16:24:12 bobke has joined
 975 2012-01-02 16:24:26 Carmivore has joined
 976 2012-01-02 16:24:26 <luke-jr> gavinandresen: it works good enough, because as roconnor said, people can dispute/reverse credit card charges
 977 2012-01-02 16:24:46 <luke-jr> gavinandresen: there have been multiple compromises, and with Bitcoin, it'd be too late when that happenede
 978 2012-01-02 16:24:46 <bobke> talk to the hand BCBot
 979 2012-01-02 16:25:15 gitgtjei has joined
 980 2012-01-02 16:25:26 gitgtjei has quit (Client Quit)
 981 2012-01-02 16:26:14 <gavinandresen> luke-jr: compromises of the https certificate authority system aimed at consumers?  I'd appreciate it if you email me references if you have time, I'd love to read more.
 982 2012-01-02 16:26:21 <gavinandresen> (just not right now)
 983 2012-01-02 16:26:24 endian7000 has joined
 984 2012-01-02 16:27:02 <luke-jr> gavinandresen: but more importantly to me, if HTTPS is enabled for Bitcoin payments, is that I can use a self-signed cert and include an address in the URI, and it will be treated the same as a CA-signed cert if the SSL cert gets signed by the URI-included address
 985 2012-01-02 16:27:11 <luke-jr> rather than forking over $$$ for a CA to sign my domains
 986 2012-01-02 16:27:20 <luke-jr> (just on principle)
 987 2012-01-02 16:29:01 <gmaxwell> If you successfully compromise a CA ripping off a few ecommerce txn would a waste of a profitable chance.  I was about to make the same point that luke made though, that it would add unfortunate friction to make commercial certs a required component of bitcoin ecommerce. (if nothing else, it provides another centeralized hook that might be employed to dork with bitcoin businesses in someone's hypothetical analysis of the decenteralization of
 988 2012-01-02 16:29:29 <luke-jr> http://arstechnica.com/security/news/2011/03/how-the-comodo-certificate-fraud-calls-ca-trust-into-question.ars/2
 989 2012-01-02 16:29:59 <sipa> gavinandresen: a bitcoin address is currently two things: an identifier for a keypair, and a template for a txout script; somehow i'd feel more confortable with the base58 string referring only to the key, and if you want a payment to it, use a URI that embeds the base58 string
 990 2012-01-02 16:30:46 <roconnor> sipa: how is it used as an identifier for a keypair?
 991 2012-01-02 16:32:21 <sipa> for example for message signing
 992 2012-01-02 16:32:37 <sipa> or when creating a multikey address
 993 2012-01-02 16:33:13 <sipa> anyway, more a philosophical thing than a technical problem
 994 2012-01-02 16:35:39 jacobwg has quit (Quit: Textual IRC Client: http://www.textualapp.com/)
 995 2012-01-02 16:43:07 <nanotube> genjix: sup?
 996 2012-01-02 16:46:05 BurtyB has quit (Ping timeout: 248 seconds)
 997 2012-01-02 16:50:15 GMP has joined
 998 2012-01-02 16:55:18 erus` has joined
 999 2012-01-02 16:55:21 <sipa> roconnor: your second amendment is not backward compatible
1000 2012-01-02 16:56:07 endian7000 has quit (Quit: endian7000)
1001 2012-01-02 16:58:27 endian7000 has joined
1002 2012-01-02 16:58:37 <luke-jr> …
1003 2012-01-02 16:59:42 djoot has quit (Quit: leaving)
1004 2012-01-02 16:59:51 <copumpkin> sipa: guns?
1005 2012-01-02 17:00:49 <sipa> copumpkin: ?
1006 2012-01-02 17:00:57 endian7000 has quit (Client Quit)
1007 2012-01-02 17:01:00 <copumpkin> just being silly, sorry :)
1008 2012-01-02 17:01:05 <justmoon> sipa: second amendment to the us constitution protects the right to bear arms
1009 2012-01-02 17:01:16 <sipa> justmoon: ah, lol :D
1010 2012-01-02 17:02:16 <genjix> nanotube: i wanted to email you but its on forum anyway https://bitcointalk.org/index.php?topic=56376.msg670966
1011 2012-01-02 17:02:38 <cjdelisle> ugh
1012 2012-01-02 17:02:43 <cjdelisle> please no x509
1013 2012-01-02 17:02:50 <copumpkin> lol
1014 2012-01-02 17:03:03 <genjix> my bank uses it so it must be good
1015 2012-01-02 17:03:33 djoot has joined
1016 2012-01-02 17:03:34 djoot has quit (Changing host)
1017 2012-01-02 17:03:34 djoot has joined
1018 2012-01-02 17:03:36 <copumpkin> I think we should redo bitcoin from scratch and use ASN.1 pervasively in the protocol
1019 2012-01-02 17:03:41 <cjdelisle> x509 is like a prison, nobody likes it but everybody is stuck with it
1020 2012-01-02 17:03:54 <justmoon> cjdelisle: that sounds more like marriage
1021 2012-01-02 17:04:00 <cjdelisle> same thing
1022 2012-01-02 17:04:04 <justmoon> ah
1023 2012-01-02 17:04:19 <sipa> henceforth, x509 shall be named "marriage"
1024 2012-01-02 17:04:27 <justmoon> not that us bachelor nerds know what the hell we're talking about :P
1025 2012-01-02 17:04:40 <cjdelisle> heh /nod
1026 2012-01-02 17:04:54 <cjdelisle> why use ASN.1 when you could use XM(hel)L!
1027 2012-01-02 17:05:35 <cjdelisle> AND JAVA
1028 2012-01-02 17:06:25 theorb has joined
1029 2012-01-02 17:06:37 theorbtwo has quit (Ping timeout: 244 seconds)
1030 2012-01-02 17:06:57 theorb is now known as theorbtwo
1031 2012-01-02 17:07:41 <nanotube> genjix: there's no date. am i to assume this is today? ;)
1032 2012-01-02 17:09:32 chrisb__ has quit (Ping timeout: 240 seconds)
1033 2012-01-02 17:09:40 endian7000 has joined
1034 2012-01-02 17:09:45 <justmoon> nanotube: I think Tuesday?
1035 2012-01-02 17:09:46 theorbtwo has quit (Remote host closed the connection)
1036 2012-01-02 17:09:52 theorbtwo has joined
1037 2012-01-02 17:10:28 <justmoon> genjix sent an earlier mail to fewer people suggesting a weekly meeting on tuesday, so I think this is the first installment of that
1038 2012-01-02 17:10:32 <justmoon> could be wrong though
1039 2012-01-02 17:11:23 BurtyB has joined
1040 2012-01-02 17:11:53 theorbtwo has quit (Remote host closed the connection)
1041 2012-01-02 17:11:58 <justmoon> nanotube: yeah, it's definitely on Tuesday. I found proof. :)
1042 2012-01-02 17:12:09 theorbtwo has joined
1043 2012-01-02 17:12:14 sytse has joined
1044 2012-01-02 17:13:09 <genjix> nanotube: Tuesday
1045 2012-01-02 17:13:16 Carmivore has quit (Remote host closed the connection)
1046 2012-01-02 17:13:20 <genjix> ill correct that
1047 2012-01-02 17:13:27 imsaguy is now known as copumpkin3729402
1048 2012-01-02 17:13:32 <gmaxwell> Oh. I figured it was today due to the lack of saying so.
1049 2012-01-02 17:13:39 <roconnor> sipa: ah oops, you are right.
1050 2012-01-02 17:13:49 <roconnor> sipa: I don't know what I was thinking.
1051 2012-01-02 17:14:00 theorbtwo has quit (Remote host closed the connection)
1052 2012-01-02 17:14:07 theorbtwo has joined
1053 2012-01-02 17:14:11 copumpkin3729402 is now known as [\\\]
1054 2012-01-02 17:14:12 <roconnor> You'd have to add an OP_DROP or something else equally as akward
1055 2012-01-02 17:14:20 <roconnor> bah
1056 2012-01-02 17:14:35 <justmoon> gmaxwell: you should have received the version of the email where it says tuesday in the subject line
1057 2012-01-02 17:15:40 <genjix> when is the next satoshi client release going to be btw?
1058 2012-01-02 17:15:59 theorbtwo has quit (Remote host closed the connection)
1059 2012-01-02 17:16:08 theorbtwo has joined
1060 2012-01-02 17:18:10 theorbtwo has quit (Remote host closed the connection)
1061 2012-01-02 17:18:17 theorbtwo has joined
1062 2012-01-02 17:18:28 <CIA-100> bitcoin: Kamil Domanski * rabe4f045b4f7 gentoo/net-p2p/libbitcoin/ (Manifest libbitcoin-0.1.0_alpha2.ebuild): net-p2p/libbitcoin: 0.1.0_alpha2 http://tinyurl.com/87da9oh
1063 2012-01-02 17:18:29 <CIA-100> bitcoin: Kamil Domanski * r13804b451e40 gentoo/app-crypt/subvertx/ (Manifest subvertx-0.1.1.ebuild): app-crypt/subvertx: 0.1.1 http://tinyurl.com/6oaft4x
1064 2012-01-02 17:18:31 <CIA-100> bitcoin: Kamil Domanski * rcfc9bd195888 gentoo/net-p2p/libbitcoin/ (Manifest libbitcoin-9999.ebuild): net-p2p/libbitcoin-9999: updated dep to boost 1.48 http://tinyurl.com/6ll224w
1065 2012-01-02 17:19:39 Carmivore has joined
1066 2012-01-02 17:20:18 theorbtwo has quit (Remote host closed the connection)
1067 2012-01-02 17:20:24 theorbtwo has joined
1068 2012-01-02 17:20:42 osmosis has joined
1069 2012-01-02 17:20:54 wasabi1 has joined
1070 2012-01-02 17:22:27 theorbtwo has quit (Remote host closed the connection)
1071 2012-01-02 17:22:32 theorbtwo has joined
1072 2012-01-02 17:22:41 wasabi2 has quit (Ping timeout: 248 seconds)
1073 2012-01-02 17:27:16 marf_away has quit (Ping timeout: 252 seconds)
1074 2012-01-02 17:29:31 theorbtwo has quit (Ping timeout: 240 seconds)
1075 2012-01-02 17:29:57 chrisb__ has joined
1076 2012-01-02 17:30:09 ZellFaze has joined
1077 2012-01-02 17:33:38 dvide has quit (Ping timeout: 255 seconds)
1078 2012-01-02 17:33:46 dvide has joined
1079 2012-01-02 17:34:17 theorbtwo has joined
1080 2012-01-02 17:35:35 [\\\] is now known as imsaguy
1081 2012-01-02 17:36:50 theorbtwo has quit (Remote host closed the connection)
1082 2012-01-02 17:36:56 theorbtwo has joined
1083 2012-01-02 17:37:07 dvide has quit (Client Quit)
1084 2012-01-02 17:38:55 theorbtwo has quit (Remote host closed the connection)
1085 2012-01-02 17:39:00 theorbtwo has joined
1086 2012-01-02 17:40:57 theorbtwo has quit (Remote host closed the connection)
1087 2012-01-02 17:41:02 theorbtwo has joined
1088 2012-01-02 17:41:46 Joric has quit ()
1089 2012-01-02 17:42:31 Kolky has joined
1090 2012-01-02 17:45:04 dvide has joined
1091 2012-01-02 17:46:31 vigilyn has joined
1092 2012-01-02 17:52:14 <nanotube> justmoon: genjix: ok, tuesday it is. :)
1093 2012-01-02 17:52:34 vigilyn has left ("Leaving")
1094 2012-01-02 17:52:56 vigilyn has joined
1095 2012-01-02 17:55:35 Tuxavant__ is now known as Tuxavant
1096 2012-01-02 17:56:24 <gmaxwell> hm. I notice that a new node loses 40 seconds adding the initial keys to the keypool.
1097 2012-01-02 17:56:40 <gmaxwell> (while nothing else appears to be happening concurrently)
1098 2012-01-02 17:58:38 BlueMatt-mobile has joined
1099 2012-01-02 17:59:33 chrisb__ has quit (Quit: Ex-Chat)
1100 2012-01-02 18:01:40 <BlueMatt-mobile> Is this meeting thing official...ima be on a plane
1101 2012-01-02 18:02:13 <ZellFaze> I think so.  About as official as it gets for Bitcoin.
1102 2012-01-02 18:02:23 <gavinandresen> Extremely very official.  We're going to elect board members and vote on whether or not to use Roberts Rules of Order
1103 2012-01-02 18:02:52 <gavinandresen> (sarcasm intended there)
1104 2012-01-02 18:03:26 <[Tycho]> What meeting ?
1105 2012-01-02 18:03:58 <BlueMatt-mobile> gavinandresen lol, ok ill be on
1106 2012-01-02 18:04:32 <justmoon> BlueMatt: if you're not there you will have to hand in your GPU and badge
1107 2012-01-02 18:04:33 <gavinandresen> [Tycho]: genjix is organizing regular Tuesday meetings
1108 2012-01-02 18:06:28 <genjix> ZellFaze: you have a chocobo for your avatar and the name of a FF8 character :D
1109 2012-01-02 18:06:31 <genjix> congrats
1110 2012-01-02 18:06:45 <genjix> congrats on having good taste
1111 2012-01-02 18:06:57 <ZellFaze> Thank you. The name wasn't actually a reference to FF8 (which is one that I have not played actually).
1112 2012-01-02 18:07:10 <ZellFaze> I came up with the name independently when I was 12 years old. xD
1113 2012-01-02 18:07:15 <ZellFaze> But I do love chocobo's.
1114 2012-01-02 18:07:58 <BlueMatt-mobile> justmoon ok ill keep that in mind...though i belive my badge got lost in the mail...
1115 2012-01-02 18:08:37 <justmoon> BlueMatt-mobile: ok, just sign here with your lamport signature and I'll get you a new one
1116 2012-01-02 18:08:44 <roconnor> justmoon: begining the script with NOP1 will make the implementation easier, but meh, whatever you guys want.
1117 2012-01-02 18:08:51 <genjix> party membership has to be approved by the priesthood
1118 2012-01-02 18:09:49 * ZellFaze is a cult member.  I'll approve him.
1119 2012-01-02 18:09:53 <justmoon> roconnor: yeah, I'm ok with your way too if that's what people decide
1120 2012-01-02 18:10:47 * BlueMatt-mobile seems to have been missing out on quite a bit here...
1121 2012-01-02 18:11:31 theorbtwo has quit (Ping timeout: 240 seconds)
1122 2012-01-02 18:12:56 <gavinandresen> roconnor: implementation isn't actually easier, you need to match the entire scriptPubKey in any case (otherwise an attacker could split the chain)
1123 2012-01-02 18:12:57 <genjix> justmoon, roconnor: what about if these 'unusual' script types (if we're setting a future precedent for them), have a marker operation: OP_MARKER <byte> OP_DROP
1124 2012-01-02 18:13:55 <roconnor> genjix: that is the repaired version of my second ammendment.
1125 2012-01-02 18:14:09 <justmoon> genjix: I don't think that's necessary - one case does not a series make
1126 2012-01-02 18:14:11 <gavinandresen> I like keeping it as simple as possible.  And saving the bytes.
1127 2012-01-02 18:14:21 <roconnor> genjix: I'd be happy with that as well, but people get in a tizzy about bytes for some reason.
1128 2012-01-02 18:14:52 <roconnor> (even though clients are welcome to compress scripts in whatever way they please)
1129 2012-01-02 18:15:10 <gavinandresen> A marker byte just means extra rules.. because what if I follow the marker byte(s) by something OTHER than HASH<>EQUAL ?
1130 2012-01-02 18:15:50 <roconnor> gavinandresen: then OP_MARKER is treated as a NOP ... which is convient since that is what it is right now.
1131 2012-01-02 18:16:11 <justmoon> you need markers to solve ambiguity, there is no ambiguity here
1132 2012-01-02 18:16:40 <roconnor> justmoon: right; I'm just prosoing it to make the implementation easier and perhaps less error prone.
1133 2012-01-02 18:16:41 <genjix> who knows what the future might bring
1134 2012-01-02 18:16:46 <roconnor> *proposing
1135 2012-01-02 18:17:12 <roconnor> but maybe it isn't that big of a deal
1136 2012-01-02 18:17:33 <genjix> but it's not a big deal. the future holds a lot of scope for hackery, patching and plaster.
1137 2012-01-02 18:18:02 <justmoon> genjix: speaking of the future, OP_MARKER means using up a NOP
1138 2012-01-02 18:18:56 <roconnor> justmoon: the implementation I'm thinking of is "parse the header" if it is there.  If so, try to parse according to the appropriate template, if that suceeds intepret the special template, otherwise interpret the script normally.
1139 2012-01-02 18:18:56 <genjix> OP_NOP OP_NOP
1140 2012-01-02 18:19:07 <genjix> like unicode
1141 2012-01-02 18:19:32 <roconnor> justmoon: but ya, maybe this is unecessary
1142 2012-01-02 18:19:43 <genjix> OP_SELECT OP_NOPX
1143 2012-01-02 18:20:01 <justmoon> roconnor: I see your reasoning, it's just a judgment call, I'm happy with either way
1144 2012-01-02 18:21:36 <gavinandresen> roconnor: just look at the first byte of scriptPubKey, if it is OP_HASH160 then it is probably the new transaction type, if it is DUP then it is probably the standard transaction type, if it is push-some-data it is probably the <pubkey> CHECKSIG transaction type....
1145 2012-01-02 18:22:05 <roconnor> gavinandresen: I guess
1146 2012-01-02 18:22:09 <gavinandresen> ... if it is OP_1 or OP_2 or OP_3 then it is probably the new multisignature standard transaction type....
1147 2012-01-02 18:22:18 <BlueMatt-mobile> gavinandresen and when luke throws an invalid tx by the new opeval replacement to make it ambiguous?
1148 2012-01-02 18:22:35 <BlueMatt-mobile> into the chain*
1149 2012-01-02 18:23:07 <roconnor> gavinandresen: are you sure these don't already occur in the chain?
1150 2012-01-02 18:23:08 <gavinandresen> BlueMatt-mobile: You mean he puts   <sigs>  <arbitrary nonce>  ... and then HASH160 <> EQUAL  ?
1151 2012-01-02 18:23:20 <roconnor> gavinandresen: we don't want to make existing transactions invalid.
1152 2012-01-02 18:23:22 <BlueMatt-mobile> gavinandresen yea
1153 2012-01-02 18:23:29 <gavinandresen> We still need a careful rollout, with miners expressing support before doing full validation. That doesn't change.
1154 2012-01-02 18:24:27 <BlueMatt-mobile> Well it makes it ambiguous because it was valid by old miners (though op nop) was designed for new feature rollouts
1155 2012-01-02 18:24:36 <gavinandresen> It'll be "if the timestamp in the block being validated is after (whatever we decide) then do full validation and reject the block if it doesn't succeed"
1156 2012-01-02 18:24:46 <BlueMatt-mobile> And i would argue you have to keep lukes tx
1157 2012-01-02 18:25:04 <gavinandresen> BlueMatt-mobile: if his txn makes it into the chain before the switchover date then no problem.
1158 2012-01-02 18:25:19 <BlueMatt-mobile> I would prefer to not have block switchovers and just always interpret the opnop as an eval tx
1159 2012-01-02 18:25:34 <gavinandresen> ???
1160 2012-01-02 18:25:57 <gavinandresen> I'm not following....
1161 2012-01-02 18:26:18 <sipa> no miner will want to enforce the new rules without knowing other miners do the same
1162 2012-01-02 18:26:19 <BlueMatt-mobile> In the old opeval (and new ones with markers) we dont have to have a block set to start enterpreting differently
1163 2012-01-02 18:26:25 <sipa> they'd be locking themselves out
1164 2012-01-02 18:26:35 <gavinandresen> BlueMatt-mobile: yes, we do....
1165 2012-01-02 18:26:37 <justmoon> BlueMatt-mobile: yes you do?!
1166 2012-01-02 18:26:44 <BlueMatt-mobile> Not really...
1167 2012-01-02 18:26:50 <gavinandresen> Yuh-huh!
1168 2012-01-02 18:27:25 <BlueMatt-mobile> If there arent conflicting txes in the chain, we dont have to care
1169 2012-01-02 18:27:35 <gavinandresen> Attacker could put a:    DUP HASH <> EQUALVERIFY NOP1  transaction in the chain that validates on old clients but doesn't on new.  There HAS to be a switchover
1170 2012-01-02 18:27:35 <justmoon> BlueMatt-mobile: that's true for both proposals
1171 2012-01-02 18:28:25 calebopeko has joined
1172 2012-01-02 18:28:27 <justmoon> basically if the switchover is done and there wasn't a conflicting transaction, then you can remove the check
1173 2012-01-02 18:28:48 <justmoon> but there is no need to rush that
1174 2012-01-02 18:29:07 <justmoon> and all it takes is one guy publishing a conflicting transaction and we just have to keep the check forever :P
1175 2012-01-02 18:29:13 <justmoon> luke-jr: looking at you...
1176 2012-01-02 18:29:23 <ZellFaze> Lets not do that then.
1177 2012-01-02 18:30:33 <genjix> why are you looking at luke? did he do something before?
1178 2012-01-02 18:30:35 * BlueMatt-mobile is switching to his laptop...
1179 2012-01-02 18:30:46 <genjix> or is it because of the non-parsable coinbases :/
1180 2012-01-02 18:30:54 <genjix> that caused me a headache
1181 2012-01-02 18:31:05 <roconnor> hah
1182 2012-01-02 18:31:23 <gavinandresen> luke-jr mines non-standard transactions.
1183 2012-01-02 18:31:24 <roconnor> that's awesome
1184 2012-01-02 18:31:33 <genjix> i see
1185 2012-01-02 18:32:16 <ZellFaze> Has he ever actually managed to get a block made and accepted by the network?
1186 2012-01-02 18:32:33 <genjix> he runs a mining pool
1187 2012-01-02 18:32:35 <genjix> ofc he does
1188 2012-01-02 18:33:03 <justmoon> genjix: I have a theory that he only proclaims to be pre-1968 catholic traditionalist sect and tonal number system supporter in order to troll people
1189 2012-01-02 18:33:22 BlueMatt has joined
1190 2012-01-02 18:33:23 <copumpkin> he's secretly a hardcore atheist?
1191 2012-01-02 18:33:41 <ZellFaze> And secretly doesn't like tonal at all.
1192 2012-01-02 18:33:53 <copumpkin> he's a hexadecimal user! the horror!
1193 2012-01-02 18:33:56 <genjix> well i speak esperanto...
1194 2012-01-02 18:34:06 <genjix> some people think that's weird or strange
1195 2012-01-02 18:34:09 * ZellFaze used to speak a little lojban.
1196 2012-01-02 18:34:13 <genjix> and i run linux
1197 2012-01-02 18:34:18 <BlueMatt> ok, no I see that it is true either way, I just say that it makes much more sense to use an OP_NOP as that is what they are for
1198 2012-01-02 18:34:26 <gavinandresen> Now now, lets not start rumors about luke-jr.  For example, I'm pretty sure that was NOT him I saw lurking in the back of the auditorium at my CIA talk
1199 2012-01-02 18:34:36 <justmoon> lol
1200 2012-01-02 18:34:51 <BlueMatt> without using an OP_NOP, a conflicting tx is perfectly reasonable
1201 2012-01-02 18:35:02 <BlueMatt> with using an OP_NOP it isnt, even if it can happen either way
1202 2012-01-02 18:35:06 <genjix> sometimes it's good to off out there on the fringe because that's where good ideas come from.
1203 2012-01-02 18:35:18 <gavinandresen> HASH160 <> EQUAL  is a really dumb transaction to send.  Any miner could rip you off when you try to redeem it.
1204 2012-01-02 18:35:25 <BlueMatt> Im just saying I waay prefer to mark them, as that is what OP_NOP is for, and it makes more sense
1205 2012-01-02 18:35:28 <BlueMatt> gavinandresen: so?
1206 2012-01-02 18:35:39 <justmoon> BlueMatt: why use up NOP1
1207 2012-01-02 18:36:23 <justmoon> BlueMatt: if you want to do a HASH160 <hash> EQUAL transaction, just change to break the pattern, done
1208 2012-01-02 18:36:39 <justmoon> no reason everyone else has to suffer for it
1209 2012-01-02 18:36:47 <genjix> wasnt it TD who said that the scripting system is more limited than it seems?
1210 2012-01-02 18:36:58 * BlueMatt just feels really bad about adding "this tx is special because it is"
1211 2012-01-02 18:37:13 <gavinandresen> Because We Say So.
1212 2012-01-02 18:37:21 <justmoon> BlueMatt: ?! and redefining NOP doesn't fall under that?
1213 2012-01-02 18:37:32 <BlueMatt> justmoon: no, because thats what NOP is for...
1214 2012-01-02 18:37:36 <roconnor> gavinandresen: unless you mine the transaction yourself ... though even then it is a little risky.
1215 2012-01-02 18:37:51 <justmoon> BlueMatt: no, NOP is for "this operation does nothing"
1216 2012-01-02 18:38:07 <BlueMatt> justmoon: which is added because its useful for upgrading...
1217 2012-01-02 18:38:18 <roconnor> justmoon: OP_NOP is different from OP_NOP1
1218 2012-01-02 18:38:41 <BlueMatt> (well the 1-10 ones)
1219 2012-01-02 18:38:53 <roconnor> oops I haven't implemented OP_NOP
1220 2012-01-02 18:38:56 <justmoon> roconnor: uh no?
1221 2012-01-02 18:38:59 <justmoon> roconnor: kk
1222 2012-01-02 18:39:03 <ZellFaze> If you guys will excuse my ignorance (I'm new to the scripting system for Bitcoin) we have a NOP that does something? And we are discussing whether or not we want to change how that NOP works right?
1223 2012-01-02 18:39:19 <gavinandresen> We have 11 NOPs that do nothing right now.
1224 2012-01-02 18:39:25 <roconnor> justmoon: OP_NOP is code number 97
1225 2012-01-02 18:39:30 <BlueMatt> (OP_NOP and OP_NOP1-10)
1226 2012-01-02 18:39:36 <roconnor> justmoon: OP_NOP1 is code number 176
1227 2012-01-02 18:39:37 <gavinandresen> (eleven!)
1228 2012-01-02 18:39:46 <justmoon> roconnor: sorry, you're right I was looking at the patched script.cpp by accident
1229 2012-01-02 18:40:04 <justmoon> roconnor: which has case OP_NOP OP_NOP2 etc.
1230 2012-01-02 18:40:26 <BlueMatt> brb, they just delayed my flight because the plane is broken...fuck me...
1231 2012-01-02 18:40:32 <roconnor> boy, I can't believe I forgot to implement OP_NOP
1232 2012-01-02 18:40:36 <genjix> roconnor: you have a bitcoin version?
1233 2012-01-02 18:40:39 <justmoon> gavinandresen: assuming we want to keep one as NOP, we have ten to spend
1234 2012-01-02 18:40:40 <roconnor> well, I would have found out eventually
1235 2012-01-02 18:40:40 <ZellFaze> So none of our NOPS are doing anything right now as they should.
1236 2012-01-02 18:40:43 <roconnor> genjix: yep
1237 2012-01-02 18:40:46 <genjix> which one?
1238 2012-01-02 18:40:48 <justmoon> gavinandresen: don't want to waste 'em
1239 2012-01-02 18:41:08 <ZellFaze> Alright. I think I am on the same page now. For some reason I thought we somehow managed to get a NOP doing something other than noping.
1240 2012-01-02 18:41:13 <genjix> roconnor: which one?
1241 2012-01-02 18:41:22 <roconnor> oh I did impelement it
1242 2012-01-02 18:41:25 <roconnor> good
1243 2012-01-02 18:41:41 <roconnor> genjix: I haven't released it yet.
1244 2012-01-02 18:41:48 <gmaxwell> ZellFaze: The NOPs exist as an extension mechenism.
1245 2012-01-02 18:41:50 <genjix> aha ok
1246 2012-01-02 18:42:00 <luke-jr> genjix: Eligius's coinbases are perfectly parsable..
1247 2012-01-02 18:42:04 <copumpkin> genjix: guess what language!
1248 2012-01-02 18:42:10 <roconnor> genjix: it's written in haskell
1249 2012-01-02 18:42:11 BlueMatt-mobile has quit (Quit: BlueMatt)
1250 2012-01-02 18:42:14 <roconnor> oops
1251 2012-01-02 18:42:17 <copumpkin> roconnor: dammit!
1252 2012-01-02 18:42:17 <roconnor> I gave away the answer
1253 2012-01-02 18:42:24 <luke-jr> justmoon: gavinandresen: I accept non-standard txns yes, but I also support OP_EVAL
1254 2012-01-02 18:42:30 <gmaxwell> ZellFaze: by later redefining them to do things you can have instructions that do nothing on old nodes but do something on new nodes. With due care this can allow the two node types to coexist.
1255 2012-01-02 18:42:40 DontMindMe2 has quit (Ping timeout: 240 seconds)
1256 2012-01-02 18:43:03 <justmoon> luke-jr: just don't accept anything with a scriptPubKey of "HASH160 <hash> EQUAL" for now
1257 2012-01-02 18:43:19 <luke-jr> justmoon: patches welcome.
1258 2012-01-02 18:43:35 <luke-jr> but srsly, that sounds like a retarded "solution"
1259 2012-01-02 18:43:35 <justmoon> luke-jr: let me rephrase: do what you want :)
1260 2012-01-02 18:43:44 <ZellFaze> gmaxwell: That makes sense. I had figured that part out.  I had just somehow gotten it into my head that OP_NOP was doing something instead of being the NOP that is kept a NOP.
1261 2012-01-02 18:43:56 <luke-jr> I'd welcome a patch to reject any OP_NOP2+
1262 2012-01-02 18:44:17 <luke-jr> anyhow, I thought the OP_EVAL meeting wasn't for 2 more hours?
1263 2012-01-02 18:44:19 <justmoon> luke-jr: I can give you a patched bitcoinjs if you want?
1264 2012-01-02 18:44:26 <gmaxwell> luke-jr: 26 more hours.
1265 2012-01-02 18:44:26 <luke-jr> justmoon: not useful to me
1266 2012-01-02 18:44:50 <justmoon> luke-jr: suit yourself then
1267 2012-01-02 18:45:07 <luke-jr> gmaxwell: there was no day mentioned that I saw :P
1268 2012-01-02 18:45:13 <luke-jr> oh, right, the other email said Tue…
1269 2012-01-02 18:45:14 <ZellFaze> gmaxwell: I thought the OP_EVAL meeting was today too.  I have work tomorrow.
1270 2012-01-02 18:45:26 <ZellFaze> Whoops.
1271 2012-01-02 18:46:38 <gmaxwell> Any suggestions for node deadlock troubleshooting?  I have a brand new node install that is deadlocked during bringup, but I don't know where its locked.
1272 2012-01-02 18:47:38 <gmaxwell> It's on a new system so there might be something freaky about the system.... dunno. Stracing just shows the ThreadSocketHandler2 looping like normally, but it's not responding to any RPCs or doing anything else useful.
1273 2012-01-02 18:47:49 <BlueMatt> gmaxwell: compiled using DEBUG_LOCKORDER?
1274 2012-01-02 18:47:57 soap has joined
1275 2012-01-02 18:48:36 soap has left ()
1276 2012-01-02 18:49:06 <gmaxwell> No, I can do that.. though I don't know if the failure is reproducable.
1277 2012-01-02 18:49:37 <justmoon> roconnor: do you know if anybody has looked into bitcoin-specific compression in-depth?
1278 2012-01-02 18:49:39 <BlueMatt> well backup the ~/.bitcoin so you can try...
1279 2012-01-02 18:49:40 marf_away has joined
1280 2012-01-02 18:50:15 <roconnor> justmoon: not that I'm aware of, but given the prevalence of standard transactions there are some obvious compression schemes.
1281 2012-01-02 18:50:29 <roconnor> justmoon: I've been tempted to employ them.
1282 2012-01-02 18:50:30 DontMindMe has joined
1283 2012-01-02 18:50:47 <justmoon> roconnor: right, me too - disk I/O is my main bottleneck
1284 2012-01-02 18:50:59 <sipa> justmoon: yes, i have
1285 2012-01-02 18:51:03 <justmoon> roconnor: standard compression might be almost as good
1286 2012-01-02 18:51:08 <justmoon> sipa: code? experiences?
1287 2012-01-02 18:51:17 <sipa> i've implemented a bitcoin-speficic cabac
1288 2012-01-02 18:51:18 <justmoon> sipa: is it a worthwhile avenue?
1289 2012-01-02 18:51:23 <sipa> sec, let me find the results
1290 2012-01-02 18:51:23 <BlueMatt> almost all of bitcoin's time downloading blocks is in libcrypto and libdb_cxx...I guess that just means we are doing it (somewhat) right...
1291 2012-01-02 18:51:59 <BlueMatt> followed by __gnu_cxx::new_allocator<char>::constructor(char*, char const&)
1292 2012-01-02 18:52:16 <luke-jr> BlueMatt: you did gprof?
1293 2012-01-02 18:52:23 <BlueMatt> luke-jr: oprofile
1294 2012-01-02 18:52:41 <gmaxwell> BlueMatt: I didn't pay attention to the deadlock detection stuff.. are POTENTIAL DEADLOCK DETECTED interesting even when the node hasn't (yet) obviously deadlocked?
1295 2012-01-02 18:52:53 <BlueMatt> gmaxwell: yes
1296 2012-01-02 18:53:06 <gmaxwell> POTENTIAL DEADLOCK DETECTED
1297 2012-01-02 18:53:06 <gmaxwell> Previous lock order was: pnode->cs_vRecv  net.cpp:1632 (1) cs_main  main.cpp:2543 (2) cs_vSend  net.h:285
1298 2012-01-02 18:53:09 <gmaxwell> Current lock order is: (2) pnode->cs_vSend  net.cpp:1638 (1) cs_main  main.cpp:2582
1299 2012-01-02 18:53:13 <BlueMatt> gmaxwell: the only one that doesnt count is the first one that is printed like cs_vNodes or something as those are locked by TRY_CRITICAL_BLOCK
1300 2012-01-02 18:53:18 <sipa> justmoon:  http://pastebin.com/7iKJkuqh
1301 2012-01-02 18:53:31 <luke-jr> BlueMatt: how much time in fsync?
1302 2012-01-02 18:53:33 <sipa> justmoon: note that it doesn't do any compression for scripts
1303 2012-01-02 18:53:42 <gavinandresen> the vRecv/vSend potential deadlock is a false positive
1304 2012-01-02 18:53:48 <BlueMatt> luke-jr: doesnt say any, because its not using cpu during fsync
1305 2012-01-02 18:54:06 <sipa> justmoon: all the rest is pretty much as compressed as possible
1306 2012-01-02 18:54:09 <BlueMatt> gmaxwell: yea, that is the one (IIRC) its locked using TRY_CRITICAL_BLOCK instead so it wont deadlock
1307 2012-01-02 18:54:27 <sipa> gmaxwell: that's a false positive, iirc
1308 2012-01-02 18:54:29 <gmaxwell> :-/ doesn't appear to be deadlocking this time.
1309 2012-01-02 18:55:02 <sipa> justmoon: the code is in github.com/sipa/bitcoin in the 'compact' branch
1310 2012-01-02 18:55:03 <BlueMatt> gmaxwell: it should still figure out where the deadlock would have happened as it records every lock's order...
1311 2012-01-02 18:55:47 <justmoon> sipa: this shows the compressed sizes? do you have the same figures uncompressed for comparison?
1312 2012-01-02 18:55:57 <gmaxwell> BlueMatt: well, I think it was during some addaddr stuff.. so thats going to end up with slightly different behavior on different invocations. I'm trying the exact sequence of steps I ran before.
1313 2012-01-02 18:56:02 <sipa> justmoon: that would be interesting indeed
1314 2012-01-02 18:56:09 <justmoon> ^^
1315 2012-01-02 18:56:37 <sipa> justmoon: i'll implement it soon
1316 2012-01-02 18:56:57 <justmoon> just for record, anyone doing compression I'm interested - I'm working on a bounty for loading 14bn transactions in bitcoinjs, so space savings... would be good ;)
1317 2012-01-02 18:57:23 <sipa> 14 *billion* ?
1318 2012-01-02 18:57:51 <justmoon> yes, the challenge is to load 14 billion transactions then verify 100 million transactions in one day - that would be VISA load
1319 2012-01-02 18:57:56 <sipa> justmoon: note that this is blockchain compression - it does not allow random access to the individual elements
1320 2012-01-02 18:58:07 <sipa> only archival of a blockchain
1321 2012-01-02 18:58:23 <justmoon> or at least an approximation to VISA load - I'm sure the 100 million peak day figure isn't even across the whole day, but meh
1322 2012-01-02 18:58:40 <gmaxwell> BlueMatt: and .. of course, its not happening again to me.
1323 2012-01-02 18:58:52 <justmoon> sipa: yeah, no worries, I'm not interested in copying your idea exactly, just doing research
1324 2012-01-02 18:58:53 <BlueMatt> gmaxwell: isnt that always how it works...?
1325 2012-01-02 18:59:14 coblee has quit (Quit: coblee)
1326 2012-01-02 18:59:33 coblee has joined
1327 2012-01-02 19:01:05 TD has joined
1328 2012-01-02 19:01:52 <gmaxwell> Log of the failure in case anyone wants to give it a glance and see if there is a smoking gun I'm missing:
1329 2012-01-02 19:01:56 <gmaxwell> http://people.xiph.org/~greg/bitcoin.deadlock.120102.00.txt
1330 2012-01-02 19:02:09 antix has quit (Read error: Connection reset by peer)
1331 2012-01-02 19:02:22 <gmaxwell> There are two startups there... on a virgin node. The first I'd connect=ed a local node that isn't listening. The second startup I was just letting it use the network.
1332 2012-01-02 19:02:30 TD has quit (Client Quit)
1333 2012-01-02 19:02:55 <gmaxwell> (the getinfo at the bottom was after it had sat for a half hour without doing anything)
1334 2012-01-02 19:03:06 <genjix> luke-jr: maybe it isnt you, but there are some blocks with non parsable coinbases
1335 2012-01-02 19:04:26 <BlueMatt> gmaxwell: maybe it got the blocks it asked for right when you called getinfo, both will do a cs_main lock, not sure where the deadlock might be though...
1336 2012-01-02 19:04:52 TD has joined
1337 2012-01-02 19:05:11 <gmaxwell> BlueMatt: after a half hour of no log messages?
1338 2012-01-02 19:05:14 <BlueMatt> TD is on german dsl?
1339 2012-01-02 19:05:22 <BlueMatt> gmaxwell: yea, that seems right
1340 2012-01-02 19:05:35 <TD> in berlin. sick. just about to call the airline and tell them not to wait for me :(
1341 2012-01-02 19:05:37 <BlueMatt> gmaxwell: if the lock is cs_main and something else that is probably it
1342 2012-01-02 19:06:04 <gmaxwell> oh you mean why the getinfo didn't return. Sure.
1343 2012-01-02 19:06:11 <BlueMatt> TD: ouch, sorry to hear that
1344 2012-01-02 19:06:45 <BlueMatt> gmaxwell: would also explain why it never logged getting blocks in return
1345 2012-01-02 19:07:00 * BlueMatt is sitting in an airport because the flight he was supposed to be on and was supposed to take off about now is delayed due to mechanical issues with the plan...
1346 2012-01-02 19:07:09 <BlueMatt> e
1347 2012-01-02 19:07:10 <luke-jr> BlueMatt: …
1348 2012-01-02 19:07:23 <luke-jr> you're not supposed to take parts from the plane for OP_EVAL
1349 2012-01-02 19:07:51 <BlueMatt> heh
1350 2012-01-02 19:07:59 <BlueMatt> sorry, I thought it might be useful
1351 2012-01-02 19:08:04 <genjix> hah
1352 2012-01-02 19:08:10 <justmoon> if BlueMatt messed with the plane it would work *better* now
1353 2012-01-02 19:08:18 <gmaxwell> luke-jr: unfortunately the plane did not allow for static analysis, so it had to be delayed.
1354 2012-01-02 19:08:26 <luke-jr> hehehe
1355 2012-01-02 19:08:43 <ZellFaze> :)
1356 2012-01-02 19:08:44 <BlueMatt> justmoon: thanks...I think?
1357 2012-01-02 19:08:55 <justmoon> BlueMatt: (don't try it)
1358 2012-01-02 19:09:23 <BlueMatt> heh
1359 2012-01-02 19:09:23 <justmoon> TD: sorry to hear you're sick :(
1360 2012-01-02 19:09:37 <justmoon> TD: get well!
1361 2012-01-02 19:10:18 <TD> thanks!
1362 2012-01-02 19:10:53 endian7000 has quit (Quit: endian7000)
1363 2012-01-02 19:12:25 jacobwg has joined
1364 2012-01-02 19:13:32 [eval] has quit (Ping timeout: 240 seconds)
1365 2012-01-02 19:19:23 jacobwg has quit (Ping timeout: 255 seconds)
1366 2012-01-02 19:20:34 mcorlett has quit (Quit: ChatZilla 0.9.88 [Firefox 8.0/20111115183813])
1367 2012-01-02 19:21:01 <luke-jr> hmm
1368 2012-01-02 19:21:10 endian7000 has joined
1369 2012-01-02 19:21:23 jacobwg has joined
1370 2012-01-02 19:21:36 <luke-jr> what stops the low-diffculty-orphan attack on height=1 ?
1371 2012-01-02 19:21:56 <BlueMatt> blockchain checkpoints...?
1372 2012-01-02 19:22:41 <luke-jr> BlueMatt: what about them?
1373 2012-01-02 19:22:53 <BlueMatt> and connection to nodes which have full blockchain in which case you would get a longer chain right after the first diff increase?
1374 2012-01-02 19:22:59 <phantomcircuit> BlueMatt, if the first node you connect to has a very low block height does the network download algorithm even continue to the checkpoints?
1375 2012-01-02 19:23:01 <luke-jr> irrelevant
1376 2012-01-02 19:23:08 <BlueMatt> if you get sent crap, the checkpoints will invalidate it after a while
1377 2012-01-02 19:23:09 <luke-jr> the orphans are never pruned
1378 2012-01-02 19:23:18 <phantomcircuit> oh right
1379 2012-01-02 19:23:23 <phantomcircuit> the spamming attack
1380 2012-01-02 19:23:25 <BlueMatt> phantomcircuit: Id assume so, but maybe not?
1381 2012-01-02 19:23:30 <phantomcircuit> luke-jr, that's completely exploitable
1382 2012-01-02 19:23:31 copumpkin is now known as HURR_DURR
1383 2012-01-02 19:23:35 <phantomcircuit> BlueMatt, i dont think so
1384 2012-01-02 19:23:40 <BlueMatt> luke-jr: well then you can fill someones disk at the same rate you can send on the network
1385 2012-01-02 19:23:52 <luke-jr> fun
1386 2012-01-02 19:23:57 <BlueMatt> well, not quite, but close
1387 2012-01-02 19:24:23 <BlueMatt> or, no sorry orphans dont get written to disk
1388 2012-01-02 19:24:23 <BlueMatt> but then yea, you can fill the memory
1389 2012-01-02 19:25:01 <luke-jr> …
1390 2012-01-02 19:26:37 <phantomcircuit> BlueMatt, yes they do because they dont look like orphans
1391 2012-01-02 19:26:52 <phantomcircuit> you generate a legitimate long blockchain with diff=1
1392 2012-01-02 19:27:01 <phantomcircuit> they'll store the entire thing
1393 2012-01-02 19:27:19 <phantomcircuit> i'll write a poc and call it "dicknode"
1394 2012-01-02 19:27:35 * BlueMatt is a dumbass
1395 2012-01-02 19:28:44 BitMark has joined
1396 2012-01-02 19:31:02 <luke-jr> ;;bc,blocks
1397 2012-01-02 19:31:02 <gribble> 160306
1398 2012-01-02 19:31:16 <BitMark> anyone use the -connect option lately?
1399 2012-01-02 19:31:49 BlueMatt has quit (Ping timeout: 244 seconds)
1400 2012-01-02 19:31:53 <BitMark> as in bitcoin-qt -connect 192.168.1.106
1401 2012-01-02 19:32:42 <BitMark> client shows no connections and 192.168.1.106 does not appear in the debug.log file
1402 2012-01-02 19:33:02 <luke-jr> -connect=…
1403 2012-01-02 19:33:03 <gavinandresen> should be -connect=192.168.1.106
1404 2012-01-02 19:33:03 <jrmithdobbs> wait longer
1405 2012-01-02 19:33:03 <sipa> is it the same with bitcoind?
1406 2012-01-02 19:33:10 <BitMark> ah
1407 2012-01-02 19:33:21 * luke-jr does that too often :/
1408 2012-01-02 19:33:30 mcorlett has joined
1409 2012-01-02 19:33:49 TD has quit (Quit: TD)
1410 2012-01-02 19:34:23 <BitMark> so many ways to do linux style cli options ugh
1411 2012-01-02 19:35:38 <luke-jr> is there any reason not to make Bitcoin more democratic?
1412 2012-01-02 19:36:08 <luke-jr> ie, if you see 1000 different peers accepting a block, 100 deep in their chains, accept it as valid even if it breaks every rule in the book
1413 2012-01-02 19:36:30 <luke-jr> (maybe some more rules too, but the general idea of accepting it based on popularity…)
1414 2012-01-02 19:36:52 <BitMark> all 1000 peers belong to black hat?
1415 2012-01-02 19:37:38 <luke-jr> BitMark: additional rules could include, that hashrate has maintained for those 100 blocks
1416 2012-01-02 19:37:49 <sipa> luke-jr: if it breaks every rule in the book, you won't know how to interpret its effect
1417 2012-01-02 19:37:57 BurtyBB has joined
1418 2012-01-02 19:37:59 <luke-jr> sipa: hmm, true
1419 2012-01-02 19:38:02 <luke-jr> how about *some* rules? :P
1420 2012-01-02 19:38:20 <luke-jr> ie, max block size, max sigops
1421 2012-01-02 19:38:22 <luke-jr> eg*
1422 2012-01-02 19:38:52 <justmoon> +1 @ max block size
1423 2012-01-02 19:39:02 <gavinandresen> luke-jr: I was working on a user-defined-checkpoints patch before the OP_EVAL controversy erupted
1424 2012-01-02 19:39:36 <BitMark> is max block size considered a core rule
1425 2012-01-02 19:39:45 <luke-jr> gavinandresen: not sure how that helps?
1426 2012-01-02 19:39:49 <luke-jr> BitMark: yes
1427 2012-01-02 19:39:51 <justmoon> BitMark: right now it's a forking rule, yes
1428 2012-01-02 19:39:56 <luke-jr> BitMark: current client will reject any block over 1 MB period
1429 2012-01-02 19:40:08 <BitMark> ah ok
1430 2012-01-02 19:40:33 BurtyB has quit (Ping timeout: 252 seconds)
1431 2012-01-02 19:40:37 <BitMark> its always been planned to be removed right?
1432 2012-01-02 19:41:01 <luke-jr> in some cases, adding this "if everyone else says the block is 2 MB, I'll accept the new size as valid after 100 confirmations" might be safe without blockchain fork?
1433 2012-01-02 19:41:36 <gavinandresen> luke-jr: the notion of checkpoints is "this IS the correct chain, no need to check..."  So it seems to me if you can come up with a reliable way to checkpoint a block that 1000 of your peers buried 100 blocks deep then you could build on that idea to do auto-checkpointing (and allow rules to be broken at/before the checkpoint)
1434 2012-01-02 19:41:56 <luke-jr> gavinandresen: I see.
1435 2012-01-02 19:42:20 <luke-jr> in some cases, the rules should probably affect present blocks too though
1436 2012-01-02 19:42:30 <BitMark> at some point checkpoints will no longer be possible?
1437 2012-01-02 19:42:39 <luke-jr> like max block size - if a 2 MB block is valid, then future blocks should be allowed up to 2 MB without complaint
1438 2012-01-02 19:42:42 <BitMark> or at least manual checkpoints
1439 2012-01-02 19:42:51 <luke-jr> BitMark: why?
1440 2012-01-02 19:43:04 <BitMark> checkpoint is a function of a specific client implementation
1441 2012-01-02 19:43:16 <luke-jr> so?
1442 2012-01-02 19:43:24 <gavinandresen> Hmm?  Different implementations can (and should) have different checkpoints....
1443 2012-01-02 19:43:29 dissipate has joined
1444 2012-01-02 19:43:29 dissipate has quit (Changing host)
1445 2012-01-02 19:43:29 dissipate has joined
1446 2012-01-02 19:43:31 <BitMark> ooh right
1447 2012-01-02 19:43:41 <justmoon> gavinandresen: should?
1448 2012-01-02 19:43:43 <BitMark> but a checkpoint will have less weight of meaning
1449 2012-01-02 19:44:04 <BitMark> now a checkpoint is profoundly powerful
1450 2012-01-02 19:44:04 <gavinandresen> justmoon: Sure, other implementations should choose checkpoints based on their release schedules
1451 2012-01-02 19:44:20 <luke-jr> gavinandresen: btw, is the merge freeze a result of the OP_EVAL argument, or just the holiday?
1452 2012-01-02 19:44:28 <gavinandresen> luke-jr: holidays
1453 2012-01-02 19:44:30 <luke-jr> k
1454 2012-01-02 19:44:44 <BitMark> actually the power of a checkpoint is only relevant to mining...
1455 2012-01-02 19:44:55 <BitMark> sorry thinking outloud
1456 2012-01-02 19:45:19 <justmoon> gavinandresen: ok, so let's just say I happened to choose the exact same checkpoints you did... :)
1457 2012-01-02 19:45:54 <gavinandresen> justmoon: wow!  what ARE the chances!  We must be long-lost psychically-connected twins
1458 2012-01-02 19:46:07 <justmoon> gavinandresen: I know, right? scary stuff
1459 2012-01-02 19:46:14 <justmoon> anyway that answers my question
1460 2012-01-02 19:46:21 <justmoon> thx
1461 2012-01-02 19:46:54 <justmoon> (if we're twins then you got the brains and I got the looks)
1462 2012-01-02 19:47:04 <BitMark> so a coalition of miners might decide they want to increase the block size
1463 2012-01-02 19:47:50 <gavinandresen> They'd need to convince Mt.Gox and any other popular services to increase, too, or they'd fork themselves.
1464 2012-01-02 19:48:16 dissipate has quit (Client Quit)
1465 2012-01-02 19:48:22 <luke-jr> gavinandresen: unless that idea is implemented first
1466 2012-01-02 19:48:46 <luke-jr> then such clients would just freeze for 100 blocks or so
1467 2012-01-02 19:49:29 <gavinandresen> If everybody upgrades their software then there is no problem, and we should just change the blocksize rule from "1MB blocks" to ... something smarter....
1468 2012-01-02 19:49:52 <gavinandresen> But old clients that haven't upgraded will get left behind no matter what.
1469 2012-01-02 19:50:15 <BitMark> this is true of any expansion of the forking rules i guess
1470 2012-01-02 19:50:18 Carmivore has quit (Remote host closed the connection)
1471 2012-01-02 19:50:20 <gavinandresen> yup
1472 2012-01-02 19:50:49 <BitMark> a contraction of forking rules would not leave them behind but may reject some of their txes
1473 2012-01-02 19:51:06 <luke-jr> gavinandresen: I'm suggesting leave the limit to 1 MB to prevent forking, but if a 1+N MB block is 100 deep in at least 100 other peers' chains, with no significant (>50%) hashrate drop, then adjust your own limit to accept that block and continue with the new limit
1474 2012-01-02 19:51:32 <luke-jr> gavinandresen: that way, such a client would eventually adjust its limit if the miners have agreed on a new one
1475 2012-01-02 19:51:43 * sipa hates bitcoin's dependency hell
1476 2012-01-02 19:51:46 <sipa> HATES
1477 2012-01-02 19:51:52 <luke-jr> but would continue to stick to the current rules so long as that doesn't happen
1478 2012-01-02 19:51:56 <luke-jr> sipa: ⁇?
1479 2012-01-02 19:51:57 <roconnor> sipa: I didn't think it was that bad
1480 2012-01-02 19:52:02 <sipa> i
1481 2012-01-02 19:52:23 <sipa> i'm splitting off a part of CAddress into CIP and CIPPort
1482 2012-01-02 19:52:34 <sipa> in a separate source file, with clean dependencies
1483 2012-01-02 19:52:38 <gavinandresen> Oh, the internal class dependency hell....
1484 2012-01-02 19:52:43 <roconnor> sipa: openssl, db4, boost, zlib, miniupnpc and qt4
1485 2012-01-02 19:52:53 <sipa> oh i mean internally
1486 2012-01-02 19:52:53 <roconnor> oh
1487 2012-01-02 19:52:54 <sipa> the headers
1488 2012-01-02 19:52:57 ByteCoin has joined
1489 2012-01-02 19:52:57 <roconnor> ok
1490 2012-01-02 19:53:02 <roconnor> that I know nothing about :D
1491 2012-01-02 19:53:07 gfinn has quit (Quit: gfinn)
1492 2012-01-02 19:53:24 <gavinandresen> Patches that start to untangle that mess very welcome.
1493 2012-01-02 19:53:30 <luke-jr> sipa: CNode and CService would be better IMO
1494 2012-01-02 19:53:31 <sipa> gavinandresen: one will soon come :)
1495 2012-01-02 19:53:46 <sipa> luke-jr: CNode already exists, unfortunately
1496 2012-01-02 19:53:52 <gavinandresen> (unit tests even more so)
1497 2012-01-02 19:53:52 <roconnor> sipa: better to rewrite it in a non-object oriented language.
1498 2012-01-02 19:53:54 * roconnor nods
1499 2012-01-02 19:53:56 <roconnor> :P
1500 2012-01-02 19:53:56 <luke-jr> sipa: CNetworkNode and CNetworkService ?
1501 2012-01-02 19:54:06 <sipa> meh
1502 2012-01-02 19:54:11 <luke-jr> :p
1503 2012-01-02 19:54:14 <sipa> once this works, i may do a search/replace once
1504 2012-01-02 19:54:24 <luke-jr> at least CAddress is *correct* terminology
1505 2012-01-02 19:54:30 <sipa> it's not
1506 2012-01-02 19:54:42 <luke-jr> better than CIP :P
1507 2012-01-02 19:54:47 <sipa> CAddress is an address + some internal bookkeeping information about it
1508 2012-01-02 19:54:55 <sipa> i want it to be just an address
1509 2012-01-02 19:55:11 <luke-jr> so make it just an address?
1510 2012-01-02 19:55:12 <sipa> CNetworkAddress and CNetworkService, maybe
1511 2012-01-02 19:55:29 <luke-jr> I don't recall bookkeeping in CAddress…
1512 2012-01-02 19:55:31 <BitMark> is there clear unit deliniation to be unit tested at this point?
1513 2012-01-02 19:55:40 <sipa> node flags, connect time, lastTry, ...
1514 2012-01-02 19:55:56 <ByteCoin> gavinandresen: Is there going to be some sort of IRC meeting tomorrow which I should attend?
1515 2012-01-02 19:56:14 <ByteCoin> That you know of?
1516 2012-01-02 19:56:26 <gavinandresen> ByteCoin: Yes, 4PM EST tomorrow
1517 2012-01-02 19:56:37 <ByteCoin> How many hours is that from now?
1518 2012-01-02 19:56:42 Carmivore has joined
1519 2012-01-02 19:56:44 <gavinandresen> One hour
1520 2012-01-02 19:56:52 <roconnor> ByteCoin: about 25 hours from now
1521 2012-01-02 19:56:55 <roconnor> + 7 min
1522 2012-01-02 19:56:58 <ByteCoin> Thanks!
1523 2012-01-02 19:57:09 theymos has joined
1524 2012-01-02 19:57:17 <ByteCoin> Is there an agenda?
1525 2012-01-02 19:57:31 <gavinandresen> ByteCoin: talking about OP_EVAL.  I'm proposing a safer alternative
1526 2012-01-02 19:58:13 <ByteCoin> I have to live in suspense and read your proposal very quickly when you release it tomorrow?
1527 2012-01-02 19:58:31 <gavinandresen> one sec, digging out the link....
1528 2012-01-02 19:59:11 endian7000 has quit (Quit: endian7000)
1529 2012-01-02 19:59:25 BlueMatt has joined
1530 2012-01-02 19:59:37 <gavinandresen> http://sourceforge.net/mailarchive/message.php?msg_id=28617051
1531 2012-01-02 20:00:12 <BitMark> in bitcoin-qt the date column shows the date that client sees a tx in the blockchain, and not the date the tx was added to the blockchain?
1532 2012-01-02 20:00:27 <ByteCoin> gavinandresen: Thanks
1533 2012-01-02 20:02:18 <luke-jr> BitMark: read bitcointalk thread
1534 2012-01-02 20:03:07 <BitMark> which one?
1535 2012-01-02 20:03:25 <luke-jr> https://bitcointalk.org/index.php?topic=54527.0
1536 2012-01-02 20:05:16 <BlueMatt> damn realtek driver keeps using up my iommu space and making my wifi stop working...
1537 2012-01-02 20:06:22 bushing has quit (Remote host closed the connection)
1538 2012-01-02 20:07:05 <BitMark> could a miner fudge the block time stamp?
1539 2012-01-02 20:07:17 <BlueMatt> yea
1540 2012-01-02 20:07:39 <BlueMatt> (thats what nTime rolling is, or whatever its called)
1541 2012-01-02 20:07:45 booo has joined
1542 2012-01-02 20:07:47 <BitMark> do forking rules reject a block with a timestamp before the pprior block?
1543 2012-01-02 20:07:57 <BlueMatt> no
1544 2012-01-02 20:08:02 <sipa> why does util.h need to depend on the whole headers.h zoo?
1545 2012-01-02 20:08:18 <BlueMatt> no files should depend on headers.h
1546 2012-01-02 20:08:23 * sipa fixes this
1547 2012-01-02 20:08:24 <BlueMatt> if they do, headers.h should be copied to the file
1548 2012-01-02 20:08:43 * BlueMatt gets mad at sipa for fixing it because it no doubt conflicts with cblockstore all over the place
1549 2012-01-02 20:08:53 <sipa> doubtful
1550 2012-01-02 20:09:08 <sipa> i tried to split util.h into a compat.h and logging.h, which are more low-level than most stuff in util.h
1551 2012-01-02 20:09:20 <sipa> but logging depends on finding the app directory
1552 2012-01-02 20:10:26 <luke-jr> BlueMatt: why is a driver using IOMMU?
1553 2012-01-02 20:11:20 <BlueMatt> luke-jr: I dont know what IOMMU is (nor do I care), I just know a driver is filling it up and then my wifi stops working because it wants to use IOMMU
1554 2012-01-02 20:11:42 <BlueMatt> (its probably my wifi killing the space as others have reported the same bug)
1555 2012-01-02 20:11:52 <BlueMatt> (like 3 years ago, and yet its not fixed)...
1556 2012-01-02 20:11:57 <BlueMatt> seriously realtek, seriously???
1557 2012-01-02 20:12:00 <luke-jr> BlueMatt: IOMMU is for passing hardware through to virtual machines. It isn't supported by most desktop systems, and probably no laptops.
1558 2012-01-02 20:12:20 <BlueMatt> luke-jr: obviously a different IOMMU
1559 2012-01-02 20:12:24 <luke-jr> also, what are you using, Windows?
1560 2012-01-02 20:12:30 <BlueMatt> linux
1561 2012-01-02 20:12:34 <luke-jr> I doubt Realtek writes the Linux driver
1562 2012-01-02 20:12:39 <BlueMatt> they d
1563 2012-01-02 20:12:40 <BlueMatt> o
1564 2012-01-02 20:12:43 <BlueMatt> (well they release it)
1565 2012-01-02 20:13:00 <luke-jr> they certainly don't release it
1566 2012-01-02 20:13:03 <luke-jr> Linus releases Linux
1567 2012-01-02 20:13:07 <BlueMatt> luke-jr:  google "DMA: Out of SW-IOMMU space"
1568 2012-01-02 20:13:17 <BlueMatt> they have a linux driver that they publish
1569 2012-01-02 20:13:22 <BlueMatt> dont know who write it and dont care
1570 2012-01-02 20:13:29 <BlueMatt> the one they publish gets put in the linux kernel
1571 2012-01-02 20:13:32 <BlueMatt> which is release by linus
1572 2012-01-02 20:13:37 <BitMark> so the timestamp on a tx should never change but no two clients will ever have the same timestamp for a tx?
1573 2012-01-02 20:13:38 <BlueMatt> (clear enough for you?)
1574 2012-01-02 20:13:57 <luke-jr> BitMark: pretty much, IMO
1575 2012-01-02 20:14:14 <luke-jr> BitMark: the only network-coordinated timestamp is on blocks, which is often long after you see it
1576 2012-01-02 20:14:34 <BlueMatt> luke-jr: input/output memory management unit (IOMMU)
1577 2012-01-02 20:14:48 <BitMark> and the client currently ignores outstanding txes until it has synched the blockchain?
1578 2012-01-02 20:15:09 Carmivore has quit (Remote host closed the connection)
1579 2012-01-02 20:15:13 <BlueMatt> yea
1580 2012-01-02 20:15:17 <BlueMatt> (well mostly-synced)
1581 2012-01-02 20:15:43 <justmoon> BlueMatt: stop talking about this you're gonna fill up your iommu again :P
1582 2012-01-02 20:16:12 <BlueMatt> justmoon: yea...
1583 2012-01-02 20:16:27 <luke-jr> lol
1584 2012-01-02 20:16:47 justmoon has quit (Quit: Leaving)
1585 2012-01-02 20:17:31 <BitMark> a single tx can have multiple block dates during a chain split
1586 2012-01-02 20:18:30 <theymos> Not from a single node's perspective.
1587 2012-01-02 20:19:07 <BitMark> but this could create problems in a system that load balances accounting accross multiple nodes
1588 2012-01-02 20:19:07 sneak has quit (Ping timeout: 252 seconds)
1589 2012-01-02 20:19:31 <BlueMatt> you shouldnt use tx timestamps (or block timestamps) for anything useful
1590 2012-01-02 20:19:36 <BlueMatt> block timestamps arent reliable (at all)
1591 2012-01-02 20:20:39 * luke-jr ponders throwing timestamps into transactions <.<
1592 2012-01-02 20:20:52 <BlueMatt> why?
1593 2012-01-02 20:20:54 <BitMark> interesting so all you get to know is when you witness various events
1594 2012-01-02 20:21:14 <BitMark> or when a message of an event propagates to you
1595 2012-01-02 20:21:25 <theymos> luke-jr: Then the sender could mess with the recipient's accounting.
1596 2012-01-02 20:21:31 <BitMark> any provided timestamp is unverifiable
1597 2012-01-02 20:21:36 Carmivore has joined
1598 2012-01-02 20:21:57 <luke-jr> theymos: depends on the accounting logic
1599 2012-01-02 20:22:38 <theymos> IMO block time should be used for GUI clients, and received time should be used for servers. Servers run all the time and will have an accurate received time, but GUI clients won't.
1600 2012-01-02 20:23:40 sneak has joined
1601 2012-01-02 20:23:40 sneak has quit (Changing host)
1602 2012-01-02 20:23:40 sneak has joined
1603 2012-01-02 20:23:59 <ZellFaze> I agree with theymos.
1604 2012-01-02 20:24:12 <luke-jr> theymos: that's a big assumption
1605 2012-01-02 20:24:35 <theymos> Servers could maybe use the other behavior with a switch (and vice versa with clients).
1606 2012-01-02 20:24:47 <BitMark> well its really annoying to see all these txes from over 100 days ago with a timestamp of today
1607 2012-01-02 20:25:43 <luke-jr> GUI should use the "smart" algorithm in that thread, and servers should provide that along with both "seen" and "block" timestamps
1608 2012-01-02 20:26:05 <theymos> Yeah, that wouldn't be a bad solution.
1609 2012-01-02 20:26:40 <BitMark> "block with a future timestamp"?
1610 2012-01-02 20:26:40 <luke-jr> but it doesn't solve the "multiple servers that need to be synchronized" issue
1611 2012-01-02 20:27:08 <luke-jr> BitMark: transactions in the block are giving the current timestamp
1612 2012-01-02 20:27:39 <luke-jr> given*
1613 2012-01-02 20:27:39 <BitMark> block with future timestamp has an incorrect timestamp
1614 2012-01-02 20:27:59 <luke-jr> BitMark: current timestamp = time
1615 2012-01-02 20:28:09 <luke-jr> BitMark: current timestamp = time(NULL)
1616 2012-01-02 20:28:29 <luke-jr> ie, "right now"
1617 2012-01-02 20:28:44 <luke-jr> actually, there's a request to have the GUI show "time ago" instead
1618 2012-01-02 20:28:46 <BitMark> the txes in that block should be given a timestamp somewhere between the timestamp of the previous block and the next block
1619 2012-01-02 20:28:47 <luke-jr> which might make the most sense
1620 2012-01-02 20:29:32 <luke-jr> BitMark: what if the next one is wrong?
1621 2012-01-02 20:29:57 <luke-jr> the only way you block Block X has a future timestamp is if you are online before that timestamp
1622 2012-01-02 20:30:06 <luke-jr> in which case, the time you received it is the best guess
1623 2012-01-02 20:30:08 <BitMark> make a timestamp normalizer that reigns in outllier timestamps
1624 2012-01-02 20:31:04 <theymos> Transactions are in order in blocks, so you could perhaps get higher time accuracy by placing timestamps between two block timestamps using the ordering.
1625 2012-01-02 20:31:17 <andrew12> why is time important though?
1626 2012-01-02 20:31:21 <BitMark> oh ok so if it has a future timestamp and the block is a recent block
1627 2012-01-02 20:32:21 <BitMark> obviously we can't know the exact time of a tx signing, net insertion, or block insertion
1628 2012-01-02 20:32:28 <BitMark> but it would be nice to have an approximate
1629 2012-01-02 20:32:59 <BitMark> and there should be enough info to get close
1630 2012-01-02 20:33:14 <BlueMatt> you can use the block timestamp to get the day
1631 2012-01-02 20:33:17 <BlueMatt> and probably within the hour
1632 2012-01-02 20:33:21 <BitMark> without any undue burden
1633 2012-01-02 20:33:24 <BlueMatt> do you need more than that?
1634 2012-01-02 20:33:28 <BitMark> nope
1635 2012-01-02 20:33:33 EPiSKiNG has joined
1636 2012-01-02 20:33:36 <BlueMatt> ok, so use the block timestamp...
1637 2012-01-02 20:33:45 <luke-jr> BlueMatt: I need them to be in order
1638 2012-01-02 20:33:50 <BitMark> block timestamp is unreliable
1639 2012-01-02 20:34:04 <luke-jr> sick of transactions randomly rearranging themselves
1640 2012-01-02 20:34:05 <BlueMatt> yea, but its probably within the hour of when the block was generated///
1641 2012-01-02 20:34:06 <BitMark> for any individual block
1642 2012-01-02 20:34:28 <BitMark> BlueMatt: can't trust miner is using correct time
1643 2012-01-02 20:34:41 <BlueMatt> yea, but the network enforces that its somewhat correct
1644 2012-01-02 20:34:54 <BlueMatt> I forget the rule, but it has to be within x of the past blocks
1645 2012-01-02 20:34:55 <luke-jr> it has to be within 2 hours
1646 2012-01-02 20:35:12 <BitMark> is that a forking rule?
1647 2012-01-02 20:35:17 <BlueMatt> why do you need more than 2 hours of accuracy?
1648 2012-01-02 20:35:20 <ZellFaze> I think so.
1649 2012-01-02 20:36:01 <BlueMatt> its just for displaying to the user, what user cares if they sent the tx at 4:00 or 6:00?
1650 2012-01-02 20:36:10 <BitMark> wait so if 120 minutes pass without a block the chain dies?
1651 2012-01-02 20:36:10 <BlueMatt> you have the day
1652 2012-01-02 20:36:48 <BlueMatt> no
1653 2012-01-02 20:36:51 <BitMark> unless a miner lies and back dates the block?
1654 2012-01-02 20:37:03 <BlueMatt> no, clients will accept a block that is within 2 hours of their time
1655 2012-01-02 20:37:08 <BlueMatt> (calculated network time)
1656 2012-01-02 20:37:13 EPiSKiNG- has quit (Ping timeout: 240 seconds)
1657 2012-01-02 20:37:41 <BlueMatt> there are theoretical attacks based on that rule (see: timejacking) but they are hard to pull off
1658 2012-01-02 20:38:12 <BitMark> so the block timestamp is reliable to within 120 minutes then?
1659 2012-01-02 20:38:38 <slush> I'm trying to compile bitcoind on debian system, but I'm getting "headers.h:42:20: fatal error: db_cxx.h: No such file or directory" error. Any ideas?
1660 2012-01-02 20:39:51 <theymos> Do you have Berkeley DB?
1661 2012-01-02 20:39:52 <BlueMatt> slush: do you have libdb4.8++-dev installed?
1662 2012-01-02 20:39:58 <BlueMatt> or another libdb*++-dev?
1663 2012-01-02 20:40:18 <slush> I have libdb4.8, but there's no libdb4.8++ package on debian
1664 2012-01-02 20:40:25 <slush> will it work with 5.2?
1665 2012-01-02 20:40:29 <luke-jr> slush: make bitcoind BDB_INCLUDE_PATH=/usr/include/db4.8/
1666 2012-01-02 20:40:29 <BlueMatt> yea
1667 2012-01-02 20:40:37 <luke-jr> or 5.2 or whatever
1668 2012-01-02 20:40:40 <slush> thanks, I'll try
1669 2012-01-02 20:40:42 <BlueMatt> though your wallet will be locked to 5.2 forever
1670 2012-01-02 20:40:49 <BlueMatt> or 5.X
1671 2012-01-02 20:40:52 <luke-jr> "forever"
1672 2012-01-02 20:40:52 <theymos> DB is also really easy to compile.
1673 2012-01-02 20:41:00 <BlueMatt> (which the binary releases dont include)
1674 2012-01-02 20:41:07 <slush> ok, looks like 5.1++ is here...
1675 2012-01-02 20:41:11 <slush> trying it right now...
1676 2012-01-02 20:41:13 <BlueMatt> also see https://launchpad.net/~bitcoin/+archive/bitcoin
1677 2012-01-02 20:41:32 <BlueMatt> (it has the needed 4.8 packages for ubuntu oneiric, which has the same issue)
1678 2012-01-02 20:41:43 <BitMark> why is the address field (n/a)?
1679 2012-01-02 20:41:46 <luke-jr> BlueMatt: any reason you don't support Debian there?
1680 2012-01-02 20:42:19 <BlueMatt> luke-jr: because I havent looked into if launchpad will build for debian?
1681 2012-01-02 20:42:33 <BlueMatt> feel free to tell me all I have to do is change the release in the changelog to XXX
1682 2012-01-02 20:42:43 <BlueMatt> (how you have to package for different versions of ubuntu)
1683 2012-01-02 20:42:51 <luke-jr> BlueMatt: also, any reason not to remove the miniupnpc backports now?
1684 2012-01-02 20:42:53 <BlueMatt> (yea you have to upload once for each version of ubuntu...facepalm)
1685 2012-01-02 20:43:07 TheSeven has quit (Ping timeout: 244 seconds)
1686 2012-01-02 20:43:13 <BlueMatt> luke-jr: 1.5 doesnt work for some routers?
1687 2012-01-02 20:43:20 <luke-jr> oh
1688 2012-01-02 20:43:21 <BlueMatt> also, most ubuntus dont have miniupnpc1.5
1689 2012-01-02 20:43:26 <BlueMatt> (I think only oneiric has it)
1690 2012-01-02 20:43:42 <luke-jr> Ubuntu fail :P
1691 2012-01-02 20:43:54 <BlueMatt> ubuntu just pulls debian packages at release...
1692 2012-01-02 20:44:01 <BlueMatt> so older debians dont have it either...
1693 2012-01-02 20:44:02 RazielZ has quit (Ping timeout: 240 seconds)
1694 2012-01-02 20:44:06 <BlueMatt> (including supported ones...)
1695 2012-01-02 20:44:12 <slush> excellent, 5.1 works. Thank you all :-)
1696 2012-01-02 20:44:45 <BlueMatt> slush: your wallet is now locked to db5.X, so you can only ever use it on a custom-compiled bitcoin
1697 2012-01-02 20:44:53 <luke-jr> BlueMatt: in any case, it'd be a shame to upgrade some Ubuntu user to 1.6 and find it breaks their torrent client
1698 2012-01-02 20:45:10 <BlueMatt> luke-jr: it doesnt, its a different package name
1699 2012-01-02 20:45:16 <BlueMatt> (only the -dev package is the same)
1700 2012-01-02 20:45:17 <luke-jr> oh
1701 2012-01-02 20:45:18 <slush> BlueMatt will wallet from older bdb convert automatically to 5.1 format?
1702 2012-01-02 20:45:22 <luke-jr> nm then
1703 2012-01-02 20:45:25 <BlueMatt> slush: yes
1704 2012-01-02 20:45:28 <slush> great
1705 2012-01-02 20:46:05 <BlueMatt> luke-jr: packages included are libminiupnpc8, libminiupnpc8-dev, and miniupnpc (which is a cli client)
1706 2012-01-02 20:46:21 <BlueMatt> (for some reason libminiupnpc 1.5 is libminiupnpc5 and 1.6 is libminiupnpc8
1707 2012-01-02 20:46:25 <BlueMatt> nfc why
1708 2012-01-02 20:46:39 <luke-jr> soname
1709 2012-01-02 20:46:45 dan__ has joined
1710 2012-01-02 20:46:48 mcorlett has quit (Remote host closed the connection)
1711 2012-01-02 20:46:52 <BlueMatt> yea, but nfc why miniupnpc did it that way
1712 2012-01-02 20:47:02 <luke-jr> sonames are governed by strict ABI rules
1713 2012-01-02 20:47:15 <BlueMatt> yea, and why cant they go from 1.5->5 to 1.6->6?
1714 2012-01-02 20:48:55 <BlueMatt> coderrr: whats the motivation for 733?
1715 2012-01-02 20:52:21 twobitcoins has quit (Read error: Connection reset by peer)
1716 2012-01-02 20:52:49 <luke-jr> BlueMatt: presumably they broke ABI 3 times
1717 2012-01-02 20:52:58 <BlueMatt> thats just sad...
1718 2012-01-02 20:55:53 <ByteCoin> ;;last theymos
1719 2012-01-02 20:55:53 <gribble> (last [--{from,in,on,with,without,regexp} <value>] [--nolimit]) -- Returns the last message matching the given criteria. --from requires a nick from whom the message came; --in requires a channel the message was sent to; --on requires a network the message was sent on; --with requires some string that had to be in the message; --regexp requires a regular expression the message must (1 more message)
1720 2012-01-02 20:55:59 <theymos> I'm here.
1721 2012-01-02 20:56:03 <ByteCoin> cOOL
1722 2012-01-02 20:56:11 [Tycho] has quit (Remote host closed the connection)
1723 2012-01-02 20:57:02 <ByteCoin> I seem to remember you were against IsStandard. What (roughly) do you think about the alternatives to OP_EVAL in the light of your preference.
1724 2012-01-02 20:57:12 BlueMatt has quit (Ping timeout: 252 seconds)
1725 2012-01-02 20:57:29 TuxBlackEdo has quit (Quit: vragnaroda)
1726 2012-01-02 20:57:58 TuxBlackEdo has joined
1727 2012-01-02 20:57:58 TuxBlackEdo has quit (Changing host)
1728 2012-01-02 20:57:58 TuxBlackEdo has joined
1729 2012-01-02 20:58:16 RazielZ has joined
1730 2012-01-02 20:59:01 TuxBlackEdo has quit (Client Quit)
1731 2012-01-02 20:59:13 TuxBlackEdo has joined
1732 2012-01-02 20:59:14 TuxBlackEdo has quit (Changing host)
1733 2012-01-02 20:59:14 TuxBlackEdo has joined
1734 2012-01-02 20:59:25 <theymos> I am against IsStandard, but I also don't like that so much freedom would be allowed with the "basic" OP_EVAL version. It seems dangerous. Gavin's proposal is the best alt proposal in my view (maybe a flag would be nice so that it's less of a hack), though I think OP_EVAL is more elegant and I would somewhat prefer to keep that and just have an "executable" flag.
1735 2012-01-02 20:59:26 TuxBlackEdo has quit (Remote host closed the connection)
1736 2012-01-02 20:59:34 onelineproof has joined
1737 2012-01-02 21:00:33 <ByteCoin> I see. Thanks.
1738 2012-01-02 21:00:44 <theymos> What's your view?
1739 2012-01-02 21:02:13 TuxBlackEdo has joined
1740 2012-01-02 21:02:20 HURR_DURR is now known as copumpkin
1741 2012-01-02 21:04:01 <ByteCoin> Firstly I'd like to say that I think that OP_EVAL is technically the best solution to this problem if considered in the absence of any pre-existing infrastructure. In other words, if we were talking on a purely theoretical level where all other design decisions could be changed with no consequences then I think that OP_EVAL is the right way to go.
1742 2012-01-02 21:04:32 <ZellFaze> But given the current infrastructure...?
1743 2012-01-02 21:04:54 <sipa> anyone know a command-line multi-file search-replace utility?
1744 2012-01-02 21:06:23 <theymos> Does sed not work with multiple files?
1745 2012-01-02 21:06:34 TheSeven has joined
1746 2012-01-02 21:06:45 <ByteCoin> Given the current circumstances and infrastructure I can see that some other way of achieving the same ends would be more consistent with decisions already made and the preferences of the lead developers.
1747 2012-01-02 21:06:47 <schilly> sipa: something like find <what> | xargs sed -i "s/..." ?
1748 2012-01-02 21:07:47 <sipa> schilly: that's what i was looking for, i must have missed -i in the manual
1749 2012-01-02 21:07:50 <sipa> thanks
1750 2012-01-02 21:08:12 <ByteCoin> Unless I have misread Gavin's proposal, I believe it indicates a shift away from the primacy of the scripting language.
1751 2012-01-02 21:08:20 ovidiusoft has quit (Ping timeout: 240 seconds)
1752 2012-01-02 21:08:32 <ByteCoin> This was already underway when IsStandard was introduced.
1753 2012-01-02 21:09:01 <ByteCoin> Perhaps I should have said that it's a "further shift away"
1754 2012-01-02 21:09:31 <ByteCoin> It seems likely Gavin's proposal will be adopted.
1755 2012-01-02 21:11:00 <roconnor> ByteCoin: since Gavin's proposal deserializes an arbitrary script; I don't really see a shift away from scripting.
1756 2012-01-02 21:15:13 <sipa> luke-jr: suggestions for a preferrably short new name for CIP, different from CAddress (touching CAddress will cause too many merge conflicts, i fear)
1757 2012-01-02 21:15:17 <sipa> ?
1758 2012-01-02 21:15:20 <sipa> or anyone else
1759 2012-01-02 21:15:30 <ByteCoin> roconnor: Well, in order to understand Gavin's transactions fully, you need more information than just the scriptPubKey and scriptSig and the script language spec. This is why I say it's a departure.
1760 2012-01-02 21:16:06 <sipa> luke-jr: otherwise it's CIP and CService
1761 2012-01-02 21:16:15 <theymos> Yeah, that's why I think Gavin's scheme is less elegant: it adds more special exceptions to Script. Script is already not a very regular "language", though, so I'm not *too* bothered by it. I'd like Script to be replaced by something a lot better someday.
1762 2012-01-02 21:16:21 BlueMatt-mobile has joined
1763 2012-01-02 21:16:58 <luke-jr> sipa: CNetAddress ?
1764 2012-01-02 21:17:00 <ZellFaze> Wouldn't that end up breaking all the clients without an update?  Very painfully breaking them?
1765 2012-01-02 21:17:24 <sipa> luke-jr: that's possible, but a bit long
1766 2012-01-02 21:17:25 datagutt has quit (Quit: Computer has gone to sleep.)
1767 2012-01-02 21:17:32 <sipa> maybe CIPAddress or CIPAddr ?
1768 2012-01-02 21:17:39 <luke-jr> what if it isn't IP?
1769 2012-01-02 21:17:48 <sipa> how can it not be?
1770 2012-01-02 21:17:49 genjix has left ()
1771 2012-01-02 21:17:56 <luke-jr> sipa: future expansion?
1772 2012-01-02 21:18:01 <sipa> right, yes, indeed
1773 2012-01-02 21:18:13 <luke-jr> also, CIP is a proprietary protocol I work with <.<
1774 2012-01-02 21:18:22 <ByteCoin> zelifaze: I believe that such an update will never occur, so don't worry. Such comprehensive changes would best be adopted by starting a new blockchain and trading currency between them.
1775 2012-01-02 21:18:25 <sipa> CNetAddr maybe
1776 2012-01-02 21:18:32 <theymos> You can improve Script in a backward-compatable way by replacing an OP_NOP with an OP_EVAL which processes scripts differently.
1777 2012-01-02 21:19:09 <ZellFaze> ByteCoin: That makes much more sense.
1778 2012-01-02 21:19:57 BlueMatt has joined
1779 2012-01-02 21:19:59 b4epoche_ has joined
1780 2012-01-02 21:20:01 <ByteCoin> theymos: The script can be hacked to get the limited functionality desired. There's no incentive for making it a better language per se.
1781 2012-01-02 21:20:25 <BlueMatt> wasnt the meeting thing 15 minutes ago?
1782 2012-01-02 21:20:31 BlueMatt-mobile has quit (Remote host closed the connection)
1783 2012-01-02 21:20:32 <sipa> BlueMatt: no, tomorrow
1784 2012-01-02 21:20:36 <BlueMatt> oh...
1785 2012-01-02 21:20:48 <ByteCoin> As someone said, you might as well just have an enum with the different transaction types hardcoded.
1786 2012-01-02 21:20:53 b4epoche has quit (Ping timeout: 240 seconds)
1787 2012-01-02 21:20:54 b4epoche_ is now known as b4epoche
1788 2012-01-02 21:21:30 <ZellFaze> BlueMatt: You are the third or fourth person to make that mistake (myself included).
1789 2012-01-02 21:22:37 <theymos> That requires too much cooperation. A powerful Script is a great way of supporting many transaction types in a backward-compatible way without any semi-centralized "assignment" of resources.
1790 2012-01-02 21:23:44 <BlueMatt> sipa: where did it say that?
1791 2012-01-02 21:23:45 <BlueMatt> I see no mention of date on the email...
1792 2012-01-02 21:24:02 <theymos> Yeah, there was no date in the email so I assumed it was today.
1793 2012-01-02 21:24:04 <ZellFaze> I didn't either, so I assumed today.
1794 2012-01-02 21:25:07 <gavinandresen> We could talk about something else.  I currently have 8 fairly high priority things on my TODO list
1795 2012-01-02 21:25:50 * BlueMatt has spv mode moving along nicely
1796 2012-01-02 21:26:04 <gavinandresen> Like, for example, where would be a good place to keep track of block-chain-splitting changes we should consider if/when we make blockchain-splitting changes?
1797 2012-01-02 21:26:08 <ByteCoin> theymos: You're right *in theory* but so far we have seen the script being rendered less capable and the backward compatibility "hacked" to support the new functionality.
1798 2012-01-02 21:26:12 <gmaxwell> theymos: I'm also not an IsStandard fan, but it serves a useful purpose as training wheels that keep the system from being destroyed while its hardened through increased use.
1799 2012-01-02 21:26:26 <gmaxwell> (oh, I was in backscroll)
1800 2012-01-02 21:26:54 phungus is now known as phungie
1801 2012-01-02 21:27:01 phungi is now known as phungus
1802 2012-01-02 21:27:08 phungie is now known as phungi
1803 2012-01-02 21:27:44 <sipa> gavinandresen: not sure what you're asking
1804 2012-01-02 21:27:46 <ByteCoin> gmaxwell: You remove the training wheels when you're young and won't break if you fall off.
1805 2012-01-02 21:28:35 <sipa> BlueMatt: i think genjix just forgot to put a date in the mail - in other (private) mails it's always been tuesdays :)
1806 2012-01-02 21:28:46 <BlueMatt> sipa: ok, well I mailed the list to clarify
1807 2012-01-02 21:29:03 <gavinandresen> sipa:  Should there be a wiki page (editable by anybody?) that says stuff like "When we split the block-chain, we should: un-hard-code the maximum block size and number of sigops in a block.  And fix the CHECKMULTISIG bug. And.... "
1808 2012-01-02 21:29:48 <gavinandresen> sipa:  Or would it be better to commit that in a file in the doc/ subdirectory?
1809 2012-01-02 21:29:52 erle- has quit (Quit: erle-)
1810 2012-01-02 21:30:26 <gavinandresen> Or maybe it should be an informational BIP...
1811 2012-01-02 21:31:14 <theymos> gmaxwell: Yeah, IsStandard is probably fine for now. If any nonstandard script gets really popular, I think miners will independently allow it.
1812 2012-01-02 21:31:15 <sipa> sounds more like a wiki page to me
1813 2012-01-02 21:31:30 <sipa> but i'm not sure how "authorative" the wiki still is
1814 2012-01-02 21:31:34 <sipa> many things outdated, ...
1815 2012-01-02 21:32:07 <BlueMatt> it would be nice if people updated the wiki...
1816 2012-01-02 21:32:10 * BlueMatt looks at gavin
1817 2012-01-02 21:32:30 <gavinandresen> Hey, it's a good thing I didn't update Script to mention OP_EVAL, it might not happen.....
1818 2012-01-02 21:33:15 dissipate has joined
1819 2012-01-02 21:33:15 dissipate has quit (Changing host)
1820 2012-01-02 21:33:16 dissipate has joined
1821 2012-01-02 21:33:17 <BlueMatt> ok, good point
1822 2012-01-02 21:33:38 <gavinandresen> I did update the "running bitcoin" page with a bunch of missing command-line arguments recently.
1823 2012-01-02 21:33:58 <ByteCoin> theymos: Is it really possible for a nonstandard script to become popular?
1824 2012-01-02 21:36:21 <theymos> ByteCoin: Some pools accept nonstandard transactions, so if the script is really useful you can send it to them directly and get it included in a block.
1825 2012-01-02 21:36:37 <theymos> ByteCoin: [Tycho] (operator of the largest pool) mentioned that he'd like to extend Script. He and a few other big pools could work together to allow/popularize nonstandard transactions or even do a version of OP_EVAL independently.
1826 2012-01-02 21:36:59 <gmaxwell> You can also build support for new script types by using them in testnet or altchains.
1827 2012-01-02 21:40:17 <ByteCoin> theymos: Sending directly to certain miners is quite a barrier to adoption. Your information on [Tycho] is interesting.
1828 2012-01-02 21:45:32 groffer has joined
1829 2012-01-02 21:45:37 cdecker has joined
1830 2012-01-02 21:45:39 datagutt has joined
1831 2012-01-02 21:46:58 <groffer> what do people think of IsStandard?  it doesn't seem to actually protect anything, other than CPU consumption on relaying nodes
1832 2012-01-02 21:47:53 vsrinivas has quit (Ping timeout: 240 seconds)
1833 2012-01-02 21:49:07 <BlueMatt> it protects us from Dragons
1834 2012-01-02 21:49:53 <roconnor> groffer: since IsStandard isn't enforced by all miners, it is close to meaningless paranoia
1835 2012-01-02 21:50:04 <roconnor> *harmless paranoia
1836 2012-01-02 21:50:13 <roconnor> but I may be missing something
1837 2012-01-02 21:50:17 <BlueMatt> (ie we havent spent enough time studying how each OP interacts and dont know there arent bugs that could cause problems)
1838 2012-01-02 21:51:11 <roconnor> Now that you mention it, I think I'll simply disable it on my computer.
1839 2012-01-02 21:51:21 <groffer> BlueMatt: !IsStandard scripts can go into a block
1840 2012-01-02 21:51:27 <sipa> BlueMatt: can you let jenkins build my 'netbase' branch?
1841 2012-01-02 21:51:30 * BlueMatt slaps roconnor 
1842 2012-01-02 21:51:33 <groffer> so it can't protect us from any bugs in the script engine
1843 2012-01-02 21:51:35 <BlueMatt> sipa: sure, one minute
1844 2012-01-02 21:51:51 <roconnor> BlueMatt: did I tell you about my use of rand?
1845 2012-01-02 21:52:01 <BlueMatt> no
1846 2012-01-02 21:52:22 <sipa> roconnor: is there even an issue reported about the non-checking of version numbers?
1847 2012-01-02 21:52:23 hippich_ has joined
1848 2012-01-02 21:52:31 <roconnor> yes, I reported it in June or July
1849 2012-01-02 21:52:39 <BlueMatt> groffer: yea, but trying to get a nonstd tx in, even if you forward to luke's pool is hard
1850 2012-01-02 21:53:14 <roconnor> [Tuesday 27 December 2011] [12:52:42] <roconnor>            nHashType = rand() & 0xff;
1851 2012-01-02 21:53:16 <roconnor> [Tuesday 27 December 2011] [12:52:42] <roconnor>            nHashType ^= nHashType & SIGHASH_ANYONECANPAY;
1852 2012-01-02 21:53:17 <roconnor> [Tuesday 27 December 2011] [12:52:47] <roconnor>        is the code I use
1853 2012-01-02 21:53:19 <roconnor> [
1854 2012-01-02 21:53:24 <roconnor> BlueMatt: I use that in my client
1855 2012-01-02 21:53:26 <BlueMatt> sipa: join #bitcoin-testing for output
1856 2012-01-02 21:53:30 <roconnor> OTOH I only play in testnet
1857 2012-01-02 21:53:34 TheSeven has quit (Disconnected by services)
1858 2012-01-02 21:53:46 [7] has joined
1859 2012-01-02 21:53:47 datagutt has quit (Quit: Computer has gone to sleep.)
1860 2012-01-02 21:53:48 <roconnor> BlueMatt: I also use random version numbers on my transactions and blocks
1861 2012-01-02 21:53:58 <sipa> roconnor: #317, indeed
1862 2012-01-02 21:54:59 <groffer> BlueMatt: just takes a bit longer to get into a block.  1 day?
1863 2012-01-02 21:55:11 <roconnor> sipa: oh it got labeled!
1864 2012-01-02 21:55:15 <roconnor> that's nice
1865 2012-01-02 21:55:16 <BlueMatt> groffer: when me and gmaxwell tried, we couldnt get it in at all
1866 2012-01-02 21:55:32 <roconnor> sipa: at least someone else has looked at it :D
1867 2012-01-02 21:56:01 <BlueMatt> (I think luke said something about a bug in his pool at the time, but whatever)
1868 2012-01-02 21:56:15 <groffer> I see
1869 2012-01-02 21:57:30 <BlueMatt> roconnor: interesting patches welcome ;)
1870 2012-01-02 21:57:43 <roconnor> BlueMatt: I'm not interested in programming in C++
1871 2012-01-02 21:57:53 hippich_ has quit (Ping timeout: 240 seconds)
1872 2012-01-02 21:57:57 <theymos> Put a 5 BTC transaction fee on a nonstandard transaction and someone will probably pick it up.
1873 2012-01-02 21:58:48 <ZellFaze> I know I would.
1874 2012-01-02 21:58:54 <BlueMatt> arg...damn flight canceled
1875 2012-01-02 21:59:14 <groffer> lets get [Tycho] to disable IsStandard
1876 2012-01-02 21:59:17 <roconnor> BlueMatt: snow?
1877 2012-01-02 21:59:30 <BlueMatt> mechanical issues with the plane
1878 2012-01-02 21:59:42 <BlueMatt> apparently they dont have any extra planes in san fransisco...
1879 2012-01-02 22:00:09 <roconnor> I'm glad I got out of SF 2 days ago :D
1880 2012-01-02 22:00:24 ovidiusoft has joined
1881 2012-01-02 22:01:05 <devrandom> BlueMatt: if you end up back in SF, lets grab lunch or something
1882 2012-01-02 22:01:22 <BlueMatt> devrandom: well it looks like Im still around here for the day...
1883 2012-01-02 22:01:26 <gavinandresen> roconnor: fixing that bug safely is non-trivial....  the right answer is for new clients/miners to 'discourage' (refuse to relay/mine) blocks/transactions with weird version numbers.  I've got a 'discourage blocks' patch sitting on my machine that I haven't had time to clean up into a pull request yet.
1884 2012-01-02 22:01:53 <roconnor> gavinandresen: sounds like a good start
1885 2012-01-02 22:02:50 <theymos> Non-0 version numbers aren't rejected? That's weird.
1886 2012-01-02 22:03:00 Zarutian has joined
1887 2012-01-02 22:03:26 <roconnor> there is a block in mainline using a nonstandard hashtype already
1888 2012-01-02 22:03:36 <BlueMatt> :(
1889 2012-01-02 22:03:36 <roconnor> which is sort of how I first noticed :D
1890 2012-01-02 22:03:48 <BlueMatt> lets fork!
1891 2012-01-02 22:03:56 <roconnor> BlueMatt: I'm okay with that :D
1892 2012-01-02 22:04:59 <roconnor> everyone, we are rolling all accounts back to 2011-02-25 06:23:24 !
1893 2012-01-02 22:05:06 <BlueMatt> heh
1894 2012-01-02 22:05:07 <roconnor> Do over
1895 2012-01-02 22:05:35 <roconnor> I feel like the NYSE
1896 2012-01-02 22:06:23 <BlueMatt> ouch...
1897 2012-01-02 22:06:58 dissipate has quit (Ping timeout: 248 seconds)
1898 2012-01-02 22:07:53 booo has quit (Ping timeout: 240 seconds)
1899 2012-01-02 22:08:40 gjs278 has quit (Read error: Connection reset by peer)
1900 2012-01-02 22:10:20 mcorlett has joined
1901 2012-01-02 22:10:26 mcorlett has quit (Changing host)
1902 2012-01-02 22:10:26 mcorlett has joined
1903 2012-01-02 22:15:45 [7] has quit (Disconnected by services)
1904 2012-01-02 22:15:56 TheSeven has joined
1905 2012-01-02 22:16:29 BlueMatt-mobile has joined
1906 2012-01-02 22:17:16 BlueMatt has quit (Ping timeout: 248 seconds)
1907 2012-01-02 22:21:46 booo has joined
1908 2012-01-02 22:23:47 <gmaxwell> hmph. weird. seeing really slow syncup off the network. Three hours and twenty five minutes and it only made it up to block 36448, with very low cpu/disk IO the whole time.
1909 2012-01-02 22:24:07 <gmaxwell> ... and, attempting to sync locally, I managed to get the deadlock to happen again.
1910 2012-01-02 22:24:29 <gmaxwell> no POTENTIAL DEADLOCK DETECTED except for the one that was previously asserted to be a false alarm.
1911 2012-01-02 22:24:50 DontMindMe has quit (Ping timeout: 240 seconds)
1912 2012-01-02 22:25:09 <devrandom> gmaxwell: attach gdb?
1913 2012-01-02 22:25:49 <gavinandresen> gmaxwell: running git head?  There was a deadlock a while back caused by bdb transaction locking interacting with bitcoin mutex locking
1914 2012-01-02 22:26:11 phatsphere has joined
1915 2012-01-02 22:27:19 <gmaxwell> http://pastebin.com/7wt2rZ4x
1916 2012-01-02 22:27:25 <gmaxwell> gavinandresen: checkout as of earlier today.
1917 2012-01-02 22:27:42 <gmaxwell> devrandom: to which thread? main looks boring and normal.
1918 2012-01-02 22:27:53 <gmaxwell> devrandom: I dunno how to figure out which thread is stuck waiting on a lock.
1919 2012-01-02 22:28:15 <gmaxwell> (main is just looping on that sleep that it does when it gets done with the init)
1920 2012-01-02 22:28:16 <devrandom> would be good to stacktrace all threads
1921 2012-01-02 22:28:39 <BlueMatt-mobile> oprofile?
1922 2012-01-02 22:28:40 <gmaxwell> I'm pretty thread stupid, how do I get a backtrace on all threads without a bunch of boring work?
1923 2012-01-02 22:28:49 <BlueMatt-mobile> (See what locks are waiting)
1924 2012-01-02 22:28:53 theymos has quit (Remote host closed the connection)
1925 2012-01-02 22:29:04 <sipa> gmaxwell: go into each thread one by one, and get a backtrace? :)
1926 2012-01-02 22:29:05 booo has quit (Read error: Operation timed out)
1927 2012-01-02 22:29:09 <sipa> thread [id]
1928 2012-01-02 22:29:11 <sipa> bt
1929 2012-01-02 22:29:12 <gmaxwell> bleh. okay.
1930 2012-01-02 22:29:21 <sipa> (i know no other way)
1931 2012-01-02 22:29:22 <devrandom> gmaxwell: checking
1932 2012-01-02 22:29:39 cj has quit (Ping timeout: 252 seconds)
1933 2012-01-02 22:29:50 <sipa> BlueMatt-mobile: will jenkins rebuild automatically?
1934 2012-01-02 22:30:03 <BlueMatt-mobile> Sipa i set it to build
1935 2012-01-02 22:30:12 <BlueMatt-mobile> (Its the testing one)
1936 2012-01-02 22:30:14 <devrandom> gmaxwell: try "thead apply backtrace"
1937 2012-01-02 22:30:29 <gmaxwell> [Switching to thread 2 (Thread 0x7f11a57fa700 (LWP 447))]#0  0x000000301f20b3b4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
1938 2012-01-02 22:30:32 <gmaxwell> (gdb) bt
1939 2012-01-02 22:30:35 <gmaxwell> #0  0x000000301f20b3b4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
1940 2012-01-02 22:30:38 <gmaxwell> #1  0x00007f11b4a055bb in __db_pthread_mutex_lock () from /usr/lib64/libdb_cxx-4.8.so
1941 2012-01-02 22:30:42 <gmaxwell> ...
1942 2012-01-02 22:30:43 <gmaxwell> #14 0x00007f11b49fa2db in Db::put(DbTxn*, Dbt*, Dbt*, unsigned int) () from /usr/lib64/libdb_cxx-4.8.so
1943 2012-01-02 22:30:46 <gmaxwell> #15 0x000000000042bb32 in bool CDB::Write<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned char, std::allocator<unsigned char> > >, CAddress>(std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned char, std::allocator<unsigned char> > > const&, CAddress const&, bool) ()
1944 2012-01-02 22:30:51 <BlueMatt-mobile> Uh oh db deadlock...
1945 2012-01-02 22:30:51 <gmaxwell> #16 0x0000000000419402 in CAddrDB::WriteAddress (this=0x7f11a57f8a70, addr=...) at db.cpp:620
1946 2012-01-02 22:30:53 <BlueMatt-mobile> ?
1947 2012-01-02 22:31:18 <gmaxwell> Perhaps DNSseed vs net addresses or something?
1948 2012-01-02 22:31:35 <gmaxwell> #17 0x0000000000486689 in AddressCurrentlyConnected (addr=<value optimized out>) at net.cpp:512
1949 2012-01-02 22:31:38 <gmaxwell> #18 0x0000000000467a9c in ProcessMessage (pfrom=0x7f1198001800, strCommand="version", vRecv=<value optimized out>) at main.cpp:2455
1950 2012-01-02 22:31:42 <gmaxwell> #19 0x000000000046b651 in ProcessMessages (pfrom=0x7f1198001800) at main.cpp:2544
1951 2012-01-02 22:31:45 <gmaxwell> #20 0x000000000048747c in ThreadMessageHandler2 (parg=<value optimized out>) at net.cpp:1633
1952 2012-01-02 22:31:55 <sipa> (pastebin is your friend)
1953 2012-01-02 22:33:13 <gmaxwell> http://pastebin.com/ZKa054nu
1954 2012-01-02 22:33:19 <gmaxwell> There is all the threads.
1955 2012-01-02 22:36:54 <gavinandresen> looks like DNSSeed and an Addr message are deadlocking somehow
1956 2012-01-02 22:37:23 ZellFaze has left ()
1957 2012-01-02 22:37:39 <gavinandresen> gmaxwell: ... workaround would be to run -nodnsseed ....
1958 2012-01-02 22:37:47 phatsphere has quit (Quit: Bye)
1959 2012-01-02 22:37:56 copumpkin has quit (Remote host closed the connection)
1960 2012-01-02 22:38:05 phatsphere has joined
1961 2012-01-02 22:38:10 <gmaxwell> Sure yea, I don't care. I'm running this node to find problems.
1962 2012-01-02 22:38:25 <gavinandresen> gmaxwell: excellent, thanks!
1963 2012-01-02 22:39:07 <gmaxwell> Now I wonder how many people who we've told to nodnsseed were hitting this problem instead of the dnsseed-hangs-when-dns-hangs issue that we knew existed.
1964 2012-01-02 22:41:37 <BlueMatt-mobile> Oh, shit...
1965 2012-01-02 22:43:00 <gmaxwell> I'll note that being confident that I'm not introducing shit like this is why you don't see a lot of patches from me. Avoiding deadlocks in threaded programs is hard, especially when they use libraries that have their own invisible locking. :(
1966 2012-01-02 22:43:28 <gavinandresen> amen
1967 2012-01-02 22:43:53 <BlueMatt-mobile> Yea, tell me aboit it
1968 2012-01-02 22:44:02 * roconnor uses software transactional memory :D
1969 2012-01-02 22:44:32 <gavinandresen> roconnor: I look forward to switching to your provably-correct implementation of bitcoin in 2020 when it's finished.....
1970 2012-01-02 22:44:33 <roconnor> then again, I don't have close to a full client :(
1971 2012-01-02 22:44:40 <roconnor> gavinandresen: heh
1972 2012-01-02 22:45:17 <roconnor> gavinandresen: all I need is a graduate student
1973 2012-01-02 22:45:54 <roconnor> maybe 2
1974 2012-01-02 22:45:57 <sipa> haha
1975 2012-01-02 22:46:34 <BlueMatt-mobile> Heh
1976 2012-01-02 22:47:08 <gavinandresen> Oof, I've had to deal with a fair bit of grad student code, you sure that's what you want?
1977 2012-01-02 22:47:24 <roconnor> gavinandresen: well if it is provably-correct, it can't be that wrong :P
1978 2012-01-02 22:47:48 <sipa> yes yes
1979 2012-01-02 22:47:53 <sipa> computer-verifiable code is nice
1980 2012-01-02 22:47:57 <gavinandresen> I bet one can create provably-correct-and-yet-impossible-to-maintain code....
1981 2012-01-02 22:48:00 <sipa> but what about human-verifiability?
1982 2012-01-02 22:51:18 Rabbit67890 has joined
1983 2012-01-02 22:51:28 <devrandom> I think higher level threading primitives (e.g. queues) are much easier to verify
1984 2012-01-02 22:52:29 <devrandom> and synchronized collections
1985 2012-01-02 22:53:27 Backburn has quit (Ping timeout: 252 seconds)
1986 2012-01-02 22:53:44 Backburn has joined
1987 2012-01-02 22:53:54 <sipa> i remember we had a similar issue some time ago
1988 2012-01-02 22:54:02 <sipa> gavinandresen: you remember the details?
1989 2012-01-02 22:54:10 <sipa> it also had to do with db's internal locking
1990 2012-01-02 22:54:43 <gavinandresen> I think it was an ordering problem with locking a mutex and then BeginTransaction
1991 2012-01-02 22:55:16 <gmaxwell> I'm torn between breaking this and trying to reproduce it with optimization turned down (to get more values/line numbers) and leaving it stuck to pull out more data from it.
1992 2012-01-02 22:55:18 <gavinandresen> Thread a does: mutex lock, BeginTransaction while Thread b does BeginTransaction, mutex lock
1993 2012-01-02 22:55:52 <gavinandresen> (it is very possible I'm misremembering, though)
1994 2012-01-02 22:58:19 <sipa> gavinandresen: it was pullreq #500
1995 2012-01-02 22:59:28 dissipate has joined
1996 2012-01-02 22:59:29 <devrandom> they lost your bag??
1997 2012-01-02 22:59:33 <devrandom> oops, wrong window
1998 2012-01-02 22:59:41 <gmaxwell> oh.
1999 2012-01-02 22:59:42 <gmaxwell> :(
2000 2012-01-02 23:00:00 <gmaxwell>     // There is a nasty deadlock bug if this is done inside the cs_mapAddresses
2001 2012-01-02 23:00:05 <gmaxwell> (read the comment there)
2002 2012-01-02 23:00:15 <gmaxwell> and then read the implementation of dnsseed.
2003 2012-01-02 23:01:00 * BlueMatt-mobile apolagizes...
2004 2012-01-02 23:01:14 <BlueMatt-mobile> (and runs away)
2005 2012-01-02 23:01:19 BlueMatt-mobile has quit (Quit: BlueMatt)
2006 2012-01-02 23:01:55 dan__ has quit (Quit: dan__)
2007 2012-01-02 23:02:20 <sipa> BlueMatt's actions are rather consistent with what he claims on IRC, it seems
2008 2012-01-02 23:03:09 BurtyBB has quit (Ping timeout: 244 seconds)
2009 2012-01-02 23:03:36 BurtyB has joined
2010 2012-01-02 23:04:24 <gavinandresen> gmaxwell: can you open an issue on github for the deadlock problem?  I don't want to forget to fix it....
2011 2012-01-02 23:04:49 BlueMatt-mobile has joined
2012 2012-01-02 23:05:47 BlueMatt-mobile has quit (Client Quit)
2013 2012-01-02 23:06:08 BurtyBB has joined
2014 2012-01-02 23:06:15 abragin has quit ()
2015 2012-01-02 23:08:29 <gmaxwell> gavinandresen: done.
2016 2012-01-02 23:08:44 BurtyB has quit (Ping timeout: 240 seconds)
2017 2012-01-02 23:11:51 dan__ has joined
2018 2012-01-02 23:12:04 <coderrr> gavinandresen, was i correct in assuming this was a bug? https://github.com/coderrr/bitcoin/commit/67e43d6f58875ca601b4ae28cc9a98d6c5b1cc65
2019 2012-01-02 23:14:02 <sipa> gmaxwell: fixing it
2020 2012-01-02 23:14:44 LightRider has joined
2021 2012-01-02 23:16:37 <sipa> pull req #738
2022 2012-01-02 23:17:14 <sipa> gmaxwell: can you confirm that this fixes it?
2023 2012-01-02 23:18:01 <gmaxwell> I'll try to reproduce it with that patch.
2024 2012-01-02 23:20:23 <gmaxwell> sipa: any idea why the initial keypool fill is taking 40 seconds or do I need to profile it?
2025 2012-01-02 23:21:31 <sipa> that's extremely long...
2026 2012-01-02 23:21:38 <gmaxwell> (normally I wouldn't care but it makes it take about a minute per reproduction attempt here)
2027 2012-01-02 23:22:11 <sipa> it's only a few seconds here
2028 2012-01-02 23:24:02 <gmaxwell> headless linux system, so if its using the blocking random device .. the pool is always almost empty.
2029 2012-01-02 23:24:17 <sipa> ah
2030 2012-01-02 23:24:20 <sipa> that could explain
2031 2012-01-02 23:24:24 <gmaxwell> I think the ssd in this thing may have really slow writing, so if its syncing for each one, that could also be the cause.
2032 2012-01-02 23:27:31 <gavinandresen> gmaxwell: you can add keypoolsize=3 to the bitcoin.conf...
2033 2012-01-02 23:29:09 <coderrr> gavinandresen, updated the pull req
2034 2012-01-02 23:30:30 <makomk> coderrr: does that work for n-of-m transactions with n < m?
2035 2012-01-02 23:30:44 <gmaxwell> gavinandresen: good suggestion, keypool=3
2036 2012-01-02 23:31:16 <coderrr> makomk, which part
2037 2012-01-02 23:32:17 <makomk> Ah, I see, it's intentional. Never mind.
2038 2012-01-02 23:32:51 <gavinandresen> coderr: thanks, good catch (... and re: HaveKeys:  I expect in the future the rule will change to "if I can sign a supermajority of keys then consider the output mine")
2039 2012-01-02 23:33:16 <coderrr> cool
2040 2012-01-02 23:35:41 <gmaxwell> sipa: goodnews / badnews
2041 2012-01-02 23:35:57 <gmaxwell> sipa: Goodnews: two dozen runs, no deadlocks.
2042 2012-01-02 23:36:15 <sipa> but...
2043 2012-01-02 23:36:27 <gmaxwell> sipa: Badnews: adding sleep(30) right above the Lookup() in dnsseed leave the node stuck waiting for dnsseed even though it has a good connection up to my --connect= node.
2044 2012-01-02 23:36:53 <gmaxwell> I'm /assuming_ it tries to addaddr and then gets stuck waiting for the lock dnsseed is holding.
2045 2012-01-02 23:36:53 <sipa> bah
2046 2012-01-02 23:36:59 <sipa> that's obvious
2047 2012-01-02 23:37:05 <sipa> yes indeed
2048 2012-01-02 23:37:10 <gmaxwell> (I noticed that the sequencing seemed a bit odd in the logs)
2049 2012-01-02 23:37:22 <sipa> the intent was to make dns seeds less blocking
2050 2012-01-02 23:37:37 <sipa> sec, i'll move the lock
2051 2012-01-02 23:40:34 ByteCoin has left ()
2052 2012-01-02 23:40:44 <kinlo> hmmmz, is there a reason why a transaction would be removed from the memory pool even it was accepted before?  That is ofcourse- if there is no block found
2053 2012-01-02 23:40:54 Clipse has quit (Ping timeout: 240 seconds)
2054 2012-01-02 23:42:03 <sipa> kinlo: did the node restart?
2055 2012-01-02 23:42:10 <kinlo> no
2056 2012-01-02 23:42:12 <sipa> gmaxwell: care to try again?
2057 2012-01-02 23:42:32 <kinlo> I just quickly ran getmemorypool twice and the coinbasevalue went down
2058 2012-01-02 23:42:44 <kinlo> just now - and the network hasn't found a block for about 1 hour now
2059 2012-01-02 23:42:44 <gmaxwell> sipa: strace makes it look like .. both lock contention _and_ fsync making the keypool additions slow‽
2060 2012-01-02 23:42:53 phatsphere has quit (Quit: Bye)
2061 2012-01-02 23:42:54 <kinlo> so I assume a transaction is removed?
2062 2012-01-02 23:43:42 <gmaxwell> http://pastebin.com/1D7JKq94  < numbers on the left are the times _between_ syscalls, the numbers on the right are the times _in_ syscalls.
2063 2012-01-02 23:43:50 <gmaxwell> The fsyncs and the mlocks are both taking a long time.
2064 2012-01-02 23:44:17 <sipa> but what is it contenting with?
2065 2012-01-02 23:44:22 <gmaxwell> sipa: will try again.
2066 2012-01-02 23:44:34 <sipa> it is in all likelyhood the only thing trying to write to the wallet
2067 2012-01-02 23:44:35 <gmaxwell> sipa: I dunno, as far as debug log is concerned nothing else is happening.
2068 2012-01-02 23:45:14 <gmaxwell> I guess I need to oprofile it. meh.
2069 2012-01-02 23:47:47 <gmaxwell> sipa: whats the commit ID on the fied commit? I don't see it.
2070 2012-01-02 23:48:22 <sipa> should be ff94793
2071 2012-01-02 23:48:37 <gmaxwell> oh okay, thought that was the old one.
2072 2012-01-02 23:50:32 <gmaxwell> k. Doesn't get stuck when dnsseed gets stuck.
2073 2012-01-02 23:51:07 <gmaxwell> oh. but it deadlocks. wahh wahh wahhhh.
2074 2012-01-02 23:51:46 <gmaxwell> sipa: game over, insert 0.01 BTC to play again.
2075 2012-01-02 23:51:54 <sipa> wait? this deadlocks?
2076 2012-01-02 23:51:58 <sipa> and the previous one didn't?
2077 2012-01-02 23:52:02 imsaguy has quit (Ping timeout: 248 seconds)
2078 2012-01-02 23:52:13 <gmaxwell> appears to. And I couldn't get the previous one to.
2079 2012-01-02 23:52:25 imsaguy has joined
2080 2012-01-02 23:52:27 <gmaxwell> I'm at ff9479348cd2d6ad1aac2b4c2a5d47c40e799b57
2081 2012-01-02 23:52:27 <sipa> that makes no sense at all
2082 2012-01-02 23:52:53 <gmaxwell> might have just been luck that the prior didn't deadlock on me.
2083 2012-01-02 23:53:11 <gmaxwell> It's stuck now, however.
2084 2012-01-02 23:54:51 <gmaxwell> See the warning in the comment in AddAddress?
2085 2012-01-02 23:55:07 <sipa> yes, i found that deadlock
2086 2012-01-02 23:55:18 <sipa> but i may be mixing things up now
2087 2012-01-02 23:55:44 <gmaxwell> well you're calling AddAddress inside CRITICAL_BLOCK(cs_mapAddresses)
2088 2012-01-02 23:56:20 <gmaxwell> Which sounds exactly like what it's saying causes a deadlock.
2089 2012-01-02 23:56:21 <gmaxwell> :)
2090 2012-01-02 23:58:42 <sipa> well the question is in what order the locking should happen... first cs_mapAddress and then CAddrDb, or the other way around