1 2012-08-03 00:00:00 terry has quit (Ping timeout: 248 seconds)
   2 2012-08-03 00:01:14 sirk390 has joined
   3 2012-08-03 00:01:24 mndrix has quit (Max SendQ exceeded)
   4 2012-08-03 00:01:46 mcorlett has quit (Ping timeout: 246 seconds)
   5 2012-08-03 00:02:18 [\\\] has joined
   6 2012-08-03 00:03:31 eoss has joined
   7 2012-08-03 00:03:31 eoss has quit (Changing host)
   8 2012-08-03 00:03:31 eoss has joined
   9 2012-08-03 00:06:19 da2ce781 has joined
  10 2012-08-03 00:08:15 sirk390 has quit (Ping timeout: 255 seconds)
  11 2012-08-03 00:09:11 skeledrew has joined
  12 2012-08-03 00:09:13 <jgarzik> pynode's CHECKMULTISIG appears to be working... let's see what the next chain validation obstacle is
  13 2012-08-03 00:11:50 mndrix has joined
  14 2012-08-03 00:17:26 riush has joined
  15 2012-08-03 00:28:48 mndrix has quit (Max SendQ exceeded)
  16 2012-08-03 00:30:33 Dutch_Brat has joined
  17 2012-08-03 00:34:19 DutchBrat has quit (Ping timeout: 260 seconds)
  18 2012-08-03 00:34:34 DutchBrat has joined
  19 2012-08-03 00:35:07 Dutch_Brat has quit (Ping timeout: 240 seconds)
  20 2012-08-03 00:36:51 faraday__ has quit (Read error: Connection timed out)
  21 2012-08-03 00:37:06 da2ce7_d is now known as da2ce7
  22 2012-08-03 00:44:06 drizztbsd has joined
  23 2012-08-03 00:46:23 rdponticelli has joined
  24 2012-08-03 00:46:35 brwyatt is now known as brwyatt|Away
  25 2012-08-03 00:49:03 coingenuity has quit (Ping timeout: 276 seconds)
  26 2012-08-03 00:49:50 dvide has joined
  27 2012-08-03 00:50:46 drizztbsd has quit (Remote host closed the connection)
  28 2012-08-03 00:57:54 coingenuity has joined
  29 2012-08-03 01:02:08 <luke-jr> gmaxwell: see, it was a waste of my time to resubmit them. jgarzik just closed them without any logical basis
  30 2012-08-03 01:02:28 Turingi has quit (Read error: Connection reset by peer)
  31 2012-08-03 01:03:06 <luke-jr> gmaxwell: because it affects the last 2 bits, and there's no reason to think more than the last octet would be redefined?
  32 2012-08-03 01:03:19 da2ce781 has quit (Ping timeout: 244 seconds)
  33 2012-08-03 01:04:19 <gmaxwell> luke-jr: hm I thought it changed the version from 0 to 1?
  34 2012-08-03 01:04:24 <luke-jr> gmaxwell: 1=>2
  35 2012-08-03 01:04:39 <gmaxwell> oh. well then.
  36 2012-08-03 01:07:04 minimoose has joined
  37 2012-08-03 01:10:26 copumpkin has quit ()
  38 2012-08-03 01:11:07 copumpkin has joined
  39 2012-08-03 01:15:39 pickett has quit (Remote host closed the connection)
  40 2012-08-03 01:22:38 mmoya has quit (Ping timeout: 245 seconds)
  41 2012-08-03 01:24:36 pickett has joined
  42 2012-08-03 01:28:43 tower has quit (Remote host closed the connection)
  43 2012-08-03 01:31:06 RainbowDashh has quit (Quit: Computer has gone to sleep.)
  44 2012-08-03 01:33:12 makomk has quit (Read error: Operation timed out)
  45 2012-08-03 01:33:49 aq83 has quit (Ping timeout: 246 seconds)
  46 2012-08-03 01:36:04 tower has joined
  47 2012-08-03 01:37:21 makomk has joined
  48 2012-08-03 01:39:42 aq83 has joined
  49 2012-08-03 01:43:50 <jgarzik> luke-jr: AFAIK, gavin nak'd accepting non-standard transactions, even ones from yourself.  If you can find gavin saying otherwise, let's reopen, sure.
  50 2012-08-03 01:44:15 <luke-jr> jgarzik: you are asking me to prove a negative?
  51 2012-08-03 01:46:13 <luke-jr> Maybe you're thinking of "Accepting transactions you don't understand is a really bad idea, ESPECIALLY if they are to you.", which is the opposite scenario (a misunderstanding which no doubt resulted from my original pullreq having that inversed logic as a bug)
  52 2012-08-03 01:46:37 <luke-jr> the intention (and now code) is only to accept ones *from* you, not *to*
  53 2012-08-03 01:47:11 <luke-jr> so ones the client itself made ; NOT accepting these results in very weird bugs
  54 2012-08-03 01:47:56 <luke-jr> (note: it's not actually possible in theory to trigger this code path except during development of new functionality before making it standard)
  55 2012-08-03 01:49:38 rdponticelli has quit (Ping timeout: 248 seconds)
  56 2012-08-03 01:49:52 makomk has quit (Ping timeout: 248 seconds)
  57 2012-08-03 01:53:09 RainbowDashh has joined
  58 2012-08-03 01:53:09 RainbowDashh has quit (Changing host)
  59 2012-08-03 01:53:09 RainbowDashh has joined
  60 2012-08-03 02:06:44 makomk has joined
  61 2012-08-03 02:08:10 sytse has quit (Ping timeout: 272 seconds)
  62 2012-08-03 02:13:04 <jgarzik> luke-jr: if gmaxwell or sipa feels they were closed in error, and want to reopen, I certainly respect their decision as well.  My standard policy is not to engage in edit wars (or commit wars or close/reopen wars), and I respect their decisions.
  63 2012-08-03 02:14:26 <gmaxwell> jgarzik: I feel kinda bad because I asked luke to reopen that one: The prior version did the opposite accidentally: accepted nonstandard txn to you which was bad bad bad, and rightly was directed into the reject bin.
  64 2012-08-03 02:14:53 sytse has joined
  65 2012-08-03 02:14:54 <gmaxwell> The non-standard from you doesn't seem overtly objectionable, but I'm not quite sure I understand the use-cases.
  66 2012-08-03 02:15:49 [7] has quit (Disconnected by services)
  67 2012-08-03 02:15:58 TheSeven has joined
  68 2012-08-03 02:16:11 <jgarzik> gmaxwell: seems like it might confuse the wallet code
  69 2012-08-03 02:17:25 <gmaxwell> jgarzik: Indeed. But you can also do that with raw txn generally.
  70 2012-08-03 02:17:38 <jgarzik> gmaxwell: regardless, if you think I should reopen, I will do so
  71 2012-08-03 02:17:49 <gmaxwell> E.g. If I generate a txn where only one input is mine, we will show the other inputs vaue as sign-swapped fees.
  72 2012-08-03 02:17:52 KAPITALISMUSS has joined
  73 2012-08-03 02:17:52 <jgarzik> gmaxwell: or you can do it yourself
  74 2012-08-03 02:18:38 <gmaxwell> yep, I'll reopen— I think it's worth some review and consideration in its now-intended form. Especially with rawtransactions encouraging expirementation with new txn types.
  75 2012-08-03 02:18:40 * jgarzik wants to emphasize a bit of process...  easy to close, easy to reopen, low conflict :)
  76 2012-08-03 02:22:43 makomk has quit (Ping timeout: 248 seconds)
  77 2012-08-03 02:24:38 t7 has quit (Remote host closed the connection)
  78 2012-08-03 02:25:30 <gribble> New news from bitcoinrss: gmaxwell reopened pull request 1648 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1648>
  79 2012-08-03 02:25:58 RainbowDashh has quit (Ping timeout: 245 seconds)
  80 2012-08-03 02:27:35 luke-jr has quit (Excess Flood)
  81 2012-08-03 02:27:55 luke-jr has joined
  82 2012-08-03 02:28:30 <luke-jr> gmaxwell: good point, I guess you could trigger it with the new rawtx stuff
  83 2012-08-03 02:29:26 <gmaxwell> Right. But at the same time, the wallet is absolutely confusable. I'm currently pondering if the behavior shouldn't be guarded by a default off config option until we've hardened the wallet code more against weird transactions.
  84 2012-08-03 02:30:27 <luke-jr> gmaxwell: I'm not sure how it makes the wallet confusion any more likely?
  85 2012-08-03 02:30:44 <luke-jr> you can already confuse the wallet in all the same ways with standard fee'd transactions, right?
  86 2012-08-03 02:31:31 <gmaxwell> I know of one way to confuse the wallet (what I mentioned above). Though the confusion doesn't seem especially harmful. God knows what else exists though.
  87 2012-08-03 02:31:43 <jgarzik> this sort of typifies the reason why the client does not mine or relay !isStandard transactions
  88 2012-08-03 02:31:53 <jgarzik> it protects against uncharted territory
  89 2012-08-03 02:32:08 Joric has joined
  90 2012-08-03 02:32:17 <luke-jr> jgarzik: that makes sense when the transaction is foreign, but not so much when it's one you made yourself
  91 2012-08-03 02:32:32 <luke-jr> IMO
  92 2012-08-03 02:32:36 <gmaxwell> In any case, doing something like making it an option moves in the general direction of accepting more things but its more conservative.
  93 2012-08-03 02:32:52 <jgarzik> gmaxwell: and I don't think we want to encourage the kind of miner policy that luke-jr seems to want to slowly build into bitcoind: take anything, even non-standard, for a fee
  94 2012-08-03 02:33:04 <gmaxwell> 'Yourself' is kinda squishy especially as people start running little external programs that speak rpc to the raw txn api.
  95 2012-08-03 02:33:12 <jgarzik> indeed
  96 2012-08-03 02:34:16 makomk has joined
  97 2012-08-03 02:34:28 Cablesaurus has joined
  98 2012-08-03 02:35:19 <luke-jr> jgarzik: AFAIK the non-standard nonsense exists solely to avoid untested code paths, and the goal has always been to remove it when those code paths become well-tested
  99 2012-08-03 02:35:22 * jgarzik ponders a db-free mode in pynode: full validating, but it downloads blocks remotely if not found in last-1000-blocks cache
 100 2012-08-03 02:35:23 <gmaxwell> I think it's generally agreed that in the long term isStandard will go away. Things like options for controlled use of currently non-standard txn should help us move in that direction.  I'm just not confident of the best pacing of that control.
 101 2012-08-03 02:39:15 makomk has quit (Ping timeout: 246 seconds)
 102 2012-08-03 02:39:46 RainbowDashh has joined
 103 2012-08-03 02:39:47 RainbowDashh has quit (Excess Flood)
 104 2012-08-03 02:40:03 RainbowDashh has joined
 105 2012-08-03 02:40:04 RainbowDashh has quit (Excess Flood)
 106 2012-08-03 02:40:37 RainbowDashh has joined
 107 2012-08-03 02:40:38 RainbowDashh has quit (Excess Flood)
 108 2012-08-03 02:46:59 RainbowDashh has joined
 109 2012-08-03 02:50:06 makomk has joined
 110 2012-08-03 02:56:37 BlueMatt has joined
 111 2012-08-03 02:57:48 <BlueMatt> how does one identify a compressed pubkey again?
 112 2012-08-03 02:58:14 <BlueMatt> nevermind
 113 2012-08-03 03:00:18 <BlueMatt> next question: why is bitcoinj failing to recognize this sig as valid: http://blockexplorer.com/rawtx/93f77881b529c5c81e362c3eaad2d16f642c4990900fbc8f0c1a972834a708cc
 114 2012-08-03 03:01:23 <BlueMatt> specifically, decoding the sig's s field as a negative number, which is (apparently) entirely incorrect
 115 2012-08-03 03:01:41 <BlueMatt> oh, shit 5am, well goodnight
 116 2012-08-03 03:02:28 <gmaxwell> BlueMatt: you should serarch the logs here.. roconner commented on that one or one like it before.
 117 2012-08-03 03:06:33 Prattler has quit (Ping timeout: 240 seconds)
 118 2012-08-03 03:08:20 RainbowDashh has quit (Quit: Computer has gone to sleep.)
 119 2012-08-03 03:08:20 Prattler has joined
 120 2012-08-03 03:09:21 Z0rZ0rZ0r has quit (Ping timeout: 246 seconds)
 121 2012-08-03 03:10:09 Z0rZ0rZ0r has joined
 122 2012-08-03 03:13:35 <BlueMatt> gmaxwell: any clues as to narrow the search?
 123 2012-08-03 03:14:00 eoss has quit (Remote host closed the connection)
 124 2012-08-03 03:15:12 makomk has quit (Ping timeout: 248 seconds)
 125 2012-08-03 03:16:19 <gmaxwell> 21:32 < roconnor> this is the first one I've encountered that is negative.
 126 2012-08-03 03:17:17 <luke-jr> gmaxwell: why is he not here anymore? O.o
 127 2012-08-03 03:18:53 <gmaxwell> I don't know.
 128 2012-08-03 03:19:03 <gmaxwell> Some people avoid coming because it sucks up too much time.
 129 2012-08-03 03:19:24 <BlueMatt> gmaxwell: ok...thats missing from my logs, date?
 130 2012-08-03 03:20:13 <gmaxwell> --- Day changed Sun Nov 13 2011
 131 2012-08-03 03:21:03 roconnor has joined
 132 2012-08-03 03:21:10 <BlueMatt> speak of the devil
 133 2012-08-03 03:22:12 <BlueMatt> gmaxwell: you sure about the channel, its not on bitcoinstats.com's logs for November 13, 2011
 134 2012-08-03 03:22:26 <BlueMatt> oh, nvm its the 14th
 135 2012-08-03 03:27:30 <BlueMatt> roconnor: re: negative integers in der-encodings of signatures in bitcoin txes from nov 13, 2011: was the end result that all integers should be read as unsigned and it works?
 136 2012-08-03 03:30:14 <roconnor> I guess I should look at my code
 137 2012-08-03 03:30:35 <copumpkin> omg roconnor is back
 138 2012-08-03 03:30:39 <copumpkin> yayay
 139 2012-08-03 03:31:48 <gmaxwell> roconnor: In more recent activity, BlueMatt is currently working on adding full validation to bitcoinj, and jgarzik is working on writing a fully validating python implementation.
 140 2012-08-03 03:32:11 <gmaxwell> roconnor: so we're getting more wtf detection for at least the portions of the codebase that are excercized by the chain.
 141 2012-08-03 03:32:48 <luke-jr> roconnor: where ya been? :D
 142 2012-08-03 03:32:50 <copumpkin> roconnor: meanwhile, I'm writing another haskell implementation :)
 143 2012-08-03 03:33:02 <gmaxwell> roconnor: 0.7 (git) reboots testnet3 and all the early blocks contain a broad spectrum of transaction test cases. There are also things like maximum sized blocks, difficulty rules tests, and a timewarp attack inthat chain now.
 144 2012-08-03 03:33:26 <gmaxwell> 0.7 also adds a raw transaction interface which should make expirementation using the reference client somewhat less rocket-science.
 145 2012-08-03 03:35:37 <roconnor>            {- Here openssl deviates from the DER specfication and treat all inputs as unsigned integers
 146 2012-08-03 03:35:39 <roconnor>               We have to follow this deviation in bitcoin since bitcoin is defined in terms of openssl. -}
 147 2012-08-03 03:35:40 <roconnor>            let i = nonNegativeByteStringBE l
 148 2012-08-03 03:35:42 <roconnor> this is what my code says
 149 2012-08-03 03:36:47 <BlueMatt> good enough for me, now to figure out how the hell to make spongycastle do it
 150 2012-08-03 03:36:52 <roconnor> that is regarding serialization of Signatures
 151 2012-08-03 03:37:13 <roconnor> And probably private keys, though private keys are not on the protocol
 152 2012-08-03 03:37:16 makomk has joined
 153 2012-08-03 03:37:52 <gmaxwell> roconnor: You got asked this because bluematt said something about his implementation not validating a transaction and after looking at it my fuzzy memory pulled up some comment you made about a negative signature value.
 154 2012-08-03 03:38:20 <roconnor> I made a blog post on it :D
 155 2012-08-03 03:38:29 <roconnor> http://r6.ca/blog/20111119T211504Z.html
 156 2012-08-03 03:39:32 da2ce781 has joined
 157 2012-08-03 03:40:17 <gmaxwell> I'm sure I read that— but I don't recall it at all. Funny.
 158 2012-08-03 03:40:46 <roconnor> I'm modestly concerned myself.
 159 2012-08-03 03:41:48 <roconnor> BlueMatt: spongycastle is an openssl implemenation with an incompatible DER decoder?
 160 2012-08-03 03:41:51 RainbowDashh has joined
 161 2012-08-03 03:42:11 Joric has quit ()
 162 2012-08-03 03:42:32 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 163 2012-08-03 03:43:00 <BlueMatt> roconnor: its a crypto lib in java (used by bitcoinj) IIRC its some smaller version of bouncycastle and contains more specific things that bitcoin cares about and less generic stuff
 164 2012-08-03 03:43:15 <BlueMatt> and, yes, it will read then as negative and complain that the sig is invalid
 165 2012-08-03 03:48:35 <BlueMatt> fun fact: the first OP_CHECKMULTISIG tx that didnt contain a OP_CODESEPARATOR (ie was in standard form) contained one of these negative values
 166 2012-08-03 03:49:43 <BlueMatt> anyway, now its 545, and Im actually off to bed
 167 2012-08-03 03:51:49 KAPITALISMUSS has quit (Quit: ChatZilla 0.9.88.2 [Firefox 14.0.1/20120713134347])
 168 2012-08-03 03:52:49 D34TH has quit (Read error: Connection reset by peer)
 169 2012-08-03 03:54:55 * jgarzik waits patiently for python to churn along
 170 2012-08-03 03:55:39 <jgarzik> ironically I think pynode spends most of its time in copy.deepcopy(), not ecdsa signature checking or sha256 hashing
 171 2012-08-03 03:57:13 elkingrey has joined
 172 2012-08-03 03:57:42 gribble has quit (Ping timeout: 248 seconds)
 173 2012-08-03 03:58:13 <luke-jr> how much can I trust encrypted wallet.dat these days? can I publish Eligius's without fear?
 174 2012-08-03 03:58:28 nanotube has quit (Ping timeout: 244 seconds)
 175 2012-08-03 03:59:36 <jrmithdobbs> luke-jr: why would you?
 176 2012-08-03 04:00:58 <jrmithdobbs> luke-jr: just a bad idea in general, even if it's secure now, once you post that on the internet it'll be attackable if any issues are ever discovered in the future
 177 2012-08-03 04:01:17 <luke-jr> jrmithdobbs: transparency
 178 2012-08-03 04:01:29 <jrmithdobbs> that's not transparency that's bad risk analysis
 179 2012-08-03 04:02:11 <luke-jr> OK, is there a tool to delete priv keys from a wallet then? :P
 180 2012-08-03 04:04:39 minimoose has quit (Quit: minimoose)
 181 2012-08-03 04:05:24 <jrmithdobbs> luke-jr: much better question, and not that i know of
 182 2012-08-03 04:12:56 RainbowDashh has quit (Quit: Computer has gone to sleep.)
 183 2012-08-03 04:13:37 makomk has quit (Ping timeout: 240 seconds)
 184 2012-08-03 04:15:18 da2ce781 has quit (Ping timeout: 248 seconds)
 185 2012-08-03 04:17:02 SuperSonicSound has quit (Quit: Leaving)
 186 2012-08-03 04:18:55 denisx has quit (Quit: denisx)
 187 2012-08-03 04:20:23 makomk has joined
 188 2012-08-03 04:28:32 <sipa> jgarzik, luke-jr, gmaxwell: there is certainly risk of confusing the wallet code, but i don't think luke's patch worsens that. in particular, the wallet code assumes it has exclusive access to its own private keys; when they are shared with another wallet or other implementation, or used in rawtx stuff, that assumption may be wrong
 189 2012-08-03 04:28:33 ForceMajeure has joined
 190 2012-08-03 04:30:15 RainbowDashh has joined
 191 2012-08-03 04:30:16 RainbowDashh has quit (Excess Flood)
 192 2012-08-03 04:31:07 <sipa> also, i believe the wallet code will correctly consider an output spent, if it is spent by a tx it does not understand
 193 2012-08-03 04:31:23 RainbowDashh has joined
 194 2012-08-03 04:31:24 RainbowDashh has quit (Excess Flood)
 195 2012-08-03 04:31:52 RainbowDashh has joined
 196 2012-08-03 04:36:20 <sipa> hi there roconnor!
 197 2012-08-03 04:36:55 <roconnor> hi
 198 2012-08-03 04:37:17 <sipa> we missed you :)
 199 2012-08-03 04:38:55 <sipa> luke-jr: sure, create a new wallet and import only the private keys you do want :p
 200 2012-08-03 04:39:48 <luke-jr> sipa: I don't want any private keys, only the corresponding public ones
 201 2012-08-03 04:42:22 <sipa> ah, i see
 202 2012-08-03 04:43:09 fpgaminer has quit (Ping timeout: 246 seconds)
 203 2012-08-03 04:43:18 makomk has quit (Ping timeout: 255 seconds)
 204 2012-08-03 04:49:36 [\\\] has quit ()
 205 2012-08-03 04:49:43 <jrmithdobbs> jgarzik: you around?
 206 2012-08-03 04:49:54 fpgaminer has joined
 207 2012-08-03 04:50:12 MobiusL has quit (Ping timeout: 276 seconds)
 208 2012-08-03 04:54:22 makomk has joined
 209 2012-08-03 04:59:52 nanotube has joined
 210 2012-08-03 05:01:59 MobiusL has joined
 211 2012-08-03 05:05:38 gribble has joined
 212 2012-08-03 05:06:47 stalled has quit (Ping timeout: 272 seconds)
 213 2012-08-03 05:07:22 <jgarzik> jrmithdobbs: yes
 214 2012-08-03 05:08:01 PhantomSpark has quit (Ping timeout: 246 seconds)
 215 2012-08-03 05:08:43 sytse has quit (Ping timeout: 246 seconds)
 216 2012-08-03 05:13:07 makomk has quit (Ping timeout: 240 seconds)
 217 2012-08-03 05:16:20 maaku has joined
 218 2012-08-03 05:17:42 <jgarzik> interesting... possible gdbm corruption making pynode puke
 219 2012-08-03 05:18:19 [\\\] has joined
 220 2012-08-03 05:25:53 <sipa> ewww... python puke!
 221 2012-08-03 05:27:05 RainbowDashh has quit (Quit: Computer has gone to sleep.)
 222 2012-08-03 05:28:57 roconnor has quit (Ping timeout: 272 seconds)
 223 2012-08-03 05:29:58 Maccer has quit (Excess Flood)
 224 2012-08-03 05:34:56 <jrmithdobbs> jgarzik: going to be testing that last I tried things got bad at like 256ish but that was 2.4 iirc (stupid timewarner is having an outage that started right after i typed that, ha)
 225 2012-08-03 05:35:47 <jgarzik> jrmithdobbs: maybe it's because I am sleepy, but I cannot decode what you just said
 226 2012-08-03 05:37:00 <jrmithdobbs> jgarzik: s/testing that/testing that./
 227 2012-08-03 05:37:54 <jgarzik> jrmithdobbs: you are going to be testing... wallet confusion? pynode? gdbm?
 228 2012-08-03 05:37:59 <jgarzik> still lacking context
 229 2012-08-03 05:38:07 <jrmithdobbs> jgarzik: no, the thing about bind mounts, lol
 230 2012-08-03 05:40:04 <jrmithdobbs> jgarzik: we're down to either abusing the crap out of the kernel like that, going down the evil path of chrooting shitty broken java software,  or cramming a jvm onto a custom bsd appliance
 231 2012-08-03 05:40:08 pebbles has quit (Ping timeout: 252 seconds)
 232 2012-08-03 05:40:22 <jrmithdobbs> (bsd appliance == the disks)
 233 2012-08-03 05:44:00 <jrmithdobbs> (tl;dr: throwing overpowered hardware at problems is more complicated than people think sometimes ;p)
 234 2012-08-03 05:46:16 <jrmithdobbs> sorry, off topic, just at wits end with that problem, ha
 235 2012-08-03 05:50:05 <jrmithdobbs> jgarzik: sorry, i got confused with my internet dropping and misread buffer, ha, thought you said yes to that other thing
 236 2012-08-03 05:50:12 <jrmithdobbs> w/e I obviously need sleep
 237 2012-08-03 05:52:58 ovidiusoft has joined
 238 2012-08-03 05:53:25 sytse has joined
 239 2012-08-03 05:59:38 <jrmithdobbs> jgarzik: lol, the question got dropped when internet did
 240 2012-08-03 05:59:44 <jrmithdobbs> looking at bnc logs, ha
 241 2012-08-03 06:00:13 Maccer has joined
 242 2012-08-03 06:01:23 <jrmithdobbs> jgarzik: I asked if you thought it was feasible to take 10 mounts (clustered fs) and overmount them with bind mounts randomly across a 5kish wide flate directory with subdirectories, or where in the kernel such limits are defined ;p (I have shitty java software dealing with shitty disks that I want to distribute the io load across 10 different mounts)
 243 2012-08-03 06:02:11 <Perlboy> jrmithdobbs: Wouldn't you just abstract at the FS for that?
 244 2012-08-03 06:02:22 <Perlboy> like, lustre or ceph
 245 2012-08-03 06:02:31 <Perlboy> that's what OO-FS are for isn't it?
 246 2012-08-03 06:02:40 <jrmithdobbs> jgarzik: eg, mount --bind /real/$$(($RANDOM % 10))/mount/path/YYYYMMD /clusterfuck/mount/tree/YYYYMMDD
 247 2012-08-03 06:02:53 <Perlboy> lols, TOTAL clusterfuck :)
 248 2012-08-03 06:03:22 <Perlboy> and that'll work but if you got them mixed up you'd be in serious pain....
 249 2012-08-03 06:03:28 <jrmithdobbs> Perlboy: the whole thing is, i'm leaving out the 84G (actual usage, not limits) java heap and all the crazy details that make me ask this in the first place
 250 2012-08-03 06:04:14 <jrmithdobbs> I'm not so sure it will, i remember at least in 2.4 there was a surprisingly low limit
 251 2012-08-03 06:04:22 <Perlboy> oh right...
 252 2012-08-03 06:04:26 <Perlboy> yeah i guess so
 253 2012-08-03 06:04:48 <Perlboy> any reason you can't either a) Fix the underlying FS or b) Modify the underlying export (assuming NFS here) to be the tree breakdown ?
 254 2012-08-03 06:05:55 <jrmithdobbs> Perlboy: a) vendore provided disk system (isilon) b) it's huge (10s of TB over 100) c) tree is controlled by 3rd party proprietary software ;p
 255 2012-08-03 06:06:09 <Perlboy> oh god, i pity you....
 256 2012-08-03 06:06:47 <jrmithdobbs> Perlboy: d) this involves sas tape drives too and all sorts of crazy details, trust me, getting those mounts "mixed up" is nothing compared to the rest of how this works
 257 2012-08-03 06:06:56 <jrmithdobbs> haha
 258 2012-08-03 06:07:33 <Perlboy> well you could look for a fuse filesystem
 259 2012-08-03 06:07:35 <Perlboy> or write your own
 260 2012-08-03 06:07:43 <Perlboy> i'd imagine writing your own would be somewhat trivial
 261 2012-08-03 06:07:50 <Perlboy> since you're just doing a reassignment of the path
 262 2012-08-03 06:09:57 <jrmithdobbs> Perlboy: ya i was asking jgarzik because he's a little familiar with some related parts of the kernel ;p
 263 2012-08-03 06:09:57 RainbowDashh has joined
 264 2012-08-03 06:10:14 <Perlboy> so i best stop hijacking things then ;)
 265 2012-08-03 06:11:04 <jrmithdobbs> but 5k-10k-ish bind mounts vs 5-10k nfs connections seems more sane, ha
 266 2012-08-03 06:12:33 brwyatt is now known as brwyatt|Away
 267 2012-08-03 06:15:54 * midnightmagic wishes ceph did k-of-m erasure coding.
 268 2012-08-03 06:18:24 Kiba has joined
 269 2012-08-03 06:21:32 stalled has joined
 270 2012-08-03 06:24:48 osmosis has quit (Quit: Leaving)
 271 2012-08-03 06:39:24 pebbles has joined
 272 2012-08-03 06:41:27 darkee has quit (!~darkee@gateway/tor-sasl/darkee|Remote host closed the connection)
 273 2012-08-03 06:41:58 darkee has joined
 274 2012-08-03 06:45:00 makomk has joined
 275 2012-08-03 06:48:29 finway has joined
 276 2012-08-03 06:50:21 <finway> Hey, devs, what's wrong with this ?  http://pastebin.com/v20nCtpm
 277 2012-08-03 06:51:05 nonick has joined
 278 2012-08-03 06:54:21 darkee has quit (!~darkee@gateway/tor-sasl/darkee|Ping timeout: 276 seconds)
 279 2012-08-03 06:58:05 sirk390 has joined
 280 2012-08-03 07:00:43 Diablo-D3 has joined
 281 2012-08-03 07:03:53 Marf has joined
 282 2012-08-03 07:05:05 <luke-jr> finway: could be a corrupt blkNNNN.dat
 283 2012-08-03 07:05:18 <finway> Oh
 284 2012-08-03 07:05:18 sirk390 has left ()
 285 2012-08-03 07:05:58 RainbowDashh has quit (Ping timeout: 248 seconds)
 286 2012-08-03 07:06:14 galambo has quit (Read error: Connection reset by peer)
 287 2012-08-03 07:06:38 galambo has joined
 288 2012-08-03 07:06:43 <finway> damn, where can i download the neweast blkxxxx.dat ?  http://eu1.bitcoincharts.com/blockchain/  seems broken
 289 2012-08-03 07:18:08 <luke-jr> https://bitcointalk.org/index.php?topic=94881.0
 290 2012-08-03 07:24:19 <finway> luker-jr, you rock man .
 291 2012-08-03 07:24:51 <finway> luker, you know, in chinese, luker means wanker, no kidding.
 292 2012-08-03 07:28:26 <luke-jr> …
 293 2012-08-03 07:29:58 elkingrey has quit (Quit: Leaving)
 294 2012-08-03 07:32:09 [\\\] has quit (Read error: Connection reset by peer)
 295 2012-08-03 07:33:55 [\\\] has joined
 296 2012-08-03 07:37:05 <vegard> luke means hatch in norwegian
 297 2012-08-03 07:42:13 finway has left ()
 298 2012-08-03 07:45:26 maaku has quit (Quit: maaku)
 299 2012-08-03 07:46:29 <sturles> As a verb luke means to weed in norwegian.  As a noun luke can mean an opening as well.
 300 2012-08-03 07:46:51 <vegard> oh, true! didn't think of that one :D
 301 2012-08-03 07:47:37 Ferroh has quit (Ping timeout: 240 seconds)
 302 2012-08-03 07:50:01 copumpkin has quit (Ping timeout: 246 seconds)
 303 2012-08-03 07:50:33 copumpkin has joined
 304 2012-08-03 07:54:35 pickett has quit (Remote host closed the connection)
 305 2012-08-03 07:55:21 RazielZ has joined
 306 2012-08-03 07:57:22 maaku has joined
 307 2012-08-03 07:58:33 pickett has joined
 308 2012-08-03 08:05:07 Turingi has joined
 309 2012-08-03 08:15:29 OneFixt has quit (Ping timeout: 252 seconds)
 310 2012-08-03 08:17:50 OneFixt has joined
 311 2012-08-03 08:23:51 Clipse has quit (Quit: Clipse)
 312 2012-08-03 08:25:12 maaku has quit (Quit: maaku)
 313 2012-08-03 08:38:31 Clipse has joined
 314 2012-08-03 08:47:01 molecular has quit (Ping timeout: 252 seconds)
 315 2012-08-03 08:48:06 molecular has joined
 316 2012-08-03 08:52:38 sytse has quit (Ping timeout: 248 seconds)
 317 2012-08-03 08:52:39 Maccer has quit (Excess Flood)
 318 2012-08-03 08:54:02 LuaKT has joined
 319 2012-08-03 08:59:44 sytse has joined
 320 2012-08-03 09:00:43 mmoya has joined
 321 2012-08-03 09:03:57 da2ce781 has joined
 322 2012-08-03 09:06:13 Maccer has joined
 323 2012-08-03 09:16:28 ccc has joined
 324 2012-08-03 09:16:47 <ccc> hi
 325 2012-08-03 09:16:50 nsh- has joined
 326 2012-08-03 09:19:33 nsh has quit (Ping timeout: 240 seconds)
 327 2012-08-03 09:19:46 <ccc> an yone to answer question on this chat?
 328 2012-08-03 09:20:32 <kinlo> ccc: don't ask to ask, ask
 329 2012-08-03 09:21:47 toffoo has quit ()
 330 2012-08-03 09:22:56 da2ce781 has quit (Ping timeout: 244 seconds)
 331 2012-08-03 09:27:29 nsh- is now known as nsh
 332 2012-08-03 09:27:34 nsh has quit (Changing host)
 333 2012-08-03 09:27:34 nsh has joined
 334 2012-08-03 09:30:08 <ccc> How would 4x higher processing power affect currency prices to user if demand rises as well and if it wont rise?
 335 2012-08-03 09:35:19 <Diablo-D3> it wont.
 336 2012-08-03 09:35:55 <ccc> How long is bitcoin planned to reach its peak ammount?
 337 2012-08-03 09:37:08 <Diablo-D3> 2140.
 338 2012-08-03 09:37:26 <Diablo-D3> but the date you're really looking for is this december.
 339 2012-08-03 09:37:31 <ccc> but 2m atm?
 340 2012-08-03 09:38:10 <jesperht> Diablo-D3: That's when it will split?
 341 2012-08-03 09:38:16 <jesperht> (the reward)
 342 2012-08-03 09:38:38 <ccc> price drops to 25 december right?
 343 2012-08-03 09:39:23 <Diablo-D3> yes
 344 2012-08-03 09:40:15 <ccc> about 2m bitcoins of  21mil are prduced atm?
 345 2012-08-03 09:40:22 <Diablo-D3> ;;blocks
 346 2012-08-03 09:40:22 <gribble> Error: "blocks" is not a valid command.
 347 2012-08-03 09:40:26 <Diablo-D3> ;;bc,blocks
 348 2012-08-03 09:40:26 <gribble> 192101
 349 2012-08-03 09:40:45 <Diablo-D3> 9.6 million
 350 2012-08-03 09:41:05 <Diablo-D3> until this december, its always blocks * 50
 351 2012-08-03 09:41:06 <ccc> so half to go and price drops by half?
 352 2012-08-03 09:41:13 <Diablo-D3> ccc: no
 353 2012-08-03 09:41:16 <Diablo-D3> price wont drop by half
 354 2012-08-03 09:41:23 <ccc> unt usd price
 355 2012-08-03 09:41:32 <ccc> but bitminters price?
 356 2012-08-03 09:42:00 <Diablo-D3> difficulty and number of coins in existence and current block reward do not effect the price.
 357 2012-08-03 09:42:12 <Diablo-D3> price is completely disconnected from mining
 358 2012-08-03 09:42:58 <ccc> you mean usd to bitcoin price?
 359 2012-08-03 09:43:38 <Diablo-D3> yes
 360 2012-08-03 09:43:54 <jeremias> sausages in bitcoins price
 361 2012-08-03 09:44:04 <ccc> but bitcoin is like a pruduct that changes rate and has stuill supply and emand?
 362 2012-08-03 09:44:24 <phantomcircuit> steady supply
 363 2012-08-03 09:44:27 <phantomcircuit> demand is variable
 364 2012-08-03 09:44:45 <ccc> so its controlled to be simialr to demand  untill it reaches peak?
 365 2012-08-03 09:45:23 da2ce781 has joined
 366 2012-08-03 09:45:33 <Diablo-D3> people are buying bitcoins faster than miners and hoarders are selling them
 367 2012-08-03 09:45:36 <Diablo-D3> thus price goes up
 368 2012-08-03 09:46:09 <ccc> soon more powerful and more efficient processing boxes wil be avalible
 369 2012-08-03 09:46:37 <Diablo-D3> it doesn't matter
 370 2012-08-03 09:46:42 <Diablo-D3> difficulty will adjust.
 371 2012-08-03 09:46:42 <ccc> i heard 1 will buy 1000ghps box
 372 2012-08-03 09:46:47 <ccc> so it wont matter
 373 2012-08-03 09:47:05 <Diablo-D3> BFL is saying they'll ship these in October
 374 2012-08-03 09:47:10 <Diablo-D3> a lot of people don't think its true
 375 2012-08-03 09:47:31 <gjs278> I'm hoarding these coins forever
 376 2012-08-03 09:47:38 <ccc> butm 20000 box needs  20 000 to break even
 377 2012-08-03 09:47:55 <ccc> and if rate is same as now with 500ghps
 378 2012-08-03 09:49:12 <Diablo-D3> ccc: the network hashrate is around 15 thash atm
 379 2012-08-03 09:49:14 <ccc> then they would lose money cause of pointlessly high difficulty and unefficiency
 380 2012-08-03 09:49:28 <ccc> ?
 381 2012-08-03 09:49:38 <Diablo-D3> 1 thash = 1000 ghash
 382 2012-08-03 09:50:03 <ccc> sorry , i looked bitmineter site
 383 2012-08-03 09:50:05 <gjs278> are there arm boards that can have like 16gb of ram
 384 2012-08-03 09:50:21 <Diablo-D3> gjs278: yeah, theres boards that can do 256 gb
 385 2012-08-03 09:50:30 <Diablo-D3> gjs278: but you need registered ram for that
 386 2012-08-03 09:50:34 <gjs278> everything I find are those kits that are like 512mb of ram ma
 387 2012-08-03 09:50:43 <Diablo-D3> wtf?
 388 2012-08-03 09:50:48 <Diablo-D3> where are you looking?
 389 2012-08-03 09:50:52 <gjs278> I don't know where to look
 390 2012-08-03 09:51:02 <Diablo-D3> you'd look on newegg like everyone else
 391 2012-08-03 09:51:06 <gjs278> I just type arm boards and that's the best I can do
 392 2012-08-03 09:51:10 <Diablo-D3> oh, arm
 393 2012-08-03 09:51:13 <gjs278> yes
 394 2012-08-03 09:51:26 <Diablo-D3> I didnt know arm could even do 16gb
 395 2012-08-03 09:51:36 <gjs278> I was just hoping it could
 396 2012-08-03 09:51:42 <Diablo-D3> its exceedinly rare to see arm boards with >1gb
 397 2012-08-03 09:52:22 <amiller> i think we should set the difficulty parameter so that there are on average two blocks for every height.
 398 2012-08-03 09:53:51 <gjs278> I want to make something like this http://www.acard.com/english/fb01-product.jsp?idno_no=270&prod_no=ANS-9010&type1_idno=5&ino=28
 399 2012-08-03 09:54:51 <gjs278> it's probably not arm though, maybe it's that via x86
 400 2012-08-03 09:55:50 DamascusVG has quit (Quit: I Quit - http://www.youtube.com/watch?v=9p97zsQ51Rw)
 401 2012-08-03 09:57:00 nonick has quit (Ping timeout: 276 seconds)
 402 2012-08-03 09:58:34 pickett has quit (Remote host closed the connection)
 403 2012-08-03 10:01:41 Raziel_ has joined
 404 2012-08-03 10:01:46 <ccc> when is bitcoin ammount reaching its peak if supply is steady?
 405 2012-08-03 10:02:36 <ccc> u all going to buy bitcoin if it is close to peak and demand seems to grow?
 406 2012-08-03 10:02:52 <gjs278> jesus christ
 407 2012-08-03 10:03:15 pickett has joined
 408 2012-08-03 10:03:22 da2ce781 has quit (Ping timeout: 246 seconds)
 409 2012-08-03 10:03:27 <gjs278> come back in a 130 years and I'll tell you
 410 2012-08-03 10:04:09 <ccc> so it does not grow stady it grows reverse to exponentialy
 411 2012-08-03 10:05:21 RazielZ has quit (Ping timeout: 248 seconds)
 412 2012-08-03 10:18:53 nonick has joined
 413 2012-08-03 10:19:15 <amiller> in fact each block should include a list of hashes that 'complete' previous blocks that do not have a missing height
 414 2012-08-03 10:19:24 <amiller> that do not have a counterpart at the same height
 415 2012-08-03 10:20:40 <amiller> this would let us even get rid of the timing parameter 10 minutes
 416 2012-08-03 10:21:04 datagutt has joined
 417 2012-08-03 10:21:20 <amiller> and it would get rid of the need to report time stamps
 418 2012-08-03 10:23:50 <vegard> I think the problem is getting the network to agree
 419 2012-08-03 10:23:55 <amiller> no need
 420 2012-08-03 10:26:15 B0g4r7 has quit (Ping timeout: 276 seconds)
 421 2012-08-03 10:28:01 <ccc> http://bitcoincharts.com/charts/mtgoxUSD#rg360ztgOzm1g10zm2g25zv   bitcoin is getting more pupular i see
 422 2012-08-03 10:28:20 <Perlboy> ccc: Oh yeah, when is it going to crash
 423 2012-08-03 10:28:22 <Perlboy> i think it's coming...
 424 2012-08-03 10:29:04 <ccc> why crash?
 425 2012-08-03 10:29:08 <Perlboy> waiting for the correction, market forces at work imo.
 426 2012-08-03 10:29:19 <Perlboy> like it's great cause it shows that it really is a free market
 427 2012-08-03 10:29:36 <Perlboy> but yeah, great that there's people jumping on board
 428 2012-08-03 10:29:44 <Perlboy> who wouldn't @ 20% return in days...
 429 2012-08-03 10:30:22 <amiller> there will always be one block at each height that is awarded fees, but convention should be to include as many headers with valid proof-of-work as possible
 430 2012-08-03 10:30:44 <amiller> for every fee-winning block, we should decrease the difficulty
 431 2012-08-03 10:30:54 <amiller> for every redundant header, we should increase the difficulty
 432 2012-08-03 10:32:02 cc has joined
 433 2012-08-03 10:32:08 <cc> why crash?
 434 2012-08-03 10:32:28 <amiller> it's clear that the steady state of this system is 2 blocks on average per height
 435 2012-08-03 10:33:21 ccc has quit (Ping timeout: 245 seconds)
 436 2012-08-03 10:35:26 <amiller> this is also the optimal balance between rapidly-converging and getting transactions included
 437 2012-08-03 10:35:52 <cc> u know, my firefox crash after u write about crash
 438 2012-08-03 10:35:58 nonick has quit (Remote host closed the connection)
 439 2012-08-03 10:36:14 DamascusVG has joined
 440 2012-08-03 10:36:40 nonick has joined
 441 2012-08-03 10:40:52 nonick is now known as darkee
 442 2012-08-03 10:44:02 cc has quit (Quit: Page closed)
 443 2012-08-03 10:52:21 PhantomSpark has joined
 444 2012-08-03 10:56:28 stalled_ has joined
 445 2012-08-03 10:56:42 Marf has quit (Ping timeout: 244 seconds)
 446 2012-08-03 10:57:23 veelstewerm has joined
 447 2012-08-03 10:58:17 theorb has joined
 448 2012-08-03 10:58:28 vegard_ has joined
 449 2012-08-03 10:58:44 datagutt has quit (Ping timeout: 244 seconds)
 450 2012-08-03 10:58:45 coblee has quit (Ping timeout: 240 seconds)
 451 2012-08-03 10:58:45 nameless has quit (!~root@weowntheinter.net|Ping timeout: 240 seconds)
 452 2012-08-03 10:58:45 xorgate has quit (Ping timeout: 240 seconds)
 453 2012-08-03 10:58:46 copumpkin has quit (Ping timeout: 244 seconds)
 454 2012-08-03 10:58:46 stalled has quit (Ping timeout: 244 seconds)
 455 2012-08-03 10:58:46 fpgaminer has quit (Ping timeout: 244 seconds)
 456 2012-08-03 10:58:46 Lolcust has quit (Ping timeout: 244 seconds)
 457 2012-08-03 10:58:46 amiller has quit (Ping timeout: 244 seconds)
 458 2012-08-03 10:58:48 DamascusVG has quit (Ping timeout: 240 seconds)
 459 2012-08-03 10:58:48 makomk has quit (Ping timeout: 240 seconds)
 460 2012-08-03 10:58:48 knotwork has quit (Ping timeout: 240 seconds)
 461 2012-08-03 10:58:48 vegard has quit (Ping timeout: 240 seconds)
 462 2012-08-03 10:58:48 jarpiain has quit (Ping timeout: 240 seconds)
 463 2012-08-03 10:58:54 makomk_ has joined
 464 2012-08-03 10:58:55 makomk_ is now known as makomk
 465 2012-08-03 10:58:57 Bwild has quit (Ping timeout: 244 seconds)
 466 2012-08-03 10:58:57 theorbtwo has quit (Ping timeout: 244 seconds)
 467 2012-08-03 10:58:57 weex has quit (Ping timeout: 244 seconds)
 468 2012-08-03 10:58:59 jarpiain has joined
 469 2012-08-03 10:58:59 tower has quit (Ping timeout: 240 seconds)
 470 2012-08-03 10:58:59 sgornick has quit (Ping timeout: 240 seconds)
 471 2012-08-03 10:58:59 Lolcust has joined
 472 2012-08-03 10:59:02 jarpiain is now known as Guest58022
 473 2012-08-03 10:59:08 coblee has joined
 474 2012-08-03 10:59:18 fpgaminer has joined
 475 2012-08-03 10:59:22 Bwild has joined
 476 2012-08-03 10:59:22 DamascusVG has joined
 477 2012-08-03 10:59:22 DamascusVG has quit (Changing host)
 478 2012-08-03 10:59:22 DamascusVG has joined
 479 2012-08-03 10:59:28 Marf has joined
 480 2012-08-03 10:59:29 weex has joined
 481 2012-08-03 10:59:29 weex has quit (Changing host)
 482 2012-08-03 10:59:29 weex has joined
 483 2012-08-03 10:59:47 knotwork has joined
 484 2012-08-03 10:59:48 sgornick has joined
 485 2012-08-03 11:00:00 copumpkin has joined
 486 2012-08-03 11:00:01 stalled_ has quit (Changing host)
 487 2012-08-03 11:00:01 stalled_ has joined
 488 2012-08-03 11:00:10 sgornick has quit (Changing host)
 489 2012-08-03 11:00:10 sgornick has joined
 490 2012-08-03 11:00:14 copumpkin has quit (Changing host)
 491 2012-08-03 11:00:14 copumpkin has joined
 492 2012-08-03 11:00:18 theorb is now known as theorbtwo
 493 2012-08-03 11:02:54 tower has joined
 494 2012-08-03 11:04:22 amiller has joined
 495 2012-08-03 11:19:59 agricocb has quit (Remote host closed the connection)
 496 2012-08-03 11:27:24 nameless has joined
 497 2012-08-03 11:29:32 datagutt has joined
 498 2012-08-03 11:30:26 <gmaxwell> amiller: I understand what you're saying, I think, but you've just blown up the minimal space/bandwidth required for a passive observer to enforce the rules on its own.. which isn't good.
 499 2012-08-03 11:31:54 <amiller> actually there's no reason the redundant blocks have to be validated
 500 2012-08-03 11:32:00 <amiller> they may just be blank proofs-of-work
 501 2012-08-03 11:32:52 <amiller> if someone wants to do unpaid overtime to increase the difficulty, that's probably fine
 502 2012-08-03 11:34:05 <amiller> i'm not totally sure about the 2 though
 503 2012-08-03 11:35:34 <amiller> only the block header needs to be stored
 504 2012-08-03 11:36:54 copumpkin has quit (Ping timeout: 248 seconds)
 505 2012-08-03 11:37:26 copumpkin has joined
 506 2012-08-03 11:38:01 karipe has joined
 507 2012-08-03 11:39:29 DamascusVG has quit (Quit: I Quit - http://www.youtube.com/watch?v=9p97zsQ51Rw)
 508 2012-08-03 11:42:29 agricocb has joined
 509 2012-08-03 11:53:47 sytse has quit (Ping timeout: 245 seconds)
 510 2012-08-03 11:56:48 nsh has quit (Remote host closed the connection)
 511 2012-08-03 11:56:50 Internet13 has quit (Ping timeout: 246 seconds)
 512 2012-08-03 11:57:54 Internet13 has joined
 513 2012-08-03 12:00:49 rdponticelli has joined
 514 2012-08-03 12:00:57 sytse has joined
 515 2012-08-03 12:01:19 drizztbsd has joined
 516 2012-08-03 12:02:27 faraday__ has joined
 517 2012-08-03 12:02:53 stalled_ has quit (Ping timeout: 272 seconds)
 518 2012-08-03 12:03:13 t7 has joined
 519 2012-08-03 12:17:05 mmoya has quit (Ping timeout: 255 seconds)
 520 2012-08-03 12:21:41 minimoose has joined
 521 2012-08-03 12:30:35 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 522 2012-08-03 12:45:45 brwyatt is now known as brwyatt|Away
 523 2012-08-03 12:48:53 stalled has joined
 524 2012-08-03 12:49:39 toffoo has joined
 525 2012-08-03 12:52:04 Diapolo has joined
 526 2012-08-03 12:53:53 rdponticelli has quit (Ping timeout: 248 seconds)
 527 2012-08-03 12:54:05 t7 has quit (Read error: Connection reset by peer)
 528 2012-08-03 12:56:13 yellowhat has quit (Ping timeout: 240 seconds)
 529 2012-08-03 12:58:15 yellowhat has joined
 530 2012-08-03 12:58:30 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 531 2012-08-03 13:04:49 Diapolo has left ()
 532 2012-08-03 13:04:51 etotheipi_ has quit (Quit: Leaving)
 533 2012-08-03 13:09:52 ThomasV has joined
 534 2012-08-03 13:11:03 brwyatt is now known as brwyatt|Away
 535 2012-08-03 13:12:02 CluckCreek has joined
 536 2012-08-03 13:13:28 <BlueMatt> jgarzik: "not ecdsa signature checking or sha256 hashing" so pynode runs scripts, atleast for OP_CHECKSIG?
 537 2012-08-03 13:16:12 <CluckCreek> I'm working on a project that will use the raw transaction stuff, so I'm wondering, is there a timeline for when version 0.7 will be released?
 538 2012-08-03 13:16:33 <sipa> CluckCreek: i'd say 3-6 weeks from now
 539 2012-08-03 13:16:43 brwyatt is now known as Away!~brwyatt@brwyatt.net|brwyatt
 540 2012-08-03 13:17:01 <sipa> but no promises
 541 2012-08-03 13:17:32 <CluckCreek> okay, thanks
 542 2012-08-03 13:18:04 <sipa> BlueMatt: wait, pynode does not do sha256 hashing...?
 543 2012-08-03 13:18:30 <BlueMatt> sipa: no, sorry, bad quote, it does those
 544 2012-08-03 13:18:37 <BlueMatt> <jgarzik> ironically I think pynode spends most of its time in copy.deepcopy(), not ecdsa signature checking or sha256 hashing
 545 2012-08-03 13:18:51 <sipa> oh, ok, good
 546 2012-08-03 13:30:34 one_zero has quit ()
 547 2012-08-03 13:33:15 JFK911_ has joined
 548 2012-08-03 13:33:53 JFK911 has quit (Read error: Connection reset by peer)
 549 2012-08-03 13:34:54 MobiusL has quit (Quit: Ex-Chat)
 550 2012-08-03 13:35:24 JFK911_ is now known as MLK911
 551 2012-08-03 13:38:40 rdponticelli has joined
 552 2012-08-03 13:39:25 p0s has joined
 553 2012-08-03 13:44:51 <Diablo-D3> >deepcopy
 554 2012-08-03 13:44:59 <Diablo-D3> srsly.
 555 2012-08-03 13:46:07 ThomasV has quit (Quit: Quitte)
 556 2012-08-03 13:46:30 rdponticelli has quit (Ping timeout: 248 seconds)
 557 2012-08-03 13:49:43 Joric has joined
 558 2012-08-03 13:54:37 D34TH has joined
 559 2012-08-03 13:56:09 <jgarzik> sipa: yes, pynode does signature checking and sha256 hashing
 560 2012-08-03 13:56:14 <jgarzik> BlueMatt: yes
 561 2012-08-03 13:56:34 <BlueMatt> does that mean script execution or standard-form script execution?
 562 2012-08-03 13:57:19 OneFixt_ has joined
 563 2012-08-03 13:59:45 copumpkin has quit (Quit: Computer has gone to sleep.)
 564 2012-08-03 14:00:59 OneFixt has quit (Ping timeout: 245 seconds)
 565 2012-08-03 14:02:58 Joric has quit ()
 566 2012-08-03 14:03:10 <helo> i thought there was no script execution yet
 567 2012-08-03 14:03:46 <helo> so it's basically a mirror of what the node you are listening to is telling you, without any interpretation
 568 2012-08-03 14:05:17 <sipa> ?
 569 2012-08-03 14:06:22 <helo> pynode
 570 2012-08-03 14:06:38 D34TH_ has joined
 571 2012-08-03 14:07:02 <sipa> well, since jgarzik is the author, i tend to trust him if he claims there is script execution :)
 572 2012-08-03 14:07:17 <helo> oh, i missed that heh
 573 2012-08-03 14:07:46 slush1 has joined
 574 2012-08-03 14:09:21 D34TH__ has joined
 575 2012-08-03 14:10:31 D34TH has quit (Ping timeout: 276 seconds)
 576 2012-08-03 14:10:58 D34TH__ is now known as D34TH
 577 2012-08-03 14:11:08 D34TH has quit (Changing host)
 578 2012-08-03 14:11:08 D34TH has joined
 579 2012-08-03 14:11:49 D34TH_ has quit (Ping timeout: 276 seconds)
 580 2012-08-03 14:14:52 tonikt has joined
 581 2012-08-03 14:22:21 copumpkin has joined
 582 2012-08-03 14:23:43 <BlueMatt> jgarzik has recently put a ton of work into it, so its not what it used to be
 583 2012-08-03 14:23:44 Cablesaurus has quit (Quit: Not that there is anything wrong with that)
 584 2012-08-03 14:32:53 deno_ has joined
 585 2012-08-03 14:33:44 <helo> i've wanted a python node for a long time... really great project
 586 2012-08-03 14:35:47 <BlueMatt> its apparently "slow as molasses" though...
 587 2012-08-03 14:36:11 <deno_> hello I`d like to know if it possible to move the database to other location than default in windows?
 588 2012-08-03 14:36:51 slush1 has quit (Read error: Connection reset by peer)
 589 2012-08-03 14:36:54 <helo> it might not make a very efficient full node, but it will probably be perfect for testing SPV stuff
 590 2012-08-03 14:36:57 <BlueMatt> add datadir=location to bitcoin.conf or the command line parameters
 591 2012-08-03 14:38:03 <deno_> ok
 592 2012-08-03 14:41:49 OneFixt_ has quit (Ping timeout: 245 seconds)
 593 2012-08-03 14:42:11 OneFixt has joined
 594 2012-08-03 14:46:49 OneFixt has quit (Ping timeout: 245 seconds)
 595 2012-08-03 14:49:22 <jgarzik> helo, BlueMatt: technically you are both correct...  pynode's lib can do script verification, and testscript.py iterates through each block and does just that.  However, the network node program (node.py) does not yet verify scripts of incoming TX's and blocks, only sha256 and other checks, because the script validation can only validation up to block height 170977.
 596 2012-08-03 14:49:26 <jgarzik> *validate
 597 2012-08-03 14:49:44 <jgarzik> once script validation works for all blocks in mainnet and testnet3, it will get plumbed into the network node
 598 2012-08-03 14:50:49 OneFixt has joined
 599 2012-08-03 14:54:14 <sipa> what fails in 170978?
 600 2012-08-03 14:54:33 * helo guesses /p2sh/
 601 2012-08-03 14:54:49 <jgarzik> Scanned 2436307 tx, height 170976 (0 failures)
 602 2012-08-03 14:54:49 <jgarzik> TX 3ee060fb1856f111859fb108d079635a2d225ef68d5ae5250ce70d39ac2a2dc4/0 failed
 603 2012-08-03 14:55:01 deno_ has quit (Ping timeout: 245 seconds)
 604 2012-08-03 14:55:04 <jgarzik> that's the TX, and it is in #170977 I believe
 605 2012-08-03 14:55:11 <sipa> ok
 606 2012-08-03 14:55:18 <jgarzik> just woke up to validation results overnight, so I dunno why that TX fails yet
 607 2012-08-03 14:55:36 <helo> blockchain.info even says "Unable to decode input address"
 608 2012-08-03 14:55:56 <BlueMatt> jgarzik: nice, cant wait to see it done
 609 2012-08-03 14:55:56 <sipa> that's quite expected
 610 2012-08-03 14:55:58 <jgarzik> helo: yeah, that means there's a non-standard script
 611 2012-08-03 14:56:16 <jgarzik> pynode does CHECKMULTISIG now, so it's not that
 612 2012-08-03 14:56:18 <sipa> if it could, it was a standard script, and i'm pynode could deal with it
 613 2012-08-03 14:56:33 <jgarzik> yep
 614 2012-08-03 14:58:32 <jgarzik> BlueMatt: pynode really has two goals:  (1) a python network node, and (2) create "python-bitcoin" package so that others may easily roll their own statistics nodes, blockchain monitors, etc.
 615 2012-08-03 14:58:55 <jgarzik> all the bitcoin-specific protocol and data structure stuff is separated, so you can use it independently of other gadgetry
 616 2012-08-03 14:59:04 <jgarzik> you don't need a blockchain db to use the script engine, for example
 617 2012-08-03 14:59:23 <jgarzik> if you just need data structure serialization and nothing else, that's doable
 618 2012-08-03 15:00:56 <jgarzik> TX 3ee060fb1856f111859fb108d079635a2d225ef68d5ae5250ce70d39ac2a2dc4 did not fail due to "unsupported opcode" (it prints out this condition), so I wonder what happened...  a silent failure in my script usually means the script evaluated to false, when it should not have
 619 2012-08-03 15:02:06 slush1 has joined
 620 2012-08-03 15:02:09 <BlueMatt> have you run bitcoind's data-driven tests yet?
 621 2012-08-03 15:02:29 <BlueMatt> whole lot more thorough (-checksig) and faster than downloading the chain
 622 2012-08-03 15:02:46 <jgarzik> BlueMatt: that's next
 623 2012-08-03 15:03:00 <jgarzik> BlueMatt: validating the main chain is a first step
 624 2012-08-03 15:03:14 Cablesaurus has joined
 625 2012-08-03 15:03:27 <jgarzik> BlueMatt: more important -and- easier than testnet3 validation (which includes the valid tests in bitcoin/src/test)
 626 2012-08-03 15:04:26 <jgarzik> BlueMatt: chain is already downloaded.  testscript.py just iterates from block #0 through the end, in the local database.
 627 2012-08-03 15:04:48 <BlueMatt> ah, well fair enough
 628 2012-08-03 15:05:30 <jgarzik> BlueMatt: once the main chain validates, will definitely run through any other tests I can find
 629 2012-08-03 15:06:01 <jgarzik> oh, wait, there it is in another window:
 630 2012-08-03 15:06:09 <jgarzik> Unsupported opcode OP_MIN
 631 2012-08-03 15:06:27 <jgarzik> easy enough, then
 632 2012-08-03 15:06:28 <helo> input script is OP_3 OP_4
 633 2012-08-03 15:07:35 OneFixt has quit (Ping timeout: 248 seconds)
 634 2012-08-03 15:08:17 <helo> which isn't a thing... don't know where blockchain.info is getting that
 635 2012-08-03 15:08:26 OneFixt has joined
 636 2012-08-03 15:08:38 <BlueMatt> no, thats right
 637 2012-08-03 15:10:34 <helo> oh i see, OP_2-OP_16
 638 2012-08-03 15:10:44 PhantomSpark has quit (Ping timeout: 246 seconds)
 639 2012-08-03 15:10:58 guruvan has quit (Ping timeout: 276 seconds)
 640 2012-08-03 15:11:37 pickett has quit (Ping timeout: 276 seconds)
 641 2012-08-03 15:11:51 <BlueMatt> jgarzik: I have to say, implementing script engine by implementing the data-driven tests and watching the # of failing tests go down for each op implemented made it quite easy
 642 2012-08-03 15:12:07 guruvan_ is now known as guruvan
 643 2012-08-03 15:12:10 <BlueMatt> but, yea, its less important because it doesnt even test OP_CHECKSIG
 644 2012-08-03 15:12:14 <BlueMatt> (fixing that now, btw)
 645 2012-08-03 15:12:55 gfinn has quit (Ping timeout: 276 seconds)
 646 2012-08-03 15:12:55 devrandom has quit (Ping timeout: 276 seconds)
 647 2012-08-03 15:16:00 guruvan has quit (Remote host closed the connection)
 648 2012-08-03 15:16:44 TD has joined
 649 2012-08-03 15:18:17 roconnor has joined
 650 2012-08-03 15:19:25 guruvan has joined
 651 2012-08-03 15:20:26 maaku has joined
 652 2012-08-03 15:22:06 guruvan_ has joined
 653 2012-08-03 15:25:15 devrandom has joined
 654 2012-08-03 15:26:27 MobiusL has joined
 655 2012-08-03 15:27:00 MobiusL has quit (Remote host closed the connection)
 656 2012-08-03 15:28:40 gfinn has joined
 657 2012-08-03 15:33:46 p0s has quit (Remote host closed the connection)
 658 2012-08-03 15:36:18 p0s has joined
 659 2012-08-03 15:36:18 <jgarzik> OP_MIN and several other binops implemented.  moving along again.
 660 2012-08-03 15:37:38 DamascusVG has joined
 661 2012-08-03 15:39:30 maaku has quit (Quit: maaku)
 662 2012-08-03 15:41:58 Raziel_ is now known as RazielZ
 663 2012-08-03 15:42:05 RazielZ is now known as Raziel
 664 2012-08-03 15:48:32 MobiusL has joined
 665 2012-08-03 16:05:38 <jgarzik> pynode appears to be verifying blocks, including script verf, at a rate roughly average to 50 TX/second
 666 2012-08-03 16:06:23 PhantomSpark has joined
 667 2012-08-03 16:07:00 <jgarzik> definitely slow.  hopefully can be sped up by figuring out why copy.deepcopy() is so slow.  python is reference-based, and to avoid modifying the possibly-cached input CBlock, and the transactions within, SignatureHash() for scripts must copy each TX into a new CTransaction object
 668 2012-08-03 16:07:00 <sipa> jgarzik: can you benchmark it with ECDSA checking disabled?
 669 2012-08-03 16:07:09 <jgarzik> sipa: it's a shitload faster
 670 2012-08-03 16:07:10 <jgarzik> :)
 671 2012-08-03 16:07:16 pnicholson has joined
 672 2012-08-03 16:07:25 <jgarzik> sipa: 1000 TX/second at least
 673 2012-08-03 16:07:53 <sipa> that's not too bad
 674 2012-08-03 16:08:25 <sipa> actually, that means that you spend 95% of the time in ECDSA checking?
 675 2012-08-03 16:08:34 <jgarzik> sipa: this is all single-threaded, with the huge caveat that python cannot do multi-threaded CPU-intensive work
 676 2012-08-03 16:08:46 <jgarzik> could be sped up with multi-process
 677 2012-08-03 16:08:57 pnicholson has quit (Client Quit)
 678 2012-08-03 16:09:07 <jgarzik> sipa: looks like it, yes
 679 2012-08-03 16:09:15 <sipa> didn't you say that most of the time was not hashing/sigchecking, but deepcopying?
 680 2012-08-03 16:09:29 <jgarzik> sipa: looks like it, yes x2
 681 2012-08-03 16:09:51 <jgarzik> sipa: without SignatureHash() checking, no need to copy.deepcopy()
 682 2012-08-03 16:09:55 <sipa> ah
 683 2012-08-03 16:10:28 <sipa> you don't need to copy the entire transaction do you, just the relevant script?
 684 2012-08-03 16:10:57 <jgarzik> sipa: SignatureHash() needs an idealized version of CTransaction to hash
 685 2012-08-03 16:11:27 <jgarzik> sipa: think SIGHASH*
 686 2012-08-03 16:11:36 p0s has quit (Remote host closed the connection)
 687 2012-08-03 16:11:58 <jgarzik> sipa: SignatureHash() in python is 1:1 with C++ code, so you can read script.cpp to see what I mean
 688 2012-08-03 16:12:55 <sipa> uint256 SignatureHash(CScript scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType)
 689 2012-08-03 16:13:15 <sipa> oh, you're right
 690 2012-08-03 16:14:01 pnicholson has joined
 691 2012-08-03 16:14:54 <jgarzik> sipa: there is likely a smarter method in python than using the library's deepcopy function.  A hand-coded copy function may carefully select which elements may be copied by reference (the default for '=' in python) and which should be copied by value, due to possible modification in SignatureHash()
 692 2012-08-03 16:15:24 <jgarzik> but for now, that's a lower priority than eval'ing the main chain :)
 693 2012-08-03 16:15:32 <jgarzik> contributors welcome <grin>
 694 2012-08-03 16:15:33 <sipa> oh, definitely
 695 2012-08-03 16:16:06 <BlueMatt> jgarzik: bitcoinj just backs up old values and reapplies them afterwards, but then it uses a CTransaction.hashForSignature
 696 2012-08-03 16:16:26 <jgarzik> BlueMatt: yep, that would be an example of a "smarter method" :)
 697 2012-08-03 16:16:49 <jgarzik> BlueMatt: deepcopy looks at the internals, and copies python-obj-for-python-obj, recursively
 698 2012-08-03 16:16:57 <jgarzik> a la "cp -r"
 699 2012-08-03 16:17:23 <copumpkin> solution is just to make everything immutable!
 700 2012-08-03 16:17:30 * copumpkin hides
 701 2012-08-03 16:17:39 <jgarzik> but when you're writing code, writing copy.deepcopy(foo) sure is easier than 10-20 LOC
 702 2012-08-03 16:19:04 <jgarzik> #176100
 703 2012-08-03 16:19:41 <BlueMatt> jgarzik: yep, I was suggesting a "smarter method" :)
 704 2012-08-03 16:19:58 <BlueMatt> meh, the backup-stuff and restore-stuff is like 5 lines
 705 2012-08-03 16:20:42 pusle has joined
 706 2012-08-03 16:20:52 tsche has quit (Remote host closed the connection)
 707 2012-08-03 16:21:09 tsche has joined
 708 2012-08-03 16:21:13 <BlueMatt> to make all the script stuff more readable, can we remove all the int nHashType passing around (because 90% of them are const 0)
 709 2012-08-03 16:21:30 rdponticelli has joined
 710 2012-08-03 16:21:49 <sipa> how do you mean, remove?
 711 2012-08-03 16:22:24 <BlueMatt> s/, int nHashType//
 712 2012-08-03 16:22:39 <BlueMatt> we pass it around in a ton of functions for absolutely no reason
 713 2012-08-03 16:22:47 <BlueMatt> (before we pull it off the end of the sig)
 714 2012-08-03 16:23:07 <sipa> ah
 715 2012-08-03 16:23:19 <BlueMatt> (it appears to be a "force all hash types into this one" but I dont see it used anywhere)
 716 2012-08-03 16:25:16 <jgarzik> BlueMatt: if it is passed and !0, then it is verified to be that hashtype
 717 2012-08-03 16:25:36 <BlueMatt> yea, but we dont use it (or did I miss it?)
 718 2012-08-03 16:25:38 <jgarzik> BlueMatt: required-to-be-this-hashtype appears to be the only reason why the argument is passed to some functions
 719 2012-08-03 16:25:50 <jgarzik> BlueMatt: possibly not, agreed.  I haven't checked callers.
 720 2012-08-03 16:26:15 <sipa> why do we need required-to-be-this-hashtype anyway?
 721 2012-08-03 16:26:19 <jgarzik> just rote C++ -> python transcription ;-)
 722 2012-08-03 16:26:32 <jgarzik> sipa: that's the $64,000 question :)
 723 2012-08-03 16:27:39 <sipa> ok
 724 2012-08-03 16:27:45 Ferroh has joined
 725 2012-08-03 16:28:12 <jgarzik> Scanned 214979 tx, height 177014 (0 failures)
 726 2012-08-03 16:28:20 <jgarzik> putt, putt, putt, putt...
 727 2012-08-03 16:28:47 * jgarzik goes to walk some dogs, bbi ~15
 728 2012-08-03 16:30:00 PhantomSpark has quit (Read error: Connection reset by peer)
 729 2012-08-03 16:34:45 PhantomSpark has joined
 730 2012-08-03 16:34:54 stalled_ has joined
 731 2012-08-03 16:36:16 BeTep has quit ()
 732 2012-08-03 16:36:42 stalled has quit (Ping timeout: 245 seconds)
 733 2012-08-03 16:37:40 torsthaldo has quit (Read error: Connection reset by peer)
 734 2012-08-03 16:38:33 torsthaldo has joined
 735 2012-08-03 16:39:47 <BlueMatt> it is used in DoS_tests, but I dont see why it was done that way, could just push a value on the end of the sig...
 736 2012-08-03 16:40:46 <BlueMatt> yea, also in script_tests, but again, its entirely useless
 737 2012-08-03 16:42:16 <BlueMatt> (and is one more thing people implementing scripts needs to go check callers for to make sure their implementation is correct, in fact, its one of the only things)
 738 2012-08-03 16:42:50 osmosis has joined
 739 2012-08-03 16:48:04 slush1 has quit (Ping timeout: 245 seconds)
 740 2012-08-03 16:49:00 <jgarzik> Scanned 357531 tx, height 179150 (0 failures)
 741 2012-08-03 16:49:15 <jgarzik> time to make this parallel, with multiple script invocations
 742 2012-08-03 16:53:17 Zarutian has joined
 743 2012-08-03 16:53:46 t7 has joined
 744 2012-08-03 16:55:52 t7 has quit (Client Quit)
 745 2012-08-03 16:56:32 t7 has joined
 746 2012-08-03 16:58:54 RainbowDashh has joined
 747 2012-08-03 17:02:43 PK has joined
 748 2012-08-03 17:03:07 tusle has joined
 749 2012-08-03 17:03:29 maaku has joined
 750 2012-08-03 17:04:18 pusle has quit (Ping timeout: 255 seconds)
 751 2012-08-03 17:12:11 MobiusL has quit (Quit: Ex-Chat)
 752 2012-08-03 17:14:06 MobiusL has joined
 753 2012-08-03 17:19:24 * jgarzik tunes the cache size down to 500 deserialized blocks, and starts a third process
 754 2012-08-03 17:19:40 <devrandom> BlueMatt: pong
 755 2012-08-03 17:26:08 Marf has quit (Ping timeout: 240 seconds)
 756 2012-08-03 17:26:43 pickett has joined
 757 2012-08-03 17:29:30 Guest58022 is now known as jarpiain
 758 2012-08-03 17:33:35 <BlueMatt> devrandom: we were discussing naks and various other optimizations to the gitian release process, but it didnt get very far
 759 2012-08-03 17:37:34 <maaku> BlueMatt: naks?
 760 2012-08-03 17:41:06 torsthaldo has quit (Read error: Connection reset by peer)
 761 2012-08-03 17:43:19 TD has quit (Quit: TD)
 762 2012-08-03 17:44:07 TD has joined
 763 2012-08-03 17:44:11 <BlueMatt> negative-signatures ie "no, this update is actually not valid"
 764 2012-08-03 17:44:19 topace has quit (Changing host)
 765 2012-08-03 17:44:19 topace has joined
 766 2012-08-03 17:44:28 Joric has joined
 767 2012-08-03 17:44:38 RainbowDashh has quit (Ping timeout: 240 seconds)
 768 2012-08-03 17:44:41 <BlueMatt> jgarzik: what ecdsa lib does pynode use?
 769 2012-08-03 17:48:12 TD has quit (Client Quit)
 770 2012-08-03 17:50:30 torsthaldo has joined
 771 2012-08-03 17:51:23 <Joric> BlueMatt, ctypes + native ssllib see key.py it's written there 'Source: git://github.com/joric/brutus.git' :D
 772 2012-08-03 17:52:39 rdponticelli has quit (Ping timeout: 245 seconds)
 773 2012-08-03 17:52:48 <BlueMatt> yea, but its easier to ask and get a one-word answer than to go hunting in source Ive never looked at ;)
 774 2012-08-03 17:53:52 <BlueMatt> so, yea, native openssl
 775 2012-08-03 17:58:14 da2ce7_d has joined
 776 2012-08-03 17:58:22 <jgarzik> yep
 777 2012-08-03 18:00:23 da2ce7 has quit (Ping timeout: 248 seconds)
 778 2012-08-03 18:17:36 bitfoo has quit (Quit: ZNC - http://znc.in)
 779 2012-08-03 18:20:58 tcatm has quit (Quit: No Ping reply in 180 seconds.)
 780 2012-08-03 18:21:25 gfinn has quit (Ping timeout: 276 seconds)
 781 2012-08-03 18:22:29 MagicalTux has quit (Quit: Bye, see you later!)
 782 2012-08-03 18:22:39 sturles has quit (Ping timeout: 265 seconds)
 783 2012-08-03 18:22:43 pickett has quit (Ping timeout: 276 seconds)
 784 2012-08-03 18:22:43 devrandom has quit (Ping timeout: 276 seconds)
 785 2012-08-03 18:22:43 darkee has quit (Ping timeout: 276 seconds)
 786 2012-08-03 18:22:43 mb300sd has quit (Ping timeout: 276 seconds)
 787 2012-08-03 18:22:43 random_cat__ has quit (Ping timeout: 276 seconds)
 788 2012-08-03 18:22:45 parus has quit (Ping timeout: 246 seconds)
 789 2012-08-03 18:23:04 sturles has joined
 790 2012-08-03 18:23:31 parus has joined
 791 2012-08-03 18:23:35 wereHamster has quit (Ping timeout: 260 seconds)
 792 2012-08-03 18:23:45 bitllc has quit (Remote host closed the connection)
 793 2012-08-03 18:24:08 Guest36203 has joined
 794 2012-08-03 18:24:13 wereHamster has joined
 795 2012-08-03 18:25:18 RainbowDashh has joined
 796 2012-08-03 18:25:29 LuaKT has quit (Remote host closed the connection)
 797 2012-08-03 18:25:41 LuaKT has joined
 798 2012-08-03 18:25:41 LuaKT has quit (Changing host)
 799 2012-08-03 18:25:41 LuaKT has joined
 800 2012-08-03 18:26:31 Aexoden_II has quit (Ping timeout: 265 seconds)
 801 2012-08-03 18:42:15 mb300sd has joined
 802 2012-08-03 18:42:15 darkee has joined
 803 2012-08-03 18:42:15 Aexoden_III has joined
 804 2012-08-03 18:42:15 ovidiuso1t has joined
 805 2012-08-03 18:42:35 t7 has quit (Excess Flood)
 806 2012-08-03 18:42:56 Obsi has joined
 807 2012-08-03 18:43:20 mmoya has joined
 808 2012-08-03 18:43:46 PhantomSpark has joined
 809 2012-08-03 18:43:46 aq83 has joined
 810 2012-08-03 18:43:46 jurov has joined
 811 2012-08-03 18:43:46 welterde has joined
 812 2012-08-03 18:43:46 unknown45682 has joined
 813 2012-08-03 18:43:46 spq` has joined
 814 2012-08-03 18:43:46 mysil2 has joined
 815 2012-08-03 18:43:46 rcorreia has joined
 816 2012-08-03 18:43:46 lianj has joined
 817 2012-08-03 18:43:46 Eliel has joined
 818 2012-08-03 18:44:07 t7 has joined
 819 2012-08-03 18:45:11 rdponticelli has joined
 820 2012-08-03 18:45:36 sturles has quit (Changing host)
 821 2012-08-03 18:45:36 sturles has joined
 822 2012-08-03 18:46:08 sytse has joined
 823 2012-08-03 18:46:08 riush has quit (Ping timeout: 240 seconds)
 824 2012-08-03 18:48:24 riush has joined
 825 2012-08-03 18:48:24 riush has quit (Changing host)
 826 2012-08-03 18:48:24 riush has joined
 827 2012-08-03 18:50:33 random_cat__ has joined
 828 2012-08-03 18:51:01 Edward_Black has joined
 829 2012-08-03 18:53:37 <Edward_Black> Hey there folks! I haz a crazy question. If anyone is the mood for talking about crazy, here's the question: What would be the drawbacks of doing all inter-node communication and rendevouz inside I2P "darknet" (IRC-borne rendevouz seems trivial in I2P, since it already has "internal IRC" and stuff...same more or less with DNS rendevouz)
 830 2012-08-03 18:54:21 <Edward_Black> The one I seem to see is latency of I2P getting in the way of block propagation, but for love of God, blocks don't happen every several seconds...
 831 2012-08-03 18:54:47 <luke-jr> Edward_Black: block propagation latency is ALREADY a problem
 832 2012-08-03 18:55:05 <luke-jr> Edward_Black: and why would anyone want to do that anyway?
 833 2012-08-03 18:55:10 <luke-jr> it'd make tracing funds harder
 834 2012-08-03 18:55:19 <Edward_Black> Which is cool
 835 2012-08-03 18:55:23 <luke-jr> no
 836 2012-08-03 18:55:58 <Edward_Black> Actually, "makes tracing funds harder" is half of all the endorsements I need to fall in love with the idea
 837 2012-08-03 18:56:24 * luke-jr wonders if that might even fall under criminal laundry laws
 838 2012-08-03 18:56:39 spitteler has joined
 839 2012-08-03 18:56:39 jesperht has joined
 840 2012-08-03 18:56:39 lukas has joined
 841 2012-08-03 18:56:39 phma has joined
 842 2012-08-03 18:56:39 DaQatz has joined
 843 2012-08-03 18:56:39 topace has joined
 844 2012-08-03 18:56:39 freewil has joined
 845 2012-08-03 18:56:39 peper has joined
 846 2012-08-03 18:56:56 * Edward_Black smiles the HL2 gman smile
 847 2012-08-03 18:56:59 peper has quit (Max SendQ exceeded)
 848 2012-08-03 18:57:11 <Edward_Black> Anyway, back to latency being a PITA
 849 2012-08-03 18:57:44 peper has joined
 850 2012-08-03 18:57:47 <Edward_Black> Could you point me to a place (mailing list archive or a thread) where it is duscussed in greater details ?
 851 2012-08-03 18:58:18 <Edward_Black> Because I have a hard time wrapping my head around the fact that major BTC pools have a hard time making sure they get all them blockses
 852 2012-08-03 18:59:41 <luke-jr> just IRC logs, shrug
 853 2012-08-03 18:59:51 bitllc has joined
 854 2012-08-03 18:59:59 <amiller> the nice thing about latency is that it gives us some slack if a third of the network suddenly cuts off
 855 2012-08-03 19:00:05 <amiller> the difficulty can correct a lot faster that way
 856 2012-08-03 19:00:22 <Lolcust> luke-jr, well, IRC logs would be okay (I assume they are online)
 857 2012-08-03 19:00:27 <amiller> that's an advantage of having easier difficulty
 858 2012-08-03 19:00:35 <luke-jr> see topic…
 859 2012-08-03 19:00:52 <Lolcust> Me and eddie are having a huge argument over this "latency in I2P thing"
 860 2012-08-03 19:01:08 gfinn has joined
 861 2012-08-03 19:01:49 <Lolcust> I am personally concerned with latency in a "degree of resilience" kind of way, so am skeptical of this funny idea
 862 2012-08-03 19:02:31 <gmaxwell> Edward_Black: blocks don't really have anything to do with regular transaction privacy.
 863 2012-08-03 19:02:43 <gmaxwell> Edward_Black: mixnet your transactions before they're announced to miners. Done.
 864 2012-08-03 19:02:56 justmoon has joined
 865 2012-08-03 19:03:04 <gmaxwell> further anonymizing blocks is only relevant for the block producers, not really a big deal.
 866 2012-08-03 19:04:00 <justmoon> can somebody confirm real quick that the maximum size for an addr message is 1000 *entries* not 1000 *bytes* - at least that's what this looks like to me: https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp#L2521
 867 2012-08-03 19:04:12 <justmoon> if this is true, I'll go fix the wiki
 868 2012-08-03 19:04:16 <Edward_Black> gmaxwell so Luke's comment regarding making fund tracing harder is not entirely accurate ? Lolcust, I say you're overestimating I2P's latency issues. It's bearable "on the inside"
 869 2012-08-03 19:05:27 <gmaxwell> Edward_Black: You suggested doing something with blocks, luke's comments about delaying blocks being bad is true. But what you _want_ is a mixnet for transactions... which doesn't have the same implications.
 870 2012-08-03 19:05:51 <gmaxwell> justmoon: entries, IIRC.
 871 2012-08-03 19:06:35 <Lolcust> Well, as far as I understand, if everything happens inside mixnet, tracking your TXes becomes slightly harder due to the fact that "everyone's" TXes are mixed
 872 2012-08-03 19:07:02 <luke-jr> Edward_Black: Bitcoin's pseduonomity is good enough for privacy, without interfering too much with legitimate tracing of funds (eg, by law enforcement)
 873 2012-08-03 19:07:02 <Lolcust> But only oh-so slighly compared to, say, talking through TOR
 874 2012-08-03 19:07:18 <luke-jr> Edward_Black: I2P just makes that worse
 875 2012-08-03 19:08:27 <Lolcust> Hmmm, Edward_Black and gmaxwell... wouldn't just encrypting inter-node comms make transactions AND block sources harder to track somewhat, without the painfull overlay of having everyone talk through a mix ?
 876 2012-08-03 19:09:01 <Lolcust> luke-jr well, personally, I am not convinced that it would make tracing much harder compared to the case of "sender was talking through TOR
 877 2012-08-03 19:09:07 <gmaxwell> Lolcust: no. I mean, if your threat model is people tapping traffic it helps, but you don't need a threat anywhere near that strong, go look at blockchain.info.
 878 2012-08-03 19:09:44 <Lolcust> Well, obv. what can be learned from parsing blockcain will be learned
 879 2012-08-03 19:09:48 pickett has joined
 880 2012-08-03 19:10:00 <justmoon> gmaxwell: thanks, wiki is fixed
 881 2012-08-03 19:10:13 <Lolcust> But methinks that reducing an opponent's traffic analysis ability is a nice thing to do, if the costs are trivial
 882 2012-08-03 19:10:21 <gmaxwell> Lolcust: no no, blockchain.info is a website that operates spynodes that connects to many bitcoin hosts in order to match up IPs and txn.
 883 2012-08-03 19:10:38 <gmaxwell> Which is why encryption is irrelevant.
 884 2012-08-03 19:10:46 <Lolcust> Oh, I didn't know they do the IP thing
 885 2012-08-03 19:11:28 bitllc has quit (Remote host closed the connection)
 886 2012-08-03 19:11:30 <Edward_Black> Lolcust, hey, watcha I told ya, making everything go through mix makes sense now ?
 887 2012-08-03 19:12:05 tusle is now known as pusle
 888 2012-08-03 19:12:09 <Edward_Black> Also, I2P allows you to reduce the latency at the cost of some security by reducing the number of hops (TOR does too, but in a less user-friendly way)
 889 2012-08-03 19:12:27 <midnightmagic> does -loadblock *add* to pre-existing blk* databases given an external blk* to read from?
 890 2012-08-03 19:12:30 <luke-jr> Edward_Black: why?
 891 2012-08-03 19:12:38 <luke-jr> Edward_Black: there is nothing to gain..
 892 2012-08-03 19:12:58 <luke-jr> midnightmagic: it processes the file as if received on the network
 893 2012-08-03 19:13:08 <Edward_Black> Well, making transaction source analysis harder is to gain in this thought exercise Luke :~)
 894 2012-08-03 19:13:28 <luke-jr> Edward_Black: no, it's harmful. Bitcoin is not and should not be anonymous.
 895 2012-08-03 19:13:30 <midnightmagic> luke-jr: thank you.
 896 2012-08-03 19:13:57 <Edward_Black> luke-jr well, do note that I'm an altie kind of person ;~)
 897 2012-08-03 19:14:04 <Edward_Black> I just have a hard time believing Lolc that latency really matters that much when you have time between blocks measured in minutes
 898 2012-08-03 19:14:20 <Edward_Black> But I will try searching the logs for further education about it
 899 2012-08-03 19:14:26 <luke-jr> Edward_Black: even with the current network, block propagation sometimes can take minutes
 900 2012-08-03 19:15:15 <luke-jr> Edward_Black: how is the kind of person (a what⁇?) you are, at all relevant to changing or forcing some default?
 901 2012-08-03 19:15:25 <Eliel> luke-jr: that is conceptually simple to optimize though. Just cache the transaction verification you've already done before the block.
 902 2012-08-03 19:15:50 <luke-jr> Eliel: that's already done, and doesn't make a big difference
 903 2012-08-03 19:16:05 <Lolcust> luke-jr I think Eddie was playfully refering to the fact that the context of this exercise is not "change bitcoin"
 904 2012-08-03 19:16:37 <Eliel> luke-jr: The protocol optimization to not transfer the transactions the receiver already has is not done yet I think.
 905 2012-08-03 19:16:44 <gmaxwell> Eliel: we do that.
 906 2012-08-03 19:16:51 <Lolcust> Also, I believe that me and luke-jr are talking about "block propagation throughout the net" when we say block propagation
 907 2012-08-03 19:16:57 <midnightmagic> i2p bitcoind talking to existing bitcoind buys you all that; tor gateways (last I heard) already exist. Just do the same thing, you buy your secret-source txn usage while the rest of us can continue using the normal bitcoind.  but part of the design is to obfuscate the actual source of txn, so in a way you're furthering that goal.
 908 2012-08-03 19:17:00 <gmaxwell> (cache the (hard part of) the validation)
 909 2012-08-03 19:17:01 <luke-jr> Eliel: the better fix, is to simply relay before verifying transactions
 910 2012-08-03 19:17:51 drizztbsd has quit (Remote host closed the connection)
 911 2012-08-03 19:18:21 <Eliel> luke-jr: true, it's a very expensive DoS to try to flood with invalid blocks.
 912 2012-08-03 19:18:45 mmoya has quit (Ping timeout: 246 seconds)
 913 2012-08-03 19:19:00 <jgarzik> gmaxwell: that's another reason why I like the neverseen statistic:  it tells me the level of uncached TXs my node must churn through validating
 914 2012-08-03 19:19:01 <luke-jr> I'd like to improve that so it begins relaying as soon as the header is downloaded, actually
 915 2012-08-03 19:19:05 <luke-jr> not sure how easy that is tho
 916 2012-08-03 19:19:52 <Lolcust> Well, to me it seems that you could buy everything talking to mixnet buys by using a mix on your end plus maybe some minor trickery like having inter-node comm encrypted. The most an observer will learn is that "mixnode connected and sent a TX at time X" and that's exactly what he will learn if you mix-etize "EVERYTHING, RAWR"
 917 2012-08-03 19:20:55 <midnightmagic> what would having inter-node communication encrypted buy you?   and between which nodes?
 918 2012-08-03 19:21:10 <Edward_Black> Okay, okay, people more knowledgeable than me seem to agree with you Lolcust.
 919 2012-08-03 19:21:51 <Lolcust> midnightmagic well, it would notably inconvenience a passive observer (one who isn't yet in the game of deploying a ton of spy-nodes)
 920 2012-08-03 19:22:04 <Lolcust> Thus making traffic analysis trickier and more expensive
 921 2012-08-03 19:22:26 <midnightmagic> Lolcust: between which nodes? the real- and the darknet nodes?
 922 2012-08-03 19:22:44 <Lolcust> All the nodes.
 923 2012-08-03 19:23:23 <BlueMatt> jgarzik: how is the backbone project going, btw?
 924 2012-08-03 19:24:02 <jgarzik> BlueMatt: three public nodes up and running and gathering statistics
 925 2012-08-03 19:24:07 <midnightmagic> Lolcust: the cost would be significant; and, given anyone can participate in the network, I'm not sure it's useful to partition the attackers into passive, and "joins the network and just listens with a debug interface"
 926 2012-08-03 19:24:11 <jgarzik> BlueMatt: pynode is part of the project
 927 2012-08-03 19:24:23 <midnightmagic> ;;bc,stats
 928 2012-08-03 19:24:25 <gribble> Current Blocks: 192175 | Current Difficulty: 2036671.0886933 | Next Difficulty At Block: 193535 | Next Difficulty In: 1360 blocks | Next Difficulty In About: 1 week, 1 day, 23 hours, 42 minutes, and 40 seconds | Next Difficulty Estimate: 2143068.47240116 | Estimated Percent Change: 5.22408278384
 929 2012-08-03 19:24:40 <c_k> !ticker
 930 2012-08-03 19:24:40 <gribble> Best bid: 11.02403, Best ask: 11.0764, Bid-ask spread: 0.05237, Last trade: 11.108, 24 hour volume: 115256, 24 hour low: 10.02, 24 hour high: 11.12
 931 2012-08-03 19:25:01 <BlueMatt> jgarzik: so the backbone is also heavily statistics-gathering?
 932 2012-08-03 19:25:02 <Lolcust> midnightmagic actually, running an apprecialble number of spy-nodes has appreciable costs (especially given that the info gained may still be trivial if the victim torified)
 933 2012-08-03 19:26:00 <Lolcust> And, given that my fucktarded china-phone can VPN and can run TOR, I'd say the costs of encrypting are pretty trivial if you don't go full retard "maximum ECC key length" or something...
 934 2012-08-03 19:26:21 <jgarzik> BlueMatt: well, nothing more than upstream git HEAD debug.log gathers
 935 2012-08-03 19:26:44 <BlueMatt> so how is pynode involved?
 936 2012-08-03 19:27:00 <Lolcust> midnightmagic do note that an attacker would have to pay for running a dedicated net of (large amounts of) spy nodes (who have to accept incomings)
 937 2012-08-03 19:27:06 <BlueMatt> also, how far are you on the miner/exchange peering?
 938 2012-08-03 19:27:11 <midnightmagic> Lolcust: the network is global in nature. It's probe-able via relay latencies and thus connectivity is roughly discoverable. But your hypothetical attacker is morphing again..
 939 2012-08-03 19:27:15 <BlueMatt> s/also/more importantly/
 940 2012-08-03 19:27:26 <jgarzik> BlueMatt: right now, it's not, as it's incomplete.  in the future, it can be used for lighter weight sampling, running in no-chain-db mode etc.
 941 2012-08-03 19:27:47 <BlueMatt> ah, ok, yea makes sense
 942 2012-08-03 19:27:54 <jgarzik> BlueMatt: no peer agreements yet... $time < 0     :(
 943 2012-08-03 19:28:13 <BlueMatt> darn, oh well
 944 2012-08-03 19:28:24 <jgarzik> BlueMatt: it already has a block cache... you would be surprised how far a cache + "fetch remotely what isn't cached" will get you
 945 2012-08-03 19:28:32 <Lolcust> midnightmagic well, global attackers capable of powerful correlation attacks suck. Still, it seems to me that discouraging passive observation is, well, worthwhile if cheap
 946 2012-08-03 19:28:48 <Lolcust> Because passive observer attacks are like, ultra cheap
 947 2012-08-03 19:28:54 <BlueMatt> jgarzik: pynode?
 948 2012-08-03 19:28:56 <midnightmagic> Lolcust: You don't need correlation attacks; just a chatty client and lots of patience.
 949 2012-08-03 19:29:03 <jgarzik> BlueMatt: yeah
 950 2012-08-03 19:29:13 <Lolcust> and luck
 951 2012-08-03 19:29:22 <Lolcust> Correction - you need a decent number of chatty clients
 952 2012-08-03 19:29:35 <BlueMatt> jgarzik: cant say Im surprised, if you have a good connection with a decently low rtt, fetching stuff you need isnt that expensive
 953 2012-08-03 19:29:37 <midnightmagic> Lolcust: No, I mean the person you're trying to "locate".
 954 2012-08-03 19:29:44 <Lolcust> And chatty (accepting incomings) guys are good for net health
 955 2012-08-03 19:30:05 <jgarzik> BlueMatt: it can be bursty... if a new block arrives, you suddenly need a bunch of older blocks
 956 2012-08-03 19:30:14 <midnightmagic> Lolcust: only if they're independants.
 957 2012-08-03 19:30:18 <jgarzik> to verify
 958 2012-08-03 19:30:34 <BlueMatt> jgarzik: yea, its not ideal, but I cant say Im surprised it would work decently well
 959 2012-08-03 19:30:46 <Lolcust> midnightmagic, they would still relay transactions and blocks, even if they dump logs to KGB
 960 2012-08-03 19:31:09 <gmaxwell> jgarzik: sounds fine, I was just curious.
 961 2012-08-03 19:31:10 <midnightmagic> even so, it's a computational and latency tax on all of the rest of the network to turn on encryption-for-all, and it buys us nothing.
 962 2012-08-03 19:31:30 <gmaxwell> midnightmagic: meh, encryption is ~free. But it still doesn't really help now.
 963 2012-08-03 19:31:34 <midnightmagic> Initially your attacker could passively listen right next to the bitcoind.
 964 2012-08-03 19:31:41 <jgarzik> pynode is really just a demo for the underlying lib...  would like for it to become The "python-bitcoin" package, making it easy for anybody to roll their own monitoring/relay/router/whatever node
 965 2012-08-03 19:31:50 <gmaxwell> I think the non-encryption of the p2p protocol makes bitcoin's security easier to comprehend.
 966 2012-08-03 19:32:33 <Lolcust> midnightmagic well, in an "encrypt everything" case he "kinda HAS" to listen actively
 967 2012-08-03 19:33:28 <midnightmagic> gmaxwell: free? across 10,000 nodes just to stymie the rare case of a passive listener decoding protocol traffic?
 968 2012-08-03 19:33:32 <Lolcust> which supplies the net with "healthy" nodes (the fact that they report to the Bad Guy doesn't make them less formally well behaved) and costs attacker more moneys
 969 2012-08-03 19:34:08 <gmaxwell> midnightmagic: It's effectively free. Our data rate is all of some tens of kb per second... a modern i7 does 10gbit/sec aes per core.
 970 2012-08-03 19:34:32 <Lolcust> Um, well, it's not like you have to do a secure handshake with all 10 000 nodes, repeatedly
 971 2012-08-03 19:34:35 <gmaxwell> midnightmagic: seriously, thinking like your is why dragnet survalence exists: it's cheap and super effective.
 972 2012-08-03 19:34:49 <BlueMatt> (+ consider intel aes instructions which makes it blazing fast)
 973 2012-08-03 19:35:02 <midnightmagic> gmaxwell: I'm specifically narrowing to his specific purpose: frustrating passive listener.
 974 2012-08-03 19:35:04 <gmaxwell> BlueMatt: well my 10gbit number assumes that.
 975 2012-08-03 19:35:07 <Lolcust> Well, it's very effective per-usd-invested
 976 2012-08-03 19:35:51 <gmaxwell> midnightmagic: instead it's easier to just point out that (1) tor stops the passive listner much deader and frustrates blind traffic analysis some, (2) there is no real motivation to be passive in bitcoin.
 977 2012-08-03 19:35:57 <Lolcust> midnightmagic if it _DOES_ frustrate a passive observer and cause him to crack the piggybank and buy some quality nodes (becoming active) then it's worthwhile
 978 2012-08-03 19:36:39 <gmaxwell> Lolcust: that just isn't the security model. We seek to be secure even if the attacker has a large number of nodes.
 979 2012-08-03 19:36:43 <midnightmagic> gmaxwell: That's not the reason to do it. Besides, just turning on encryption isn't going to help much since buddy can just participate in the network anyway and he gets ~ the same information.
 980 2012-08-03 19:36:45 <Lolcust> You're trolling adversary into supplying you with "relatively healthy" nodes (because he *wants* his nodes well connected and well behaved to maximize their efficiency as spies)
 981 2012-08-03 19:37:17 <midnightmagic> Lolcust: a.k.a. you're incentivizing a sybil network.
 982 2012-08-03 19:37:22 <gmaxwell> midnightmagic: I agree with you, I was only oppoing your general argument because it's why IM and IRC and email aren't encrypted. It's bogus and it harms people.  In the case of bitcoin you're right.
 983 2012-08-03 19:37:25 <Lolcust> midnightmagic you increase "buddy"'s costs more than you increase your costs
 984 2012-08-03 19:37:56 <Lolcust> midnightmagic well, forcing guys into breeding sybils has no less than two benefits
 985 2012-08-03 19:37:59 <midnightmagic> gmaxwell: Yes, I agree w/ email and IM and IRC traffic. Not everyone's a blinded p2p relay point there. :-(
 986 2012-08-03 19:38:07 <Lolcust> it costs them money
 987 2012-08-03 19:38:12 <gmaxwell> Lolcust: or put another way: we have bigger things to worry about than this. If everything else was perfect then perhaps.. but for now— run bitcoin over tor. It's a good idea.
 988 2012-08-03 19:38:16 <Lolcust> and it brings you high quality relay nodes
 989 2012-08-03 19:38:32 <midnightmagic> Lolcust: #2 does not follow.
 990 2012-08-03 19:38:33 <Lolcust> Well, I do
 991 2012-08-03 19:38:52 <midnightmagic> evil nodes are evil, not high-quality. :)
 992 2012-08-03 19:39:10 <Lolcust> midnightmagic if Sybils are poorly connected (don't accept incoming) or are somehow poor at relaying TXes and blocks
 993 2012-08-03 19:39:27 <Lolcust> Their ability to gather information will be reduced by poor connectivity
 994 2012-08-03 19:39:37 <Lolcust> and relaying misbehavior will soon become noticeable
 995 2012-08-03 19:40:17 <Lolcust> So they would, if the attacker isn't Belorussian KGB, be weill-behaved in the sense that they accept incomings, have low connection latencies, and forward TXes and blocks faithfully
 996 2012-08-03 19:40:40 <Lolcust> (Belorussian KGB nodes will probably crash all the time)
 997 2012-08-03 19:40:45 <midnightmagic> Lolcust: same as now. triangulating WoT clients detecting misbehaving/non-relaying nodes would be a better project to work on than having an active arms race begin. imo
 998 2012-08-03 19:41:30 <Lolcust> midnightmagic I think those two projects would be...tangentially related
 999 2012-08-03 19:41:39 <Lolcust> Also,  Edward_Black
1000 2012-08-03 19:41:52 <Lolcust> write that thing regarding triangulation of foolish attack nodes down
1001 2012-08-03 19:42:04 <Lolcust> I like the way it sounds a lot, and you should to
1002 2012-08-03 19:42:05 <Lolcust> too
1003 2012-08-03 19:42:19 <midnightmagic> Lolcust: We can count the number of official bitcoind devs on one (six-fingered) hand still. :)
1004 2012-08-03 19:43:24 <Edward_Black> and we can count Lolcust's team on the foot of a war-torn ostrich :~P Sorry, couldn't resist
1005 2012-08-03 19:43:34 <Edward_Black> I should reign in that humor of mine, I know
1006 2012-08-03 19:43:57 <Lolcust> Nah, I have a thick skin mate. I'm from ex-sov
1007 2012-08-03 19:54:27 Kiba has quit (Ping timeout: 246 seconds)
1008 2012-08-03 19:57:36 Marf has joined
1009 2012-08-03 20:00:00 RainbowDashh has quit (Ping timeout: 244 seconds)
1010 2012-08-03 20:17:08 pusle has quit ()
1011 2012-08-03 20:18:38 justmoon has quit (Quit: Leaving)
1012 2012-08-03 20:28:52 <Lolcust> Is there a place where the process of reorg (specifically, the part of it where relative value of competing chains) is step-by-stepped in plain English ?
1013 2012-08-03 20:30:22 <Lolcust> I am kind of unsure that I properly grasp the nitty gritty details of how exactly chains are compared ...
1014 2012-08-03 20:31:18 <jgarzik> Lolcust: chain work is the sum of each block's "target"
1015 2012-08-03 20:31:38 <jgarzik> Lolcust: each block, therefore, represents a certain amount of total work, at that height in the chain
1016 2012-08-03 20:31:49 <jgarzik> Lolcust: this property is true for all forks in the chain
1017 2012-08-03 20:32:41 <jgarzik> Lolcust: when you add a new block to any fork, check if that block's total_work is greater than the best known total work for all chains
1018 2012-08-03 20:32:58 <jgarzik> Lolcust: if yes, that is the new best chain
1019 2012-08-03 20:34:58 <Lolcust> jgarzik well, does the process first detect the branching point during the reorg, and start evaluating work amounts from there, or not ?
1020 2012-08-03 20:36:24 <jgarzik> Lolcust: 1. attach block to any existing chain at any branch point.  2. evaluate the just-attached block, to see if it's work value exceeds best known work value.
1021 2012-08-03 20:36:54 <jgarzik> Lolcust: if it's not the top chain, you have to run back through blocks, un-applying their updates, and then run up the new chain, applying those updates
1022 2012-08-03 20:37:12 <Lolcust> hm... it seems a mite... counterintuitive
1023 2012-08-03 20:37:31 <jgarzik> woo!
1024 2012-08-03 20:37:39 <jgarzik> pynode's script engine validated the entire main chain
1025 2012-08-03 20:38:12 <sipa> and the testnet chain? :)
1026 2012-08-03 20:39:08 <Lolcust> I mean, wouldn't it make sense to first evaluate competing chains for "which one is the bigger one", then find branching point ? [sorry if being dense and not seeing the inherent advantage of current process]
1027 2012-08-03 20:39:15 <jgarzik> sipa: about to start testing that in a few minutes :)
1028 2012-08-03 20:39:31 <jgarzik> I expect to find several more missing opcodes in testnet3
1029 2012-08-03 20:40:00 <sipa> Lolcust: there are two separate processes
1030 2012-08-03 20:40:01 <jgarzik> Lolcust: you start out knowing the answer to "which one is the bigger one?"
1031 2012-08-03 20:40:10 <jgarzik> Lolcust: you always know the answer to that
1032 2012-08-03 20:40:30 <jgarzik> Lolcust: therefore, the only question is whether or not a just-received block makes a newer, bigger chain or not
1033 2012-08-03 20:40:35 <sipa> Lolcust: one that maintains a block tree, with all known blocks in it; everytime a block is downloaded, it is connected to and stored in this tree, and its total work is calculated
1034 2012-08-03 20:41:30 <sipa> Lolcust: and then secondly, in a rather separate process, if that new block happens to have a total work that is more than the current best, we switch to that new block, disconnect (if necessary) the previous best down to the branching point, and connect everything from there to the new best
1035 2012-08-03 20:42:03 <sipa> obviously, if the new best is a successor of the previous best, nothing needs to be disconnected, and only connections happen
1036 2012-08-03 20:42:15 <sipa> (which is the common case)
1037 2012-08-03 20:42:48 <amiller> i wonder why not just take the fork with the largest total difficulty
1038 2012-08-03 20:42:53 <Lolcust> I am kind of interesting in the case where you "suddenly" encounter a much "work-bigger" chain (such as in a 51-doublespend attempt)
1039 2012-08-03 20:43:06 <Lolcust> ^interesting = interested
1040 2012-08-03 20:43:09 <amiller> Lolcust, that's what i'm working on too
1041 2012-08-03 20:43:34 <Lolcust> amiller fellow alt-chain tinkerer ?
1042 2012-08-03 20:43:51 <amiller> kinda
1043 2012-08-03 20:44:10 <Lolcust> welcome to the club :)
1044 2012-08-03 20:44:13 <amiller> i'd like to talk about a scenario where there are on average 2 blocks for each height, and a 33% attacker
1045 2012-08-03 20:44:25 <amiller> and the rule is you always take the block with the largest total difficulty
1046 2012-08-03 20:44:29 <sipa> amiller: isn't that what we do?
1047 2012-08-03 20:44:54 <Lolcust> Wouldn't a 33% attacker be playing a loosing game unless he's some kind of luck god ?
1048 2012-08-03 20:45:19 <amiller> yup bitcoin already does this, but now i want to talk about how to do this without timestamps
1049 2012-08-03 20:45:47 <sipa> amiller: please, continue :)
1050 2012-08-03 20:46:06 <amiller> the number of orphan blocks is an important metric of the health of the bitcoin network
1051 2012-08-03 20:46:30 <amiller> you can set the difficulty based on the number of orphan blocks
1052 2012-08-03 20:46:36 <sipa> may i for one moment be pedantic, and point out the difference between orphan blocks and stale blocks? :)
1053 2012-08-03 20:46:37 <amiller> orphan blocks should be included in the blockchain
1054 2012-08-03 20:46:48 <amiller> yes please
1055 2012-08-03 20:46:57 minimoose has quit (Quit: minimoose)
1056 2012-08-03 20:46:57 <sipa> orphan = without parent
1057 2012-08-03 20:47:01 <sipa> stale = not in the main chain
1058 2012-08-03 20:47:06 dvide has quit ()
1059 2012-08-03 20:47:14 <amiller> thank you
1060 2012-08-03 20:47:16 <amiller> :p
1061 2012-08-03 20:47:21 minimoose has joined
1062 2012-08-03 20:47:23 <Lolcust> Well, I *think* (full disclosure: IANAP) that doing that without timestamps is *conceivable* but possibly exploitable in cunning ways
1063 2012-08-03 20:47:24 <amiller> stale blocks should be included in the chain
1064 2012-08-03 20:47:31 <sipa> amiller: interesting idea
1065 2012-08-03 20:47:44 <amiller> for every stale block, you increase the difficulty
1066 2012-08-03 20:47:49 <amiller> for every non-stale block, you decrease the difficulty
1067 2012-08-03 20:47:57 <Lolcust> Wouldn't that enable "eat other people's HDD by making loosing forks a lot" attacks ?
1068 2012-08-03 20:48:02 <amiller> this obviously has a steady state when there is one stale block for each real block
1069 2012-08-03 20:48:05 <sipa> if you have a proof for let's say 50% stales, it mains that the network propagation time is equal to the block generation interval
1070 2012-08-03 20:48:24 <amiller> something like that
1071 2012-08-03 20:49:22 <sipa> that does mean the network needs to actively keep track of stale blocks, and even propagate them if they are not part of the new best
1072 2012-08-03 20:49:27 <amiller> yes
1073 2012-08-03 20:49:56 <sipa> with shouldn't be a problem, as each such blocks still needs PoW, so they are very hard to cause a DoS with
1074 2012-08-03 20:50:10 <sipa> *which, *block
1075 2012-08-03 20:50:13 <amiller> you should only be able to 'place' stale blocks into the record if they are harder than the current difficulty
1076 2012-08-03 20:50:39 <sipa> basically, you're changing the block tree into a block DAG
1077 2012-08-03 20:51:00 <amiller> sure, it's just another merkle tree
1078 2012-08-03 20:51:10 <sipa> and re-joined side paths count for the difficulty calculation
1079 2012-08-03 20:52:28 <amiller> in the worst case the 66% are producing blocks with an average of 33% difficulty
1080 2012-08-03 20:52:30 maaku has quit (Quit: maaku)
1081 2012-08-03 20:52:41 <sipa> and you say the optimum is when only half of the blocks are in the main chain?
1082 2012-08-03 20:52:43 <amiller> so the 33% attacker still faces a losing game even if he has no redundant blocks
1083 2012-08-03 20:53:09 <sipa> which implies that the block generation time tends to be equal to the propagation time?
1084 2012-08-03 20:53:14 <amiller> yes
1085 2012-08-03 20:53:19 <amiller> "optimal" would be even faster
1086 2012-08-03 20:53:26 <Lolcust> Hmmmmm... and the goal of the excercise is to do away with timestamping mechanic ?
1087 2012-08-03 20:53:27 <amiller> since the more redundant blocks we have, the faster we're chugging along in general
1088 2012-08-03 20:53:35 <amiller> however you're more vulnerable to attack that way too
1089 2012-08-03 20:53:41 <amiller> i haven't quite worked out why 2 is optimal :/
1090 2012-08-03 20:53:48 <amiller> i'm pretty sure it is but i'll work on that
1091 2012-08-03 20:53:57 <sipa> oh, just realized, for the included stale blocks, you only need to keep the header
1092 2012-08-03 20:54:03 <amiller> yes
1093 2012-08-03 20:54:05 <amiller> you don't even have to validate them
1094 2012-08-03 20:54:06 <sipa> so they are not too storage-intensive
1095 2012-08-03 20:54:15 <sipa> only their PoW needs to be validated, indeed
1096 2012-08-03 20:54:39 <amiller> Lolcust, yup exactly
1097 2012-08-03 20:55:22 <amiller> optimal in this case means faster, so the more redundant blocks the better
1098 2012-08-03 20:55:27 <sipa> i wonder whether a tendency to make the generation time equal to the propagation time wouldn't increase tendency to aggregate mining power into pools
1099 2012-08-03 20:55:32 <amiller> you could even have 3 redundant blocks on avearage and be safe against a 25% attacker
1100 2012-08-03 20:56:32 <Lolcust> I'm not sure that "loose any amount of HDD space, that has costs, in order to get rid of timestamps, which dont seem to have costs" is a neat idea
1101 2012-08-03 20:56:46 <amiller> nope not any amount of hdd space
1102 2012-08-03 20:56:56 p0s has joined
1103 2012-08-03 20:57:00 <sipa> we currently store stales as well
1104 2012-08-03 20:57:15 <sipa> but not all of them, only stales that momentarily make it to being the best
1105 2012-08-03 20:57:54 <Lolcust> Well, that is slightly (I admit, very slightly) more conservative, and as far as I can judge, timestamps aren't very evil
1106 2012-08-03 20:58:20 <Lolcust> I mean, having accurate time on your pool isn't a nontrivial excercise
1107 2012-08-03 20:58:29 <amiller> Lolcust, here's why they're harmful
1108 2012-08-03 20:58:34 <amiller> i'm telling you how to increase the speed of the network
1109 2012-08-03 20:58:40 <amiller> the timestamps are set very conservative
1110 2012-08-03 20:58:43 <amiller> 10 minutes is too slow
1111 2012-08-03 20:59:02 <amiller> but if we shortened up the time too much we'd be more vulnerable to timestamp trickery
1112 2012-08-03 20:59:21 <amiller> so this even safer because there are no timestamps, and it's better performing
1113 2012-08-03 20:59:28 <amiller> and for 33% it's optimal
1114 2012-08-03 20:59:29 <nanotube> possible bug: qt client shows last block received 24 seconds ago.
1115 2012-08-03 20:59:32 <nanotube> i'm at block ,,bc,blocks
1116 2012-08-03 20:59:33 <gribble> 192181
1117 2012-08-03 20:59:36 <gmaxwell> amiller: it's not too slow in any case. Making it faster doesn't help much considering that the 90 percentile is still enormous.
1118 2012-08-03 20:59:37 <nanotube> and yet, ,,bc,tslb
1119 2012-08-03 20:59:37 <Lolcust> Well, my first experiment in alt-coinage was Geist Geld, which had stupidfast blocks and was the place where Art demonstrated timestamp-based exploits
1120 2012-08-03 20:59:37 <gribble> Time since last block: 26 minutes and 46 seconds
1121 2012-08-03 20:59:41 RainbowDashh has joined
1122 2012-08-03 20:59:46 <Lolcust> He also demonstrated how to neutralized them
1123 2012-08-03 20:59:54 <nanotube> (also 24seconds doesn't change...)
1124 2012-08-03 20:59:59 <gmaxwell> Lolcust: thats not what amiller is talking about at all.
1125 2012-08-03 21:00:11 <amiller> gmaxwell, i don't understand your point could you rephrase it
1126 2012-08-03 21:01:00 <gmaxwell> amiller: for any purpose where the 10 minute average is problematic, a 30 minutes 90pctile (e.g. that you'd get from a lower average) would also be unacceptable.
1127 2012-08-03 21:01:06 <amiller> oh i see
1128 2012-08-03 21:01:10 <amiller> sorry i didn't mean it's too slow for safety
1129 2012-08-03 21:01:11 phma has quit (Remote host closed the connection)
1130 2012-08-03 21:01:17 <amiller> i just mean it's slower than it has to be
1131 2012-08-03 21:01:49 <amiller> this makes it faster for fun and profit _and_ increases safety by eliminating timestamps
1132 2012-08-03 21:01:55 <nanotube> is this a known bug?
1133 2012-08-03 21:02:41 <Lolcust> Well, you could make it faster with current mechanic "at least by a factor of 2" and still avoid timestamp exploits
1134 2012-08-03 21:03:19 Shaded has joined
1135 2012-08-03 21:03:26 <Shaded> Who made the Bitcoin vanitygen script?
1136 2012-08-03 21:03:35 <amiller> sure Lolcust, but how fast would you like to go
1137 2012-08-03 21:03:35 <Lolcust> But I'll ask a guy who is into matlab to try simulating just how much more HDD would BTC need for your way of doing away with timestamps, if you don't mind, amiller
1138 2012-08-03 21:04:10 <amiller> Lolcust, you only include the proof of work
1139 2012-08-03 21:04:16 <amiller> i.e. the block header, not the whole block
1140 2012-08-03 21:04:25 <amiller> the stale blocks don't even have to be validated
1141 2012-08-03 21:04:28 <amiller> just the proof of work
1142 2012-08-03 21:04:37 <Lolcust> Well, when you start going at "block per minute" or so, blockchain bloat becomes a notable PITA even on a rather stale (as in, few transactions) network
1143 2012-08-03 21:04:47 <amiller> so the relative increase is 1 + (1 hash) / (avearge block)
1144 2012-08-03 21:04:59 <Lolcust> amiller yeah, I wrote that down the moment it was mentioned
1145 2012-08-03 21:05:09 <amiller> Lolcust, the storage is determined by the average number of transactions
1146 2012-08-03 21:05:12 <amiller> not the blocks
1147 2012-08-03 21:05:32 PK has quit ()
1148 2012-08-03 21:05:45 <sipa> well, block headers have a finite size
1149 2012-08-03 21:05:52 <Lolcust> Well, at 1 block per, IIRC, 30 secs or so, it was bloaty as hell even though transaction amount was fairly tiny
1150 2012-08-03 21:06:20 <sipa> if the tx rate is low enough, the headers storage becomes dominant
1151 2012-08-03 21:06:35 <Lolcust> And at say, 1 block per 5 mins you can still live in perfect peace with timestamping
1152 2012-08-03 21:07:44 <amiller> well that is a decent practical reason not to go _too_ fast even if you could
1153 2012-08-03 21:07:51 <amiller> but you can address that without timestamps
1154 2012-08-03 21:07:56 <amiller> since it's really just about average storage per block
1155 2012-08-03 21:08:44 <Lolcust> I'm just not sure that even a trivial amount of HDD space is worth the joy of pool ops not having to set up proper time on their systems
1156 2012-08-03 21:09:05 <Lolcust> I mean, HDD space is actually useful, and has price
1157 2012-08-03 21:09:27 <Lolcust> Pool op effort spent setting up the clock right on, say Ubuntu...
1158 2012-08-03 21:09:41 <sipa> i like the simplicity of amiller's idea
1159 2012-08-03 21:09:53 <Lolcust> Well, I gotta say it's elegant, sure
1160 2012-08-03 21:09:56 <amiller> apparently forrestv proposed something similar
1161 2012-08-03 21:10:05 tonikt has quit (Quit: Leaving)
1162 2012-08-03 21:10:33 <jgarzik> pynode is doing well on testnet3
1163 2012-08-03 21:10:36 <jgarzik> gets to block ~543
1164 2012-08-03 21:10:52 <jgarzik> just missing OP_IF and friends, and OP_AND/OP_XOR/OP_OR
1165 2012-08-03 21:10:54 <sipa> mainly the idea that we can do without timestamps at all is very nice
1166 2012-08-03 21:11:10 MiningBuddy- has quit (Ping timeout: 250 seconds)
1167 2012-08-03 21:12:01 <sipa> a timestamping service that does not depend on anyone keeping a clock
1168 2012-08-03 21:12:07 <sipa> :)
1169 2012-08-03 21:12:11 <amiller> space bitcoin
1170 2012-08-03 21:12:53 <sipa> well, without timestamps at all, it is not usable as a timestamping service, as the chain itself does not contain any timestamps or a guarantee to be bound by them
1171 2012-08-03 21:12:54 <amiller> not only doesn't it require a clock, it doesn't require a timing assumption
1172 2012-08-03 21:13:04 <Lolcust> Well, it's elegant, and if it doesn't abuse HDD too much, I could steal it for my not-quite-next altcoin doohickey, if amiller doesn't mind
1173 2012-08-03 21:13:25 <amiller> help yourself
1174 2012-08-03 21:13:25 <jgarzik> oh and OP_TOALTSTACK / OP_FROMALTSTACK is missing too
1175 2012-08-03 21:13:31 * jgarzik wonders what is the purpose of the alt-stack
1176 2012-08-03 21:13:52 <Lolcust> Art will be probably sad that his NTP code will go to Valhalla... though I might keep it for other shenanigans
1177 2012-08-03 21:14:23 <amiller> sipa it's not worse
1178 2012-08-03 21:14:29 <amiller> because we can still annotate timestamps if we like
1179 2012-08-03 21:14:35 <amiller> and reject them if they disagree i suppose
1180 2012-08-03 21:14:42 <sipa> amiller: agree
1181 2012-08-03 21:15:01 <sipa> jgarzik: i once did a proposal for a general expressiontree-to-bitcoinscript conversion, which used the altstack
1182 2012-08-03 21:15:26 <gmaxwell> Lolcust: NTP's jokeyness was extra demonstrated by the incorrect leapsecond a lot of the world got three days ago. :)
1183 2012-08-03 21:15:33 <sipa> and if there was a an implicit swap-stack-and-altstack in between the scriptSig and scriptPubKey executions, it would be a lot more useful
1184 2012-08-03 21:16:01 <copumpkin> can't you simulate a turing machine on a PDA with two stacks?
1185 2012-08-03 21:18:28 <sipa> hmm, maybe
1186 2012-08-03 21:18:37 phma has joined
1187 2012-08-03 21:18:51 <Lolcust> gmaxwell well, NTP used to like to screw with GG clients a lot. It would occasionally send them utter bollock data, probably due to them being spammy or something (which, if you ask me, is a really suckly anti-spam system)
1188 2012-08-03 21:27:26 <Lolcust> Random thought regarding amiller's proposal: would keeping gutted stales for "all them times" be necessary? I mean, there already is the practice of "devifying" blockchain checkpoints... you could also "devify" some difficulty / stale rate digest
1189 2012-08-03 21:27:39 <Lolcust> and discard all stales that precede the last checkpoint
1190 2012-08-03 21:27:43 <amiller> sure
1191 2012-08-03 21:29:19 <Lolcust> Sad thing that same can't be done with blockchain itself (you kinda want to see all them unspent TXes :( )
1192 2012-08-03 21:29:44 <amiller> Lolcust, do you know about merkle trees
1193 2012-08-03 21:29:57 <amiller> you should read etotheipis post
1194 2012-08-03 21:30:37 <Lolcust> Well, I am a bit of a pointy-haired kind of person, so my understanding of merkle trees might not be entirely accurate
1195 2012-08-03 21:31:10 <Lolcust> But I kind of assumed that in order to have a more or less accurate idea of "who can spend what", you need to have all unspents available for checking
1196 2012-08-03 21:31:33 <Lolcust> Otherwise Mallory could just swear that he had coins "out there"
1197 2012-08-03 21:31:59 <amiller> it turns out that's not true
1198 2012-08-03 21:32:09 <Lolcust> hm... that's actually fascinating
1199 2012-08-03 21:32:12 <amiller> you store all the unspents in a hash tree
1200 2012-08-03 21:32:30 <amiller> so mallory will have to present you an O(log N) path from your merkle tree hash to her unspent tx
1201 2012-08-03 21:32:39 <gmaxwell> Its so sexy.
1202 2012-08-03 21:33:14 <gmaxwell> It's better, because you can authenticate any query on such a database with the same communications complexity as the lookup itself takes on that tree.
1203 2012-08-03 21:33:39 <gmaxwell> E.g. you can also prove txout's dont exist (by showing the bounding nodes around where it would reside if it did)
1204 2012-08-03 21:33:52 <Lolcust> Hmmm... sounds nice
1205 2012-08-03 21:34:13 <BlueMatt> did anyone ever implement it, btw?
1206 2012-08-03 21:34:21 <BlueMatt> (in bitcoin, not altcoinN)
1207 2012-08-03 21:34:28 <Lolcust> and the hash tree itself would be checkable against the blockchain ?
1208 2012-08-03 21:34:39 <BlueMatt> throw the root in the coinbase
1209 2012-08-03 21:34:43 <Lolcust> BlueMatt that question would be quite appropriate for altcoins as well
1210 2012-08-03 21:35:01 <Lolcust> Hm.
1211 2012-08-03 21:35:05 <Lolcust> Hm
1212 2012-08-03 21:35:30 <amiller> BlueMatt, the main challenge is that you need a slightly more complicated structure ot support balancing
1213 2012-08-03 21:35:40 <amiller> a balanced tree of some sort
1214 2012-08-03 21:35:51 <BlueMatt> yes, because balanced trees dont exist?
1215 2012-08-03 21:36:08 <BlueMatt> yea, it makes it more compex, but thats not much of a challenge
1216 2012-08-03 21:36:15 <amiller> BlueMatt, i agree
1217 2012-08-03 21:36:24 <amiller> i made one https://github.com/amiller/redblackmerkle
1218 2012-08-03 21:36:26 <sipa> well, it is mechanical work
1219 2012-08-03 21:36:39 <sipa> take existing implementation, and add hashes to each node
1220 2012-08-03 21:36:39 <amiller> it wasn't immediately obvious that you could balance the tree while preserving the hash security
1221 2012-08-03 21:37:10 <amiller> but obviously since you only have to change log N nodes, only log N new hashes would be needed
1222 2012-08-03 21:37:18 <sipa> indeed
1223 2012-08-03 21:37:26 <BlueMatt> yep
1224 2012-08-03 21:37:27 <amiller> so it's hindsight-obvious
1225 2012-08-03 21:37:31 <amiller> at least
1226 2012-08-03 21:37:41 <BlueMatt> everything is ;)
1227 2012-08-03 21:37:48 <amiller> no kidding
1228 2012-08-03 21:38:05 <Edward_Black> whoaaa, amiller wait a moment... proof-of-throughput...
1229 2012-08-03 21:38:19 <Edward_Black> Wouldn't that enable the theoretical possibility of creating
1230 2012-08-03 21:38:23 <Edward_Black> DDOS-coin ?
1231 2012-08-03 21:39:11 <amiller> not too sure what you mean by ddoscoin
1232 2012-08-03 21:39:14 <Lolcust> Eddie, you evil person. Such a shame you're not female (or at least claim not to be)
1233 2012-08-03 21:39:41 <amiller> probably don't worry about the proof of throughput part i meant to just link to redblack.py
1234 2012-08-03 21:40:01 <amiller> https://github.com/amiller/redblackmerkle/blob/master/redblack.py
1235 2012-08-03 21:40:15 <amiller> etotheipi is going to try to build an equivalent thing using tries
1236 2012-08-03 21:40:27 <Edward_Black> Obviously, DDOS-coin is a hypothetical system where nodes are rewarded for their ability to deliver certain amounts of traffic over time
1237 2012-08-03 21:40:29 <BlueMatt> someone creating txes which constantly force high-up rebalanced would be an issue, but you could always just start probabilistically dropping txes which require heavy re-balances if the load is too much (or limit to n new hash calculations or something)
1238 2012-08-03 21:40:50 ovidiuso1t has quit (Ping timeout: 248 seconds)
1239 2012-08-03 21:40:57 <BlueMatt> anyway, has anyone actually implemented any of this?
1240 2012-08-03 21:41:20 <amiller> BlueMatt, i don't see what you mean about forcing high up rebalancing
1241 2012-08-03 21:41:28 <amiller> probabilistic dropping tx isn't necessary
1242 2012-08-03 21:41:34 <BlueMatt> ie some rebalances are cheap, others arent
1243 2012-08-03 21:41:41 <amiller> there's a worst case
1244 2012-08-03 21:41:44 <amiller> which is log N
1245 2012-08-03 21:42:05 <BlueMatt> absolutely, but if you create inf worst-case rebalances...
1246 2012-08-03 21:42:09 <amiller> best case is like half log n
1247 2012-08-03 21:42:35 <BlueMatt> would have to mine txes, but it wouldbt be too hard to get a ton of txes who's hash in in one general area on the tree
1248 2012-08-03 21:43:16 <amiller> the hashes are not necessarily uniformly distributed in the tree
1249 2012-08-03 21:43:33 <amiller> like what you're saying would be true if first-bit-zero hashes were to the left and first-bit-one hashes were to the right
1250 2012-08-03 21:43:36 <sipa> use a merkleized B+-tree with fanout 256 and constant depth 32
1251 2012-08-03 21:43:45 <sipa> no rebalances needed!
1252 2012-08-03 21:44:15 <amiller> there's no rebalancing because B+-trees are rebalanced each step...
1253 2012-08-03 21:44:31 <amiller> i probably am being misleading by saying 'rebalance' when i mean something else like 'self balancing'
1254 2012-08-03 21:45:45 <amiller> er i guess i see what you're saying
1255 2012-08-03 21:45:48 <amiller> that's the same as with a trie then
1256 2012-08-03 21:46:11 <amiller> that's fine, it's just about as good
1257 2012-08-03 21:46:11 <sipa> well, i suppose it's not exactly a b+ tree if it has constant depth
1258 2012-08-03 21:46:20 <amiller> 32 is typically worse than log n
1259 2012-08-03 21:46:30 <sipa> it is worse, but far less complex
1260 2012-08-03 21:46:37 mb300sd has quit (Remote host closed the connection)
1261 2012-08-03 21:46:44 <amiller> it prevents a few clever things where you put additional saerch indices in there
1262 2012-08-03 21:46:53 <amiller> for example if you want to be able to collect all the transactions by address
1263 2012-08-03 21:47:30 <sipa> oh right, i'm always working from the txid->coins idea (which i'm implementing, but not merkleized for now)
1264 2012-08-03 21:47:31 mb300sd has joined
1265 2012-08-03 21:47:49 <sipa> if you want to serve light clients, you want an arbitrary address->tx map as well
1266 2012-08-03 21:48:12 <amiller> but you could also just have several tries with an appropriate fixed length i suppose
1267 2012-08-03 21:48:44 <amiller> it still might be simpler
1268 2012-08-03 21:55:13 <amiller> i think i just changed my mind and prefer tries
1269 2012-08-03 21:57:20 <gmaxwell> <3 tries.
1270 2012-08-03 21:59:23 torsthaldo has quit (Ping timeout: 246 seconds)
1271 2012-08-03 22:06:13 TD has joined
1272 2012-08-03 22:07:12 torsthaldo has joined
1273 2012-08-03 22:11:43 egecko has joined
1274 2012-08-03 22:14:19 Marf has quit (Ping timeout: 248 seconds)
1275 2012-08-03 22:18:28 darkee has quit (Remote host closed the connection)
1276 2012-08-03 22:20:31 darkee has joined
1277 2012-08-03 22:21:47 eoss has joined
1278 2012-08-03 22:21:47 eoss has quit (Changing host)
1279 2012-08-03 22:21:47 eoss has joined
1280 2012-08-03 22:22:39 agricocb has quit (Quit: Leaving.)
1281 2012-08-03 22:23:48 sytse has quit (Ping timeout: 245 seconds)
1282 2012-08-03 22:27:29 minimoose has quit (Quit: minimoose)
1283 2012-08-03 22:31:01 sytse has joined
1284 2012-08-03 22:44:07 Marf has joined
1285 2012-08-03 22:44:43 p0s has quit (Remote host closed the connection)
1286 2012-08-03 22:45:59 Clipse has quit (Quit: Clipse)
1287 2012-08-03 22:46:59 Raziel has quit (Ping timeout: 246 seconds)
1288 2012-08-03 22:49:57 Clipse has joined
1289 2012-08-03 22:56:10 TD has quit (Quit: TD)
1290 2012-08-03 22:58:53 copumpkin has quit (Quit: Computer has gone to sleep.)
1291 2012-08-03 23:04:06 Marf has quit (Ping timeout: 272 seconds)
1292 2012-08-03 23:06:59 Joric has quit ()
1293 2012-08-03 23:10:19 rdponticelli has quit (Ping timeout: 248 seconds)
1294 2012-08-03 23:11:29 LuaKT has quit ()
1295 2012-08-03 23:13:37 mndrix has joined
1296 2012-08-03 23:13:37 mndrix has quit (Changing host)
1297 2012-08-03 23:13:37 mndrix has joined
1298 2012-08-03 23:13:37 mndrix has quit (Changing host)
1299 2012-08-03 23:13:37 mndrix has joined
1300 2012-08-03 23:14:57 datagutt has quit (Quit: Computer has gone to sleep.)
1301 2012-08-03 23:19:36 copumpkin has joined
1302 2012-08-03 23:29:59 bitllc has joined
1303 2012-08-03 23:31:00 [\\\] has quit (Ping timeout: 245 seconds)
1304 2012-08-03 23:34:17 bitllc has quit (Remote host closed the connection)
1305 2012-08-03 23:45:45 paraipan has quit (Quit: Saliendo)