1 2013-05-31 00:00:02 <nsh> ;;seen bitcoin
   2 2013-05-31 00:00:03 <altgribble> I have not seen bitcoin.
   3 2013-05-31 00:00:06 <nsh> still missing...
   4 2013-05-31 00:00:07 gjj has quit (Ping timeout: 248 seconds)
   5 2013-05-31 00:00:14 <gmaxwell> sipa: I'm failing.
   6 2013-05-31 00:00:16 <gmaxwell> like, I want to make sure that it results in the correct leveldb and that your repo didn't sneak in a remote root explot or whatever. :) (no offense intended, of course)
   7 2013-05-31 00:00:35 <Vinnie_win> gmaxwell: Sure. Git should report that no files changed.
   8 2013-05-31 00:00:39 <gmaxwell> I grabbed the pull req as a patch and am -3ed it and it applied with a minor conflict but loses leveldb completely.
   9 2013-05-31 00:00:42 damientrog has quit (Quit: damientrog)
  10 2013-05-31 00:00:57 <Vinnie_win> Hmmm...no that won't work you need to merge it through Git.
  11 2013-05-31 00:01:01 <nsh> reflections on trusting trust, git edition.
  12 2013-05-31 00:01:34 <gmaxwell> Vinnie_win: that _is_ through git.
  13 2013-05-31 00:01:52 <Vinnie_win> gmaxwell: But just applying a patch...that doesn't preserve the commit log or the references created in the merge
  14 2013-05-31 00:01:53 <sipa> merging works fine here
  15 2013-05-31 00:02:20 <gmaxwell> Vinnie_win: it's not just "a patch" its a git-format-patch which should preserve the entire repository state.
  16 2013-05-31 00:02:34 <Vinnie_win> gmaxwell: I have no experience with that
  17 2013-05-31 00:02:34 <sipa> huh, it applies as a fast-forward here
  18 2013-05-31 00:02:37 <sipa> how is that possible
  19 2013-05-31 00:02:42 <sipa> did you just rebase?
  20 2013-05-31 00:02:43 <Vinnie_win> sipa: Because I  rebased it
  21 2013-05-31 00:03:03 <sipa> ah!
  22 2013-05-31 00:03:05 <Vinnie_win> Git should report that no files changed during the merge of my pull request
  23 2013-05-31 00:03:11 <Vinnie_win> (because the contents of files did not change)
  24 2013-05-31 00:03:14 stalled has quit (Ping timeout: 260 seconds)
  25 2013-05-31 00:03:34 <Vinnie_win> Note that my pull request comes directly from https://github.com/vinniefalco/LevelDB which was created from the Bitcoin repo's sources
  26 2013-05-31 00:03:37 <sipa> indeed
  27 2013-05-31 00:03:52 <sipa> i did a git diff between the merge commit and the one before
  28 2013-05-31 00:04:23 <sipa> so, still ACK from me
  29 2013-05-31 00:04:33 fronti has quit (Ping timeout: 245 seconds)
  30 2013-05-31 00:04:39 <Vinnie_win> let me read up on this git-format-patch
  31 2013-05-31 00:04:56 <sipa> meh; feels like an unnecessary workaround to me
  32 2013-05-31 00:05:21 fronti has joined
  33 2013-05-31 00:05:30 <gmaxwell> yea, if it's just me don't worry about it. I can try it as a remote branch a bit later. Odd.
  34 2013-05-31 00:06:09 <Vinnie_win> I don't think a git-format-patch preserves the references to the commits that are part of the merge but I could be wrong.
  35 2013-05-31 00:06:31 <Vinnie_win> gmaxwell: Can you give me the line used to produce the patch? I could look at it
  36 2013-05-31 00:07:05 ProfMac has quit (Quit: Page closed)
  37 2013-05-31 00:07:19 <sipa> i merged
  38 2013-05-31 00:08:07 <Vinnie_win> sipa: Okay. Well if you need to manipulate the subtree or want to split/push to upstream, or cherry pick some commits from the upstream just email me and I will come to the chan
  39 2013-05-31 00:08:21 <sipa> verified no changes to the source tree
  40 2013-05-31 00:08:42 <sipa> i'll have a look at the 1.10 changes later
  41 2013-05-31 00:08:45 <Vinnie_win> I like the attention to safety! Keep that up!
  42 2013-05-31 00:09:01 <Vinnie_win> sipa: The new commits on top of what you just merged are in the repo I linked https://github.com/vinniefalco/LevelDB
  43 2013-05-31 00:09:11 <sipa> ok, good
  44 2013-05-31 00:09:25 <warren> sipa: anyone tried secp256k1 on win32 builds yet?
  45 2013-05-31 00:09:36 chmod755 has quit (Quit: Leaving)
  46 2013-05-31 00:09:36 <sipa> warren: not afaik
  47 2013-05-31 00:09:43 <sipa> i know yasm on win32 exists
  48 2013-05-31 00:09:43 <Vinnie_win> sipa: I have another pull request with that stuff in there. Or if you want me to show you how to git-subtree it in yourself like I said, email me. Going back to "Psych" now
  49 2013-05-31 00:09:54 <sipa> Vinnie_win: psych?
  50 2013-05-31 00:10:09 <warren> sipa: I have people using secp256k1 on mainnet now.  No mining.
  51 2013-05-31 00:10:26 <sipa> warren: well feel free to figure out win32 building of it :p
  52 2013-05-31 00:10:32 <warren> sipa: yeah, I began looking at it
  53 2013-05-31 00:10:36 <warren> in gitian at least
  54 2013-05-31 00:10:50 <Vinnie_win> TV show.
  55 2013-05-31 00:11:05 CaptainBlaze has quit (Quit: CaptainBlaze)
  56 2013-05-31 00:11:12 <sipa> ok
  57 2013-05-31 00:14:46 gjj has joined
  58 2013-05-31 00:18:51 franl has joined
  59 2013-05-31 00:21:04 roconnor has joined
  60 2013-05-31 00:21:12 fibseq has quit (Quit: Page closed)
  61 2013-05-31 00:23:40 stretchwarren has joined
  62 2013-05-31 00:25:41 chorao has joined
  63 2013-05-31 00:26:45 richcollins has quit (Quit: richcollins)
  64 2013-05-31 00:28:11 GordonG3kko has joined
  65 2013-05-31 00:29:17 sark has quit (!~sark@37-252-106-157.ip.skylogicnet.com|Read error: Connection reset by peer)
  66 2013-05-31 00:31:11 macboz has joined
  67 2013-05-31 00:31:21 <weex> in the case of pruning, do you keep all the transactions that led up to what all is in the utxo or how does one know what to keep and what to prune?
  68 2013-05-31 00:31:26 sark has joined
  69 2013-05-31 00:32:02 <MC1984_> just unspent outputs
  70 2013-05-31 00:32:06 beethove18201 has joined
  71 2013-05-31 00:32:08 qwertyoruiop has joined
  72 2013-05-31 00:32:11 <sipa> you delete all transactions that are old enough
  73 2013-05-31 00:32:19 <sipa> regardless of their relation to the UTXO set
  74 2013-05-31 00:32:25 <sipa> but you keep the UTXO set itself anyway
  75 2013-05-31 00:32:57 <maaku> etotheipi_: am I gong to be maintaining 3 UTXO indices now? ;)
  76 2013-05-31 00:33:04 <sipa> 3 :o
  77 2013-05-31 00:33:43 <maaku> sipa: pubkey/p2sh -> observed script variants
  78 2013-05-31 00:33:54 <sipa> hmm?
  79 2013-05-31 00:34:51 <sipa> just hash(scriptPubKey) -> [utxo], no?
  80 2013-05-31 00:35:13 <sipa> and txid -> [utxo]
  81 2013-05-31 00:35:28 <maaku> the question was how does a lightweight client discover "<message> DROP DUP HASH <Addr160> EQUAL CHECKSIG"
  82 2013-05-31 00:35:51 <sipa> imho, it shouldn't
  83 2013-05-31 00:36:03 <sipa> or it should know <message> in advance
  84 2013-05-31 00:36:11 <sipa> but perhaps there are use cases i'm not aware of
  85 2013-05-31 00:36:11 <phantomcircuit> even a full client needs to know message in advance really
  86 2013-05-31 00:37:24 <petertodd> phantomcircuit: a full client knows every scriptPubKey in full
  87 2013-05-31 00:37:36 <petertodd> phantomcircuit: They just have to scan through all of them to see what matches
  88 2013-05-31 00:38:19 <sipa> doesn't necessarily mean they have it in quickly-indexable form
  89 2013-05-31 00:38:41 <sipa> and if they don't know <message> in advance, i'd call it using the blockchain as a communication mechanism
  90 2013-05-31 00:38:53 <sipa> instead of merely committing a transaction to some data
  91 2013-05-31 00:39:01 <maaku> well you could maintain such an index. it doesn't have to be checkpointed though, as it's self-validating
  92 2013-05-31 00:39:13 <phantomcircuit> afaict p2sh requires some kind of out of band communication
  93 2013-05-31 00:39:18 <phantomcircuit> or am i missing something?
  94 2013-05-31 00:39:23 <petertodd> Or as a Po? for an alt-coin. (likely PoS) in which case the alt-coin can maintain it's own coin-specific UTXO set.
  95 2013-05-31 00:39:42 nimdAHK has quit (Quit: Quit: Quit: Quit: Quit recursing, please.)
  96 2013-05-31 00:40:06 Diapolis has quit (Ping timeout: 260 seconds)
  97 2013-05-31 00:40:48 <petertodd> sipa: Using the blockchain as a comm mechanism is exceptionally useful for certain types of PoS alt-coins.
  98 2013-05-31 00:40:50 <maaku> phantomcircuit: the proposed UTXO index is keyed by hash(script), so the client would need to be able to know all the various scripts using the pubkeys they have which exist on the block chain
  99 2013-05-31 00:41:15 <sipa> petertodd: yes, perhaps, i'm not fully up-to-date with all use cases
 100 2013-05-31 00:41:23 <weex> also what is the split of the utxo in ram and on disk?
 101 2013-05-31 00:41:24 <sipa> but it feels abusive to me :)
 102 2013-05-31 00:41:35 <weex> just all ram?
 103 2013-05-31 00:41:41 resinate has joined
 104 2013-05-31 00:41:58 <sipa> weex: in the 0.8 implementation it's a specific leveldb database, with several layers of cache
 105 2013-05-31 00:42:12 <weex> nice
 106 2013-05-31 00:42:18 <petertodd> sipa: Well, it can be pretty minimal... I outlined one on -wizards yesterday for a key-value store with global consensus where it's extremely important that you know that a possible PoS block header exists, even if you don't know the block contents.
 107 2013-05-31 00:42:33 <petertodd> sipa: Abusive is relative. :)
 108 2013-05-31 00:42:48 <sipa> i will shut up until i read more
 109 2013-05-31 00:43:43 <sipa> maaku: i don't see how it's self-validating
 110 2013-05-31 00:43:50 <maaku> petertodd: is that PoS mining or voting?
 111 2013-05-31 00:44:29 defunctzombie_zz is now known as defunctzombie
 112 2013-05-31 00:44:31 <sipa> if you ask me "give all utxo's with output of form "<message> drop dup hash [const] equal checksig"", i can always just say "none!", and you cannot know i lie
 113 2013-05-31 00:44:34 <phantomcircuit> maaku, right that's what i thought, the client needs to know the value of the script in the p2sh or to bruteforce the script to identify if it's IsMine()
 114 2013-05-31 00:44:46 <phantomcircuit> which seems like it's going to be a bit of a nuisance
 115 2013-05-31 00:44:53 <sipa> maaku: unless you know the messages
 116 2013-05-31 00:45:01 <gmaxwell> phantomcircuit: you must know your addresses to use them. Stop thinking otherwise.
 117 2013-05-31 00:45:02 <maaku> sipa: ask "which scripts include hash(pubkey)?", get answers, verify script indeed contain either pubkey or hash(pubkey), lookup hash(script) in UTXO
 118 2013-05-31 00:45:17 <sipa> maaku: yes, that works for positive results
 119 2013-05-31 00:45:21 <sipa> maaku: but not for negative ones
 120 2013-05-31 00:45:34 <maaku> the Reiner-trie gives negative proofs
 121 2013-05-31 00:45:54 <sipa> i'm saying you cannot keep this 3rd index in a non-normative way
 122 2013-05-31 00:46:05 <sipa> you need those negative proofs
 123 2013-05-31 00:46:22 <sipa> and that's why i don't like indexing that
 124 2013-05-31 00:46:59 <phantomcircuit> gmaxwell, oh right, derp
 125 2013-05-31 00:47:08 <gmaxwell> :)
 126 2013-05-31 00:47:14 * phantomcircuit goes back to silly things
 127 2013-05-31 00:47:59 <maaku> well you don't need consensus on this index, because you can check that the scripts actually exist in the UTXO set, and drop a peer if they don't (DoS)
 128 2013-05-31 00:48:21 wallet43 has quit (Quit: Leaving.)
 129 2013-05-31 00:48:53 <petertodd> maaku, sipa: Basically the way the chain works, is that whatever chain has sacrificed the largest total # of Bitcoins wins.
 130 2013-05-31 00:48:55 <maaku> so the meta-chain would only commit the hash(script)->txout and txid:n->txout trees
 131 2013-05-31 00:49:08 <gmaxwell> maaku: a peer being on a different fork than you is not a DOSable event unless you don't want a convergent network. :)
 132 2013-05-31 00:49:24 <petertodd> maaku, sipa: Obviously not always ideal, but at least it's easy to reason about, and not that unlike how PoW chains work anyway.
 133 2013-05-31 00:49:46 <maaku> gmaxwell: the query qould necessarily specify an "as-of" block hash
 134 2013-05-31 00:49:48 <sipa> maaku: sure, that's possible, but that doesn't allow anyone to ask "which outputs are there to my key?", and get an answer that is guaranteed not to contain false negatives
 135 2013-05-31 00:49:53 <phantomcircuit> hmm so im trying to test this external wallet againt a block reorg but i've only been getting the winning blocks for like 8 hours now
 136 2013-05-31 00:49:55 <phantomcircuit> :(
 137 2013-05-31 00:50:03 <petertodd> maaku, sipa: One way to think about it is that a proof-of-sacrifice chain is like merge mining, but without requiring direct miner involvement.
 138 2013-05-31 00:50:38 <maaku> petertodd: i fee i will wonder horribly off topic, but what possible use is that? do you have a link?
 139 2013-05-31 00:51:03 <sipa> petertodd: i'll read up about it when i have more time
 140 2013-05-31 00:51:05 <sipa> s/when/if/
 141 2013-05-31 00:51:22 <petertodd> maaku: It's more of a -wizards topic, but a key-value store with global consensus is a good use. (IE namecoin) "link" is -wizards archives for yesterday
 142 2013-05-31 00:51:25 <phantomcircuit> sipa, so never
 143 2013-05-31 00:51:27 <phantomcircuit> :)
 144 2013-05-31 00:51:36 <maaku> sipa: agreed, but i see no way of having a deterministic/normative index that is future-proof
 145 2013-05-31 00:51:37 stalled has joined
 146 2013-05-31 00:51:43 <petertodd> never == when it will be implemented anyway :P
 147 2013-05-31 00:51:54 <phantomcircuit> petertodd, :)
 148 2013-05-31 00:52:13 <sipa> maaku: well, it's trivial to do; but i don't think it's worth the cost
 149 2013-05-31 00:52:23 mrkent has quit (Ping timeout: 256 seconds)
 150 2013-05-31 00:54:27 <maaku> sipa: you're probably rightr
 151 2013-05-31 00:54:47 Diapolis has joined
 152 2013-05-31 00:55:33 <petertodd> phantomcircuit: Granted, if the large blocksize crowd gets their way, I'd implement it just to be an asshole, heh.
 153 2013-05-31 00:55:34 <phantomcircuit> sipa, is there someone actively working on improving the wallet?
 154 2013-05-31 00:55:43 <sipa> phantomcircuit: not afaik
 155 2013-05-31 00:55:58 <maaku> "improving the wallet"?
 156 2013-05-31 00:56:03 <phantomcircuit> sipa, to save me some time do you mind if i ask a few really basic and seemingly silly questions?
 157 2013-05-31 00:56:10 <sipa> phantomcircuit: shoot
 158 2013-05-31 00:56:40 bone- has quit (Ping timeout: 248 seconds)
 159 2013-05-31 00:57:08 <phantomcircuit> sipa, are the wallet functions like getting balance and such just looking at things in wallet.dat
 160 2013-05-31 00:57:33 <sipa> no
 161 2013-05-31 00:57:39 <sipa> almost everything is loaded in memory
 162 2013-05-31 00:57:48 <sipa> and balances are calculated on the fly
 163 2013-05-31 00:57:55 <sipa> so iterating over all transactions
 164 2013-05-31 00:58:00 <sipa> (which is ridiculous)
 165 2013-05-31 00:58:09 Thepok has quit (Ping timeout: 276 seconds)
 166 2013-05-31 00:58:12 <phantomcircuit> ok that's really my primary question
 167 2013-05-31 00:58:22 <sipa> they are cached per-transactions though
 168 2013-05-31 00:58:26 <phantomcircuit> so the basic issue is that values which could be optimistically cached are not
 169 2013-05-31 00:58:37 <sipa> but not cached at the wallet or account level
 170 2013-05-31 00:59:13 Diapolis has quit (Remote host closed the connection)
 171 2013-05-31 00:59:34 <phantomcircuit> and having all the transactions which involve the wallet means load times can go crazy
 172 2013-05-31 00:59:56 <phantomcircuit> but caching things like balances is pretty much a sure fire way to miss something
 173 2013-05-31 01:00:07 wallet43 has joined
 174 2013-05-31 01:00:34 <sipa> i'm planning to make a change to the wallet logic soon
 175 2013-05-31 01:00:50 <phantomcircuit> sipa, what was your strategy going to be
 176 2013-05-31 01:00:50 <sipa> where transactions don't keep their own spentness anymore, but the wallet keeps track of that
 177 2013-05-31 01:01:15 <sipa> so the wallet can then much more easily be made responsible for maintaining balances
 178 2013-05-31 01:01:43 * nsh muses
 179 2013-05-31 01:02:26 <maaku> any chance of getting a real key-value cache like redis accepted over ad-hoc caching here and there?
 180 2013-05-31 01:03:01 <phantomcircuit> sipa, so basically, CWallet is entirely in memory but has a pointer to a CWalletDB which it uses to flush info to bdb that it loads once on start up
 181 2013-05-31 01:03:20 <sipa> phantomcircuit: it's uglier than that
 182 2013-05-31 01:03:31 <sipa> the CWalletDB object is constructed anytime a DB operation is done
 183 2013-05-31 01:03:38 <sipa> maaku: not if it's up to me :)
 184 2013-05-31 01:03:38 <phantomcircuit> maaku, redis isn't even remotely acceptable for this
 185 2013-05-31 01:03:51 <phantomcircuit> sipa, oh boy
 186 2013-05-31 01:03:57 <phantomcircuit> sipa, is there is a reason for that?
 187 2013-05-31 01:04:00 <phantomcircuit> or just because
 188 2013-05-31 01:04:03 stalled has quit (Ping timeout: 240 seconds)
 189 2013-05-31 01:04:06 <sipa> phantomcircuit: it's the SatoshiWay(tm)
 190 2013-05-31 01:04:09 <phantomcircuit> lol
 191 2013-05-31 01:04:21 <phantomcircuit> that's really not safe
 192 2013-05-31 01:04:22 <phantomcircuit> lol
 193 2013-05-31 01:04:34 <nsh> how is it unsafe?
 194 2013-05-31 01:04:44 <nsh> inefficient, i get..
 195 2013-05-31 01:04:47 <sipa> phantomcircuit: it's not that the actual DB objects are recreated all the time
 196 2013-05-31 01:05:03 <phantomcircuit> someone could swap out the wallet.dat file without thinking about it and end up with bizarre corruption
 197 2013-05-31 01:05:03 <sipa> it's just that CWalletDB wrappers are created all the time, they reuse the existing db object
 198 2013-05-31 01:05:11 <phantomcircuit> ohhh
 199 2013-05-31 01:05:17 <phantomcircuit> hmm ok so it's just slightly silly
 200 2013-05-31 01:05:20 <phantomcircuit> not ridiculously
 201 2013-05-31 01:05:21 <sipa> indeed
 202 2013-05-31 01:06:20 <maaku> sipa: seriously? redis is lightweight, and there are other places where caching could be added
 203 2013-05-31 01:06:28 <phantomcircuit> the issue with large wallets and load times seems to be just loading transactions as well as keys from wallet.dat
 204 2013-05-31 01:06:51 <phantomcircuit> maaku, it's not reasonable to expect people to run a redis server to make bitcoind work
 205 2013-05-31 01:06:58 <phantomcircuit> not to mention i dont trust redis at all
 206 2013-05-31 01:07:05 <nsh> +1
 207 2013-05-31 01:07:08 <phantomcircuit> lulz catz? sure
 208 2013-05-31 01:07:13 <sipa> "lightweight" and "separate server"
 209 2013-05-31 01:07:14 <phantomcircuit> bitcoin wallet? lol no
 210 2013-05-31 01:09:14 a_meteor is now known as a_meteorite
 211 2013-05-31 01:09:20 Hunner has quit (Read error: Connection reset by peer)
 212 2013-05-31 01:14:47 Hunner has joined
 213 2013-05-31 01:15:42 robocoin has quit (Ping timeout: 276 seconds)
 214 2013-05-31 01:15:52 GordonG3kko has quit (Remote host closed the connection)
 215 2013-05-31 01:15:54 fanquake has joined
 216 2013-05-31 01:15:54 moore_ has quit (Ping timeout: 256 seconds)
 217 2013-05-31 01:16:22 stalled has joined
 218 2013-05-31 01:16:56 BenderCoin has quit (Ping timeout: 248 seconds)
 219 2013-05-31 01:16:58 whiterabbit has joined
 220 2013-05-31 01:17:32 jaequery has quit (Quit: Computer has gone to sleep.)
 221 2013-05-31 01:18:30 GordonG3kko has joined
 222 2013-05-31 01:19:44 wrabbit has quit (Ping timeout: 240 seconds)
 223 2013-05-31 01:20:49 wrabbit has joined
 224 2013-05-31 01:21:15 wallet431 has joined
 225 2013-05-31 01:22:48 whiterabbit has quit (Ping timeout: 252 seconds)
 226 2013-05-31 01:23:52 wallet43 has quit (Ping timeout: 248 seconds)
 227 2013-05-31 01:26:43 Guest24095 is now known as BCB
 228 2013-05-31 01:30:01 porquilho has quit ()
 229 2013-05-31 01:31:26 resinate has quit (Quit: resinate)
 230 2013-05-31 01:31:47 ProfMac has joined
 231 2013-05-31 01:31:54 stalled has quit (Ping timeout: 260 seconds)
 232 2013-05-31 01:34:50 wizkid057 has quit (Quit: brb)
 233 2013-05-31 01:38:34 sark has quit (!~sark@37-252-106-157.ip.skylogicnet.com|Read error: Connection timed out)
 234 2013-05-31 01:39:07 tyn has joined
 235 2013-05-31 01:41:47 ProfMac has quit (Quit: Page closed)
 236 2013-05-31 01:45:12 zeph97 has quit (Ping timeout: 248 seconds)
 237 2013-05-31 01:45:17 Blitzboom_ has joined
 238 2013-05-31 01:45:17 Blitzboom has quit (Disconnected by services)
 239 2013-05-31 01:45:22 Elmf has quit (Ping timeout: 256 seconds)
 240 2013-05-31 01:45:26 K1773R has quit (Ping timeout: 260 seconds)
 241 2013-05-31 01:45:49 jaequery has joined
 242 2013-05-31 01:46:22 K1773R has joined
 243 2013-05-31 01:47:13 zeph97 has joined
 244 2013-05-31 01:49:08 <phantomcircuit> 2013-05-31 01:24:43 LoadWallet: 238 36182 200075
 245 2013-05-31 01:49:15 <phantomcircuit> there's 100k keys in this wallet
 246 2013-05-31 01:49:25 <phantomcircuit> but somehow there's 200k loop iterations
 247 2013-05-31 01:49:45 <phantomcircuit> sipa, any idea why that would be
 248 2013-05-31 01:50:01 jchp has quit (Ping timeout: 252 seconds)
 249 2013-05-31 01:50:25 <phantomcircuit> also that's like 2.3ms per key for something that's entirely in page cache
 250 2013-05-31 01:50:26 <phantomcircuit> :/
 251 2013-05-31 01:50:36 jchp has joined
 252 2013-05-31 01:50:41 sark has joined
 253 2013-05-31 01:51:10 <sipa> phantomcircuit: key entry + addr entry?
 254 2013-05-31 01:51:20 <sipa> and verifying a key is relatively slow
 255 2013-05-31 01:51:26 <sipa> it checks that pubkey and privkey match
 256 2013-05-31 01:51:29 sark has quit (!~sark@37-252-106-157.ip.skylogicnet.com|Read error: Connection reset by peer)
 257 2013-05-31 01:52:24 sark has joined
 258 2013-05-31 01:52:33 <sipa> phantomcircuit: try whether disabling that check helps?
 259 2013-05-31 01:52:41 <phantomcircuit> k
 260 2013-05-31 01:54:03 tyn has quit (Ping timeout: 276 seconds)
 261 2013-05-31 01:54:55 stalled has joined
 262 2013-05-31 01:56:14 franl has left ("O Elbereth!  Gilthoniel!  We still remember ...")
 263 2013-05-31 01:59:44 <phantomcircuit> sipa, lol crash bug in EC_KEY_free
 264 2013-05-31 02:00:39 <sipa> :o
 265 2013-05-31 02:01:43 <phantomcircuit> it's documented in SetPrivKey which opts for a memory leak over a crash
 266 2013-05-31 02:02:48 <sipa> which coe version?
 267 2013-05-31 02:03:07 <phantomcircuit> coe?
 268 2013-05-31 02:03:08 <phantomcircuit> wat
 269 2013-05-31 02:03:09 <sipa> code
 270 2013-05-31 02:03:28 <phantomcircuit> sipa, commit eed1785f
 271 2013-05-31 02:04:51 <phantomcircuit> sipa, any idea what the difference between "key" "wkey" and "mkey" is?
 272 2013-05-31 02:04:58 <sipa> mkey = master key
 273 2013-05-31 02:05:01 <sipa> key = wallet key
 274 2013-05-31 02:05:04 <sipa> wkey = unused
 275 2013-05-31 02:05:14 <sipa> ckey = encrypted wallet key
 276 2013-05-31 02:05:25 <phantomcircuit> so wkey is a keypool key?
 277 2013-05-31 02:05:49 <sipa> i don't know of any bitcoin version that actually wrote wkey's
 278 2013-05-31 02:06:32 <phantomcircuit> i have a plan
 279 2013-05-31 02:06:38 <phantomcircuit> printf("ReadKeyValue %s\n", strType);
 280 2013-05-31 02:06:58 <sipa> turn that into strType.c_str()
 281 2013-05-31 02:07:12 <phantomcircuit> ah right
 282 2013-05-31 02:08:23 <phantomcircuit> so far they're all key
 283 2013-05-31 02:10:29 copumpkin has quit (Remote host closed the connection)
 284 2013-05-31 02:11:01 copumpkin has joined
 285 2013-05-31 02:12:36 <phantomcircuit> sipa, at the very least EC_KEY_check_key doesn't need to be called twice
 286 2013-05-31 02:13:20 <phantomcircuit> 2013-05-31 01:49:34 LoadWallet: 97 240798 200075
 287 2013-05-31 02:13:24 owowo has quit (Ping timeout: 240 seconds)
 288 2013-05-31 02:13:25 <phantomcircuit> well that was a massive improvement
 289 2013-05-31 02:14:07 owowo has joined
 290 2013-05-31 02:14:34 <sipa> is check_key called twice?
 291 2013-05-31 02:14:57 <phantomcircuit> sipa, SetPrivKey calls it as does IsValid
 292 2013-05-31 02:15:59 <phantomcircuit> 2013-05-31 01:52:08 LoadWallet: 102 301723 200075
 293 2013-05-31 02:16:04 <phantomcircuit> with SetPubKey put back in
 294 2013-05-31 02:17:14 <sipa> k, the code is a bit different in head
 295 2013-05-31 02:17:24 <sipa> but that duplicate check is probably still there
 296 2013-05-31 02:17:52 <phantomcircuit> sipa, im on head
 297 2013-05-31 02:18:01 <phantomcircuit> yeah
 298 2013-05-31 02:18:17 <phantomcircuit> or close to it
 299 2013-05-31 02:18:23 dparrish has joined
 300 2013-05-31 02:18:26 NielDLR has joined
 301 2013-05-31 02:19:08 <sipa> a ton of changes were merged today
 302 2013-05-31 02:19:30 <phantomcircuit> ah ok i'll bring myself upto
 303 2013-05-31 02:19:33 <phantomcircuit> oh lol yeah
 304 2013-05-31 02:19:35 <phantomcircuit> ok one sec
 305 2013-05-31 02:20:40 bitit has joined
 306 2013-05-31 02:21:40 <NielDLR> Hey #bitcoin-dev. I need some help. Doing some developement for a bitcoin service. The getrawtransaction api call is not returning information (error code -5). But when I check it on blockchain.info. It works: Here's the transactions I'm looking for: http://blockchain.info/tx/322c5567cdbe95b3021430d71804373e29442162afa190bdb23858e94308b6e5 - Is there any reason why the getrawtransaction is not working?
 307 2013-05-31 02:22:03 <phantomcircuit> sipa, yeah double check was fixed by adding an instance value fValid
 308 2013-05-31 02:22:21 <sipa> NielDLR: http://bitcoin.stackexchange.com/a/9152/208
 309 2013-05-31 02:22:22 <kadoban> NielDLR: because the transaction is not in your wallet would be my guess. you can make it work if you set txindex=1 and reindex once
 310 2013-05-31 02:22:40 <sipa> kadoban: wallet or not is irrelevant; getrawtransaction is a blockchain RPC call
 311 2013-05-31 02:23:09 <NielDLR> Yes, that's how I understand it as well. It's not a wallet lookup. I'll check out the bitcoin stackexchange link quickly.
 312 2013-05-31 02:24:29 <kadoban> sipa: oh, huh. it's only unspent txes then? sorry, didn't know that
 313 2013-05-31 02:24:30 <NielDLR> Ah I see: In that transaction both outputs have been spent. So I'll have set txindex=1. Lemme me see if I can do this quickly.
 314 2013-05-31 02:24:46 <sipa> not quickly, no
 315 2013-05-31 02:24:51 <sipa> you'll need to rebuild the index
 316 2013-05-31 02:25:49 <NielDLR> Aah. I see.
 317 2013-05-31 02:26:15 <NielDLR> Thanks for the help sipa.
 318 2013-05-31 02:26:52 treaki__ has quit (Ping timeout: 252 seconds)
 319 2013-05-31 02:27:33 treaki_ has joined
 320 2013-05-31 02:28:08 <phantomcircuit> sipa, GetTransaction with fAllowSlow=True will search CCoinsViewCache::GetCoins
 321 2013-05-31 02:28:14 <phantomcircuit> im nto sure exactly what that does though
 322 2013-05-31 02:28:34 tyn has joined
 323 2013-05-31 02:29:33 <sipa> search the UTXO set
 324 2013-05-31 02:29:42 <sipa> so it knows the block height in which the transaction was created
 325 2013-05-31 02:29:50 <sipa> so it can read that whole block from disk
 326 2013-05-31 02:29:59 <sipa> and then search it for the transaction you wanted
 327 2013-05-31 02:30:06 moore has quit (Remote host closed the connection)
 328 2013-05-31 02:30:25 <sipa> that's why getrawtransaction works for unspent transactions, even without txindex
 329 2013-05-31 02:30:29 sacrelege has quit (Read error: Operation timed out)
 330 2013-05-31 02:31:03 <phantomcircuit> sipa, mkes sense
 331 2013-05-31 02:31:33 seeingidog__1 has quit (Quit: Leaving.)
 332 2013-05-31 02:35:19 nethershaw has quit (Ping timeout: 245 seconds)
 333 2013-05-31 02:38:25 jaequery has quit (Quit: Computer has gone to sleep.)
 334 2013-05-31 02:40:31 beethove18201 is now known as beethoven2
 335 2013-05-31 02:40:37 jaequery has joined
 336 2013-05-31 02:40:51 jaequery has quit (Client Quit)
 337 2013-05-31 02:41:40 jaequery has joined
 338 2013-05-31 02:41:54 stalled has quit (Ping timeout: 260 seconds)
 339 2013-05-31 02:42:24 nethershaw has joined
 340 2013-05-31 02:46:48 robbak_ is now known as robbak
 341 2013-05-31 02:47:47 RBecker is now known as rbecker
 342 2013-05-31 02:51:04 BTCOxygen has quit (Ping timeout: 252 seconds)
 343 2013-05-31 02:52:10 px has quit (Ping timeout: 252 seconds)
 344 2013-05-31 02:52:19 mischief has quit (Remote host closed the connection)
 345 2013-05-31 02:52:56 stalled has joined
 346 2013-05-31 02:53:00 roconnor has quit (Ping timeout: 248 seconds)
 347 2013-05-31 02:55:46 KevinT has joined
 348 2013-05-31 02:56:39 cads has joined
 349 2013-05-31 02:56:50 fiesh has quit (Ping timeout: 260 seconds)
 350 2013-05-31 02:57:37 mollison1 has quit (Quit: Leaving.)
 351 2013-05-31 02:59:11 malaimo has quit (Ping timeout: 260 seconds)
 352 2013-05-31 02:59:48 fiesh has joined
 353 2013-05-31 03:00:39 Subo1978_ has joined
 354 2013-05-31 03:01:02 malaimo has joined
 355 2013-05-31 03:01:52 seeingidog__ has joined
 356 2013-05-31 03:03:09 BTCOxygen has joined
 357 2013-05-31 03:04:04 Subo1978 has quit (Ping timeout: 240 seconds)
 358 2013-05-31 03:04:46 ericmuyser has quit (Remote host closed the connection)
 359 2013-05-31 03:05:44 mapppum has joined
 360 2013-05-31 03:06:14 ericmuyser has joined
 361 2013-05-31 03:09:27 mappum has quit (Ping timeout: 276 seconds)
 362 2013-05-31 03:12:21 Goonie_ has quit (Ping timeout: 256 seconds)
 363 2013-05-31 03:13:30 macboz_ has joined
 364 2013-05-31 03:13:47 macboz has quit (Ping timeout: 240 seconds)
 365 2013-05-31 03:14:39 <phantomcircuit> sipa, 2013-05-31 02:09:48 LoadWallet 146 200075
 366 2013-05-31 03:14:42 <phantomcircuit> that's HEAD
 367 2013-05-31 03:15:31 <phantomcircuit> sipa, is wkey for watch keys?
 368 2013-05-31 03:15:43 <phantomcircuit> nah nvm it's loading a priv key
 369 2013-05-31 03:15:46 <sipa> 03:42:13 < sipa> i don't know of any bitcoin version that actually wrote wkey's
 370 2013-05-31 03:16:01 <sipa> they're effective unused afaik
 371 2013-05-31 03:21:36 macboz_ has quit (Ping timeout: 252 seconds)
 372 2013-05-31 03:22:35 BenderCoin has joined
 373 2013-05-31 03:24:18 defunctzombie is now known as defunctzombie_zz
 374 2013-05-31 03:28:54 reneg has quit (Ping timeout: 264 seconds)
 375 2013-05-31 03:29:06 <phantomcircuit> 1.4 ms per key
 376 2013-05-31 03:29:07 swulf-- has joined
 377 2013-05-31 03:29:22 <phantomcircuit> <1 usec for a "pool" entry
 378 2013-05-31 03:29:31 <phantomcircuit> so clearly it isn't bdb's fault
 379 2013-05-31 03:30:56 <phantomcircuit> if (key.GetPubKey() != vchPubKey) ~= 0.5 ms
 380 2013-05-31 03:31:35 brson has quit (Read error: Operation timed out)
 381 2013-05-31 03:32:22 macboz has joined
 382 2013-05-31 03:32:41 swulf--1 has quit (Ping timeout: 264 seconds)
 383 2013-05-31 03:35:04 seeingidog__ has quit (Ping timeout: 248 seconds)
 384 2013-05-31 03:40:08 <phantomcircuit> sipa, lol the problem here is so obvious
 385 2013-05-31 03:40:54 <phantomcircuit> CKey holds a serialized bignum vch, everytime anything is done with the key a new CECKey object is created/initialized/SetSecretBytes is called
 386 2013-05-31 03:41:00 ielo has joined
 387 2013-05-31 03:41:15 <phantomcircuit> which calls BN_bin2bn and then EC_KEY_regenerate_key
 388 2013-05-31 03:41:28 <phantomcircuit> this is hilariously amazingly inefficient
 389 2013-05-31 03:41:56 gavinandresen has quit (Quit: gavinandresen)
 390 2013-05-31 03:44:51 reneg has joined
 391 2013-05-31 03:45:46 <MC1984_> what is the main benefit of bitcoind running through the last 288 blocks on startup
 392 2013-05-31 03:45:58 <MC1984_> because right now ive got it disabled and its much faster
 393 2013-05-31 03:46:09 <phantomcircuit> MC1984_, sanity checking mostly
 394 2013-05-31 03:46:10 <MC1984_> scurity thing or integrity?
 395 2013-05-31 03:46:27 <MC1984_> ok
 396 2013-05-31 03:46:46 <MC1984_> !blocks
 397 2013-05-31 03:47:20 <MC1984_> !BLOCKS
 398 2013-05-31 03:47:59 <MC1984_> gribble what are you doing bots dont sleep
 399 2013-05-31 03:48:02 <MC1984_> gribble pls
 400 2013-05-31 03:48:26 <owowo> ;;seen gribble
 401 2013-05-31 03:48:28 <altgribble> gribble was last seen in #bitcoin-dev 1 week, 0 days, 3 hours, 19 minutes, and 4 seconds ago: <gribble> Time since last block: 4 minutes and 57 seconds
 402 2013-05-31 03:48:38 <MC1984_> wtf
 403 2013-05-31 03:49:07 <phantomcircuit> sipa, seriously i dont think there is anything with with bdb here this is 100% a bitcoind cock up
 404 2013-05-31 03:49:14 <phantomcircuit> the entire key.cpp file needs to be fixed
 405 2013-05-31 03:49:16 <phantomcircuit> it's a mess
 406 2013-05-31 03:49:37 <sipa> phantomcircuit: lol, you know i just rewrote it? :p
 407 2013-05-31 03:49:46 <phantomcircuit> really?
 408 2013-05-31 03:49:48 <MC1984_> where the hell is gribble
 409 2013-05-31 03:49:51 <phantomcircuit> it's still wrong!
 410 2013-05-31 03:50:06 <sipa> phantomcircuit: loading is sort of an exception that it does multiple operations on the same key consecutively
 411 2013-05-31 03:50:32 <sipa> phantomcircuit: a CKey::Load(CPubKey, CPrivKey) that does all checks once is probably the solution
 412 2013-05-31 03:51:03 <phantomcircuit> sipa, im guessing that of the ~1.5 ms it takes to load the key the CECKey stuff is probably 500 usec
 413 2013-05-31 03:51:07 <phantomcircuit> if not more
 414 2013-05-31 03:51:20 <sipa> i'm guessing it's 1.499
 415 2013-05-31 03:51:31 <phantomcircuit> one of the things that's happening is the GetPubKey call ends up creating another CECKey
 416 2013-05-31 03:51:38 HaltingState has quit (Remote host closed the connection)
 417 2013-05-31 03:51:48 <phantomcircuit> sipa, actually
 418 2013-05-31 03:51:49 <phantomcircuit> <phantomcircuit> if (key.GetPubKey() != vchPubKey) ~= 0.5 ms
 419 2013-05-31 03:52:07 <sipa> yes, we're doing the EC multiplication multiple times
 420 2013-05-31 03:52:32 <sipa> i suppose
 421 2013-05-31 03:54:24 bitit has quit (Remote host closed the connection)
 422 2013-05-31 03:54:31 HaltingState has joined
 423 2013-05-31 03:55:49 <sipa> phantomcircuit: also, feel free to try the version using libsecp256k1 :p
 424 2013-05-31 03:56:08 <sipa> https://github.com/sipa/bitcoin/commits/secp256k1
 425 2013-05-31 03:56:20 <phantomcircuit> sipa, from my counting there's copy constructor, Set, SetPrivKey, MakeNeyKey which all set vch independently
 426 2013-05-31 03:56:33 <phantomcircuit> :/
 427 2013-05-31 03:56:45 <sipa> is that unexpected?
 428 2013-05-31 03:56:57 <phantomcircuit> lol i guess it shouldn't be
 429 2013-05-31 03:57:11 <sipa> no, do you think that's bad design?
 430 2013-05-31 03:57:30 jaequery has quit (Quit: Computer has gone to sleep.)
 431 2013-05-31 03:57:33 <phantomcircuit> yeah since it makes implementing RIAA hilariously hard
 432 2013-05-31 03:57:51 <sipa> RAII, you mean :D
 433 2013-05-31 03:57:54 <phantomcircuit> er
 434 2013-05-31 03:57:56 <phantomcircuit> yeah that
 435 2013-05-31 03:58:00 * sipa will NOT implement RIAA
 436 2013-05-31 03:58:16 <phantomcircuit> to make sure an EC_KEY instance is initialized when the priv key is set i have to make sure i get each place where the privkey can be changed
 437 2013-05-31 03:58:17 <sipa> not sure why; there's just one destructor
 438 2013-05-31 03:58:37 <sipa> ?
 439 2013-05-31 03:59:37 <sipa> do you mean add a CECKey to CKey?
 440 2013-05-31 03:59:39 <phantomcircuit> sipa, instead of using CECKey in each of the methods i'd rather allocate a single CECKey
 441 2013-05-31 03:59:43 <sipa> please don't
 442 2013-05-31 03:59:44 <phantomcircuit> CKey
 443 2013-05-31 04:00:04 <phantomcircuit> sipa, bugs bugs everywhere should i try it?
 444 2013-05-31 04:00:21 SwapperMall has joined
 445 2013-05-31 04:00:29 <sipa> the reason for this is exactly because almost everywhere you just do a single crypto operation every time
 446 2013-05-31 04:00:46 <sipa> so everywhere you had CKey key; key.SetSecret(secret). key.DoSomething; ...
 447 2013-05-31 04:01:04 <sipa> which was ugly, and hard to change the underlying operations
 448 2013-05-31 04:01:24 <phantomcircuit> ah so CKey just having the bare minimum information means it doesn't have to do that
 449 2013-05-31 04:01:25 <phantomcircuit> ok
 450 2013-05-31 04:01:37 <sipa> the solution is just have a CKey::Load(CPrivKey, CPubkey), which does full checking of both
 451 2013-05-31 04:01:41 <sipa> and check that they match
 452 2013-05-31 04:01:47 <sipa> using a single CECKey
 453 2013-05-31 04:01:57 <sipa> and call that from LoadWallet
 454 2013-05-31 04:07:51 <MC1984_> do miners decide a block template once and hash on it for ten minutes, or does the template change as new tx come in
 455 2013-05-31 04:07:53 swulf-- has quit (Quit: Leaving.)
 456 2013-05-31 04:08:11 <sipa> whenever they ask for a template, they get a current/new one
 457 2013-05-31 04:08:23 <sipa> how often they ask for a template is another thing
 458 2013-05-31 04:08:51 <MC1984_> oh
 459 2013-05-31 04:08:58 <MC1984_> whats the default?
 460 2013-05-31 04:09:16 <MC1984_> oh there is no default
 461 2013-05-31 04:09:26 <sipa> depends on the software
 462 2013-05-31 04:13:39 TheSeven has quit (Disconnected by services)
 463 2013-05-31 04:13:48 [7] has joined
 464 2013-05-31 04:13:54 <phantomcircuit> sipa, appears to shave 0.5ms off the 1.5ms
 465 2013-05-31 04:14:34 <phantomcircuit> 14385983 vs 9598030
 466 2013-05-31 04:14:34 darkee_ has joined
 467 2013-05-31 04:14:44 darkee has quit (Remote host closed the connection)
 468 2013-05-31 04:14:57 caedes has quit (Ping timeout: 252 seconds)
 469 2013-05-31 04:16:11 <sipa> can i see the code?
 470 2013-05-31 04:16:34 <sipa> 1ms is till ridiculous
 471 2013-05-31 04:16:37 <sipa> *still
 472 2013-05-31 04:16:57 <phantomcircuit> sipa, that includes if (!pwallet->LoadKey(key, vchPubKey))
 473 2013-05-31 04:17:07 <phantomcircuit> which i would hope is the rest of it
 474 2013-05-31 04:17:18 <sipa> yes
 475 2013-05-31 04:17:36 <sipa> but even if you get it to a single EC operation of 0.5ms or so, 0.5ms is perhaps mor ethan you can tolerate
 476 2013-05-31 04:17:45 <sipa> a -nocheckwallet option is maybe useful :p
 477 2013-05-31 04:18:02 <phantomcircuit> sipa, http://pastebin.com/raw.php?i=54x97yk1
 478 2013-05-31 04:18:51 <phantomcircuit> walletdb.cpp is full of other nonsense but it's just replacing the SetPrivKey and GetPubKey lines
 479 2013-05-31 04:19:27 FabianB_ has joined
 480 2013-05-31 04:19:42 <phantomcircuit> http://pastebin.com/raw.php?i=7YxsRCgm
 481 2013-05-31 04:19:59 <sipa> i wonder whether GetPubKey recomputes the public key if it's already known to the EC_KEY object
 482 2013-05-31 04:20:10 <phantomcircuit> ooh i think it does
 483 2013-05-31 04:20:24 FabianB has quit (Ping timeout: 248 seconds)
 484 2013-05-31 04:20:39 resinate has joined
 485 2013-05-31 04:20:42 <phantomcircuit> hmm maybe not
 486 2013-05-31 04:20:48 <sipa> i would hope not
 487 2013-05-31 04:20:51 <sipa> what hardware is that?
 488 2013-05-31 04:20:54 <sipa> 1ms is really long
 489 2013-05-31 04:20:59 <phantomcircuit> i3-2100
 490 2013-05-31 04:21:16 <phantomcircuit> entire datadir in a tmpfs
 491 2013-05-31 04:21:18 <phantomcircuit> with plenty of ram
 492 2013-05-31 04:21:27 <phantomcircuit> and of course this is all the openssl stuff which is 99.9999% undocumented
 493 2013-05-31 04:21:40 <sipa> well, feel free to try libsecp256k1 :p
 494 2013-05-31 04:21:58 <phantomcircuit> sipa, heh im sure it's faster im just trying to figure out why this is so slow
 495 2013-05-31 04:22:00 <sipa> i haven't actually benchmarked its privkey stuff, but it's likely faster than openssl for that too
 496 2013-05-31 04:22:03 <phantomcircuit> since it's been bugging me for like
 497 2013-05-31 04:22:06 <phantomcircuit> a year
 498 2013-05-31 04:22:26 <Krellan> Hi, hope this isn't a dumb question: bitcoin IPv6 - I haven't seen my bitcoin-qt find any IPv6 peers - is IPv6 enabled by default in 0.8.1?
 499 2013-05-31 04:22:38 <sipa> Krellan: since 0.6 or so
 500 2013-05-31 04:22:48 <phantomcircuit> Krellan, try -connect=momentovps.com
 501 2013-05-31 04:22:50 <phantomcircuit> er
 502 2013-05-31 04:22:55 <sipa> Krellan: try -onlynet=ipv6 if you want to only make outgoing connections to ipv6 nodes
 503 2013-05-31 04:22:57 <phantomcircuit> actually that's not listening on ipv6
 504 2013-05-31 04:22:58 <phantomcircuit> lol
 505 2013-05-31 04:23:10 <sipa> well, the fastest i've seen OpenSSL do a verification is around 0.5ms
 506 2013-05-31 04:23:10 <phantomcircuit> i should fix that
 507 2013-05-31 04:23:25 <phantomcircuit> sipa, that is terrible
 508 2013-05-31 04:23:46 <sipa> verifications ought to be a bit slower than generations
 509 2013-05-31 04:23:55 <phantomcircuit> i was testing out various ecdsa implementations in python for a web authentication service and i had pure python ops that were that fast
 510 2013-05-31 04:24:17 <sipa> for an EC multiplication? that i can't believe
 511 2013-05-31 04:24:18 <phantomcircuit> wat are they doin
 512 2013-05-31 04:24:54 <sipa> well, openssl is already an order of magnitude faster than cryptopp
 513 2013-05-31 04:24:54 rcorreia has quit (Read error: Connection reset by peer)
 514 2013-05-31 04:24:55 <phantomcircuit> sipa, ok i was cheating using the shortest curve i could find
 515 2013-05-31 04:24:56 <phantomcircuit> lol
 516 2013-05-31 04:25:06 rcorreia has joined
 517 2013-05-31 04:25:10 <sipa> and it has pretty high-level assembly implementations
 518 2013-05-31 04:25:23 <sipa> so for a generic-curve implementation it's very good actually
 519 2013-05-31 04:25:30 <sipa> but secp256k1 has several curve-specific tricks
 520 2013-05-31 04:26:01 paracyst has quit ()
 521 2013-05-31 04:27:25 <Diablo-D3> I swear I already saw this irc
 522 2013-05-31 04:27:26 caedes has joined
 523 2013-05-31 04:28:08 <phantomcircuit> sipa, well for now Load is definitely about 30% faster
 524 2013-05-31 04:28:33 <phantomcircuit> and basically just makes an error message nobody ever sees slightly more opaque
 525 2013-05-31 04:28:43 owowo has quit (Quit: sayonara)
 526 2013-05-31 04:30:59 <phantomcircuit> sipa, also GetPubKey can be reduced to one call to i2o_ECPublicKey
 527 2013-05-31 04:31:20 <phantomcircuit> actually it doesn't look like openssl handles a short buffer
 528 2013-05-31 04:31:35 <Krellan> Thanks for IPv6 advice - got it to work - now it makes IPv6 connections
 529 2013-05-31 04:32:01 <Krellan> played around with other command-line options, nice to know "-gen" still works - 4.1 Mhash/sec lol
 530 2013-05-31 04:32:26 Neozonz has quit (Read error: Connection reset by peer)
 531 2013-05-31 04:32:41 <phantomcircuit> wait maybe they do
 532 2013-05-31 04:32:47 seeingidog__ has joined
 533 2013-05-31 04:34:16 <phantomcircuit> no they dont since they cant know how long the pointer is
 534 2013-05-31 04:36:04 <phantomcircuit> sipa, the actual conversation EC_POINT_point2oct ends up happening 3 times, once for bitcoind to figure out the size of the buffer, once for openssl to figure it out again, and finally to actually do it
 535 2013-05-31 04:36:12 <phantomcircuit> :/
 536 2013-05-31 04:37:00 seeingidog__ has quit (Ping timeout: 248 seconds)
 537 2013-05-31 04:40:56 <phantomcircuit> 9589847
 538 2013-05-31 04:40:57 <phantomcircuit> meh
 539 2013-05-31 04:41:42 <sipa> thankfully just serializing isn't very expensive
 540 2013-05-31 04:41:56 <sipa> and i want to get rid of openssl...
 541 2013-05-31 04:42:10 <phantomcircuit> sipa, check pm
 542 2013-05-31 04:49:11 <phantomcircuit> hmm i was wrong
 543 2013-05-31 04:49:52 <phantomcircuit> pwallet->LoadKey is taking ~60 usec per key, Load is taking ~900 usec per key
 544 2013-05-31 04:53:42 <sipa> do you know how much of that time is i2o, loadprivkey, ... ?
 545 2013-05-31 04:53:53 rcorreia has quit (Read error: Connection reset by peer)
 546 2013-05-31 04:54:16 <sipa> if you run bitcoind -reindex -benchmark -par=1 -dbcache=1000 -nocheckpoints
 547 2013-05-31 04:54:28 <sipa> you can see how long signature validations tKe
 548 2013-05-31 04:54:39 <sipa> take
 549 2013-05-31 04:54:51 rcorreia has joined
 550 2013-05-31 04:54:56 <sipa> i wonder how that compares to that loading
 551 2013-05-31 04:55:13 <sipa> if loading is not faster than verifying, there is something wrong
 552 2013-05-31 04:56:09 <phantomcircuit> SetPrivKey 885.5229
 553 2013-05-31 04:56:13 Aurigae has joined
 554 2013-05-31 04:56:23 <sipa> fuuu
 555 2013-05-31 04:56:43 <phantomcircuit> that's with some adhauc gettimeofday stuff but i've found gettimeofday takes all of about 10 ns
 556 2013-05-31 04:56:47 <phantomcircuit> so it should be pretty accurate
 557 2013-05-31 04:57:11 <Luke-Jr> it's nowhere near accurate on Windows, FWIW
 558 2013-05-31 04:57:16 <Aurigae> hi guys, blockchain.info is a heavy security htread to unexperienced users, one can log IPs and eploit easily
 559 2013-05-31 04:57:19 <phantomcircuit> Luke-Jr, of course not
 560 2013-05-31 04:57:20 <phantomcircuit> ;)
 561 2013-05-31 04:57:32 <sipa> Aurigae: what you gonna do about it?
 562 2013-05-31 04:57:52 <Aurigae> no idea, i just figured
 563 2013-05-31 04:58:04 <phantomcircuit> Aurigae, are you the guy who opened the issue on github?
 564 2013-05-31 04:58:27 <Luke-Jr> doesn't sound like it
 565 2013-05-31 04:58:29 <Aurigae> no
 566 2013-05-31 04:58:36 <phantomcircuit> nvm then
 567 2013-05-31 04:59:28 <phantomcircuit> sipa, ima try again with EC_KEY_check_key disabled
 568 2013-05-31 04:59:47 bitinstant has quit (Ping timeout: 252 seconds)
 569 2013-05-31 04:59:52 <phantomcircuit> also printf in key.cpp appears to actually be printf instead of OutputDebug whatever
 570 2013-05-31 04:59:59 <phantomcircuit> lol
 571 2013-05-31 05:00:06 <phantomcircuit> 36.1861 usec per key
 572 2013-05-31 05:00:07 <sipa> orly?
 573 2013-05-31 05:00:19 maaku has quit (Read error: Connection reset by peer)
 574 2013-05-31 05:00:32 <phantomcircuit> so the issue here is entirely EC_KEY_check_key
 575 2013-05-31 05:00:41 <sipa> wait
 576 2013-05-31 05:01:07 maaku has joined
 577 2013-05-31 05:01:12 Neozonz has joined
 578 2013-05-31 05:01:28 bitinstant has joined
 579 2013-05-31 05:01:31 maaku is now known as Guest76698
 580 2013-05-31 05:01:42 tyn has quit (Ping timeout: 252 seconds)
 581 2013-05-31 05:02:17 ielo has quit (Ping timeout: 256 seconds)
 582 2013-05-31 05:02:20 idstam has joined
 583 2013-05-31 05:02:36 <phantomcircuit> sipa, lol yeah it is printf
 584 2013-05-31 05:02:46 <phantomcircuit> ReadKeyValue SetPrivKey 10000 8693402
 585 2013-05-31 05:02:50 <phantomcircuit> #include "util.h"
 586 2013-05-31 05:02:50 <phantomcircuit> 2013-05-31 04:38:53 ReadKeyValue SetPrivKey 1000 875286
 587 2013-05-31 05:03:34 Guest76698 is now known as maaku
 588 2013-05-31 05:04:34 grau has joined
 589 2013-05-31 05:04:43 hsmiths has quit (Read error: Connection reset by peer)
 590 2013-05-31 05:08:02 px has joined
 591 2013-05-31 05:08:03 hsmiths has joined
 592 2013-05-31 05:08:03 <sipa> phantomcircuit: i think part of the explanation is that openssl does key checking in an inefficient way
 593 2013-05-31 05:08:03 <phantomcircuit> sipa, does d2i_ECPrivateKey calculate the public key also?
 594 2013-05-31 05:08:03 <sipa> unsure
 595 2013-05-31 05:08:03 <sipa> does it?
 596 2013-05-31 05:08:03 <phantomcircuit> one way to check
 597 2013-05-31 05:08:03 <phantomcircuit> lets find out
 598 2013-05-31 05:08:03 <sipa> use the source luke
 599 2013-05-31 05:08:15 bakingbread has quit (Ping timeout: 256 seconds)
 600 2013-05-31 05:08:15 <phantomcircuit> lol d2i_ECPrivateKey calls d2i_EC_PRIVATEKEY
 601 2013-05-31 05:08:18 <phantomcircuit> WHY?
 602 2013-05-31 05:08:38 Nekkkros has joined
 603 2013-05-31 05:08:39 <sipa> but if you disable checkkey it's only 36us anymore?
 604 2013-05-31 05:08:51 <sipa> i don't think that includes an ec mult anymore
 605 2013-05-31 05:08:54 <phantomcircuit> right
 606 2013-05-31 05:09:07 grau has quit (Ping timeout: 252 seconds)
 607 2013-05-31 05:09:19 <sipa> now
 608 2013-05-31 05:09:23 Nekros has quit (Ping timeout: 256 seconds)
 609 2013-05-31 05:09:23 klmist has quit (Ping timeout: 256 seconds)
 610 2013-05-31 05:09:26 Orbixx has quit (Remote host closed the connection)
 611 2013-05-31 05:09:32 Orbixx has joined
 612 2013-05-31 05:09:32 Orbixx has quit (Changing host)
 613 2013-05-31 05:09:32 Orbixx has joined
 614 2013-05-31 05:09:37 <sipa> tje sec standard gives an algorithm for verifying ppublic keys
 615 2013-05-31 05:10:01 <sipa> which has one step that isn't technically required for curves with cofactor=1
 616 2013-05-31 05:10:07 <phantomcircuit> d2i_EC_PRIVATEKEY is one of these magic asn1 functions in openssl that isn't defined anywhere
 617 2013-05-31 05:10:09 <sipa> which is the case for secp256jq
 618 2013-05-31 05:10:17 <sipa> secp256k1
 619 2013-05-31 05:10:18 <phantomcircuit> it's magicked into existence by the preprocessor somewhere
 620 2013-05-31 05:10:29 <sipa> but openssl implements it anyway, always
 621 2013-05-31 05:10:40 <sipa> with a comment "required by the standard"
 622 2013-05-31 05:11:39 <phantomcircuit> it vaguely looks like the public key can be included in the DER encoded value and if it is then it will be set
 623 2013-05-31 05:11:39 skeledrew has quit (Ping timeout: 276 seconds)
 624 2013-05-31 05:11:42 <phantomcircuit> but if it isn't it wont
 625 2013-05-31 05:11:52 <phantomcircuit> and afaikt bitcoind only has the private key
 626 2013-05-31 05:12:01 <phantomcircuit> and the public key is set separately
 627 2013-05-31 05:12:07 <sipa> nope, it has both
 628 2013-05-31 05:12:24 <sipa> getprivkey also serializes the pubkey
 629 2013-05-31 05:12:29 <sipa> by default
 630 2013-05-31 05:12:34 <sipa> and we don't disable it
 631 2013-05-31 05:12:51 <phantomcircuit> then i *think* it should be reading the publickey from that and it wont have to calculate the public key separately
 632 2013-05-31 05:12:58 <sipa> ok
 633 2013-05-31 05:13:11 <phantomcircuit> but again the function that actually does the decoding is some magic preprocessor hacks
 634 2013-05-31 05:13:22 <phantomcircuit> d2i_EC_PRIVATEKEY doesn't exist but works
 635 2013-05-31 05:13:24 <sipa> i know
 636 2013-05-31 05:13:32 <sipa> but it just deserialozes
 637 2013-05-31 05:14:37 <phantomcircuit> sipa, so what verification can to done to check that the private key matches the public key without taking 800 usec
 638 2013-05-31 05:16:48 <sipa> a single ec multiplication with the generator, and a few bounds checks should be enough
 639 2013-05-31 05:18:45 <phantomcircuit> hmm
 640 2013-05-31 05:19:04 <phantomcircuit> sipa, well ima open an issue and just say something like "EC_KEY_check_key" is really really slow
 641 2013-05-31 05:19:18 <phantomcircuit> cause i definitely shouldn't be trying to implement that type of check
 642 2013-05-31 05:19:38 <sipa> i'll have a lool at ec key check key
 643 2013-05-31 05:19:43 <sipa> look!
 644 2013-05-31 05:19:52 <phantomcircuit> sipa, same thing
 645 2013-05-31 05:19:53 <phantomcircuit> :)
 646 2013-05-31 05:20:30 <phantomcircuit> something tells me copy/paste the openssl function into key.cpp will not work
 647 2013-05-31 05:20:31 <phantomcircuit> heh
 648 2013-05-31 05:21:20 <sipa> well what you could do is replace it with getsecret + setsecret
 649 2013-05-31 05:21:24 <sipa> and then compare pubkeys
 650 2013-05-31 05:22:40 <phantomcircuit> hmm
 651 2013-05-31 05:23:08 <phantomcircuit> and actually the vchPubKey == GetPubKey check should already mean the key was at least valid when generated
 652 2013-05-31 05:23:19 <phantomcircuit> so as long as nobody is adding invalid keys to their wallet
 653 2013-05-31 05:23:21 <phantomcircuit> it's fine
 654 2013-05-31 05:24:03 macboz has quit (Quit: This computer has gone to sleep)
 655 2013-05-31 05:25:45 macboz has joined
 656 2013-05-31 05:26:27 savetheinternet has joined
 657 2013-05-31 05:27:27 andyh2 has joined
 658 2013-05-31 05:27:41 <phantomcircuit> sipa, that is soooo much better
 659 2013-05-31 05:28:29 <phantomcircuit> 40x speed up :/
 660 2013-05-31 05:29:21 <sipa> well that doesn't verify that pubkeys and privkeys match
 661 2013-05-31 05:29:35 <CodeShark> what does verification have to do with the wallet?
 662 2013-05-31 05:29:46 chorao has quit ()
 663 2013-05-31 05:29:47 <CodeShark> and why do we need performance improvements for the wallet?
 664 2013-05-31 05:29:59 <sipa> because phantomcircuit has a wallet with 100k keys
 665 2013-05-31 05:30:12 <gmaxwell> So does midnightmagic.
 666 2013-05-31 05:30:13 <CodeShark> oh, lol - the solution is to scrap that wallet and design one that scales :p
 667 2013-05-31 05:30:13 <sipa> so if each takes 1ms to check, it takes 2 minutes
 668 2013-05-31 05:30:41 <sipa> no, it has nothing to do with that
 669 2013-05-31 05:30:54 <sipa> it's just that we verify that pubkeys and privkeys match as a sanity check
 670 2013-05-31 05:31:01 <sipa> which means an EC multiplication for each key
 671 2013-05-31 05:31:10 <CodeShark> oh
 672 2013-05-31 05:31:26 <CodeShark> perhaps move it into an assert?
 673 2013-05-31 05:31:33 <sipa> how will that help?
 674 2013-05-31 05:31:40 <phantomcircuit> sipa, it seems like the pubkey is stored both as a separate serialized entry (vchPubKey) and as an entity in the DER for the privkey
 675 2013-05-31 05:31:46 <sipa> phantomcircuit: that's correct
 676 2013-05-31 05:32:00 <phantomcircuit> so im making the assumption that is vchPubKey matches privkey->publickey
 677 2013-05-31 05:32:05 <phantomcircuit> that everything is good
 678 2013-05-31 05:32:12 <phantomcircuit> which is of course an assumption
 679 2013-05-31 05:32:22 <CodeShark> is this operation really the bottleneck for a 100k + key wallet?
 680 2013-05-31 05:32:23 <sipa> CodeShark: we don't build with -DNDEBUG
 681 2013-05-31 05:32:31 <sipa> for _loading_ it, sure
 682 2013-05-31 05:32:43 jaequery has joined
 683 2013-05-31 05:32:59 <phantomcircuit> ima try this again with a million keys...
 684 2013-05-31 05:33:13 seeingidog__ has joined
 685 2013-05-31 05:35:08 nonick has joined
 686 2013-05-31 05:35:45 darkee_ has quit (Remote host closed the connection)
 687 2013-05-31 05:37:27 seeingidog__ has quit (Ping timeout: 252 seconds)
 688 2013-05-31 05:37:34 <phantomcircuit> sipa, of course openssl provides only incomplete types for everything
 689 2013-05-31 05:37:43 <sipa> of course
 690 2013-05-31 05:38:06 caedes has quit (Remote host closed the connection)
 691 2013-05-31 05:38:27 ThomasV has joined
 692 2013-05-31 05:40:51 rdponticelli has quit (Remote host closed the connection)
 693 2013-05-31 05:40:58 wizkid057 has joined
 694 2013-05-31 05:41:13 <sipa> phantomcircuit: in any case, my library does an privkey->pubkey computation in 30us :p
 695 2013-05-31 05:41:26 <phantomcircuit> lol yeah that's much better
 696 2013-05-31 05:43:19 <phantomcircuit> sipa, i cant even tell if openssl calculates the public key when you dont provide it
 697 2013-05-31 05:44:11 <sipa> (on a cpu which may be faster than yours)
 698 2013-05-31 05:44:34 rdponticelli has joined
 699 2013-05-31 05:44:35 peddamat has joined
 700 2013-05-31 05:44:41 peddamat has quit (Client Quit)
 701 2013-05-31 05:44:48 <phantomcircuit> sipa, this is 3.1 GHz and is basically under no real other load
 702 2013-05-31 05:45:01 <phantomcircuit> since this is 100% single threaded GHZ probably wins the day
 703 2013-05-31 05:45:51 <sipa> it's an i5-2520M here at 2.5 GHz, but it probably overclocks in single-thread mode
 704 2013-05-31 05:47:01 <phantomcircuit> sipa, i've generally found the mobile cpus to be slower than a desktop even when it's faster on paper
 705 2013-05-31 05:47:43 <phantomcircuit> the i3 in this never gets above about 45C
 706 2013-05-31 05:47:58 <phantomcircuit> but my laptop with iirc has something equivalent is often at 70C
 707 2013-05-31 05:50:08 bakingbread has joined
 708 2013-05-31 05:50:23 grau has joined
 709 2013-05-31 05:52:44 GordonG3kko has quit (Ping timeout: 240 seconds)
 710 2013-05-31 05:53:26 GordonG3kko has joined
 711 2013-05-31 05:56:04 <phantomcircuit> sipa, derp accessor macros EC_KEY_get0_group
 712 2013-05-31 05:56:16 <sipa> ?
 713 2013-05-31 05:56:55 <phantomcircuit> there's macros defined to access the incompetely typed EC_KEY struct
 714 2013-05-31 05:59:40 macboz has quit (Ping timeout: 248 seconds)
 715 2013-05-31 06:00:48 wallet431 has quit (Quit: Leaving.)
 716 2013-05-31 06:02:40 <sipa> ok?
 717 2013-05-31 06:02:40 skeledrew has joined
 718 2013-05-31 06:03:21 <phantomcircuit> sipa, copy/paste EC_KEY_check_key, fix accessors figure out which op is slow
 719 2013-05-31 06:03:24 <phantomcircuit> try to eliminate it
 720 2013-05-31 06:03:54 <sipa> ah yes, let me have a look
 721 2013-05-31 06:05:34 stretchwarren has quit (Quit: Textual IRC Client: www.textualapp.com)
 722 2013-05-31 06:05:56 <sipa> phantomcircuit: it's doing two EC_mult
 723 2013-05-31 06:06:07 <sipa> only the second is needed if the privkey is present
 724 2013-05-31 06:06:08 stretchwarren has joined
 725 2013-05-31 06:07:10 <sipa> pretty much all of the pubkey checks are unnecessary if you're going to recompute the pubkey anyway from the privkey to see if it matches
 726 2013-05-31 06:07:48 <phantomcircuit> sipa, which is what it's doing with the privkey at the bottom right
 727 2013-05-31 06:07:53 <sipa> indeed
 728 2013-05-31 06:08:13 <sipa> imho all problems are caused by having a single datastructure that holds both privkey and pubkey :p
 729 2013-05-31 06:08:31 <sipa> sometimes you only have one, and don't care about the other
 730 2013-05-31 06:08:51 andyh2 has quit (Quit: Linkinus - http://linkinus.com)
 731 2013-05-31 06:11:05 <phantomcircuit> sipa, honestly i dont get the math so im not going to screw with it
 732 2013-05-31 06:11:07 <phantomcircuit> http://pastebin.com/raw.php?i=3FMSRiJH
 733 2013-05-31 06:11:22 <phantomcircuit> but this is a copy of the EC_KEY_check_key function fixing all the incomplete type issues
 734 2013-05-31 06:11:28 <phantomcircuit> plz2reassemble
 735 2013-05-31 06:11:35 <phantomcircuit> plz2re-arrange
 736 2013-05-31 06:12:11 ThomasV has quit (Read error: Operation timed out)
 737 2013-05-31 06:15:47 owowo has joined
 738 2013-05-31 06:19:59 <phantomcircuit> sipa, lol EC_GROUP_get_order -> fails is order is zero and yet there is also a BN_is_zero check
 739 2013-05-31 06:20:04 nonick has quit (Ping timeout: 240 seconds)
 740 2013-05-31 06:20:35 nonick has joined
 741 2013-05-31 06:23:49 <sipa> ?
 742 2013-05-31 06:25:08 <phantomcircuit> sipa, http://pastebin.com/EgsyM2z2
 743 2013-05-31 06:25:14 RazielZ has joined
 744 2013-05-31 06:25:27 <grau> sipa: Hi. Do you know who administers/decides on bitcoin.org content? I wonder what would be the right place for bits of proof there?
 745 2013-05-31 06:25:33 tyn has joined
 746 2013-05-31 06:25:44 <sipa> grau: github.com/bitcoin/bitcoin.org, send a pull request
 747 2013-05-31 06:27:02 <grau> thanks, will do.
 748 2013-05-31 06:27:17 X-Factor has joined
 749 2013-05-31 06:27:35 <grau> Iwould also like to have an opinion. It is not primarely a wallet, so where should it go
 750 2013-05-31 06:28:24 toffoo has quit (Ping timeout: 248 seconds)
 751 2013-05-31 06:28:25 <sipa> i've withdrawn from all website discussion some time ago, as it drove me nuts
 752 2013-05-31 06:28:51 <grau> ok, Is there som other forum takes it up?
 753 2013-05-31 06:29:14 <sipa> i believe there's been discussion about the website on the foundation forum
 754 2013-05-31 06:29:28 <grau> ok, I try there. Thanks a lot
 755 2013-05-31 06:29:28 <sipa> but i'm not following those
 756 2013-05-31 06:29:41 gribble has joined
 757 2013-05-31 06:29:51 <wumpus> grau: imo, just add it to the list of clients
 758 2013-05-31 06:30:31 toffoo has joined
 759 2013-05-31 06:30:45 <wumpus> oh it doesn't really show a list anymore
 760 2013-05-31 06:30:48 <wumpus> nm
 761 2013-05-31 06:31:24 <phantomcircuit> sipa, [3536534.798513] bitcoind[7399]: segfault at c ip 00007f5a5cd2d703 sp 00007fff936d2e30 error 4 in libcrypto.so.1.0.0[7f5a5cc8a000+1ad000]
 762 2013-05-31 06:31:29 <phantomcircuit> lol well i guess that isn't quite right
 763 2013-05-31 06:32:07 etotheipi_ has quit (Ping timeout: 256 seconds)
 764 2013-05-31 06:32:25 <wumpus> it's only aimed at newbies now :p I guess there needs to be a page for developers in which they can find ways to interface to the network such a bitcoind, bitcoinj, and bits of proofs
 765 2013-05-31 06:33:18 <sipa> there is some business section on the site
 766 2013-05-31 06:33:26 <sipa> so i guess BoP makes sense
 767 2013-05-31 06:33:33 santoscork has quit (Quit: Hibernation Time …)
 768 2013-05-31 06:33:47 seeingidog__ has joined
 769 2013-05-31 06:33:47 <sipa> but i choose not to join discussions about what ought to be on the site or not
 770 2013-05-31 06:33:52 <wumpus> this site is confusing... I usually expect the top menu to be above the heirarchy to the bottom menu
 771 2013-05-31 06:34:33 <wumpus> I'm not discussing whether it ought to be on the site, just where it should be, given that The Powers That Be accept that it should be on the site :p
 772 2013-05-31 06:35:16 <grau> I think I will put it on business
 773 2013-05-31 06:35:44 <grau> and developer
 774 2013-05-31 06:35:54 <sipa> perhaps discuss with saivann first where he thinks it belongs
 775 2013-05-31 06:36:11 <sipa> he's sort of the webmaster, but he usually asks for other's opinion
 776 2013-05-31 06:36:20 <wumpus> but neither developer or business has a list of node implementation
 777 2013-05-31 06:36:22 <phantomcircuit> sipa, ok so the simplified check cuts the time for EC_KEY_check_key in half
 778 2013-05-31 06:36:35 <sipa> yes, expected
 779 2013-05-31 06:36:55 <phantomcircuit> that combined with CKey::Load is having a significant impact on load time
 780 2013-05-31 06:37:03 <wumpus> so that'd be the first thing to agree on... just adding bits of proof somewhere in the text wil likely be rejected :)
 781 2013-05-31 06:37:14 <grau> best create a different page, not choose your wallet but choose your toolkit and put bitcoind, BitcoinJ, BOP on it
 782 2013-05-31 06:37:17 <phantomcircuit> looks to be about 2k keys/second
 783 2013-05-31 06:37:21 <sipa> that first mult check is actually completely unnecessary
 784 2013-05-31 06:37:25 <sipa> for our curve
 785 2013-05-31 06:38:45 seeingidog__ has quit (Ping timeout: 276 seconds)
 786 2013-05-31 06:39:00 <phantomcircuit> sipa, and this is really just being used as a very expensive checksum anyways
 787 2013-05-31 06:39:11 <sipa> yeah
 788 2013-05-31 06:39:30 <phantomcircuit> upto key 400k
 789 2013-05-31 06:40:16 <phantomcircuit> man i should have done this before i started messing with postgresql
 790 2013-05-31 06:40:22 <phantomcircuit> fixing this was a lot easier than that was
 791 2013-05-31 06:41:18 <phantomcircuit> 600k
 792 2013-05-31 06:43:10 brwyatt_ is now known as brwyatt_|Away
 793 2013-05-31 06:45:03 owowo has quit (Quit: sayonara)
 794 2013-05-31 06:46:30 <wumpus> grau: agreed
 795 2013-05-31 06:46:32 <phantomcircuit> and loaded
 796 2013-05-31 06:46:40 <phantomcircuit> sipa, loaded and apparently actually working
 797 2013-05-31 06:46:48 owowo has joined
 798 2013-05-31 06:46:57 jaequery has quit (Quit: Computer has gone to sleep.)
 799 2013-05-31 06:47:01 <phantomcircuit> i do not want to see what happens when this receives a transaction though
 800 2013-05-31 06:47:30 <sipa> phantomcircuit: try importing a correct horse staple battery :)
 801 2013-05-31 06:47:36 <sipa> and rescan
 802 2013-05-31 06:47:39 <sipa> if you want some pain
 803 2013-05-31 06:48:11 <wumpus> grau: though mind that the page currently has a completely flat heirarchy (all links to leaf pages are always shown).. adding a new page may be easier said than done, as you'd need to find space to cram another link :)
 804 2013-05-31 06:48:28 <Luke-Jr> I thought it was a correct horse battery staple?
 805 2013-05-31 06:48:49 fimp_ is now known as fimp
 806 2013-05-31 06:48:56 <phantomcircuit> Luke-Jr, it is
 807 2013-05-31 06:49:33 <wumpus> coming next to a "secure" online wallet close to you, correct horse battery staple permutations
 808 2013-05-31 06:49:44 <phantomcircuit> sipa, lol oh god
 809 2013-05-31 06:49:46 <saivann_> <ul id=​"menu">​<ul id="menu">
 810 2013-05-31 06:49:47 <saivann_>       <li><a href="/en/how-it-works">What is Bitcoin</a></li><li><a href="/en/how-it-works">How it works</a></li>
 811 2013-05-31 06:49:50 <saivann_>       <li><a href="/en/resources">Resources</a></li>
 812 2013-05-31 06:49:53 <phantomcircuit> lol
 813 2013-05-31 06:49:55 <Luke-Jr> /kick saivann_
 814 2013-05-31 06:49:58 <saivann_>       <li><a href="/en/development">Development</a></li>
 815 2013-05-31 06:50:02 <saivann_>       <li><a href="/en/foundation">Foundation</a></li>
 816 2013-05-31 06:50:08 <saivann_>       <li><a href="/en/about">FAQ</a></li>
 817 2013-05-31 06:50:12 <saivann_>     </ul>
 818 2013-05-31 06:50:14 <saivann_> Oh damn, sorry :P
 819 2013-05-31 06:50:16 <saivann_> The joy of drag and drop
 820 2013-05-31 06:50:19 <wumpus> hehe
 821 2013-05-31 06:50:45 <sipa> wumpus: determined by a fair dice roll, guaranteed to be random
 822 2013-05-31 06:50:47 picopinth has joined
 823 2013-05-31 06:51:38 <phantomcircuit> sipa, lol i forgot importprivkey defaults to doing a rescan
 824 2013-05-31 06:52:06 <fimp> Bitcoin-QT quit just after I entered my password for doing a transaction. After restart, the tx shows in the tx list, but it doesn't appear on blockchain.info nor blockexplorer. This is more than 30 minutes ago, so it should have been rebroadcasted. I'm up to date with 238815 blocks. What to do?
 825 2013-05-31 06:52:41 <wumpus> sipa: now using the calendar date and current mouse position for extra randomness!
 826 2013-05-31 06:53:12 etotheipi_ has joined
 827 2013-05-31 06:53:41 <phantomcircuit> sipa, now i just need to cache whether a CKey has run the EC_KEY_check_key stuff for the specific private key
 828 2013-05-31 06:53:57 <phantomcircuit> again it would be useful if there was only one way to change the priv key :)
 829 2013-05-31 06:54:15 <sipa> phantomcircuit: checking a private key is trivial
 830 2013-05-31 06:54:39 <phantomcircuit> not when you have a million of them and trigger a rescan on accident
 831 2013-05-31 06:55:06 <sipa> when does check_key every happen except for loading?
 832 2013-05-31 06:55:15 <sipa> *ever
 833 2013-05-31 06:55:49 <sipa> because CKey::Check is far faster and just as good, if you only need to check a private key
 834 2013-05-31 06:55:53 <wumpus> oh gawd, goldbit89 is spamming his issue into all other issues that show even an extremely vague resemblance to  his problem
 835 2013-05-31 06:56:27 <phantomcircuit> sipa, EC_KEY_check_key is being called for every single sign/verify op
 836 2013-05-31 06:56:40 <sipa> really?
 837 2013-05-31 06:56:45 <phantomcircuit> lol yes
 838 2013-05-31 06:57:36 <phantomcircuit> wait
 839 2013-05-31 06:57:38 <phantomcircuit> maybe not
 840 2013-05-31 06:57:40 <sipa> it's only in SetPrivKey
 841 2013-05-31 06:57:41 <phantomcircuit> SetSecretBytes
 842 2013-05-31 06:57:50 <sipa> and CPrivKey is only used when loading
 843 2013-05-31 06:57:56 <phantomcircuit> oh it's just EC_KEY_regenerate_key
 844 2013-05-31 06:57:58 <sipa> internally, CKey is always used
 845 2013-05-31 06:58:46 <sipa> hmm that probably means 1 superfluous EC multiplication per signing
 846 2013-05-31 06:58:57 <sipa> but for not for verifying
 847 2013-05-31 06:59:02 <sipa> which is what is most important
 848 2013-05-31 06:59:14 toffoo has quit (Ping timeout: 240 seconds)
 849 2013-05-31 06:59:17 <phantomcircuit> brain is too tired
 850 2013-05-31 06:59:29 <Scrat> hey sipa, is your verification code going to be in 0.9?
 851 2013-05-31 06:59:56 <sipa> Scrat: unlikely
 852 2013-05-31 07:00:09 seeingidog__ has joined
 853 2013-05-31 07:00:29 blaeks has quit (Read error: Operation timed out)
 854 2013-05-31 07:01:12 <phantomcircuit> sipa, well either way this is really a huge massive improvement
 855 2013-05-31 07:01:23 <phantomcircuit> at least for people with absurdly large wallets
 856 2013-05-31 07:01:40 <Scrat> phantomcircuit: define large in MB
 857 2013-05-31 07:01:53 <sipa> Scrat: >10k keys
 858 2013-05-31 07:02:00 <phantomcircuit> -rw------- 1 patrick patrick 554M May 30 23:38 wallet.dat
 859 2013-05-31 07:02:05 <phantomcircuit> thats 1 million keys
 860 2013-05-31 07:02:19 <sipa> phantomcircuit: yes, i wasn't aware we were doing so many redundant operations
 861 2013-05-31 07:02:24 <phantomcircuit> plus that silly xkcd pass phrase as a brain wallet
 862 2013-05-31 07:02:56 <phantomcircuit> i'd like to import the private key for something like an sd address to see what happens
 863 2013-05-31 07:03:02 <phantomcircuit> but something tells me they wont be sharing
 864 2013-05-31 07:06:24 McKay` has joined
 865 2013-05-31 07:06:37 <Scrat> change addresses do contribute to wallet bloat. imagine if you could set one change address for the entire wallet. it would still have to track all the outputs so I don't know how much it would help
 866 2013-05-31 07:06:45 McKay` has quit (Remote host closed the connection)
 867 2013-05-31 07:07:26 <sipa> well if we want wallets to scale they'll likely need to use local bloom filters when scanning blocks for example
 868 2013-05-31 07:07:47 <TheUni> sipa: ping
 869 2013-05-31 07:08:05 McKay has quit (Quit: Leaving)
 870 2013-05-31 07:08:10 <sipa> TheUni: yes?
 871 2013-05-31 07:08:19 <TheUni> sipa: i'm a bit confused...
 872 2013-05-31 07:08:20 klmist has joined
 873 2013-05-31 07:08:28 <TheUni> is wine involved in the mingw win32 build?
 874 2013-05-31 07:08:35 <sipa> not afaik
 875 2013-05-31 07:09:14 <TheUni> ok
 876 2013-05-31 07:09:26 g0thX has joined
 877 2013-05-31 07:09:41 <sipa> deps-win32 does refer to wine
 878 2013-05-31 07:09:44 <sipa> hmmm
 879 2013-05-31 07:09:49 <TheUni>   # Kill wine processes as gitian won't figure out we are done otherwise
 880 2013-05-31 07:09:49 <TheUni>   killall wineserver services.exe explorer.exe winedevice.exe
 881 2013-05-31 07:09:55 <TheUni> yea, that's the bit i stumbled upon
 882 2013-05-31 07:10:16 McKay has joined
 883 2013-05-31 07:10:23 <sipa> talk to BlueMatt
 884 2013-05-31 07:10:35 <TheUni> ok
 885 2013-05-31 07:10:38 <TheUni> BlueMatt: ping
 886 2013-05-31 07:10:59 <TheUni> i finally got win32 binaries cranked out, then that got me confused. i'm hoping they're used to run the tests
 887 2013-05-31 07:11:09 <TheUni> *it's
 888 2013-05-31 07:11:20 <sipa> will gitian doesn't do tests afaik
 889 2013-05-31 07:11:22 saulimus has joined
 890 2013-05-31 07:11:29 <phantomcircuit> sipa, wallets can scale just fine *if* every change to the blockchain is run through the wallet
 891 2013-05-31 07:11:43 <phantomcircuit> actually guaranteeing that happens though is uh
 892 2013-05-31 07:11:44 <phantomcircuit> lol right
 893 2013-05-31 07:11:52 <sipa> TheUni: pulltester does, and i assume it does so using wine
 894 2013-05-31 07:11:53 <Scrat> sipa: something weird though: does it fsync/lock in steps when sending? with a 10 MB wallet on a 5400 rpm drive I've seen up to ~5 sec delays while on an SSD it's always <0.1s
 895 2013-05-31 07:12:12 <sipa> when _sending_ ?
 896 2013-05-31 07:12:14 <TheUni> sipa: ok, thanks
 897 2013-05-31 07:12:21 <Scrat> sendtoaddress
 898 2013-05-31 07:12:33 super3 has quit (Ping timeout: 276 seconds)
 899 2013-05-31 07:13:06 <sipa> TheUni: i suppose that for deps-win32 one of the packages builds an intermediate binary to produce extra sources
 900 2013-05-31 07:13:18 <sipa> TheUni: which is built for the target instead of the host arch
 901 2013-05-31 07:13:21 <phantomcircuit> Scrat, iirc it's trying to lock outputs or something
 902 2013-05-31 07:13:24 <sipa> but that's a pure guess
 903 2013-05-31 07:13:38 <sipa> Scrat: i won't claim i understand bdb good
 904 2013-05-31 07:14:00 <TheUni> ok. well the deps are still driving me crazy, but i'm just ignoring that part for now
 905 2013-05-31 07:14:23 <sipa> Scrat: but i've seen for example that changing the wallet from bdb to an append-only file format, speeds up generating the initial keypool tremendously
 906 2013-05-31 07:14:32 <sipa> Scrat: so i'm sure there's lots of weird syncing involved
 907 2013-05-31 07:15:48 * Scrat puts wallet.dat on a ramfs
 908 2013-05-31 07:16:40 <Scrat> quite doable with a large keypool and frequent backups
 909 2013-05-31 07:19:18 <wumpus> Scrat: does fit into the 'playing with knives' category :p
 910 2013-05-31 07:20:36 qeb has joined
 911 2013-05-31 07:21:03 <Scrat> bitcoind is racist towards 5400 rpm drives
 912 2013-05-31 07:22:54 <CodeShark> dropping bdb is a good idea regardless of context :p
 913 2013-05-31 07:23:35 <sipa> ^
 914 2013-05-31 07:24:31 <CodeShark> there is not one real-world engineering situation I can imagine where someone could sanely ever say "you know, if we only were to use bdb this would work better."
 915 2013-05-31 07:24:42 <Scrat> I'd love to play with grau's creation but java scares me
 916 2013-05-31 07:24:47 tvbcof1 has quit (Read error: Connection reset by peer)
 917 2013-05-31 07:25:20 <CodeShark> why does java scare you?
 918 2013-05-31 07:26:01 <Scrat> I'd have to research how to hook it up to a non-java system
 919 2013-05-31 07:26:09 <grau> Java is only insecure if you execute an applet code you download from a website and execute it. That however would apply to C++ too, but it can not be done, so the problem does not arise.
 920 2013-05-31 07:26:16 <Scrat> and java scares me because I don't know it very well
 921 2013-05-31 07:26:30 <Scrat> grau: not from a security standpoint
 922 2013-05-31 07:27:15 <sipa> i agree with grau here
 923 2013-05-31 07:27:18 <CodeShark> the difficulty in learning a language is seldom the actual language itself but the frameworks, libraries, and tools surrounding it
 924 2013-05-31 07:27:39 grau has quit (Read error: Connection reset by peer)
 925 2013-05-31 07:27:40 <sipa> but being scared of what you don't know, is good practice in security
 926 2013-05-31 07:27:48 tvbcof1 has joined
 927 2013-05-31 07:28:09 tyn has quit (Ping timeout: 276 seconds)
 928 2013-05-31 07:28:41 grau has joined
 929 2013-05-31 07:29:59 <CodeShark> all runtime environments have security weaknesses - it's a good idea to go with what you already know for critical production stuff while also learning about and experimenting with the unfamiliar
 930 2013-05-31 07:30:02 <Scrat> bitsofproof is probably safer than bitcoind wrt remote code execution since you have a sandbox to break out of
 931 2013-05-31 07:30:14 <Scrat> sure you can make an argument the other way around but it's not as strong
 932 2013-05-31 07:30:48 BTCOxygen has quit (Ping timeout: 248 seconds)
 933 2013-05-31 07:30:54 <Luke-Jr> Java doesn't scare me, just annoys me :P
 934 2013-05-31 07:31:02 tvbcof1 has quit (Read error: Connection reset by peer)
 935 2013-05-31 07:31:48 <CodeShark> dumbed down C++ with inefficient runtime environment - but with far more library standardization than C++
 936 2013-05-31 07:32:56 <CodeShark> a more coherent coding style, generally speaking
 937 2013-05-31 07:33:09 <CodeShark> whereas C++ is often a hodgepodge of a bunch of different conventions
 938 2013-05-31 07:33:35 grau has quit (Ping timeout: 256 seconds)
 939 2013-05-31 07:35:07 abrkn\ has joined
 940 2013-05-31 07:35:34 X-Factor has quit (Read error: Connection reset by peer)
 941 2013-05-31 07:35:42 <wumpus> library standardization, yeah, but how... WidgetFactoryManagerInjectorFactory etc :p
 942 2013-05-31 07:35:51 <CodeShark> quite verbose :)
 943 2013-05-31 07:35:58 <CodeShark> that's certainly true
 944 2013-05-31 07:37:02 <CodeShark> you really do need text editors with autocomplete if you don't want to spend your entire life typing :)
 945 2013-05-31 07:37:38 X-Factor has joined
 946 2013-05-31 07:38:14 <wumpus> then again I'm not really a fan of c++ either, it 's just the default choice for projects in which performance and predictable memory usage is important
 947 2013-05-31 07:38:20 abrkn has quit (Ping timeout: 256 seconds)
 948 2013-05-31 07:38:51 <CodeShark> nothing has come to replace it, for better or worse
 949 2013-05-31 07:39:26 <Scrat> go Go!
 950 2013-05-31 07:39:42 BTCOxygen has joined
 951 2013-05-31 07:39:45 <wumpus> though I certainly hope a safer language with less foot-shooting possibility will replace it eventually
 952 2013-05-31 07:40:08 tvbcof1 has joined
 953 2013-05-31 07:40:28 <wumpus> which is not brain-deadly verbose like java
 954 2013-05-31 07:40:54 <Scrat> wumpus: seems to be the natural evolution -> less foot-shooting capability, more productivity
 955 2013-05-31 07:41:08 <CodeShark> right, wumpus - without sacrificing its greatest strengths...compile-time to-the-metal optimization, predictable memory use, and tight integration with OS libraries
 956 2013-05-31 07:41:09 <wumpus> but not looking at the specifics of the language syntax and runtime and such, I like java
 957 2013-05-31 07:42:30 <CodeShark> the trend right now is certainly towards dynamic languages
 958 2013-05-31 07:43:13 <CodeShark> with runtime optimization rather than compiletime optimization
 959 2013-05-31 07:43:41 <wumpus> dynamic languages are great for ui and user facing code, and scripts and tools
 960 2013-05-31 07:45:18 <wumpus> but for backend code like bitcoind, not so much, I don't see how a python implementation (for example) would be more better in this case even if super-optimized
 961 2013-05-31 07:45:20 <Scrat> GCs and JITs are becoming increasingly smarter and smarter
 962 2013-05-31 07:45:53 <CodeShark> even a python implementation would surely require some routines implemented in something like C/C++ or asm to be practical
 963 2013-05-31 07:46:22 <wumpus> it's not about smarter and smarter -- compile time type checking can be pretty useful -- I like my runtime dumb sometimes and the compiler smart, so that as much as possible is caught at compile time
 964 2013-05-31 07:47:22 <wumpus> also for refactoring and code analysis tools is can help if the language is not too dynamic
 965 2013-05-31 07:47:49 <CodeShark> dynamic languages can still be used to manipulate certain data structures and for control structures - with highly optimized implementations of certain algorithms written in C/C++
 966 2013-05-31 07:47:58 BTCOxygen has joined
 967 2013-05-31 07:47:58 BTCOxygen is now known as Guest72050
 968 2013-05-31 07:47:58 Guest72050 has quit (Killed (verne.freenode.net (Nickname regained by services)))
 969 2013-05-31 07:47:59 BTCOxygen is now known as 1!~BTCOxygen@unaffiliated/btcoxygen|BTCOxygen
 970 2013-05-31 07:48:12 <CodeShark> or asm
 971 2013-05-31 07:48:27 <CodeShark> that's pretty much what it comes down to
 972 2013-05-31 07:49:27 enikanorov_ has joined
 973 2013-05-31 07:50:27 <CodeShark> I like compile-time optimization too :)
 974 2013-05-31 07:51:07 FlyingLeap_ has joined
 975 2013-05-31 07:51:16 <CodeShark> problem is that right now hardware is cheap and abundant while good programmers are still relatively scarce :)
 976 2013-05-31 07:52:07 ByronJoh1son has joined
 977 2013-05-31 07:52:21 talso has joined
 978 2013-05-31 07:52:25 throughn1thing has joined
 979 2013-05-31 07:52:34 <Scrat> and the gap will only widen
 980 2013-05-31 07:52:47 <Scrat> moore's law still has quite a few years left
 981 2013-05-31 07:52:58 <wumpus> the good thing with good programmers is that you only need a few anyway :p
 982 2013-05-31 07:53:05 windo has joined
 983 2013-05-31 07:54:54 ovidiusoft has joined
 984 2013-05-31 07:55:27 Neozonz has quit (Ping timeout: 276 seconds)
 985 2013-05-31 07:55:34 <CodeShark> C++ gives you plenty of opportunities to really shoot yourself in the foot if you don't know what you're doing
 986 2013-05-31 07:56:06 mapppum has quit (Ping timeout: 276 seconds)
 987 2013-05-31 07:56:16 <CodeShark> it requires a considerable amount of discipline and good practices along with deeper theoretical knowledge and understanding to use it properly
 988 2013-05-31 07:56:32 <CodeShark> you can't just rely on some framework to ensure your app works
 989 2013-05-31 07:56:34 stavros has joined
 990 2013-05-31 07:57:58 therealnanotube has joined
 991 2013-05-31 07:59:45 linguinho has joined
 992 2013-05-31 08:05:13 execut3 has joined
 993 2013-05-31 08:06:25 Neozonz has joined
 994 2013-05-31 08:06:26 paracyst has joined
 995 2013-05-31 08:06:46 ThomasV has joined
 996 2013-05-31 08:07:24 thelamest has quit (Quit: rebook)
 997 2013-05-31 08:09:40 thelamest has joined
 998 2013-05-31 08:10:41 macboz has joined
 999 2013-05-31 08:10:46 hpprinter100 has joined
1000 2013-05-31 08:13:44 Jackneill has joined
1001 2013-05-31 08:13:44 Jackneill has quit (Changing host)
1002 2013-05-31 08:13:44 Jackneill has joined
1003 2013-05-31 08:14:05 ThomasV has quit (Quit: Quitte)
1004 2013-05-31 08:23:21 rdymac has joined
1005 2013-05-31 08:23:21 rdymac has quit (Changing host)
1006 2013-05-31 08:23:21 rdymac has joined
1007 2013-05-31 08:29:02 t7 has joined
1008 2013-05-31 08:33:57 sagax_ has joined
1009 2013-05-31 08:34:18 sagax__ has quit (Ping timeout: 264 seconds)
1010 2013-05-31 08:37:35 saulimus has quit (Quit: saulimus)
1011 2013-05-31 08:39:13 Subo1978 has joined
1012 2013-05-31 08:39:59 taha has joined
1013 2013-05-31 08:40:18 Zoop_ has quit (Ping timeout: 264 seconds)
1014 2013-05-31 08:42:27 <BlueMatt> TheUni: deps-win32 requires wine to run some build tools for...dont remember, maybe miniupnpc?
1015 2013-05-31 08:42:41 <TheUni> BlueMatt: for building or testing?
1016 2013-05-31 08:42:41 <BlueMatt> TheUni: ahh, sipa guessed it
1017 2013-05-31 08:42:53 <BlueMatt> building
1018 2013-05-31 08:43:01 <BlueMatt> it builds something and then that builds more sources to compile
1019 2013-05-31 08:43:50 <TheUni> ok
1020 2013-05-31 08:44:51 darkee has joined
1021 2013-05-31 08:45:00 KillYourTV has joined
1022 2013-05-31 08:45:04 gst has joined
1023 2013-05-31 08:45:16 X-Factor has quit (Quit: ThrashIRC v2.8 sic populo comunicated)
1024 2013-05-31 08:45:58 <wumpus> yeah it builds a wingenminiupnpcstrings.exe and executes that to generate strings for the build
1025 2013-05-31 08:46:07 sensorii has joined
1026 2013-05-31 08:46:37 guruvan has joined
1027 2013-05-31 08:46:39 cyphase has quit (Read error: Connection reset by peer)
1028 2013-05-31 08:46:52 <wumpus> would be nice if it used the native toolchain for that, then again, wine works :)
1029 2013-05-31 08:47:36 random_cat has joined
1030 2013-05-31 08:47:40 GordonG3kko has joined
1031 2013-05-31 08:49:40 <TheUni> agh, it actually seems to assume builder == target
1032 2013-05-31 08:49:54 paraipan has joined
1033 2013-05-31 08:49:58 <Luke-Jr> >_<
1034 2013-05-31 08:50:07 <TheUni> sigh
1035 2013-05-31 08:56:23 <wumpus> I guess with some makefile patching in gitian you could avoid wine, if you really wanted
1036 2013-05-31 08:56:55 <wumpus> or maybe even with two make calls, with different parameters
1037 2013-05-31 08:56:58 <wumpus> and env
1038 2013-05-31 08:58:12 <sipa> or include its generated output in the source?
1039 2013-05-31 08:58:26 <sipa> or just drop upnp support for windows *ducks*
1040 2013-05-31 08:58:38 <TheUni> wumpus: not sure how if it depends on runtime greps
1041 2013-05-31 08:58:58 <Luke-Jr> is there a problem with wine? :p
1042 2013-05-31 08:59:03 <TheUni> unless you just hard-code that there instead (which is equally portable.. zero)
1043 2013-05-31 08:59:50 <wumpus> possible to include the generated output in the source, but that will require a manual step every time the upnp version is changed
1044 2013-05-31 09:00:07 cyphase has joined
1045 2013-05-31 09:00:13 <wumpus> don't know Luke-Jr
1046 2013-05-31 09:00:25 <sipa> it also means the official source tarballs can't be uaed
1047 2013-05-31 09:00:40 <wumpus> sipa: not necessarily, it could be an extra input :P
1048 2013-05-31 09:00:46 <wumpus> I have no problems with wine, but it does pull in the entire x library shebang into the vm
1049 2013-05-31 09:01:10 <sipa> well the issue is here that TheUni wants it to work not only in a VM
1050 2013-05-31 09:01:48 <Luke-Jr> build miniupnpc native first, then reuse the generated files?
1051 2013-05-31 09:01:53 <BlueMatt> yay java, "if (msg == null || msg.getType() == null)" generates a NullPointerException.....
1052 2013-05-31 09:02:03 <Luke-Jr> might even be a make target to get it to build just the generator..
1053 2013-05-31 09:02:12 blaeks has joined
1054 2013-05-31 09:02:17 <wumpus> Luke-Jr: yes, that's what I meant with "two make calls"
1055 2013-05-31 09:02:35 <sipa> BlueMatt: huh?
1056 2013-05-31 09:02:38 rdymac has quit (Quit: This computer has gone to sleep)
1057 2013-05-31 09:02:45 <BlueMatt> sipa: yes
1058 2013-05-31 09:02:48 <wumpus> as I doubt the generated file depends on the OS in any way
1059 2013-05-31 09:02:55 <sipa> unless getType itself throws that, i don't see how
1060 2013-05-31 09:03:08 <TheUni> all it's doing is grabbing some runtime data.. though that runtime data is coming from a phony emulated OS. so the runtime check is useless
1061 2013-05-31 09:03:10 <wumpus> Luke-Jr: don't forget a clean in between :PP
1062 2013-05-31 09:03:17 beethoven2 has joined
1063 2013-05-31 09:03:26 <BlueMatt> sipa: nope, that is the top of the stacktrace, so getType cant be it...
1064 2013-05-31 09:03:45 <BlueMatt> TheUni: why is this a problem?
1065 2013-05-31 09:04:08 <wumpus> TheUni: huh, I thought it generated a list of strings for something, but it actually does something os-dependent?
1066 2013-05-31 09:04:09 <TheUni> BlueMatt: it's not. i'm just retooling the buildsystem, and i facepalmed when i saw the wine bits
1067 2013-05-31 09:04:26 <sipa> i guess it'd be nice if wine could be avoided i guess
1068 2013-05-31 09:04:27 <BlueMatt> why are you retooling the deps build?
1069 2013-05-31 09:04:39 <Luke-Jr> [08:37:35] <sipa> well the issue is here that TheUni wants it to work not only in a VM
1070 2013-05-31 09:04:43 <sipa> he's autotoolsifying
1071 2013-05-31 09:04:51 <BlueMatt> autotools shouldnt touch deps, though
1072 2013-05-31 09:05:04 <BlueMatt> Luke-Jr: it works fine outside of a vm
1073 2013-05-31 09:05:05 <TheUni> BlueMatt: i'm not touching the deps yet
1074 2013-05-31 09:05:06 <BlueMatt> you just need wine
1075 2013-05-31 09:05:21 <TheUni> for now i'm just assuming the deps are handed to me in a usable form
1076 2013-05-31 09:05:31 <BlueMatt> ok, as any reasonable build system should, no?
1077 2013-05-31 09:05:54 <sipa> seems like a good assumption
1078 2013-05-31 09:05:57 * Luke-Jr notes the output of deps-win32 is not reasonable right now
1079 2013-05-31 09:06:03 <sipa> that part can always be improved later
1080 2013-05-31 09:06:08 <TheUni> what Luke-Jr said :)
1081 2013-05-31 09:06:11 <BlueMatt> Luke-Jr: ehhh, it works, doesnt it?
1082 2013-05-31 09:06:21 <Luke-Jr> BlueMatt: only because our build system is a disaster
1083 2013-05-31 09:06:59 andrew_scorpil has left ()
1084 2013-05-31 09:07:13 <BlueMatt> Im confused as to how deps-win32's output is unreasonable
1085 2013-05-31 09:07:29 <TheUni> ok, let's just skip that for now
1086 2013-05-31 09:07:37 <Luke-Jr> reasonable = .a files and include dir
1087 2013-05-31 09:08:02 <Luke-Jr> (or even better, .so/.dll files and include…)
1088 2013-05-31 09:08:15 <TheUni> well, reasonable would be a staging prefix
1089 2013-05-31 09:08:21 ne0c0rtex has joined
1090 2013-05-31 09:08:23 santoscork has joined
1091 2013-05-31 09:08:46 <sipa> care to explain what you mean by that?
1092 2013-05-31 09:08:49 <Luke-Jr> yes, that's what I mean
1093 2013-05-31 09:08:58 <wumpus> Luke-Jr: feel free to "fix" it, we're not quite bored enough for such details, it works fine and deterministic now and that's the important bit
1094 2013-05-31 09:09:01 <BlueMatt> ahh, yes, well hopefully that means it just needs to actually call make install at the end
1095 2013-05-31 09:09:17 <TheUni> BlueMatt: yes, that's the major part that's missing
1096 2013-05-31 09:09:30 <TheUni> doing that would improve things 10x
1097 2013-05-31 09:09:36 <BlueMatt> improve?
1098 2013-05-31 09:09:47 <BlueMatt> doing that would change things, not improve much...
1099 2013-05-31 09:09:54 <sipa> for gitian's purpose it wouldn't change anything
1100 2013-05-31 09:10:07 <TheUni> BlueMatt: it does when there's a single buildsystem that tries to build everything the same way
1101 2013-05-31 09:10:23 <wumpus> how would it improve? it'd at most speed up the build a very little bit as there's less files to be packed/unpacked and bounced around...
1102 2013-05-31 09:10:29 <TheUni> instead, the mingw build fights autotools most of the way through
1103 2013-05-31 09:10:40 <wumpus> in any case you need to rebuild the deps only if something changed
1104 2013-05-31 09:11:09 <Luke-Jr> TheUni: probably best off just doing it and demonstrating in a pullreq :p
1105 2013-05-31 09:11:44 <TheUni> Luke-Jr: heh, i'm trying not to get ahead of myself. i want the foundation ready first
1106 2013-05-31 09:11:49 <wumpus> in any case I'm confused, you don't need to even touch the deps for autotool-ization
1107 2013-05-31 09:12:02 <wumpus> configure scripts *never* install dependencies
1108 2013-05-31 09:12:06 <TheUni> i'd just prefer to do a pull req that's nice and clean rather than saying "it's ugly but i can't help it!" :)
1109 2013-05-31 09:12:17 <TheUni> wumpus: it's not about installing anything
1110 2013-05-31 09:12:20 <TheUni> it's about finding them
1111 2013-05-31 09:12:33 <wumpus> just look in the default locations and allow custom paths to be passed
1112 2013-05-31 09:12:47 <TheUni> wumpus: sure, that's how it works
1113 2013-05-31 09:13:00 <TheUni> but, as a comparison, linux looks like this:
1114 2013-05-31 09:13:02 <TheUni> ./configure
1115 2013-05-31 09:13:08 <TheUni> windows is:
1116 2013-05-31 09:13:23 gjj has quit (Remote host closed the connection)
1117 2013-05-31 09:13:25 <TheUni> LDFLAGS=-L/opt/bitcoin/lib CPPFLAGS="-I/opt/bitcoin/include -I/opt/bitcoin/include/boost -L/home/cory/dev/bitcoin/deps/boost/boost_1_50_0/stage/lib" ./configure --host=i586-mingw32msvc --with-boost=/home/cory/dev/bitcoin/deps/boost/boost_1_50_0/stage
1118 2013-05-31 09:13:27 <wumpus> and yes, the gitian configure line will be longer because it uses non-standard locations, no problem 
1119 2013-05-31 09:14:10 <TheUni> wumpus: i'm not sure why everything is discussed in terms of gitian, rather than a casual dev who's hacking on the source
1120 2013-05-31 09:14:16 <wumpus> cross-building always results in terrible configure lines
1121 2013-05-31 09:14:18 <TheUni> maybe that is our disconnect
1122 2013-05-31 09:14:31 <wumpus> if you're building on windows you don't need any of that shit :p
1123 2013-05-31 09:14:49 dfdf has joined
1124 2013-05-31 09:15:09 wallet43 has joined
1125 2013-05-31 09:15:36 <sipa> well i'd certainly like it if i could build windows binaries without gitian
1126 2013-05-31 09:16:09 <sipa> i know it's possible
1127 2013-05-31 09:16:19 <sipa> but it's just inconvenient
1128 2013-05-31 09:16:19 <wumpus> when building on a modern debian/ubuntu, many of the deps are available for windows already
1129 2013-05-31 09:16:33 MaxValor has joined
1130 2013-05-31 09:16:39 <BlueMatt> sipa: you can: submit a pullreq...done
1131 2013-05-31 09:16:49 <wumpus> no need to even build them from source, AFAIK, maybe only upnpc
1132 2013-05-31 09:17:01 Elmf has joined
1133 2013-05-31 09:17:23 <BlueMatt> sipa: but, no, its not that bad if you already have the deps zip from gitian
1134 2013-05-31 09:17:24 <sipa> BlueMatt: i said if *I* could build
1135 2013-05-31 09:17:31 <sipa> yeah i know
1136 2013-05-31 09:17:35 <sipa> i'm just lazy
1137 2013-05-31 09:17:41 <TheUni> ok, well, i'll put all that aside and finish up this stage
1138 2013-05-31 09:17:46 <TheUni> one question though
1139 2013-05-31 09:17:50 cypher has joined
1140 2013-05-31 09:18:03 <TheUni> can i assume that i have a reasonable set of binaries/includes for qt?
1141 2013-05-31 09:18:16 <TheUni> and if so, anyone happen to have a tarball laying around? :)
1142 2013-05-31 09:20:23 denisx has joined
1143 2013-05-31 09:21:54 <wumpus> btw now we're talking about the deps, libpng isn't really needed as input either :-) libqrcode just uses it to build an executable that we throw away
1144 2013-05-31 09:22:42 <wumpus> the qrcode library doesn't depend on libpng in any way, it just passes raw images
1145 2013-05-31 09:23:15 <wumpus> TheUni: you mean the gitian win32-qt output?
1146 2013-05-31 09:23:32 <TheUni> wumpus: i suppose
1147 2013-05-31 09:24:10 <TheUni> wumpus: ./configure --without-tools
1148 2013-05-31 09:24:12 qeb has quit (Quit: ["Textual IRC Client: www.textualapp.com"])
1149 2013-05-31 09:24:31 <TheUni> should be all it takes to drop libpng, if that's all it's used for
1150 2013-05-31 09:24:59 john_z has quit (Remote host closed the connection)
1151 2013-05-31 09:25:19 <wumpus> yes -- the only other that uses libpng is qt, which is not part of the deps and uses it's own
1152 2013-05-31 09:28:38 altamic has joined
1153 2013-05-31 09:28:52 altamic has left ()
1154 2013-05-31 09:29:02 <wumpus> hm I see that my cross build env for mingw64 does build all the dependencies just like gitian, I was a bit over-optimistic with saying they are available as packages :-) kind of forgot we want to produce a static executable, too
1155 2013-05-31 09:29:32 Thepok has joined
1156 2013-05-31 09:31:53 macboz has quit (Quit: This computer has gone to sleep)
1157 2013-05-31 09:35:53 abrkn has joined
1158 2013-05-31 09:36:49 <wumpus> building static executables is a black art, doubly so with windows/mingw, and can hardly ever be done with precompiled packages
1159 2013-05-31 09:37:47 <TheUni> wumpus: right, which is why i'm suggesting a dependency builder as my followup to the autotools part
1160 2013-05-31 09:38:30 <TheUni> do you have a min to check out an example of what i'm talking about? I've done this exact thing on a massive scale already, it'd be dead-simple to move over
1161 2013-05-31 09:39:50 abrkn\ has quit (Ping timeout: 276 seconds)
1162 2013-05-31 09:39:50 robbak has quit (Read error: Connection reset by peer)
1163 2013-05-31 09:40:13 robbak has joined
1164 2013-05-31 09:44:53 gjj has joined
1165 2013-05-31 09:46:03 dfdf has quit (Remote host closed the connection)
1166 2013-05-31 09:46:55 abrkn\ has joined
1167 2013-05-31 09:47:39 <wumpus> sure
1168 2013-05-31 09:49:27 <TheUni> git clone git://github.com/xbmc/xbmc.git
1169 2013-05-31 09:49:42 <TheUni> (it's a bit big, may take a few min)
1170 2013-05-31 09:50:00 <TheUni> cd tools/depends; ./bootstrap && ./configure
1171 2013-05-31 09:50:15 <TheUni> then make
1172 2013-05-31 09:50:52 <TheUni> it fetches all sources, then builds build-side tools, then build about 60 target libs
1173 2013-05-31 09:51:13 chax has quit (Read error: Connection reset by peer)
1174 2013-05-31 09:51:32 abrkn has quit (Ping timeout: 276 seconds)
1175 2013-05-31 09:51:39 chax has joined
1176 2013-05-31 09:52:07 <TheUni> that is massive. but my point is that.. it can be accomplished with a single configure and make
1177 2013-05-31 09:52:11 abrkn\ has quit (Ping timeout: 276 seconds)
1178 2013-05-31 09:52:34 abrkn has joined
1179 2013-05-31 09:52:45 GordonG3kko has quit (Ping timeout: 240 seconds)
1180 2013-05-31 09:53:05 bitnumus has quit (Ping timeout: 264 seconds)
1181 2013-05-31 09:53:08 tyn has joined
1182 2013-05-31 09:53:38 GordonG3kko has joined
1183 2013-05-31 09:53:42 <wumpus> ok, yes indeed, it's like a mini gentoo :)
1184 2013-05-31 09:53:45 guruvan has quit (Ping timeout: 240 seconds)
1185 2013-05-31 09:54:15 nizeguy has joined
1186 2013-05-31 09:54:19 lupine has quit (Excess Flood)
1187 2013-05-31 09:54:46 lupine has joined
1188 2013-05-31 09:54:57 <TheUni> sure, but it's very simple and makes no assumption about the native system
1189 2013-05-31 09:55:09 dfdf has joined
1190 2013-05-31 09:55:10 * BlueMatt thinks that is overkill...
1191 2013-05-31 09:55:23 bitnumus has joined
1192 2013-05-31 09:55:36 <wumpus> well in our case we really only need it for cross-compile to windows
1193 2013-05-31 09:55:37 <TheUni> BlueMatt: well if i were to bring it over here, it'd be slimmed way down
1194 2013-05-31 09:55:41 guruvan has joined
1195 2013-05-31 09:55:46 <TheUni> wumpus: and arm?
1196 2013-05-31 09:56:01 * BlueMatt isnt convinced we need it at all
1197 2013-05-31 09:56:03 <wumpus> when compiling on a native platform, just install the native packages
1198 2013-05-31 09:56:11 <BlueMatt> why are you cross compiling to arm?
1199 2013-05-31 09:56:11 paraipan has quit (Remote host closed the connection)
1200 2013-05-31 09:56:12 <TheUni> android? x64 to x86?
1201 2013-05-31 09:56:23 <BlueMatt> you cant run bitcoind on android...
1202 2013-05-31 09:56:28 <BlueMatt> to x86 -m32
1203 2013-05-31 09:56:31 <wumpus> x64 to x86 is simple, just install the :i386 dev packages
1204 2013-05-31 09:56:33 <BlueMatt> you just need cflags
1205 2013-05-31 09:57:00 <TheUni> i just assumed portability was a goal
1206 2013-05-31 09:57:20 <BlueMatt> it isnt portable at all right now...so, yes, some would be nice
1207 2013-05-31 09:57:25 <wumpus> for arm, yeah, but when you're seriously cross-building for ARM you generally building a lot of stuff, and need the dependencies outside of the context of bitcoin itself
1208 2013-05-31 09:57:41 <BlueMatt> but if you are xcompiling bitcoind to run on something like arm, your device essentially needs to have the umph to run a compiler anyway
1209 2013-05-31 09:57:48 <wumpus> so building the dependencies *inside* bitcoin would be a bit strange
1210 2013-05-31 09:57:48 <BlueMatt> (eg, running bitcoind on raspi is not ok)
1211 2013-05-31 09:57:57 <TheUni> wumpus: i cross-built for arm using only that dependency system. had it up and running in less than an hour
1212 2013-05-31 09:58:33 <TheUni> <BlueMatt> it isnt portable at all right now...so, yes, some would be nice
1213 2013-05-31 09:58:35 <wumpus> also when building for an embedded target you usually want to use the shared libraries available on that rootfs
1214 2013-05-31 09:58:48 <wumpus> not build a static executable that ignores everything
1215 2013-05-31 09:59:01 <BlueMatt> bitcoind cant run on an embedded target...
1216 2013-05-31 09:59:05 <TheUni> BlueMatt: just keep in mind that it would be nice, i'm raising my hand, and offering a plan
1217 2013-05-31 09:59:11 <TheUni> huh?
1218 2013-05-31 09:59:20 <wumpus> oh it can
1219 2013-05-31 09:59:21 <BlueMatt> anything that qualifies as embedded doesnt have the processing power to be a full node
1220 2013-05-31 09:59:24 <BlueMatt> or the iops or whatever
1221 2013-05-31 09:59:32 hnz has quit (Ping timeout: 256 seconds)
1222 2013-05-31 09:59:34 <wumpus> there's some quite beefy arm boxes out there, these days
1223 2013-05-31 09:59:36 <TheUni> what does embedded have anything to do with that?
1224 2013-05-31 09:59:43 <BlueMatt> wumpus: yes, I have one
1225 2013-05-31 09:59:49 <BlueMatt> I installed gcc there and compiled bitcoind...
1226 2013-05-31 09:59:55 <wumpus> quad-core, lots of memory
1227 2013-05-31 10:00:08 <BlueMatt> but it doesnt really qualify as embedded if its quad-core and takes a full debian install with gcc
1228 2013-05-31 10:00:14 <BlueMatt> (and sata)
1229 2013-05-31 10:00:17 <TheUni> ...
1230 2013-05-31 10:01:18 <wumpus> hmyeah what 'really quailfies as embedded' is more like a philosophical point I'm afraid :)
1231 2013-05-31 10:01:31 <TheUni> well "embedded" is of no significance here
1232 2013-05-31 10:01:35 <BlueMatt> ok, well my point is: if it cant run gcc, there is no way it has enough cpu/iops to run bitcoind
1233 2013-05-31 10:01:38 <wumpus> many really embedded devices just run some debian
1234 2013-05-31 10:01:59 <TheUni> BlueMatt: what does running gcc have anything at all to do with running bitcoin?
1235 2013-05-31 10:02:14 <TheUni> i don't compile on my nas either, but it's beefier than my desktop was 3 years ago
1236 2013-05-31 10:02:16 <BlueMatt> my point is targeting arm xcompiling is not really at all important
1237 2013-05-31 10:02:33 <TheUni> BlueMatt: i would argue that targeting portability is crucially important
1238 2013-05-31 10:02:36 <BlueMatt> its a "would be nice, but really dont care"
1239 2013-05-31 10:03:00 <wumpus> well the autoconf will have to support cross compiling to any environment by passing the right arguments and environment vars
1240 2013-05-31 10:03:05 <wumpus> but aside from that...
1241 2013-05-31 10:03:15 <BlueMatt> feel free to implement, but having a ./bootstrap-download-all-deps-and-build.sh is probably not something worth having...
1242 2013-05-31 10:03:47 <wumpus> BlueMatt: it is, if it does deterministic builds for all platforms too :P
1243 2013-05-31 10:04:05 <BlueMatt> who said anything about deterministic?
1244 2013-05-31 10:04:11 <wumpus> but that'd be kind of a wrapper around gitian 
1245 2013-05-31 10:04:12 <BlueMatt> (it would be a pita to make that script deterministic)
1246 2013-05-31 10:04:45 <BlueMatt> unless its a gitian wrapper, at which point its...pointless?
1247 2013-05-31 10:04:45 <TheUni> why is that? it's self-hosting
1248 2013-05-31 10:04:48 hnz has joined
1249 2013-05-31 10:04:52 <wumpus> well it'd be nice if there is a new release and the builders can just do ./gitian-do-frigging-everything.sh :P
1250 2013-05-31 10:05:09 <BlueMatt> wumpus: gitian is like 4 commands right now...get over it?
1251 2013-05-31 10:05:47 webuser234 has joined
1252 2013-05-31 10:05:53 <wumpus> sigh, I'm just saying it would be nice, nothing more
1253 2013-05-31 10:06:04 <BlueMatt> ok...well ok
1254 2013-05-31 10:06:16 dfdf has quit (Remote host closed the connection)
1255 2013-05-31 10:06:22 * BlueMatt copies 4 lines from .bash_history into a .sh, adds a header and a cd...done
1256 2013-05-31 10:07:04 <wumpus> nah it'd also have to check the deps, see if they need to be rebuilt, and such things, it's not just those four lines, everything sounds trivial until you try to implement it robustly and notice all the edge cases :)
1257 2013-05-31 10:07:58 macboz has joined
1258 2013-05-31 10:07:59 rdymac has joined
1259 2013-05-31 10:07:59 rdymac has quit (Changing host)
1260 2013-05-31 10:07:59 rdymac has joined
1261 2013-05-31 10:08:34 Chuky has joined
1262 2013-05-31 10:08:39 wallet43 has quit (Quit: Leaving.)
1263 2013-05-31 10:08:48 <TheUni> ok, one last try for the night.. anyone can point me to gitian qt binaries?
1264 2013-05-31 10:09:50 <wumpus> yes
1265 2013-05-31 10:10:18 denisx has quit (Quit: denisx)
1266 2013-05-31 10:10:37 <wumpus> uploading
1267 2013-05-31 10:10:37 denisx has joined
1268 2013-05-31 10:10:57 <TheUni> thanks
1269 2013-05-31 10:11:49 <webuser234> Hi, I just upgraded bitoind on both of my servers from 0.8.1 to 0.8.2. I've been helping the network this way for many month now. I've been hearing that 0.8.2 imposses some limits on how small transaction it relays. My question is how do I make my daemons more liberal (which settings) so I they still relay even the small transaction be it satoshidice or others. I've got unlimitted bandwidth. Thanks
1270 2013-05-31 10:12:36 <BlueMatt> its not a question of your own bandwidth
1271 2013-05-31 10:12:42 <BlueMatt> its a question of everyone's bandwidth
1272 2013-05-31 10:12:52 <BlueMatt> please dont relay crap
1273 2013-05-31 10:13:35 <wumpus> also satoshidice changed their minimum output, so there's no issue with them
1274 2013-05-31 10:13:41 foami has joined
1275 2013-05-31 10:13:43 <BlueMatt> yes, sadly
1276 2013-05-31 10:13:48 <foami> hi
1277 2013-05-31 10:13:50 <wumpus> yeah :(
1278 2013-05-31 10:13:52 paraipan has joined
1279 2013-05-31 10:14:20 saulimus has joined
1280 2013-05-31 10:14:25 <wumpus> then again, at least their loser payout has some kind of minimal value now, and can be spent, which is what was the point
1281 2013-05-31 10:14:52 <BlueMatt> well, true, if only coin selection algorithms sweeped up change though...
1282 2013-05-31 10:15:45 <webuser234> BlueMatt, I understand it with my head by my heart tells me I should not be trying to control what can or can not be relayed.
1283 2013-05-31 10:15:53 <webuser234> By the way those are my stats if devs are interested
1284 2013-05-31 10:16:01 <webuser234>  eth0  /  monthly         month        rx      |     tx      |    total    |   avg. rate     ------------------------+-------------+-------------+---------------       Jun '12     11.28 GiB |  108.44 GiB |  119.72 GiB |  387.46 kbit/s       Jul '12      8.90 GiB |  109.16 GiB |  118.06 GiB |  369.76 kbit/s       Aug '12      7.10 GiB |   94.44 GiB |  101.54 GiB |  318.02 kbit/s       Sep '12      8.31 GiB |   85.45 GiB |   93.7
1285 2013-05-31 10:16:10 <webuser234> oh shit; sorry didn't come out righ
1286 2013-05-31 10:16:41 <BlueMatt> webuser234: the limits were added for a reason
1287 2013-05-31 10:16:47 <webuser234> http://pastebin.com/Rt3RuvxR
1288 2013-05-31 10:16:55 <BlueMatt> (and its not arbitrary)
1289 2013-05-31 10:17:18 <webuser234> I started bitcoind in Dec
1290 2013-05-31 10:23:09 tyn has quit (Ping timeout: 248 seconds)
1291 2013-05-31 10:23:41 senorbac has joined
1292 2013-05-31 10:23:59 Subo1978 has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
1293 2013-05-31 10:27:25 erska_ has joined
1294 2013-05-31 10:27:34 helo_ has joined
1295 2013-05-31 10:27:36 CaptainBlaze has joined
1296 2013-05-31 10:28:09 troc_ has joined
1297 2013-05-31 10:28:40 GordonG3kko has quit (Ping timeout: 240 seconds)
1298 2013-05-31 10:28:40 sensorii has quit (Ping timeout: 240 seconds)
1299 2013-05-31 10:28:40 sacredchao has quit (Ping timeout: 240 seconds)
1300 2013-05-31 10:28:40 guruvan has quit (Ping timeout: 240 seconds)
1301 2013-05-31 10:28:40 beethoven2 has quit (Ping timeout: 240 seconds)
1302 2013-05-31 10:28:40 random_cat has quit (Ping timeout: 240 seconds)
1303 2013-05-31 10:28:40 wiretapped has quit (Ping timeout: 240 seconds)
1304 2013-05-31 10:28:40 paraipan has quit (Ping timeout: 240 seconds)
1305 2013-05-31 10:28:40 cypher has quit (Ping timeout: 240 seconds)
1306 2013-05-31 10:28:40 gst has quit (Ping timeout: 240 seconds)
1307 2013-05-31 10:28:40 KillYourTV has quit (Ping timeout: 240 seconds)
1308 2013-05-31 10:28:40 darkee has quit (Ping timeout: 240 seconds)
1309 2013-05-31 10:28:40 MobiusL has quit (Ping timeout: 240 seconds)
1310 2013-05-31 10:28:40 lupine has quit (Ping timeout: 264 seconds)
1311 2013-05-31 10:28:40 CAP8646 has quit (Ping timeout: 264 seconds)
1312 2013-05-31 10:28:41 Sliver has quit (Ping timeout: 264 seconds)
1313 2013-05-31 10:28:41 helo has quit (Ping timeout: 264 seconds)
1314 2013-05-31 10:28:41 troc has quit (Ping timeout: 264 seconds)
1315 2013-05-31 10:28:41 erska has quit (Ping timeout: 264 seconds)
1316 2013-05-31 10:28:41 Sliver has joined
1317 2013-05-31 10:28:41 lupine has joined
1318 2013-05-31 10:28:41 lupine has quit (Changing host)
1319 2013-05-31 10:28:41 lupine has joined
1320 2013-05-31 10:28:41 troc_ is now known as troc
1321 2013-05-31 10:35:55 Subo1978 has joined
1322 2013-05-31 10:36:55 <TheUni> ahh, bitcoin-qt.exe built, so i can sleep :)
1323 2013-05-31 10:37:05 <TheUni> thanks for the help wumpus, BlueMatt, Luke-Jr
1324 2013-05-31 10:37:18 <BlueMatt> hah!, I was right,  Assertion `"mempool transaction missing input" == 0' failed.
1325 2013-05-31 10:37:21 <BlueMatt> it can fail
1326 2013-05-31 10:37:30 <BlueMatt> now that said...no fucking clue what I did to make it
1327 2013-05-31 10:37:34 lupine has quit (Ping timeout: 264 seconds)
1328 2013-05-31 10:37:34 Sliver has quit (Ping timeout: 264 seconds)
1329 2013-05-31 10:37:35 lupine has joined
1330 2013-05-31 10:37:46 guruvan has joined
1331 2013-05-31 10:38:14 Sliver has joined
1332 2013-05-31 10:41:54 MobiusL has joined
1333 2013-05-31 10:43:08 sacredchao has joined
1334 2013-05-31 10:43:25 KillYourTV has joined
1335 2013-05-31 10:43:40 denisx has quit (Quit: denisx)
1336 2013-05-31 10:43:48 random_cat has joined
1337 2013-05-31 10:44:01 GordonG3kko has joined
1338 2013-05-31 10:44:13 sensorii has joined
1339 2013-05-31 10:46:47 paracyst has quit (Read error: Connection reset by peer)
1340 2013-05-31 10:47:30 jtimon has quit (Remote host closed the connection)
1341 2013-05-31 10:48:46 darkee has joined
1342 2013-05-31 10:49:27 cypher has joined
1343 2013-05-31 10:49:45 g0thX has quit (Quit: Linkinus - http://linkinus.com)
1344 2013-05-31 10:50:30 Subo1978 has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
1345 2013-05-31 10:52:07 Subo1978 has joined
1346 2013-05-31 10:52:27 gst has joined
1347 2013-05-31 10:52:59 wiretapped has joined
1348 2013-05-31 10:53:12 damo22 has joined
1349 2013-05-31 10:53:28 Truncatem has joined
1350 2013-05-31 10:53:34 <damo22> what is stopping someone from editing the code for the client and rewarding themselves more coins for each block mined?
1351 2013-05-31 10:54:07 rbecker is now known as RBecker
1352 2013-05-31 10:54:37 <jaakkos> damo22: nothing, if you get everyone else in the network to accept the new rules.
1353 2013-05-31 10:54:53 <wumpus> no one, it's not always needed to stop people doing stupid things :)
1354 2013-05-31 10:55:18 <damo22> huh, what stops them doing it silently just for their own benefit or their own mining rig
1355 2013-05-31 10:55:30 <wumpus> nothing, but they'll have their own dream bitcoins
1356 2013-05-31 10:55:34 <wumpus> that no one else will accept
1357 2013-05-31 10:55:53 <damo22> oh
1358 2013-05-31 10:56:05 <lianj> damo22: the network would not accept it because he changed the rules which everyone checks. so you can mine a block but no one will accept it
1359 2013-05-31 10:56:18 <damo22> good
1360 2013-05-31 10:56:26 <damo22> i thought i just found a hole in bitcoin
1361 2013-05-31 10:56:31 <damo22> :P
1362 2013-05-31 10:56:36 <wumpus> the network exists by virtue of agreeing on the rules with respect to block rewards and such
1363 2013-05-31 10:56:55 <wumpus> if you use other rules, you'll have created an altcoin
1364 2013-05-31 10:56:57 <jaakkos> well, dude, you are going to have to look a little harder than that.
1365 2013-05-31 10:57:09 <lianj> hehe
1366 2013-05-31 10:57:12 beethoven2 has joined
1367 2013-05-31 10:57:12 <damo22> :D
1368 2013-05-31 10:57:33 <damo22> im not about finding holes to benefit, i just want to be certain its unbreakable before i invest in the cryptocurrency
1369 2013-05-31 10:58:09 <lianj> look deeper, but dont be disappointed when you find out its sane
1370 2013-05-31 10:58:52 <damo22> i hope its not too late
1371 2013-05-31 10:59:00 <darsk1ez> you'll have to be _very_ creative to think of an exploit vector that someone hasnt considered already.
1372 2013-05-31 10:59:15 <damo22> i know its too late to start mining
1373 2013-05-31 10:59:18 <damo22> lol
1374 2013-05-31 10:59:36 <darsk1ez> if you want bitcoins, offer some service or goods for them.
1375 2013-05-31 10:59:40 <Aurigae> THE vulnerable in bitcoin are the USERS ....
1376 2013-05-31 10:59:51 <Aurigae> lol
1377 2013-05-31 10:59:56 <damo22> yeah
1378 2013-05-31 11:00:05 <damo22> thats sad though
1379 2013-05-31 11:00:23 <damo22> i bet millions of dollars have been lost by gambling bitcoin already
1380 2013-05-31 11:00:55 <Aurigae> from a technical pure system exploi tperspective with  the transpoarency background, to SE on stupid users by unethical individuals, .....
1381 2013-05-31 11:01:29 <Aurigae> imo, gambling and financial assets as well as hard assets .....
1382 2013-05-31 11:01:31 <Aurigae> lol
1383 2013-05-31 11:04:58 reneg has quit (Ping timeout: 252 seconds)
1384 2013-05-31 11:05:19 <Aurigae> hehe, damo, the dollars arent lost, just somebody else owns them who was smarter in the first place
1385 2013-05-31 11:05:41 <Aurigae> that easy, like 123
1386 2013-05-31 11:06:02 <webuser234> damo22, gambling isn't stupid - it's life in its purest form
1387 2013-05-31 11:06:53 <Aurigae> gambling is stupid because the casino in 99% of cases has a advantage, of course its a nice thrill if chances are equal like a home poker game i think
1388 2013-05-31 11:07:30 <webuser234> Aurigae, not if it's provable
1389 2013-05-31 11:07:49 <Aurigae> proveable?
1390 2013-05-31 11:09:44 <webuser234> Aurigae, Take satoshidice as an example ... it's an investment in its purest form ... you chose how much you want to put in, you know exactly how much you gonna get. Bam, done. You eiether win or loose - pure binary outcome without building theories around it.
1391 2013-05-31 11:10:15 <Aurigae> perfect example that the house has the edge
1392 2013-05-31 11:10:36 <runeks> devs, do you think it would make sense to add a queue to the thread that runs -blocknotify commands? as it is currently, the command is run whenever a new block comes in, which can happen at a rate of 50 blocks per second. so the previous -blocknotify command might not have finished before the next is executed. I'm thinking this can be solved with a queue, but I'm not sure how to implement it, or even if you agree that it's needed.
1393 2013-05-31 11:12:04 <webuser234> Aurigae, well yeah; edge is just fancy term for fee. You pay fee in everything you do - you gamble your life goingn to certain school for example; you pay the fee. Outcome will be 0 - not successful 1 - successful
1394 2013-05-31 11:12:27 <wumpus> runeks: sounds like a very unscalable solution; I think it would be better to time-limit the requests somehow, and pass the block number so that the command knows how many blocks have passed
1395 2013-05-31 11:12:51 <wumpus> runeks: alternatively you could look at low-overhead notifications such as the zeromq pull
1396 2013-05-31 11:13:02 <wumpus> runeks: starting a command is not ideal for high-frequency events
1397 2013-05-31 11:13:33 dfdf has joined
1398 2013-05-31 11:13:45 <runeks> wumpus: So you're saying it's unscalable because the queue might fill up with a large amount of blocks if the command is slow?
1399 2013-05-31 11:14:26 <wumpus> runeks: yes, as launching a command has a fairly large overhead in itself it will needlessly burden the system
1400 2013-05-31 11:14:30 <wumpus> also known as "fork bomb"
1401 2013-05-31 11:14:38 jtimon has joined
1402 2013-05-31 11:14:54 <runeks> wumpus: Well that's what the current code does. It fires the command on every incoming block.
1403 2013-05-31 11:15:04 <CodeShark> I'm debating between two architectures: 1) integrate a higher level streaming API into bitcoind, 2) run a separate process that connects to bitcoind via p2p and exposes a higher level streaming API to other apps (the architecture I'm currently using)
1404 2013-05-31 11:15:14 <wumpus> yes, which is why I proposed two other solutions that would be better
1405 2013-05-31 11:15:43 <wumpus> CodeShark: what are you trying to do?
1406 2013-05-31 11:16:15 <CodeShark> develop a platform upon which app developers can build that affords full streaming capabilities but is higher level than the p2p protocol
1407 2013-05-31 11:16:41 <CodeShark> REST is wholely inadequate for a system that requires handling of network events
1408 2013-05-31 11:16:58 <CodeShark> and the p2p protocol is far too low level for most web developers
1409 2013-05-31 11:17:00 mrkent has joined
1410 2013-05-31 11:17:00 mrkent has quit (Changing host)
1411 2013-05-31 11:17:01 mrkent has joined
1412 2013-05-31 11:17:17 <CodeShark> and solutions like -blocknotify are horrendous hacks
1413 2013-05-31 11:17:37 <wumpus> CodeShark: I'd look at the zeromq pull, though not ideal it is very promising, at least it would allow for other processes to subscribe to events, and send commands/receive responses asynchronously
1414 2013-05-31 11:17:54 ne0c0rtex has quit ()
1415 2013-05-31 11:18:06 <CodeShark> I've built a websockets server which has the advantage of being far more familiar to web app developers and can go through firewalls
1416 2013-05-31 11:18:14 <wumpus> zeromq is also used in high frequency trading for example, it's a very good fit for these kinds of things
1417 2013-05-31 11:18:46 <runeks> wumpus: Right. The thing with the timer is that we don't know how long the command takes to finish. If the command takes 20 seconds to finish, and our timer is executes the script with the last 10 seconds of incoming block hashes, it would still be too fast. A queue seems more flexible to me in that regard.
1418 2013-05-31 11:18:48 <wumpus> the idea is that you can build that o top
1419 2013-05-31 11:18:48 <CodeShark> websockets only has minimal additional overhead to a regular TCP socket
1420 2013-05-31 11:18:55 <wumpus> in a seperate process
1421 2013-05-31 11:18:59 one_zero has quit ()
1422 2013-05-31 11:19:22 <wumpus> zeromq has no overhead at all compared to normal sockets, it is very very optimized
1423 2013-05-31 11:20:01 <CodeShark> the biggest downside to zeromq that I see is that most web developers aren't very familiar with it
1424 2013-05-31 11:20:25 <wumpus> well yeah 'most web developers' is kind of a hard to quantify group
1425 2013-05-31 11:20:45 denisx has joined
1426 2013-05-31 11:21:16 <CodeShark> and it can't go through firewalls
1427 2013-05-31 11:21:33 <wumpus> oh it can
1428 2013-05-31 11:21:40 <wumpus> just configure your firewall properly
1429 2013-05-31 11:21:45 <CodeShark> lol
1430 2013-05-31 11:21:59 <Scrat> the difference is that if your backend is down, zeromq will queue up the callbacks while websocket will not
1431 2013-05-31 11:22:35 <CodeShark> well, you can add queueing to the websocket server :)
1432 2013-05-31 11:23:15 <wumpus> yes you can, but you don't want all that ballast in the bitcoind
1433 2013-05-31 11:24:36 <wumpus> and once someone is writing real financial applications and not just some web frontend, investing in knowing zeromq is probably a good idea
1434 2013-05-31 11:24:48 <runeks> wumpus: Thinking about it some more, doesn't the -blocknotify feature lose its purpose if we rate-limit executed commands with a timer? I mean, if we only send out new blocks every n seconds, we might as well have a script that polls bitcoind with the getblockcount command every n seconds. That would be equivalent, except for the fact that bitcoind would need to respond to an RPC request every n seconds, regardless of whether there are new
1435 2013-05-31 11:24:48 <runeks> blocks or not.
1436 2013-05-31 11:24:55 reneg has joined
1437 2013-05-31 11:25:02 <CodeShark> zeromq is a very reasonable way to go
1438 2013-05-31 11:26:02 <wumpus> runeks: sure, but it's always a compromise.. if the events you want to monitor occur faster than your communication channel allows you need to aggregate somehow...
1439 2013-05-31 11:26:27 <wumpus> runeks: but yes that reasoning is why the UI polls the block number instead of getting notified on new blocks
1440 2013-05-31 11:26:44 <wumpus> runeks: 'block notify' is only useful *after* the initial sync
1441 2013-05-31 11:27:03 <wumpus> in the initial block download it clogs all the pipes :P
1442 2013-05-31 11:27:12 damo22 has left ()
1443 2013-05-31 11:27:47 <CodeShark> actually, the architecture I think I'd most like to see is super streamlined verification/relay nodes that just do p2p, SPV nodes that provide a higher level streaming API, and then apps built atop those nodes
1444 2013-05-31 11:28:13 <wumpus> I'm sure we'd all rather see that
1445 2013-05-31 11:28:25 <wumpus> but we have to work with what we've got, for now :)
1446 2013-05-31 11:29:44 <runeks> wumpus: So instead of building up a queue of commands to be executed, we could execute the command once upon the first incoming block, then if new blocks come while the command is still running we just add block hashes to the queue, and when the first command finishes we execute the -blocknotify command with the first and last block hash in the queue list. That would prevent the "fork bomb" while only executing the -blocknotify command the
1447 2013-05-31 11:29:44 <runeks> smallest possible number of times, while retaining real-time notifications.
1448 2013-05-31 11:30:35 <wumpus> runeks: yes, executing a command provides natural rate limiting: just only re-execute the command once it comes back
1449 2013-05-31 11:30:49 <Scrat> a fork bomb isn't a problem when the entire network can sustain 7 tps tops
1450 2013-05-31 11:31:12 <runeks> wumpus: Right, that would be the idea. Handle new incoming blocks in batches if more than one has come in while the previous command was executing.
1451 2013-05-31 11:31:14 savetheinternet has quit (Quit: Textual IRC Client: www.textualapp.com)
1452 2013-05-31 11:31:28 <runeks> Scrat: It is when you start bitcoind and it's missing 1000 blocks
1453 2013-05-31 11:31:35 <wumpus> Scrat: eh a fork bomb messes up a server, it has nothing to do with the network
1454 2013-05-31 11:31:54 <Scrat> wumpus: of course, did I say otherwise?
1455 2013-05-31 11:32:08 <wumpus> Scrat: ok I suppose I just didn't understand you :)
1456 2013-05-31 11:32:47 <wumpus> runeks: yep
1457 2013-05-31 11:32:52 <Scrat> wumpus: well that's my general reaction to people saying that running external commands is inefficient: even if you do 100% of bitcoin's traffic a low spec cpu core can handle it
1458 2013-05-31 11:33:03 <wumpus> so the command would be passed 'number of notifications while the previous incarnation was running'
1459 2013-05-31 11:33:55 <CodeShark> seems better to just store the messages in a file :p
1460 2013-05-31 11:34:01 <wumpus> Scrat: oh right.. I agree... after the initial sync, even a very low par cpu can handle the traffic
1461 2013-05-31 11:34:04 <CodeShark> and have the other processes read that file
1462 2013-05-31 11:34:06 <runeks> wumpus: Yes, that's the idea. Although I'm not sure whether we should pass first and last block hash, or number of blocks or something else.
1463 2013-05-31 11:34:35 <wumpus> CodeShark: ghetto queues :)
1464 2013-05-31 11:34:40 <CodeShark> exactly :)
1465 2013-05-31 11:34:49 <runeks> Scrat: The -blocknotify command is executed for every incoming block. So if you start bitcoind and it's missing 1000 blocks, the command will be executed 1000 times.
1466 2013-05-31 11:35:39 <Scrat> at ~10 blocks/sec this shouldn't be a problem
1467 2013-05-31 11:36:19 licnep has quit (Ping timeout: 252 seconds)
1468 2013-05-31 11:36:23 <runeks> wumpus: So now the question becomes: how do we pass an object from SetBestChain to the thread, whose state is retained while bitcoind is running?
1469 2013-05-31 11:36:41 <runeks> Scrat: Who says we're limited to 10 blocks/s?
1470 2013-05-31 11:37:20 <wumpus> don't forget that blocks can be 128 bytes or so if they contain no transactions
1471 2013-05-31 11:37:42 <wumpus> so much more than 10 blocks/s is possible, in principle at least, recent blocks are usually much bigger of course
1472 2013-05-31 11:37:55 xeroc has quit (Ping timeout: 264 seconds)
1473 2013-05-31 11:37:59 jandd has quit (Ping timeout: 252 seconds)
1474 2013-05-31 11:38:13 Orbixx_ has joined
1475 2013-05-31 11:38:19 <runeks> A guy on Reddit posted that he synced the whole block chain on his computer at a university office with a 1Gbit Internet link in 17 minutes
1476 2013-05-31 11:38:24 Orbixx has quit (Ping timeout: 256 seconds)
1477 2013-05-31 11:38:32 wereHamster has quit (Ping timeout: 252 seconds)
1478 2013-05-31 11:38:48 <runeks> That's an average of 234 blocks per second.
1479 2013-05-31 11:39:02 <runeks> Probably a lot faster in the beginning.
1480 2013-05-31 11:39:48 <Scrat> yeah I was talking about the last blocks but I see your point. in that case blocknotify wont work
1481 2013-05-31 11:39:55 jandd has joined
1482 2013-05-31 11:39:56 <CodeShark> I can sync the whole block chain in less than that if I've got the block chain in RAM and the last checkpoint is one block ago :p
1483 2013-05-31 11:40:08 wereHamster has joined
1484 2013-05-31 11:40:19 <Scrat> an "echo \"1\" > /newblock" would work however
1485 2013-05-31 11:40:49 <Scrat> then monitor the directory for changes
1486 2013-05-31 11:41:04 <CodeShark> ugh :p
1487 2013-05-31 11:41:17 <Scrat> ugly but it works
1488 2013-05-31 11:41:50 <wumpus> if it works good enough for your use case, by all means use the simple solution, no need to overdesign things 
1489 2013-05-31 11:43:55 Blitzboom_ has quit (Remote host closed the connection)
1490 2013-05-31 11:44:08 Blitzboom has joined
1491 2013-05-31 11:44:23 <Scrat> CodeShark: or this http://pastebin.com/60ujKcrT
1492 2013-05-31 11:44:32 <Scrat> for transactio notifications
1493 2013-05-31 11:44:36 <Scrat> +n
1494 2013-05-31 11:44:48 johnsoft1 has joined
1495 2013-05-31 11:46:48 johnsoft has quit (Ping timeout: 248 seconds)
1496 2013-05-31 11:46:53 webuser234 has quit (Quit: Page closed)
1497 2013-05-31 11:55:44 Julius129 has joined
1498 2013-05-31 11:56:47 <BlueMatt> heh, using regtest mode to test bitcoind is fun...when setgenerate true generates blocks so fast you get a huge number of orphans...testing goes fast
1499 2013-05-31 12:01:58 <wumpus> hehe
1500 2013-05-31 12:05:41 grau has joined
1501 2013-05-31 12:09:55 Aurigae has quit (Quit: Leaving.)
1502 2013-05-31 12:10:39 emryss has quit (Read error: Connection reset by peer)
1503 2013-05-31 12:11:01 macboz has quit (Quit: This computer has gone to sleep)
1504 2013-05-31 12:12:33 dfdf has quit (Remote host closed the connection)
1505 2013-05-31 12:13:07 rdymac has quit (Ping timeout: 260 seconds)
1506 2013-05-31 12:13:20 emryss has joined
1507 2013-05-31 12:15:41 dooglus has quit (Ping timeout: 248 seconds)
1508 2013-05-31 12:17:54 rdymac has joined
1509 2013-05-31 12:19:12 Nekkkros has quit (Ping timeout: 256 seconds)
1510 2013-05-31 12:21:58 rdymac has quit (Client Quit)
1511 2013-05-31 12:24:17 stavros has quit (Disconnected by services)
1512 2013-05-31 12:24:30 stavs has joined
1513 2013-05-31 12:27:02 johnsoft1 has quit (Quit: Leaving.)
1514 2013-05-31 12:27:24 Namworld has quit ()
1515 2013-05-31 12:29:56 datagutt has joined
1516 2013-05-31 12:31:34 robocoin has joined
1517 2013-05-31 12:31:34 robocoin has quit (Changing host)
1518 2013-05-31 12:31:34 robocoin has joined
1519 2013-05-31 12:32:27 robocoin has quit (Client Quit)
1520 2013-05-31 12:32:31 coderrr has joined
1521 2013-05-31 12:37:33 johnsoft has joined
1522 2013-05-31 12:37:38 robocoin has joined
1523 2013-05-31 12:37:38 robocoin has quit (Changing host)
1524 2013-05-31 12:37:38 robocoin has joined
1525 2013-05-31 12:38:41 MagicalTux has quit (Excess Flood)
1526 2013-05-31 12:41:14 MT`AwAy has joined
1527 2013-05-31 12:42:06 ielo has joined
1528 2013-05-31 12:42:28 xeroc has joined
1529 2013-05-31 12:43:30 robocoin has quit (Remote host closed the connection)
1530 2013-05-31 12:45:45 GordonG3kko has quit (Ping timeout: 240 seconds)
1531 2013-05-31 12:49:31 GordonG3kko has joined
1532 2013-05-31 12:51:19 <BlueMatt> sipa: #2592 broke pull-tester... :(
1533 2013-05-31 12:51:28 <BlueMatt> (though I dont think it has anything to do with the pull, I blame you)
1534 2013-05-31 12:53:40 test_ has joined
1535 2013-05-31 12:54:22 test_ has quit (Client Quit)
1536 2013-05-31 12:57:42 gbg_ is now known as gbg
1537 2013-05-31 12:59:18 robocoin has joined
1538 2013-05-31 12:59:18 robocoin has quit (Changing host)
1539 2013-05-31 12:59:18 robocoin has joined
1540 2013-05-31 13:00:50 MaxValor has quit ()
1541 2013-05-31 13:04:50 denisx has quit (Quit: denisx)
1542 2013-05-31 13:06:48 Julius129 has quit (Ping timeout: 256 seconds)
1543 2013-05-31 13:11:07 licnep has joined
1544 2013-05-31 13:11:27 MaxValor has joined
1545 2013-05-31 13:11:34 runeks has quit (Remote host closed the connection)
1546 2013-05-31 13:16:59 CodeShark has quit (Remote host closed the connection)
1547 2013-05-31 13:18:39 jgarzik has joined
1548 2013-05-31 13:18:41 i2pRelay has joined
1549 2013-05-31 13:19:50 runeks has joined
1550 2013-05-31 13:20:20 RazielZ has quit (Quit: Leaving)
1551 2013-05-31 13:21:15 Neozonz has quit (Read error: Connection reset by peer)
1552 2013-05-31 13:34:00 saulimus has quit (Ping timeout: 256 seconds)
1553 2013-05-31 13:37:04 seeingidog__ has quit (Ping timeout: 252 seconds)
1554 2013-05-31 13:37:44 <helo_> hmm... if i have one full node that is synched, and use it as a reference, i wouldn't be losing security if i hand-coded a checkpoint a couple hundred blocks back, would i?
1555 2013-05-31 13:37:52 p15_ has quit (Ping timeout: 252 seconds)
1556 2013-05-31 13:37:55 helo_ is now known as helo
1557 2013-05-31 13:38:04 WKNiGHT- is now known as WKNiGHT
1558 2013-05-31 13:38:55 Insty has quit (Read error: Operation timed out)
1559 2013-05-31 13:39:52 MT`AwAy has quit (Changing host)
1560 2013-05-31 13:39:52 MT`AwAy has joined
1561 2013-05-31 13:42:22 da2ce7 has joined
1562 2013-05-31 13:43:07 da2ce7 has quit (Ping timeout: 252 seconds)
1563 2013-05-31 13:44:34 <nsh> runeks, i bet i could sync a hundred blockchains
1564 2013-05-31 13:45:23 <runeks> nsh: Huh?
1565 2013-05-31 13:45:40 <nsh> reddit snowclone (meme) gag. not important
1566 2013-05-31 13:46:31 <nsh> ( http://www.gamerswithjobs.com/node/47405 )
1567 2013-05-31 13:46:45 i2pRelay has quit (Ping timeout: 240 seconds)
1568 2013-05-31 13:46:50 michagogo has joined
1569 2013-05-31 13:47:25 darkee has quit (Ping timeout: 240 seconds)
1570 2013-05-31 13:49:16 <runeks> nsh: LOL :)
1571 2013-05-31 13:49:54 <runeks> Or I should say...
1572 2013-05-31 13:50:04 Zoop_ has joined
1573 2013-05-31 13:50:42 <runeks> Well, I certainly applaud anyone wanting to sync a hundred blockchains, but take it from this old bitcoin rat, I've spent my entire adult life involved in bitcoin, and a program like this one can do more harm than good.
1574 2013-05-31 13:50:43 Insty has joined
1575 2013-05-31 13:51:08 i2pRelay has joined
1576 2013-05-31 13:52:04 <jgarzik> That's not a very long adult life ;p
1577 2013-05-31 13:53:27 rdponticelli has joined
1578 2013-05-31 13:53:38 cc_8 has joined
1579 2013-05-31 13:53:38 cc_8 is now known as alphaguru
1580 2013-05-31 13:54:32 <runeks> Or maybe I just revealed I'm Satoshi?
1581 2013-05-31 13:54:39 betterthanwell has joined
1582 2013-05-31 13:55:32 <runeks> OR maybe I just revealed that I'm not that old.
1583 2013-05-31 13:56:09 <nsh> :)
1584 2013-05-31 13:57:01 darkee has joined
1585 2013-05-31 13:58:33 i2pRelay has quit (Remote host closed the connection)
1586 2013-05-31 13:59:01 i2pRelay has joined
1587 2013-05-31 13:59:08 tyn has joined
1588 2013-05-31 13:59:18 betterthanwell has quit (Remote host closed the connection)
1589 2013-05-31 13:59:33 john_z has joined
1590 2013-05-31 14:01:42 dooglus has joined
1591 2013-05-31 14:01:42 dooglus has quit (Changing host)
1592 2013-05-31 14:01:42 dooglus has joined
1593 2013-05-31 14:04:39 iwilcox has quit (Ping timeout: 260 seconds)
1594 2013-05-31 14:06:04 viperhr has joined
1595 2013-05-31 14:08:08 picopinth has quit (Ping timeout: 248 seconds)
1596 2013-05-31 14:08:21 grau has quit (Remote host closed the connection)
1597 2013-05-31 14:08:55 grau has joined
1598 2013-05-31 14:10:05 iwilcox has joined
1599 2013-05-31 14:10:05 iwilcox has quit (Changing host)
1600 2013-05-31 14:10:05 iwilcox has joined
1601 2013-05-31 14:10:26 <eps> the definition of adult can vary quite significantly
1602 2013-05-31 14:10:36 <eps> in the US it is often 21
1603 2013-05-31 14:10:43 <eps> in some places it is 16
1604 2013-05-31 14:10:49 <eps> or lower
1605 2013-05-31 14:11:12 <lianj> 16 really, where?
1606 2013-05-31 14:11:15 <eps> so runeks could be anything from 12 to 24
1607 2013-05-31 14:11:54 <michagogo> EPiSKiNG-
1608 2013-05-31 14:11:56 <michagogo> er
1609 2013-05-31 14:12:08 <michagogo> eps: Pretty sure in the US it's 18
1610 2013-05-31 14:12:41 <eps> well it depends on exactly what you are talking about, some states don't let you drink till you are 21 for example
1611 2013-05-31 14:12:48 denisx has joined
1612 2013-05-31 14:15:12 <lianj> eps: not sure if allowed to drink defines an adult ;)
1613 2013-05-31 14:16:06 <gonffen> in the US the definition of an adult is 18
1614 2013-05-31 14:16:20 <michagogo> ^
1615 2013-05-31 14:16:26 <gonffen> and the general purpose rule is 21 for drinking in all states
1616 2013-05-31 14:16:37 <lianj> i think in most of europe aswell
1617 2013-05-31 14:16:42 <gonffen> there are some exceptions to it, like in own home provided by parent
1618 2013-05-31 14:18:35 <gonffen> and sorry I missed michagogo saying it. Didn't mean to shove it in your face. :)
1619 2013-05-31 14:22:31 Odyessus has joined
1620 2013-05-31 14:31:22 filleokus has quit (Excess Flood)
1621 2013-05-31 14:31:30 jaequery has joined
1622 2013-05-31 14:31:47 filleokus has joined
1623 2013-05-31 14:32:25 jaequery has quit (Max SendQ exceeded)
1624 2013-05-31 14:32:49 Odyessus has quit (Quit: Colloquy for iPad - http://colloquy.mobi)
1625 2013-05-31 14:33:02 jaequery has joined
1626 2013-05-31 14:36:24 jaequery has quit (Client Quit)
1627 2013-05-31 14:38:00 yubrew has joined
1628 2013-05-31 14:42:47 JDuke128 has joined
1629 2013-05-31 14:43:38 ovidiusoft has quit (Quit: leaving)
1630 2013-05-31 14:47:34 sacrelege has joined
1631 2013-05-31 14:48:21 jedunnigan has joined
1632 2013-05-31 14:52:54 Julius129 has joined
1633 2013-05-31 14:56:45 iwilcox_ has joined
1634 2013-05-31 14:56:45 iwilcox_ has quit (Changing host)
1635 2013-05-31 14:56:45 iwilcox_ has joined
1636 2013-05-31 14:57:07 o3u has quit (Ping timeout: 264 seconds)
1637 2013-05-31 14:59:34 iwilcox has quit (Ping timeout: 256 seconds)
1638 2013-05-31 15:02:11 dvide has joined
1639 2013-05-31 15:04:52 Subo1978_ has joined
1640 2013-05-31 15:07:14 iwilcox_ is now known as iwilcox
1641 2013-05-31 15:07:23 Subo1978 has quit (Remote host closed the connection)
1642 2013-05-31 15:08:39 jurov has quit (Ping timeout: 245 seconds)
1643 2013-05-31 15:09:13 Subo1978_ is now known as Subo1978
1644 2013-05-31 15:21:19 abrkn has quit ()
1645 2013-05-31 15:28:36 o3u has joined
1646 2013-05-31 15:36:40 darsk1ez is now known as darkskiez
1647 2013-05-31 15:36:55 sensorii has quit (Remote host closed the connection)
1648 2013-05-31 15:37:04 darkskiez has quit (Changing host)
1649 2013-05-31 15:37:04 darkskiez has joined
1650 2013-05-31 15:37:15 t7 has quit (Remote host closed the connection)
1651 2013-05-31 15:37:29 sensorii has joined
1652 2013-05-31 15:38:10 digitalmagus2 has joined
1653 2013-05-31 15:42:22 tmsk has joined
1654 2013-05-31 15:45:13 iwilcox_ has joined
1655 2013-05-31 15:45:13 iwilcox_ has quit (Changing host)
1656 2013-05-31 15:45:13 iwilcox_ has joined
1657 2013-05-31 15:45:55 iwilcox has quit (Ping timeout: 260 seconds)
1658 2013-05-31 15:49:01 debiantoruser has quit (Ping timeout: 248 seconds)
1659 2013-05-31 15:49:33 t7 has joined
1660 2013-05-31 15:51:07 veox has joined
1661 2013-05-31 15:52:39 saracen has quit (Remote host closed the connection)
1662 2013-05-31 15:53:28 peetaur2 has joined
1663 2013-05-31 15:54:00 GeorgeJ has joined
1664 2013-05-31 15:55:39 debiantoruser has joined
1665 2013-05-31 15:57:26 t7 has quit (Quit: ChatZilla 0.9.90 [Firefox 21.0/20130511120803])
1666 2013-05-31 16:01:20 tyn has quit (Ping timeout: 256 seconds)
1667 2013-05-31 16:01:43 defunctzombie_zz is now known as defunctzombie
1668 2013-05-31 16:01:49 cads has quit (Ping timeout: 248 seconds)
1669 2013-05-31 16:08:39 GeorgeJ has quit (Read error: No route to host)
1670 2013-05-31 16:08:55 GeorgeJ has joined
1671 2013-05-31 16:09:45 tyn has joined
1672 2013-05-31 16:16:04 ericmuys_ has joined
1673 2013-05-31 16:16:41 ericmuyser has quit (Ping timeout: 248 seconds)
1674 2013-05-31 16:20:28 defunctzombie is now known as defunctzombie_zz
1675 2013-05-31 16:21:34 RazielZ has joined
1676 2013-05-31 16:21:59 ByronJoh1son is now known as ByronJohnson
1677 2013-05-31 16:23:13 <wiretapped> https://www.proofofexistence.com/ "Your document's existence is permanently validated by the blockchain"
1678 2013-05-31 16:23:58 <wiretapped> it's a shame their data outputs are each destroying 1000 satoshis :/
1679 2013-05-31 16:24:33 <michagogo> wiretapped: How, by putting the data in the scripts?
1680 2013-05-31 16:24:41 Hunger- has quit (Ping timeout: 248 seconds)
1681 2013-05-31 16:25:02 <sipa> wiretapped: i don't care about destroying coins
1682 2013-05-31 16:25:10 <helo> it's a shame they aren't using the chronocoin approach
1683 2013-05-31 16:25:29 <sipa> i care that they spam the utxo set with unspendable outputs that cannot be proven to be unspendable
1684 2013-05-31 16:25:32 <helo> one transaction per proof sucks
1685 2013-05-31 16:25:41 <sipa> so every full node needs to maintain it forever
1686 2013-05-31 16:26:47 <wiretapped> you mean you think this will interfere with being able to GC the blockchain one day?
1687 2013-05-31 16:27:50 <wiretapped> helo: what is the chronocoin approach?
1688 2013-05-31 16:28:09 <helo> err... "chronobit"
1689 2013-05-31 16:28:30 <sipa> wiretapped: not one day; now
1690 2013-05-31 16:28:36 <helo> https://github.com/goblin/chronobit
1691 2013-05-31 16:28:47 <sipa> and not the blovkchain, the database of unspent outputs
1692 2013-05-31 16:29:11 <helo> wiretapped: "User's data is hashed, then the hash is put into P2Pool's share
1693 2013-05-31 16:29:14 <helo> coinbase, and then all the following P2Pool shares are stacked on top of
1694 2013-05-31 16:29:14 <helo> bah, sorry
1695 2013-05-31 16:29:17 <helo> that share. Finally, some P2Pool share will become an actual bitcoin block,
1696 2013-05-31 16:29:20 <helo> and everyone can confirm the timestamp of a bitcoin block using any bitcoin
1697 2013-05-31 16:31:07 tyn has quit (Ping timeout: 256 seconds)
1698 2013-05-31 16:31:28 <phantomcircuit> sipa, ps bitcoin w/ 1 million keys, 1.8 GB
1699 2013-05-31 16:32:11 <phantomcircuit> it would be nice if importprivkey only rescanned for the imported key
1700 2013-05-31 16:33:09 <sipa> phantomcircuit: how does number of keys impact rescanning performance?
1701 2013-05-31 16:33:28 <sipa> in theory it shouldn't be more than logarithmic
1702 2013-05-31 16:33:31 <phantomcircuit> not significantly
1703 2013-05-31 16:33:33 <phantomcircuit> but still
1704 2013-05-31 16:33:49 cryptorific has joined
1705 2013-05-31 16:33:56 <phantomcircuit> huh also trying to kill this bitcoind isn't doing anything
1706 2013-05-31 16:34:03 <phantomcircuit> no cpu usage
1707 2013-05-31 16:34:11 <phantomcircuit> rpc thread still working
1708 2013-05-31 16:34:26 <cryptorific> whats the best distro (eg easiest) to use with eliopool?
1709 2013-05-31 16:36:55 mischief has joined
1710 2013-05-31 16:37:59 moore_ has joined
1711 2013-05-31 16:38:36 <phantomcircuit> sipa, could i add a checksum to the end of the serialized "key" value without screwing things up too bad?
1712 2013-05-31 16:38:46 michagogo has quit (Remote host closed the connection)
1713 2013-05-31 16:38:56 <phantomcircuit> im thinking yes looking at this but im not sure
1714 2013-05-31 16:39:12 <dansmith_btc> Hi, bitcoind is syncing. I run it as "sudo ionice -c idle sudo -u myusername bitcoind" and also renice it to 19. It still makes my machine partially unresponsive. Are there any other tricks?
1715 2013-05-31 16:39:31 <phantomcircuit> dansmith_btc, why are you running bitcoind as root
1716 2013-05-31 16:39:36 tyn has joined
1717 2013-05-31 16:39:47 <phantomcircuit> dansmith_btc, first off all what version is this?
1718 2013-05-31 16:39:49 <dansmith_btc> because ionice needs to be run as root
1719 2013-05-31 16:39:58 <phantomcircuit> no it doesn't
1720 2013-05-31 16:39:59 <phantomcircuit> lol
1721 2013-05-31 16:40:01 <dansmith_btc> 0.8.1
1722 2013-05-31 16:40:23 <phantomcircuit> dansmith_btc, how much memory do you have?
1723 2013-05-31 16:40:34 <dansmith_btc> 2 GB
1724 2013-05-31 16:40:49 <dansmith_btc> I monitor CPU and mem - they are not the culprits
1725 2013-05-31 16:41:03 <phantomcircuit> dansmith_btc, memory is your problem
1726 2013-05-31 16:41:32 <phantomcircuit> 2GB is just enough to cache the working set in memory
1727 2013-05-31 16:41:40 <phantomcircuit> but if you have other things running it's not
1728 2013-05-31 16:42:10 <dansmith_btc> phantomcircuit, htop shows plenty of free mem
1729 2013-05-31 16:42:49 <phantomcircuit> dansmith_btc, now check the Cached value in /proc/meminfo
1730 2013-05-31 16:43:03 <phantomcircuit> install sysstat and check iostat
1731 2013-05-31 16:43:08 <phantomcircuit> you'll find disk io
1732 2013-05-31 16:43:12 <phantomcircuit> probably lots of it
1733 2013-05-31 16:43:45 <dansmith_btc> ok thanks
1734 2013-05-31 16:44:16 santoscork_ has joined
1735 2013-05-31 16:45:05 <phantomcircuit> dansmith_btc, what block are you upto?
1736 2013-05-31 16:45:11 <dansmith_btc> phantomcircuit, FYI ionice must be run as root, see:http://feeding.cloud.geek.nz/posts/background-compilation-using-ionice-as/
1737 2013-05-31 16:45:55 <dansmith_btc> phantomcircuit, I'm actually reindexing now, but it's the same behaviour as when I sync from scratch
1738 2013-05-31 16:46:01 <phantomcircuit> dansmith_btc, you can definitely set the io priority to be lower as a normal user
1739 2013-05-31 16:46:11 <phantomcircuit> i run bitcoind with ionice -c idle as well
1740 2013-05-31 16:46:35 <phantomcircuit> nice ionice -c idle bitcoin-0.8.1-linux/bin/64/bitcoin-qt -datadir=bitcoin-0.8.1
1741 2013-05-31 16:46:41 <phantomcircuit> can be run as a normal user
1742 2013-05-31 16:47:03 santoscork has quit (Ping timeout: 260 seconds)
1743 2013-05-31 16:47:04 santoscork_ is now known as santoscork
1744 2013-05-31 16:47:04 <phantomcircuit> dansmith_btc, you have to be root to set ionice -c realtime
1745 2013-05-31 16:47:44 denisx has quit (Quit: denisx)
1746 2013-05-31 16:48:45 digitalmagus2 has quit (Ping timeout: 248 seconds)
1747 2013-05-31 16:49:04 digitalmagus2 has joined
1748 2013-05-31 16:49:21 owowo has joined
1749 2013-05-31 16:50:18 cryptorific has left ()
1750 2013-05-31 16:51:36 <phantomcircuit> sipa, How does the serialization stuff handle missing values, iirc it throws an exception ... but what exception?
1751 2013-05-31 16:52:20 <phantomcircuit> std::ios_base::failure
1752 2013-05-31 16:52:26 <phantomcircuit> lol that's not helpful :/
1753 2013-05-31 16:56:04 easy-iPad has joined
1754 2013-05-31 16:58:38 cjsw3 has quit (Ping timeout: 252 seconds)
1755 2013-05-31 16:58:38 DaQatz has quit (Ping timeout: 252 seconds)
1756 2013-05-31 16:58:42 FredEE has joined
1757 2013-05-31 17:03:06 robocoin has quit (Ping timeout: 256 seconds)
1758 2013-05-31 17:03:42 robocoin has joined
1759 2013-05-31 17:04:13 debiantoruser has quit (Ping timeout: 248 seconds)
1760 2013-05-31 17:05:34 DaQatz has joined
1761 2013-05-31 17:06:06 <Luke-Jr> for testing purposes, I need to make select() for writability fail on a socket - any suggestions on the easiest/best way to accomplish that?
1762 2013-05-31 17:06:59 <HaltingState> First (and best) altcoin ever: Tonal Bitcoin (TBC) http://bit.ly/15kdGYF I wish this were troll
1763 2013-05-31 17:07:20 <Luke-Jr> HaltingState: your trolling is off-topic here
1764 2013-05-31 17:07:21 <phantomcircuit> Luke-Jr, have the remote end set the recv buff to 0
1765 2013-05-31 17:07:26 FredEE has quit (Quit: FredEE)
1766 2013-05-31 17:07:47 <Luke-Jr> phantomcircuit: ok, but is there some API to do that? :P
1767 2013-05-31 17:08:22 <phantomcircuit> Luke-Jr, setsockopt() on the client
1768 2013-05-31 17:08:29 <Luke-Jr> hmm
1769 2013-05-31 17:08:44 <phantomcircuit> a vastly underused function
1770 2013-05-31 17:08:49 <Luke-Jr> that's the actual TCP receive buffer? :o
1771 2013-05-31 17:08:55 <phantomcircuit> Luke-Jr, yes
1772 2013-05-31 17:09:07 <Luke-Jr> that could be handy… :o
1773 2013-05-31 17:09:10 <phantomcircuit> so you shrink the window to 0 (actually linux wont let you do that but it gets very small)
1774 2013-05-31 17:09:28 freefox has joined
1775 2013-05-31 17:09:31 <phantomcircuit> then the client doesn't call recv
1776 2013-05-31 17:09:43 porquilho has joined
1777 2013-05-31 17:09:44 debiantoruser has joined
1778 2013-05-31 17:09:57 <phantomcircuit> the remote server sends some data and it gets dropped initiating backoff
1779 2013-05-31 17:10:07 DaQatz has quit (Ping timeout: 246 seconds)
1780 2013-05-31 17:10:35 <phantomcircuit> Luke-Jr, this actually crashes lots of things since they dont handle write() failing
1781 2013-05-31 17:10:46 <Luke-Jr> phantomcircuit: like BFGMiner apparently >_<
1782 2013-05-31 17:11:01 <phantomcircuit> Luke-Jr, lol
1783 2013-05-31 17:11:07 <Luke-Jr> ironically, this is *despite* trying to handle write() failing
1784 2013-05-31 17:11:15 <phantomcircuit> the wallet stuff is weird
1785 2013-05-31 17:11:21 freefox has left ()
1786 2013-05-31 17:11:52 <phantomcircuit> keys are written to the bdb store as key = Pair("key", vchPubKey) value = vchPrivKey
1787 2013-05-31 17:12:24 <phantomcircuit> but when they're read the key/value makes no differene
1788 2013-05-31 17:12:33 <phantomcircuit> it's just one CDataStream
1789 2013-05-31 17:13:07 cjsw3 has joined
1790 2013-05-31 17:14:42 <phantomcircuit> whatever
1791 2013-05-31 17:15:49 agnostic98 has joined
1792 2013-05-31 17:17:01 DaQatz has joined
1793 2013-05-31 17:18:31 <phantomcircuit> hehe
1794 2013-05-31 17:20:48 <phantomcircuit> sipa, i added a Hash() of the privkey to the "key" value, Hash takes about 2usec compared to the 400 usec for EC_KEY_check_key_secp256k1
1795 2013-05-31 17:21:21 <phantomcircuit> if the hash isn't there then it runs EC_KEY_check_key_secp256k1 otherwise it assumes if the hash matches the hash of the privkey that the privkey is valid
1796 2013-05-31 17:21:31 resinate has quit (Quit: resinate)
1797 2013-05-31 17:21:37 <phantomcircuit> i believe that's a reasonable assumption to make
1798 2013-05-31 17:21:54 <phantomcircuit> the full check is still run anywhere the key is actually used
1799 2013-05-31 17:22:03 <phantomcircuit> so this just makes loading the wallet faster
1800 2013-05-31 17:22:19 <phantomcircuit> if it's wrong there will still be an error indicated
1801 2013-05-31 17:22:23 <phantomcircuit> just not at load
1802 2013-05-31 17:23:02 denisx has joined
1803 2013-05-31 17:23:13 viperhr has quit (Ping timeout: 241 seconds)
1804 2013-05-31 17:24:07 DaQatz has quit (Ping timeout: 264 seconds)
1805 2013-05-31 17:24:25 debiantoruser has quit (Ping timeout: 248 seconds)
1806 2013-05-31 17:27:27 debiantoruser has joined
1807 2013-05-31 17:28:33 ProfMac has joined
1808 2013-05-31 17:28:41 sark has quit (!~sark@37-252-106-157.ip.skylogicnet.com|Ping timeout: 248 seconds)
1809 2013-05-31 17:29:54 freefox has joined
1810 2013-05-31 17:30:23 macboz has joined
1811 2013-05-31 17:30:53 DaQatz has joined
1812 2013-05-31 17:31:04 super3 has joined
1813 2013-05-31 17:31:39 moore_ has quit (Ping timeout: 245 seconds)
1814 2013-05-31 17:34:43 * phantomcircuit twiddles thumbs waiting for 1,000,000 keys to generate
1815 2013-05-31 17:36:06 tonikt has joined
1816 2013-05-31 17:36:34 DaQatz has quit (Ping timeout: 276 seconds)
1817 2013-05-31 17:37:11 DaQatz has joined
1818 2013-05-31 17:41:43 macboz has quit (Quit: This computer has gone to sleep)
1819 2013-05-31 17:42:38 <phantomcircuit> http://pastebin.com/raw.php?i=i7cVFDTe
1820 2013-05-31 17:42:53 <phantomcircuit> shutdown is hanging on master
1821 2013-05-31 17:42:57 <phantomcircuit> what's missing there?
1822 2013-05-31 17:43:56 <phantomcircuit> huh closed
1823 2013-05-31 17:45:13 DaQatz has quit (Ping timeout: 248 seconds)
1824 2013-05-31 17:46:28 <jgarzik> sometimes there's just a long pause
1825 2013-05-31 17:47:04 DaQatz has joined
1826 2013-05-31 17:47:22 taha has quit (Quit: Leaving)
1827 2013-05-31 17:48:17 Hunger- has joined
1828 2013-05-31 17:49:13 viperhr has joined
1829 2013-05-31 17:49:26 <phantomcircuit> jgarzik, does boost::thread::interrupt actually interrupt an executing thread
1830 2013-05-31 17:49:35 <phantomcircuit> or does it wait until it finishes a loop
1831 2013-05-31 17:50:11 <phantomcircuit> nvm reading boost
1832 2013-05-31 17:50:14 <jgarzik> phantomcircuit, few if any thread facilities literally interrupt the thread
1833 2013-05-31 17:50:24 <jgarzik> phantomcircuit, the thread in question must check for an interruption
1834 2013-05-31 17:50:27 <Luke-Jr> pthread_kill? :P
1835 2013-05-31 17:50:30 <jgarzik> yield/join etc.
1836 2013-05-31 17:50:47 <phantomcircuit> ok so it waits for a wait/join/sleep interrupt point
1837 2013-05-31 17:51:00 <phantomcircuit> so running threads will loop at least once more
1838 2013-05-31 17:51:36 <phantomcircuit> i mean finish
1839 2013-05-31 17:51:39 DaQatz has quit (Ping timeout: 245 seconds)
1840 2013-05-31 17:51:40 <phantomcircuit> you know what i meant to mean
1841 2013-05-31 17:52:16 <tumak> its been always super slow like that, waiting for all threads to exit properly
1842 2013-05-31 17:52:24 <tumak> feel free to kill -9 if you're in hurry
1843 2013-05-31 17:52:46 <phantomcircuit> tumak, yeah no thanks i have a wallet with a million keys in it i dont want to regenerate that
1844 2013-05-31 17:52:50 <phantomcircuit> took like 10 minutes
1845 2013-05-31 17:52:58 Lolcust has quit (Ping timeout: 256 seconds)
1846 2013-05-31 17:53:11 Lolcust has joined
1847 2013-05-31 17:53:24 <phantomcircuit> 90 seconds to load 1 million (unencrypted) keys
1848 2013-05-31 17:53:34 DaQatz has joined
1849 2013-05-31 17:53:43 chorao has joined
1850 2013-05-31 17:53:44 <phantomcircuit> 90 usec per key
1851 2013-05-31 17:53:47 <phantomcircuit> that's not bad
1852 2013-05-31 17:53:56 <phantomcircuit> i can live with that
1853 2013-05-31 17:54:22 sacrelege has quit (Remote host closed the connection)
1854 2013-05-31 17:56:03 <MC1984_> are you just benchmarking?
1855 2013-05-31 17:56:29 brson has joined
1856 2013-05-31 17:58:07 <tumak> knowing that phantomcircuit is something akin to bitcoin antichrist, i'd guess fishing for weak keys :)
1857 2013-05-31 17:58:10 normanrichards has joined
1858 2013-05-31 17:58:32 <phantomcircuit> tumak, that would be a colossal waste of time
1859 2013-05-31 17:58:45 <phantomcircuit> MC1984_, no im trying to improve wallet performance for huge wallets
1860 2013-05-31 17:58:56 DaQatz has quit (Ping timeout: 260 seconds)
1861 2013-05-31 17:58:58 <tumak> yep, there are faster ways to do it than just importing bunch of random crap
1862 2013-05-31 17:59:01 <lianj> phantomcircuit: to give me a counter argument? ;) :P
1863 2013-05-31 17:59:05 da2ce7 has joined
1864 2013-05-31 17:59:12 <phantomcircuit> lianj, i've basically fixed it lol
1865 2013-05-31 17:59:27 <phantomcircuit> time per key from 1500 usec to 90 usec
1866 2013-05-31 17:59:29 <MC1984_> who needs a million key wallet
1867 2013-05-31 17:59:38 <phantomcircuit> MC1984_, merchants and stuff
1868 2013-05-31 17:59:47 <phantomcircuit> 1,000,000 keys in 90 seconds
1869 2013-05-31 17:59:54 <MC1984_> thats a good improvement
1870 2013-05-31 17:59:54 DaQatz has joined
1871 2013-05-31 18:00:07 <jgarzik> most wallets don't need to scan for incoming payments on ALL keys
1872 2013-05-31 18:00:17 <jgarzik> smart key management involves keeping the active key set low
1873 2013-05-31 18:00:19 <MC1984_> surely you split up a wallet before a million kys though
1874 2013-05-31 18:00:23 tmsk has quit (Quit: tmsk)
1875 2013-05-31 18:00:32 <phantomcircuit> MC1984_, i could make it better by using something other than Hash()
1876 2013-05-31 18:00:43 <jgarzik> it's just dumb to store 1,000,000 keys, and watch for payments on all of them, at all times
1877 2013-05-31 18:00:46 <lianj> there are about 13M uniq addresses in mainnet output scripts so far
1878 2013-05-31 18:00:48 <phantomcircuit> but iirc sha256(sha256()) shouldn't take more than ~5 usec
1879 2013-05-31 18:01:51 <lianj> jgarzik: if you have 200k users and most of them have 10+ receive addresses and lots of change addresses you get to 1M fast
1880 2013-05-31 18:01:55 da2ce7_d2 has quit (Ping timeout: 276 seconds)
1881 2013-05-31 18:02:17 easy-iPad has quit (Quit: Outta here?)
1882 2013-05-31 18:03:48 toffoo has joined
1883 2013-05-31 18:04:05 Thepok has quit (Ping timeout: 252 seconds)
1884 2013-05-31 18:04:20 <phantomcircuit> jgarzik, it's very difficult to reasonably keep the active key set low, the interval with which older keys are checked can be reduced
1885 2013-05-31 18:04:32 <phantomcircuit> but people often expect addresses for a year ago to still work
1886 2013-05-31 18:04:38 <phantomcircuit> it's maddening :/
1887 2013-05-31 18:05:21 <ryan-c> how do pools prevent duplicate work submission?
1888 2013-05-31 18:05:24 <petertodd> phantomcircuit: out of curiosity, are you running a service that needs this?
1889 2013-05-31 18:05:49 DaQatz has quit (Ping timeout: 245 seconds)
1890 2013-05-31 18:06:16 <ryan-c> jgarzik: One can build a 512MB bloom filter that contains all addresses on mainnet which has a pretty low FP rate, and checking is *very* fast.
1891 2013-05-31 18:06:32 <phantomcircuit> petertodd, as a protection against screw ups the intersango hot wallet has 100k keys in it
1892 2013-05-31 18:06:41 <phantomcircuit> it currently takes *ages* to start
1893 2013-05-31 18:07:18 <petertodd> phantomcircuit: ah, your intersango. Good example where sipa's key derivation stuff would help.
1894 2013-05-31 18:07:23 <phantomcircuit> ryan-c, you dont even need that constructing a straight up address map isn't impossible
1895 2013-05-31 18:07:33 <ryan-c> phantomcircuit: what data structure are you loading that into?
1896 2013-05-31 18:07:37 <phantomcircuit> petertodd, yes it will help, but not today or tomorrow :)
1897 2013-05-31 18:07:55 theorbtwo has quit (Ping timeout: 252 seconds)
1898 2013-05-31 18:08:00 <maaku> petertodd: silly dumb question: how is pooled solo mining any different than what p2pool already does?
1899 2013-05-31 18:08:01 <petertodd> phantomcircuit: yup. a callback on key generation (IE a key backup callback) might be useful though
1900 2013-05-31 18:08:33 <jgarzik> phantomcircuit, it depends on the usage method?  but in general, only idiots expect year-old bitcoin addresses to still work.  Static addresses like SD excepted, of course.
1901 2013-05-31 18:08:43 <jgarzik> phantomcircuit, any sane merchant will not check 100% of their keys at all times
1902 2013-05-31 18:08:46 <petertodd> maaku: More flexible basically. p2pool has limitations on payout amounts and payout methods that don't work for every miner.
1903 2013-05-31 18:08:57 <ryan-c> If I were you I'd just keep a bloom filter on disk, though it's somewhat complicated if you need to do account assignments
1904 2013-05-31 18:08:58 <jgarzik> *merchant processor, or anyone with a huge number of keys
1905 2013-05-31 18:09:01 <petertodd> maaku: p2pool can't do PPS for instance, which like it or not, miners demand
1906 2013-05-31 18:09:13 <maaku> petertodd: let me rephrase, why not just modify p2pool's payout mechanism?
1907 2013-05-31 18:09:14 <jgarzik> if you have to keep the bloom filter on disk, you're doing it wrong :)
1908 2013-05-31 18:09:19 <maaku> it could to pps
1909 2013-05-31 18:09:28 <lianj> jgarzik: why is it insane to keep users receive addresses alive for 1+ years?
1910 2013-05-31 18:09:28 <phantomcircuit> jgarzik, right but im not talking about actively checking the keys, im talking about just having them in a wallet.dat
1911 2013-05-31 18:09:33 <maaku> or rather Capped-PPS with PPLNS for txn fees
1912 2013-05-31 18:09:34 <petertodd> maaku: PPS and p2pool just aren't compatible for a lot of reasons...
1913 2013-05-31 18:09:36 <ryan-c> jgarzik: Just across restarts - so you don't have to rebuild it on startup.
1914 2013-05-31 18:09:57 <phantomcircuit> of course automated cycling out of older wallet.dat files is *possible* but it something i would generally consider extremely dangerous
1915 2013-05-31 18:10:01 <petertodd> maaku: And in the future small miners may want to be paid in totally alternate ways, like off-chain or vouchers or whatever.
1916 2013-05-31 18:10:13 <jgarzik> phantomcircuit, bitcoind is awful for large wallets
1917 2013-05-31 18:10:19 <jgarzik> phantomcircuit, that's just the reality of the situation
1918 2013-05-31 18:10:20 <maaku> petertodd: you can certainly do something like Eligius' PPS payout mechanism on p2pool, and it's perfectly compatible. it's been on my todo list for a while to do this
1919 2013-05-31 18:10:20 <gmaxwell> maaku: more importantly, doesn't require a secondary non-trivial bandwidth-heavy latency-sensitive distributed system. I still think p2pool is superior, but at the same time many people do not use it— for a multitude of reasons, some good.
1920 2013-05-31 18:10:26 <petertodd> maaku: p2pool is also problematic if your internet connection is relatively high latency
1921 2013-05-31 18:10:33 <jgarzik> phantomcircuit, bitcoind keeps 100% of the wallet in RAM, all wallet txs etc.
1922 2013-05-31 18:10:36 <jgarzik> not scalable
1923 2013-05-31 18:10:38 <gmaxwell> maaku: including the fact that it currently does not work for avalon or BFL SC single devices.
1924 2013-05-31 18:10:50 freefox has left ()
1925 2013-05-31 18:10:55 <phantomcircuit> jgarzik, sure and most of the wallet ops are just comically inefficient
1926 2013-05-31 18:11:23 <phantomcircuit> jgarzik, fixing a lot of that requires a reliable notification system for the chainstate to notify the wallet of changes
1927 2013-05-31 18:11:25 <maaku> petertodd: ? p2pool is meant to be run locally, not over the network
1928 2013-05-31 18:11:29 MobiusL has quit (Remote host closed the connection)
1929 2013-05-31 18:11:33 <gmaxwell> ...
1930 2013-05-31 18:11:42 <maaku> i'm just trying to save you guys development time :P
1931 2013-05-31 18:11:46 <jgarzik> I don't think it's worth it to overhaul bitcoind to support million-key wallets
1932 2013-05-31 18:11:59 <jgarzik> at that point, you need an Enterprise Key Management Solution
1933 2013-05-31 18:12:01 <phantomcircuit> actually making that work is going to be difficult, guaranteeing changes to the chainstate always notify the wallet is going to be uh
1934 2013-05-31 18:12:03 <jgarzik> (which doesn't exist...)
1935 2013-05-31 18:12:03 <phantomcircuit> lol right
1936 2013-05-31 18:12:05 <gmaxwell> maaku: Have you ever actually run p2pool?  He's not referring to the latency between the miner and the p2pool software.
1937 2013-05-31 18:12:06 DaQatz has joined
1938 2013-05-31 18:12:18 <ryan-c> (reasking) For a pool, how are miners prevented from submitting duplicate work? Is there just a memory pool of work submitted for the current block?
1939 2013-05-31 18:12:21 <phantomcircuit> jgarzik, well... it half exists
1940 2013-05-31 18:12:28 <jgarzik> bitcoin ecosystem in general needs MUCH improved key management
1941 2013-05-31 18:12:33 MobiusL has joined
1942 2013-05-31 18:12:37 <jgarzik> Armory has a few nice additional features
1943 2013-05-31 18:12:44 <jgarzik> but that's not scalable either
1944 2013-05-31 18:12:52 <phantomcircuit> jgarzik, did the armory dev finally reduce the memory usage?
1945 2013-05-31 18:13:13 <phantomcircuit> last i checked (a long time ago) it had the entire blockchain in memory
1946 2013-05-31 18:13:22 <ryan-c> wat?
1947 2013-05-31 18:13:23 MobPhone has quit (Read error: Connection reset by peer)
1948 2013-05-31 18:13:37 <lianj> haha i remember, that sounded very good ^^
1949 2013-05-31 18:13:44 MobPhone has joined
1950 2013-05-31 18:13:47 <maaku> gmaxwell: yes, i do run p2pool, but I don't have an avalon. where is the troublesome latency then?
1951 2013-05-31 18:14:29 <MC1984_> i thought bfl stuff was going to be ok with p2pool
1952 2013-05-31 18:14:34 <petertodd> maaku: latency between you and other p2pool users
1953 2013-05-31 18:15:07 <jgarzik> phantomcircuit, Armory?  It uses bitcoind, I doubt it has the entire blockchain in ram
1954 2013-05-31 18:15:21 <gmaxwell> maaku: avalons (and BFL's asic devices) take 1.5-3 seconds to respond to new work. P2pool shares are 10 seconds. So you're instantly looking at something like an 20% p2pool stale rate.  P2pool is also moderately bandwidth intensive and latency sensitive for its own protocol.. e.g. adding another 100kbit/sec bandwidth on top of what bitcoin itself needs.
1955 2013-05-31 18:15:23 <maaku> yes, so as I said increase the inter-share time, and that is fixed. it is currently 10s which is way, way too low (pushing the limits of what's possible)
1956 2013-05-31 18:16:02 <ryan-c> gmaxwell: nice explanation, thanks
1957 2013-05-31 18:16:02 <petertodd> maaku: increase inter-share time and varience goes up
1958 2013-05-31 18:16:33 DaQatz has quit (Read error: Operation timed out)
1959 2013-05-31 18:16:38 <MC1984_> is there something fundamental about asics that makes them all suck for latency
1960 2013-05-31 18:16:40 <maaku> petertodd: not if you switch to capped-pps or similar
1961 2013-05-31 18:16:51 <gmaxwell> maaku: and doing that increases variance... p2pool shares are already much higher difficulty than ones people use for centeralized pools.
1962 2013-05-31 18:17:12 <phantomcircuit> jgarzik, at somepoint it definitely did, but that was back when that meant 2GB of ram instead of 11GB
1963 2013-05-31 18:17:35 <ryan-c> MC1984_: They need to avoid moving data around as much as possible to maintain hashing throughput.
1964 2013-05-31 18:17:54 free499__ has quit (Read error: Connection reset by peer)
1965 2013-05-31 18:17:57 <sipa> phantomcircuit: the key storage is ridiculous anyway; i plan changing it to just storing keyid,secret instead of pubkey,privkey (so 52 bytes instead of 330 or so...)
1966 2013-05-31 18:18:01 <gmaxwell> maaku: "capped-pps" with high variance shares is not "capped-pps" with low variance shares.... and needing to have a month of shares in memory for payout calculations is...  :(
1967 2013-05-31 18:18:16 <MC1984_> so why not make moving data as fast as possible when it has to be done
1968 2013-05-31 18:18:21 stochasm has quit (Ping timeout: 248 seconds)
1969 2013-05-31 18:18:30 <ryan-c> MC1984_: Impossible over usb
1970 2013-05-31 18:18:34 <MC1984_> just using cheapo controllers or what
1971 2013-05-31 18:18:37 <gmaxwell> maaku: also, at least currently avalons simply stop mining if the coinbase is over 10kbytes.
1972 2013-05-31 18:18:47 <phantomcircuit> sipa, either way the question of whether to trust the values comes up, i think having a hash is a decent idea
1973 2013-05-31 18:18:49 <ryan-c> they use usb serial which can move about 100kbps
1974 2013-05-31 18:18:50 <sipa> phantomcircuit: a hash is probably a better check, though i like the idea of at least guaranteeing a correct maaping beig stored
1975 2013-05-31 18:18:55 <MC1984_> fuck p2pool is finished :(
1976 2013-05-31 18:19:09 <sipa> phantomcircuit: so the hash would be iver both key and value
1977 2013-05-31 18:19:17 <ryan-c> usb would be the bottleneck for hash rate because the host wouldn't be able to keep the chip busy with work
1978 2013-05-31 18:19:19 <phantomcircuit> sipa, oh im still checking that the pubkey in vchPubKey matches the pubkey in vchPrivKey
1979 2013-05-31 18:19:31 <jgarzik> ack troll for #1863
1980 2013-05-31 18:20:00 <phantomcircuit> that's relatively cheap if the Cpkey is reused
1981 2013-05-31 18:20:19 <ryan-c> I think the ASICs do nonce generation onboard, as well as whatever the timestamp rolling thing is so that the host isn't spending all its time generating work.
1982 2013-05-31 18:20:26 <gmaxwell> maaku: in any case, p2pool has existed for a long time and has never been more than a couple percent of the hashpower. I think it's great, and it's the only completely decenteralized option. But lots of people are totally happy with centeralized payouts and the diversity of options there. That doesn't have to mean centeralizing the rest of the network, if some relatively simple (e.g. relative to rewriting p2pool in C or whatever) software wor
1983 2013-05-31 18:20:29 rcorreia has quit (Remote host closed the connection)
1984 2013-05-31 18:20:36 <phantomcircuit> so currently im checking that the hash of vchPrivKey matches the stored hash of it, and that vchPubKey matches the pubkey in vchPrivKey
1985 2013-05-31 18:20:55 <phantomcircuit> i dont really see what that can go wrong unless the key was invalid when it was generated
1986 2013-05-31 18:21:03 <phantomcircuit> in which case it will fail when you try to use the key anyways
1987 2013-05-31 18:21:18 <jgarzik> ryan-c, I don't know that ASICs do timestamp rolling
1988 2013-05-31 18:21:22 <jgarzik> just nonce, mostly
1989 2013-05-31 18:21:24 <sipa> jgarzik: i'm pondering about making the timestamp an optional part of a serialized key
1990 2013-05-31 18:21:26 <jgarzik> software handles the rest
1991 2013-05-31 18:21:40 <sipa> jgarzik: eg key@unixtimestamp
1992 2013-05-31 18:22:02 <jgarzik> sipa, as in, extend the "key" bdb record, version it?
1993 2013-05-31 18:22:28 <sipa> jgarzik: i mean WIF serialization
1994 2013-05-31 18:22:34 <sipa> for human consumption
1995 2013-05-31 18:22:51 <sipa> then again, the dump format already uses a space between them
1996 2013-05-31 18:23:12 <sipa> there's mostly a psychologic difference i guess
1997 2013-05-31 18:23:39 <jgarzik> sipa, that shouldn't impact #1863 (my wallet birthday thing), though?
1998 2013-05-31 18:23:49 DaQatz has joined
1999 2013-05-31 18:23:50 Thepok has joined
2000 2013-05-31 18:23:51 <jgarzik> that's more an internal change
2001 2013-05-31 18:23:59 <sipa> well it'd be nice dumpprivkey and importprivkey used that format then
2002 2013-05-31 18:24:13 gritball has quit (Ping timeout: 248 seconds)
2003 2013-05-31 18:24:26 <sipa> ... internal?
2004 2013-05-31 18:24:52 <owowo> man, -qt 0.8.2 does not show blocks behind when synchronizing, but time behind... Is there a way to make it show blocks left when sync?
2005 2013-05-31 18:25:14 <ryan-c> it doesn't know the blocks left
2006 2013-05-31 18:25:18 <sipa> owowo: it doesn't know that
2007 2013-05-31 18:25:34 toffoo has quit ()
2008 2013-05-31 18:25:36 <ryan-c> knowing how many blocks there are requires all the blocks
2009 2013-05-31 18:25:39 stochasm has joined
2010 2013-05-31 18:25:55 <sipa> ryan-c: with headers first sync, we would know
2011 2013-05-31 18:26:04 <sipa> but we don't do that (yet)
2012 2013-05-31 18:26:21 <jgarzik> sipa, impacting largely BDB records, plus the odd duck using RPC importprivkey
2013 2013-05-31 18:26:43 <jgarzik> sipa, You ACK'd the pull req sans the static var issue, so I figured you'd read it ;p
2014 2013-05-31 18:26:44 <sipa> jgarzik: i don't see how BDB is involved at all?
2015 2013-05-31 18:27:09 <jgarzik> sipa, the wallet is stored in BDB, and #1863 adds a new BDB record "keymeta"
2016 2013-05-31 18:27:14 <sipa> jgarzik: yes, i 'm fine with the code changes in that pullreq now
2017 2013-05-31 18:27:23 <sipa> jgarzik: that's not what i'm talking about
2018 2013-05-31 18:27:31 <ryan-c> wait, blocks don't even have their height as a field do they?
2019 2013-05-31 18:27:47 <sipa> i mean not using timestamp as a separate import argument to importprivkey, but as part of the key
2020 2013-05-31 18:27:49 <phantomcircuit> ryan-c, no they dont
2021 2013-05-31 18:27:58 <sipa> ryan-c: even if they did
2022 2013-05-31 18:28:03 <MC1984_> simple quorum of the height of all your peers?
2023 2013-05-31 18:28:11 <sipa> ryan-c: you don't know a block you don't know yet
2024 2013-05-31 18:28:17 theorbtwo has joined
2025 2013-05-31 18:28:23 <sipa> MC1984_: that's a guess in any case
2026 2013-05-31 18:28:25 <MC1984_> = likely to be the real blockheight
2027 2013-05-31 18:28:38 <sipa> jgarzik: you see what i mean?
2028 2013-05-31 18:28:44 <MC1984_> the progress bar is a huge guess any way
2029 2013-05-31 18:28:50 <ryan-c> MC1984_: longest chain you have is what the bitcoin client thinks the height is
2030 2013-05-31 18:29:02 <sipa> MC1984_: likely, not sure, and prone to fast large jumps when you add peers
2031 2013-05-31 18:29:15 <ryan-c> sipa: right, otherwise some jackass could say 'oh, here's block 9999999'
2032 2013-05-31 18:29:22 <sipa> ryan-c: the height of the blocks you have is always known
2033 2013-05-31 18:29:33 SeeB has joined
2034 2013-05-31 18:29:36 <phantomcircuit> sipa, orphan blocks?
2035 2013-05-31 18:29:37 <sipa> but you don't know how many blocks there are you don't have
2036 2013-05-31 18:29:41 <ryan-c> right
2037 2013-05-31 18:29:50 <phantomcircuit> i have no idea how orphans are handled
2038 2013-05-31 18:29:53 <ryan-c> best you can do is estimate based on timestamps
2039 2013-05-31 18:30:18 <sipa> ryan-c: the progress bar is based on expected transaction count
2040 2013-05-31 18:30:23 <jgarzik> sipa, I think we were just talking about two different things, upthread
2041 2013-05-31 18:30:43 DaQatz has quit (Ping timeout: 264 seconds)
2042 2013-05-31 18:30:45 <jgarzik> sipa, I was focusing specifically on #1863, and didn't see how WIF impacted that :)
2043 2013-05-31 18:31:01 <sipa> jgarzik: if you add key timestamps, i'd like them to become part of the dumped key format
2044 2013-05-31 18:31:23 <sipa> jgarzik: so that'd mean changing your pull, or we need to break rpc compatibility later
2045 2013-05-31 18:32:11 <MC1984_> i have no idea what the actual movement of the bar relates to any more
2046 2013-05-31 18:32:22 <jgarzik> sipa, well we can pull now and work it out in-tree IMO.  Nobody expects compat during heavy merge window activity
2047 2013-05-31 18:32:38 <sipa> alternatively, just drop the ability to specify a timestamp at import time, and we can discuss later?
2048 2013-05-31 18:32:53 <sipa> MC1984_: "progress"
2049 2013-05-31 18:32:56 moore_ has joined
2050 2013-05-31 18:33:10 <sipa> MC1984_: which means something like "weighted number of transactions"
2051 2013-05-31 18:33:29 <MC1984_> wow really
2052 2013-05-31 18:33:31 <sipa> where transactions after the last checkpoint cost higher than those before
2053 2013-05-31 18:33:49 <MC1984_> so its roughly linear now
2054 2013-05-31 18:33:57 <jgarzik> Luke-Jr, where is that link that shows what client versions are in use, on the network?
2055 2013-05-31 18:34:04 <jgarzik> i.e. what percentage is bitcoinj etc.
2056 2013-05-31 18:34:13 <Luke-Jr> jgarzik: bitcoinj nodes do not listen, so it won't have that
2057 2013-05-31 18:34:20 <Luke-Jr> http://luke.dashjr.org/programs/bitcoin/files/charts/branches.html
2058 2013-05-31 18:34:41 <sipa> MC1984_: should be
2059 2013-05-31 18:34:50 <Luke-Jr> jgarzik: if you scroll down, there is a count for each individual version
2060 2013-05-31 18:34:54 <sipa> MC1984_: when syncing from network, you likely get a speedup at the end
2061 2013-05-31 18:35:11 <MC1984_> cool
2062 2013-05-31 18:35:26 foami has quit (Ping timeout: 252 seconds)
2063 2013-05-31 18:35:32 sark has joined
2064 2013-05-31 18:36:31 <sipa> jgarzik: ok agree compatibility isn't a requirement
2065 2013-05-31 18:36:39 <jgarzik> sipa, are you planning on changing importprivkey ?
2066 2013-05-31 18:36:41 <jgarzik> RPC
2067 2013-05-31 18:37:35 <sipa> jgarzik: yes, to add timestamps to the key itself instead of a separate parameter like you do
2068 2013-05-31 18:37:50 <sipa> (though those would be optional)
2069 2013-05-31 18:38:00 <jgarzik> ok
2070 2013-05-31 18:41:33 testnode9 has joined
2071 2013-05-31 18:41:34 tyn has quit (Ping timeout: 276 seconds)
2072 2013-05-31 18:44:14 SeeB has quit (Quit: Page closed)
2073 2013-05-31 18:46:30 foami has joined
2074 2013-05-31 18:46:50 skeledrew has quit (Read error: Connection reset by peer)
2075 2013-05-31 18:47:47 seeingidog__ has joined
2076 2013-05-31 18:49:34 kadoban_ has joined
2077 2013-05-31 18:51:23 kadoban has quit (Ping timeout: 252 seconds)
2078 2013-05-31 18:52:36 yafujifide has quit (Quit: Leaving)
2079 2013-05-31 18:56:20 super3 has quit (Quit: Leaving)
2080 2013-05-31 18:56:28 DaQatz has joined
2081 2013-05-31 18:58:09 tyn has joined
2082 2013-05-31 18:59:54 normanrichards has quit (Quit: normanrichards)
2083 2013-05-31 19:00:56 <jgarzik> sipa, updated
2084 2013-05-31 19:01:14 jeewee has quit (Quit: Leaving.)
2085 2013-05-31 19:01:37 tyn has quit (Excess Flood)
2086 2013-05-31 19:02:11 evan_ has joined
2087 2013-05-31 19:03:05 tyn has joined
2088 2013-05-31 19:03:36 <dansmith_btc> HI, after createrawtransaction() and getting the <hex string>, I signrawtransaction <hexstring> null '["5Jn...skip...SoV"]' and the output is {"hex":the same <hex string>}. Why is it not signing?
2089 2013-05-31 19:03:56 rcorreia has joined
2090 2013-05-31 19:04:11 <evan_> so I have a question. My ssh privkey is huge, it's like 1600 characters long. On the otherhand my privkey in bitcoin is like 50 characters. Why don't we support longer, harder to break keys?
2091 2013-05-31 19:04:39 charybdis has joined
2092 2013-05-31 19:04:50 agnostic98 has quit (Remote host closed the connection)
2093 2013-05-31 19:05:07 <Scrat> evan_: a bitcoin key has the same security as an RSA key 12 times the size
2094 2013-05-31 19:05:23 cads has joined
2095 2013-05-31 19:05:23 <Scrat> comparable*
2096 2013-05-31 19:05:51 <evan_> Scrat, how can it be that secure with a privkey so small?
2097 2013-05-31 19:06:10  has quit (Clown|!Clown@unaffiliated/clown/x-0272709|Ping timeout: 245 seconds)
2098 2013-05-31 19:06:18 <Scrat> because it's a different cryptosystem
2099 2013-05-31 19:07:05 <evan_> where can I find more info about why that makes it secure?
2100 2013-05-31 19:08:09 <evan_> is there some form of security it gets from the address too?
2101 2013-05-31 19:08:12 <Scrat> knock yourself out: http://en.wikipedia.org/wiki/Elliptic_curve_cryptography
2102 2013-05-31 19:08:24 <evan_> thanks
2103 2013-05-31 19:08:33 FredEE has joined
2104 2013-05-31 19:09:18 Namworld has joined
2105 2013-05-31 19:10:05 tyn has quit (Ping timeout: 252 seconds)
2106 2013-05-31 19:11:45 <jgarzik> dansmith_btc, shouldn't be exactly the same.  The first $many bytes may be the same, though.  Did you check 100% of the string, or just look at the first/last few chars?
2107 2013-05-31 19:12:48 <dansmith_btc> No, it's exactly the same
2108 2013-05-31 19:12:57 <dansmith_btc> tried with two different priv keys
2109 2013-05-31 19:13:24 <jgarzik> dansmith_btc, did you specify walletpassphrase?  did you verify that the keys are indeed in your wallet, for signing?
2110 2013-05-31 19:13:31 <jgarzik> those are the only other things I can think of
2111 2013-05-31 19:13:46 <dansmith_btc> I imported those keys and I have no passphrase
2112 2013-05-31 19:13:53 <jgarzik> dansmith_btc, signtransaction does a best effort:  it signs iff it can find the keys
2113 2013-05-31 19:14:00 <jgarzik> dansmith_btc, otherwise it doesn't do anything
2114 2013-05-31 19:16:21 tyn has joined
2115 2013-05-31 19:16:38 <phantomcircuit> dansmith_btc, try restarting with a -rescan
2116 2013-05-31 19:16:44 <dansmith_btc> jgarzik,  The keys are indeed in the wallet,I imported them with importprivkey and  I can see their corresponding bitcoin addresses in bitcoin-qt
2117 2013-05-31 19:17:11 <dansmith_btc> Should have mentioned that bitcoin-qt is still reindexing now
2118 2013-05-31 19:17:25 <evan_> is it possible that 2 privkeys could sign for the same addr?
2119 2013-05-31 19:18:18 <jgarzik> an address is hash(pubkey)
2120 2013-05-31 19:18:28 <jgarzik> and pubkey is derived from privkey
2121 2013-05-31 19:18:43 <phantomcircuit> jgarzik, iirc there are two pubkeys for every privkey
2122 2013-05-31 19:18:51 <phantomcircuit> but by convention we use the positive one
2123 2013-05-31 19:18:56 normanrichards has joined
2124 2013-05-31 19:18:58 <phantomcircuit> am i remembering correctly?
2125 2013-05-31 19:19:34 <dansmith_btc> phantomcircuit, -rescan was done by default when I used importprivkey
2126 2013-05-31 19:20:10 <phantomcircuit> dansmith_btc, either way have you restarted since using importprivkey?
2127 2013-05-31 19:20:14 <jgarzik> phantomcircuit, in context, though, 2 privkeys cannot sign for the same address, unless I'm missing something
2128 2013-05-31 19:20:36 <phantomcircuit> jgarzik, right
2129 2013-05-31 19:20:44 <phantomcircuit> i was just thinking that's what he was thinking about
2130 2013-05-31 19:23:01 <dansmith_btc> jgarzik, could it be that signrawtransaction hiccups on legacy priv keys starting with "5"?
2131 2013-05-31 19:23:51 chmod755 has joined
2132 2013-05-31 19:27:19 kadoban_ has quit (Remote host closed the connection)
2133 2013-05-31 19:29:56 robocoin has quit (Remote host closed the connection)
2134 2013-05-31 19:30:03 <jgarzik> dansmith_btc, shouldn't?.
2135 2013-05-31 19:30:29 <jgarzik> dansmith_btc, signrawtransaction definitely does nothing but regurgitate the input, if it cannot find anything to sign
2136 2013-05-31 19:30:42 <dansmith_btc> jgarzik, I converted the priv key to the compressed format - same result.
2137 2013-05-31 19:32:16  has joined
2138 2013-05-31 19:32:16  has quit (Clown|!~clown@static-87-79-93-140.netcologne.de|Changing host)
2139 2013-05-31 19:32:16  has joined
2140 2013-05-31 19:34:17 asa1024 has quit (Ping timeout: 240 seconds)
2141 2013-05-31 19:34:18 denisx has quit (Quit: denisx)
2142 2013-05-31 19:35:15 kyledrake has joined
2143 2013-05-31 19:36:10 kyledrak_ has quit (Ping timeout: 276 seconds)
2144 2013-05-31 19:38:00 santoscork has quit (Quit: Hibernation Time …)
2145 2013-05-31 19:40:19 DaQatz has quit (Ping timeout: 264 seconds)
2146 2013-05-31 19:40:36 evan_ has quit (Quit: Leaving)
2147 2013-05-31 19:47:00 DaQatz has joined
2148 2013-05-31 19:48:28 resinate has joined
2149 2013-05-31 19:48:47 ProfMac has quit (Quit: Page closed)
2150 2013-05-31 19:51:41 asa1024 has joined
2151 2013-05-31 19:51:48 denom has joined
2152 2013-05-31 19:52:56 <denom> can anyone recommend a good leveldb client (that can interact with the bitcoin version 8 db) for a general purpose language like ruby or python?
2153 2013-05-31 19:52:56 fishfish has joined
2154 2013-05-31 19:53:55 alphaguru has quit ()
2155 2013-05-31 19:55:17 <jgarzik> denom, what do you mean by "leveldb client"?
2156 2013-05-31 19:55:24 <nsh> library, i assume
2157 2013-05-31 19:56:06 <nsh> denom, e.g. http://code.google.com/p/py-leveldb/ ?
2158 2013-05-31 19:57:54 DaQatz has quit (Ping timeout: 245 seconds)
2159 2013-05-31 19:58:16 JyZyXEL has quit (Quit: ZNC - http://znc.sourceforge.net)
2160 2013-05-31 20:00:04 JyZyXEL has joined
2161 2013-05-31 20:03:19 tyn has quit (Ping timeout: 245 seconds)
2162 2013-05-31 20:03:24 kyledrake has quit (Ping timeout: 252 seconds)
2163 2013-05-31 20:04:37 skeledrew has joined
2164 2013-05-31 20:04:53 DaQatz has joined
2165 2013-05-31 20:05:07 agnostic98 has joined
2166 2013-05-31 20:05:26 jurov has joined
2167 2013-05-31 20:05:39 <denom> jgarzik, leveldb is the new datastore used in the bitcoin client for the blockchain, right?
2168 2013-05-31 20:07:14 <gmaxwell> No. The blockchain is still just the blockchain.
2169 2013-05-31 20:07:26 normanrichards has quit (Read error: Connection reset by peer)
2170 2013-05-31 20:07:40 <gmaxwell> This isn't just some SQL database that you can query.
2171 2013-05-31 20:08:26 <denom> gmaxwell, can you clarify? I'm looking to read some arbitrary blocks from the blockchain
2172 2013-05-31 20:08:57 <gmaxwell> denom: For what purpose?
2173 2013-05-31 20:09:41 <denom> I'd like to run some statistics on the transactions
2174 2013-05-31 20:10:08 <denom> curious about the new "dust" showing up in the blockchain
2175 2013-05-31 20:10:30 <gmaxwell> denom: use the RPC. If you access the raw blocks you'll end up with stale blocks in your data.
2176 2013-05-31 20:10:39 saulimus has joined
2177 2013-05-31 20:13:08 <jgarzik> gmaxwell, that requires -txindex, and some effort, but yes
2178 2013-05-31 20:13:24 * jgarzik still wants a 'getblock' RPC that dumps the full block
2179 2013-05-31 20:13:35 <jgarzik> denom, ^
2180 2013-05-31 20:15:11 <denom> hm, I see. Though it seems prohibitively slow to unspool gigabytes of transactions across an RPC
2181 2013-05-31 20:16:04 <gmaxwell> denom: the alternative is processing the raw blocks yourself, and then implement the block chain algorithim in order to figure out which blocks are not stale.
2182 2013-05-31 20:17:46 <nsh> denom, there's https://bitcointalk.org/index.php?topic=103277.0 (Announcing The BiRD, short for "Bitcoin Relational Database".)   -- status, unclear
2183 2013-05-31 20:18:09 <helo> gmaxwell: does bitcointools not do that?
2184 2013-05-31 20:18:10 <nsh> and some other people have created queryable indexed databases from the blockchain for personal reasons
2185 2013-05-31 20:19:45 <jgm> denom: I've dumped the blockchain in to postgresql.  Took a bit of time and effort, though.
2186 2013-05-31 20:20:13 <jgarzik> gmaxwell, not really
2187 2013-05-31 20:20:38 <jgarzik> gmaxwell, pynode will do that:  pynode manages a blockchain, and mkbootstrap will create a linearized version
2188 2013-05-31 20:20:59 <jgarzik> gmaxwell, no need to implement any blockchain algorithms, just binary processing
2189 2013-05-31 20:21:25 gritball has joined
2190 2013-05-31 20:21:40 Jackneill has quit (Ping timeout: 276 seconds)
2191 2013-05-31 20:21:46 <jgarzik> You only need a linearized version of the blockchain, in whatever form is preferred
2192 2013-05-31 20:21:54 <gmaxwell> jgarzik: uh. you still need to select the longest chain somehow.
2193 2013-05-31 20:22:19 toffoo has joined
2194 2013-05-31 20:22:19 <jgarzik> gmaxwell, "pynode manages a blockchain"
2195 2013-05-31 20:22:37 normanrichards has joined
2196 2013-05-31 20:22:44 <gmaxwell> Indeed!
2197 2013-05-31 20:22:47 <gmaxwell> That would work.
2198 2013-05-31 20:23:14 * nsh smiles
2199 2013-05-31 20:23:24 grau has quit (Remote host closed the connection)
2200 2013-05-31 20:24:39 <phantomcircuit> jgarzik, it's very easy to modify getblock to do that
2201 2013-05-31 20:26:43 grau has joined
2202 2013-05-31 20:26:47 peetaur2 has quit (Quit: Konversation terminated!)
2203 2013-05-31 20:27:58 gritball has quit (Ping timeout: 256 seconds)
2204 2013-05-31 20:29:14 tyn has joined
2205 2013-05-31 20:29:21 gritball has joined
2206 2013-05-31 20:32:43 DaQatz has quit (Ping timeout: 276 seconds)
2207 2013-05-31 20:32:54 RazielZ has quit (Ping timeout: 245 seconds)
2208 2013-05-31 20:33:42 Gnaf has joined
2209 2013-05-31 20:34:02 DaQatz has joined
2210 2013-05-31 20:34:23 denisx has joined
2211 2013-05-31 20:37:16 grau has quit (Remote host closed the connection)
2212 2013-05-31 20:39:46 da2ce7 has quit (2!~kvirc@opentransactions/dev/da2ce7|Read error: Connection reset by peer)
2213 2013-05-31 20:40:18 <jgarzik> phantomcircuit, yes
2214 2013-05-31 20:40:31 <jgarzik> phantomcircuit, as I did with a patch that existed back in the Satoshi days
2215 2013-05-31 20:40:51 denisx has quit (Ping timeout: 252 seconds)
2216 2013-05-31 20:41:33 nimdAHK has joined
2217 2013-05-31 20:41:50 <phantomcircuit> jgarzik, actually trying to access the blockchain over rpc is folly though
2218 2013-05-31 20:42:07 <jgarzik> phantomcircuit, https://bitcointalk.org/index.php?topic=724.0
2219 2013-05-31 20:42:12 <phantomcircuit> the latency of an rpc call is enough that it's a problem
2220 2013-05-31 20:42:34 Truncatem has quit (Quit: Leaving)
2221 2013-05-31 20:42:51 <phantomcircuit> jgarzik, so why has that languished on the forum for so long? :)
2222 2013-05-31 20:43:44 <jgarzik> phantomcircuit, At the time, the claim was that there were very few users who had use for something like that
2223 2013-05-31 20:43:58 <jgarzik> phantomcircuit, i.e. the total population of users who were building block explorer users
2224 2013-05-31 20:44:02 fanquake has quit (Quit: fanquake)
2225 2013-05-31 20:44:07 <jgarzik> er, block explorer websites
2226 2013-05-31 20:44:25 <phantomcircuit> ah
2227 2013-05-31 20:44:38 <phantomcircuit> but today it's useful for people who are running merchant solutions as well
2228 2013-05-31 20:44:44 <jgarzik> I still think there is value, in multiple areas
2229 2013-05-31 20:44:49 <weex> is there a way to check if an address is in a given wallet via rpc?
2230 2013-05-31 20:44:56 <jgarzik> and "getblock" CAN work without -txindex
2231 2013-05-31 20:45:06 <jgarzik> the current system will not give you full blocks, without -txindes
2232 2013-05-31 20:45:09 <jgarzik> the current system will not give you full blocks, without -txindex
2233 2013-05-31 20:45:31 <jgarzik> i.e. you get the block header, then must iterate and request each transaction
2234 2013-05-31 20:45:43 <jgarzik> JSON-RPC 2.0 batches makes that much less painful, but it's still annoying
2235 2013-05-31 20:45:43 viperhr has quit (Ping timeout: 276 seconds)
2236 2013-05-31 20:45:48 ielo has quit (Ping timeout: 256 seconds)
2237 2013-05-31 20:46:14 denom has quit (Ping timeout: 245 seconds)
2238 2013-05-31 20:46:18 <gonffen> weex: validateaddress will tell you that iirc
2239 2013-05-31 20:48:23 <weex> cool, i see "ismine" there
2240 2013-05-31 20:48:29 <weex> thanks gon
2241 2013-05-31 20:49:02 beethoven2 is now known as beethoven8201
2242 2013-05-31 20:49:09 <weex> er thanks gonffen
2243 2013-05-31 20:49:57 ahdinosaur is now known as ahdinosaur_zz
2244 2013-05-31 20:51:12 BDCrate has joined
2245 2013-05-31 20:54:26 denisx has joined
2246 2013-05-31 20:55:26 SvenDiagram has joined
2247 2013-05-31 20:55:48 resinate has quit (Quit: resinate)
2248 2013-05-31 20:55:59 abracadabopoulos has joined
2249 2013-05-31 20:58:13 denom has joined
2250 2013-05-31 20:58:41 Grishnakh_ has joined
2251 2013-05-31 20:58:50 sivu has joined
2252 2013-05-31 20:58:51 linagee_ has joined
2253 2013-05-31 20:59:04 abracadabra has quit (Ping timeout: 252 seconds)
2254 2013-05-31 20:59:04 Grishnakh has quit (Read error: Connection reset by peer)
2255 2013-05-31 20:59:04 linagee has quit (Ping timeout: 252 seconds)
2256 2013-05-31 20:59:04 sivu_ has quit (Ping timeout: 252 seconds)
2257 2013-05-31 20:59:18 valparaiso has quit (Ping timeout: 252 seconds)
2258 2013-05-31 20:59:40 valparaiso has joined
2259 2013-05-31 20:59:49 licnep has quit (Ping timeout: 252 seconds)
2260 2013-05-31 20:59:50 K1773R has quit (Ping timeout: 252 seconds)
2261 2013-05-31 21:00:55 K1773R has joined
2262 2013-05-31 21:03:56 tyn has quit (Ping timeout: 252 seconds)
2263 2013-05-31 21:03:59 <jgarzik> <grau> "That box downloaded, verified and address indexed the block chain from scratch in 4.3 hours using 50 random peers."
2264 2013-05-31 21:04:05 <jgarzik> so it's only 4x slower than bitcoind?
2265 2013-05-31 21:04:33 <Luke-Jr> lol, I wish bitcoind did that in an hour >_<
2266 2013-05-31 21:04:40 DaQatz has quit (Ping timeout: 260 seconds)
2267 2013-05-31 21:04:52 <gmaxwell> Luke-Jr: hm? does for me.
2268 2013-05-31 21:05:24 debiantoruser has quit (Ping timeout: 245 seconds)
2269 2013-05-31 21:05:59 CodeShark has joined
2270 2013-05-31 21:06:15 <jgarzik> me^2
2271 2013-05-31 21:07:19 toffoo has quit ()
2272 2013-05-31 21:07:22 <Luke-Jr> on normal magnetic hard drivers? :p
2273 2013-05-31 21:07:29 <Luke-Jr> with other stuff being used
2274 2013-05-31 21:07:30 debiantoruser has joined
2275 2013-05-31 21:07:59 <nsh> mmm, that raises a point: would it make sense to have a branch with error and statistic reporting built in for things like this, that people can chose to run as a way of facilitating developement. e.g. to get a sense of average performance, more automated bug reporting, etc.?
2276 2013-05-31 21:07:59 <Luke-Jr> heck, I don't think even Eligius's RAID setup sync'd in an hour
2277 2013-05-31 21:08:44 <wizkid057> took a little over 2 hours IIRC
2278 2013-05-31 21:08:44 <jgarzik> Luke-Jr, well, if you're on an under-powered VPS with no RAM for pagecache, sure, it takes longer
2279 2013-05-31 21:09:01 <wizkid057> lol, this machine is pretty beastly
2280 2013-05-31 21:09:07 <jgarzik> Luke-Jr, the laptop w/ rotational does it here in under an hour
2281 2013-05-31 21:09:10 <phantomcircuit> Luke-Jr, if you have about 8GB of memory available for read cache everything is very fast
2282 2013-05-31 21:09:14 <phantomcircuit> less than that and not so much
2283 2013-05-31 21:09:23 <Luke-Jr> Eligius has like 32 GB RAM
2284 2013-05-31 21:09:39 <gmaxwell> Luke-Jr: the drive shouldn't matter. It's interesting if it does.
2285 2013-05-31 21:09:52 <gmaxwell> leveldb doesn't really do (any?) sync writes.
2286 2013-05-31 21:10:14 <phantomcircuit> Luke-Jr, since 0.8.x hdd speed should be relatively unimportant if there is sufficient memory for a warm read cache
2287 2013-05-31 21:10:21 toffoo has joined
2288 2013-05-31 21:10:45 <Luke-Jr> I think Eligius was even doing a -reindex
2289 2013-05-31 21:11:02 <wizkid057> Luke-Jr: i believe we did txindex=1 though
2290 2013-05-31 21:11:06 <wizkid057> now that I think about it
2291 2013-05-31 21:11:12 <Luke-Jr> true, but not sure that should be a big hit
2292 2013-05-31 21:11:28 <wizkid057> Timing buffered disk reads: 634 MB in  3.00 seconds = 211.18 MB/sec
2293 2013-05-31 21:11:33 <wizkid057> and thats under near-full load
2294 2013-05-31 21:11:37 <wizkid057> so, disk shouldnt be an issue
2295 2013-05-31 21:12:04 <phantomcircuit> the issue isn't throughput
2296 2013-05-31 21:12:16 <phantomcircuit> it's if you have to random seek in leveldb to read something
2297 2013-05-31 21:12:38 <phantomcircuit> then after the checkpoint the issue quickly becomes cpu time
2298 2013-05-31 21:13:04 <phantomcircuit> and my workstation is a *maybe* $300 setup
2299 2013-05-31 21:13:11 <phantomcircuit> it's really slow actually
2300 2013-05-31 21:14:16 <jgarzik> leveldb sorts the hashes in lexicographic order, so retrieval is pretty much seek hell, as a hash could be anywhere
2301 2013-05-31 21:14:20 <wizkid057> phantomcircuit: this is a Xeon E5-2620 6-core (12 thread) machine... CPU should not be an issue
2302 2013-05-31 21:14:53 <phantomcircuit> jgarzik, heh that's worse than i was thinking but yeah
2303 2013-05-31 21:14:55 <wizkid057> and the machine was not under any load other than bitcoind setup at the time either... i know for sure it took at least 2 hours
2304 2013-05-31 21:15:05 <nsh> jgarzik, can this be improved?
2305 2013-05-31 21:15:13 <jgarzik> wizkid057, source of blockchain data?
2306 2013-05-31 21:15:25 <jgarzik> nsh, doubtful
2307 2013-05-31 21:15:32 <nsh> mm, k
2308 2013-05-31 21:15:33 <wizkid057> jgarzik: copied over from my other server in the same datacenter via scp first
2309 2013-05-31 21:15:36 <wizkid057> so, disk
2310 2013-05-31 21:15:42 <jgarzik> wizkid057, ouch
2311 2013-05-31 21:15:47 <jgarzik> wizkid057, read+write from same disk?
2312 2013-05-31 21:16:09 <gmaxwell> wizkid057: weird. I mean, my _laptop_ does that well. (benchmarked it last about a month ago)
2313 2013-05-31 21:16:10 <jgarzik> that's probably one factor
2314 2013-05-31 21:16:15 <wizkid057> same RAID, with 32GB/ram
2315 2013-05-31 21:16:49 resinate has joined
2316 2013-05-31 21:16:57 <wizkid057> I actually started it with -connect to my other server.... but it was faster with it on disk
2317 2013-05-31 21:16:59 <jgarzik> RAID will slow down your writes, and the reads are coming from the same RAID, interfering with scheduling
2318 2013-05-31 21:17:12 <Diablo-D3> s/will/may/
2319 2013-05-31 21:17:28 <jgarzik> will, in this use case.
2320 2013-05-31 21:17:36 * wizkid057 shrugs
2321 2013-05-31 21:17:41 <wizkid057> i should benchmark it on my machine
2322 2013-05-31 21:17:50 <wizkid057> my local SSD RAID0 gets 1.2GB/sec
2323 2013-05-31 21:17:54 <wizkid057> read/write
2324 2013-05-31 21:17:56 B0g4r7_ has quit (Remote host closed the connection)
2325 2013-05-31 21:18:01 <Diablo-D3> its not about bandwidth, wizkid057
2326 2013-05-31 21:18:03 <Diablo-D3> its about iops
2327 2013-05-31 21:18:15 <wizkid057> sure
2328 2013-05-31 21:18:15 <jgarzik> plus writeback scheduling in the OS
2329 2013-05-31 21:18:58 <wizkid057> Diablo-D3: well, better not be a bottleneck there on my machine.  I still get 600MB+/sec throughput with 512 byte reads
2330 2013-05-31 21:19:11 <Diablo-D3> why arent you using 4k?
2331 2013-05-31 21:19:24 <wizkid057> i meant for benchmarking purposes
2332 2013-05-31 21:19:45 <Diablo-D3> yes, and Im saying 512b benchmarks are useless on hardware natively optimized for 4k
2333 2013-05-31 21:19:49 nimdAHK_ has joined
2334 2013-05-31 21:20:19 hneio has joined
2335 2013-05-31 21:20:31 <wizkid057> i was going for unoptimized
2336 2013-05-31 21:20:44 <wizkid057> trying to get a worst case
2337 2013-05-31 21:21:07 jgarzik has quit (Quit: weekend)
2338 2013-05-31 21:22:18 BCB is now known as Guest3606
2339 2013-05-31 21:22:19 SvenDiagram has quit (Quit: SvenDiagram)
2340 2013-05-31 21:22:44 <wizkid057> ah well, not going to worry much
2341 2013-05-31 21:22:54 nimdAHK has quit (Ping timeout: 245 seconds)
2342 2013-05-31 21:23:01 <wizkid057> 2 hours is infinitely better than my sync in 12/2011
2343 2013-05-31 21:23:23 nimdAHK has joined
2344 2013-05-31 21:23:52 guruvan has quit (Remote host closed the connection)
2345 2013-05-31 21:23:52 sensorii has quit (Remote host closed the connection)
2346 2013-05-31 21:23:52 gst has quit (Remote host closed the connection)
2347 2013-05-31 21:23:52 owowo has quit (Remote host closed the connection)
2348 2013-05-31 21:23:52 rdponticelli has quit (Remote host closed the connection)
2349 2013-05-31 21:23:52 MobiusL has quit (Remote host closed the connection)
2350 2013-05-31 21:23:53 beethoven8201 has quit (Write error: Broken pipe)
2351 2013-05-31 21:23:53 cypher has quit (Write error: Connection reset by peer)
2352 2013-05-31 21:23:53 wiretapped has quit (Write error: Connection reset by peer)
2353 2013-05-31 21:23:53 darkee has quit (Write error: Connection reset by peer)
2354 2013-05-31 21:23:53 i2pRelay has quit (Write error: Connection reset by peer)
2355 2013-05-31 21:23:53 Subo1978 has quit (Write error: Connection reset by peer)
2356 2013-05-31 21:23:53 random_cat has quit (Write error: Connection reset by peer)
2357 2013-05-31 21:23:53 GordonG3kko has quit (Write error: Broken pipe)
2358 2013-05-31 21:23:53 sacredchao has quit (Write error: Broken pipe)
2359 2013-05-31 21:23:53 KillYourTV has quit (Write error: Broken pipe)
2360 2013-05-31 21:24:09 nimdAHK_ has quit (Ping timeout: 245 seconds)
2361 2013-05-31 21:24:34 hneio has quit (Ping timeout: 245 seconds)
2362 2013-05-31 21:24:36 <phantomcircuit> wizkid057, system with an ssd is measuring ~100 write iops when using the blk*dat files on another drive
2363 2013-05-31 21:24:40 <phantomcircuit> system has 32 GB of ram
2364 2013-05-31 21:24:47 <phantomcircuit> leveldb writes are all append only
2365 2013-05-31 21:24:55 <phantomcircuit> so i presume that those are sequential writes
2366 2013-05-31 21:25:14 <phantomcircuit> if you had a very full fs and lots of fragmented free space
2367 2013-05-31 21:25:18 <phantomcircuit> i guess it could be an issue
2368 2013-05-31 21:26:09 <wizkid057> nah... i have 480GB of SSD RAID0 right now... about 65% free (contiguous)
2369 2013-05-31 21:26:09 resinate has quit (Quit: resinate)
2370 2013-05-31 21:26:14 DaQatz has joined
2371 2013-05-31 21:27:53 <wizkid057> i've actually never had bitcoind on this machine, now that I think about it
2372 2013-05-31 21:28:18 fishfish has quit (Quit: Bye!)
2373 2013-05-31 21:28:19 GeorgeJ has quit (Remote host closed the connection)
2374 2013-05-31 21:29:27 pigeons has quit (Read error: Operation timed out)
2375 2013-05-31 21:29:34 pigeons has joined
2376 2013-05-31 21:29:54 DaQatz has quit (Read error: Operation timed out)
2377 2013-05-31 21:29:57 pigeons is now known as Guest61855
2378 2013-05-31 21:30:22 owowo has joined
2379 2013-05-31 21:30:55 owowo is now known as owowodoppolous
2380 2013-05-31 21:31:02 owowodoppolous is now known as owowodopolous
2381 2013-05-31 21:32:07 DaQatz has joined
2382 2013-05-31 21:32:33 debiantoruser has quit (Ping timeout: 252 seconds)
2383 2013-05-31 21:34:14 debiantoruser has joined
2384 2013-05-31 21:35:44 metabyte_ has joined
2385 2013-05-31 21:36:33 tholenst has joined
2386 2013-05-31 21:38:35 metabyte has quit (Ping timeout: 246 seconds)
2387 2013-05-31 21:39:08 mappum has joined
2388 2013-05-31 21:40:03 oleganza has joined
2389 2013-05-31 21:40:31 jaequery has joined
2390 2013-05-31 21:43:19 nimdAHK_ has joined
2391 2013-05-31 21:43:24 DaQatz has quit (Ping timeout: 260 seconds)
2392 2013-05-31 21:44:59 DaQatz has joined
2393 2013-05-31 21:45:34 metabyte has joined
2394 2013-05-31 21:46:14 nimdAHK has quit (Ping timeout: 245 seconds)
2395 2013-05-31 21:46:14 santoscork has joined
2396 2013-05-31 21:48:02 metabyte_ has quit (Ping timeout: 246 seconds)
2397 2013-05-31 21:50:24 nimdAHK_ has quit (Ping timeout: 245 seconds)
2398 2013-05-31 21:50:25 saulimus has quit (Quit: saulimus)
2399 2013-05-31 21:51:08 nimdAHK has joined
2400 2013-05-31 21:52:13 cjsw3 has quit (Quit: Textual IRC Client: www.textualapp.com)
2401 2013-05-31 21:53:14 skfax has joined
2402 2013-05-31 21:54:52 viperhr has joined
2403 2013-05-31 21:55:28 oleganza has quit (Quit: oleganza)
2404 2013-05-31 21:57:45 rdponticelli has joined
2405 2013-05-31 21:58:34 Guest61855 is now known as pigeons
2406 2013-05-31 22:00:44 oleganza has joined
2407 2013-05-31 22:00:56 yubrew has quit (Remote host closed the connection)
2408 2013-05-31 22:01:33 sark has quit (!~sark@37-252-106-157.ip.skylogicnet.com|Read error: Connection timed out)
2409 2013-05-31 22:01:49 santoscork has quit (Quit: Quiet while I make like a cat)
2410 2013-05-31 22:02:28 grau has joined
2411 2013-05-31 22:03:23 sark has joined
2412 2013-05-31 22:03:30 CaptainBlaze has quit (Quit: CaptainBlaze)
2413 2013-05-31 22:04:50 tyn has joined
2414 2013-05-31 22:05:56 CaptainBlaze has joined
2415 2013-05-31 22:06:26 wamatt has quit (Quit: wamatt)
2416 2013-05-31 22:07:12 grau has quit (Ping timeout: 260 seconds)
2417 2013-05-31 22:07:13 tholenst has quit (Quit: Page closed)
2418 2013-05-31 22:08:17 foami has quit (Ping timeout: 252 seconds)
2419 2013-05-31 22:09:08 agnostic98 has quit (Remote host closed the connection)
2420 2013-05-31 22:12:28 Thepok has quit (Quit: Nettalk6 - www.ntalk.de)
2421 2013-05-31 22:13:32 agnostic98 has joined
2422 2013-05-31 22:14:09 denisx_ has joined
2423 2013-05-31 22:14:36 agnostic98 has quit (Remote host closed the connection)
2424 2013-05-31 22:17:22 skfax has quit (Ping timeout: 276 seconds)
2425 2013-05-31 22:17:27 iwilcox_ is now known as iwilcox
2426 2013-05-31 22:17:50 Blitzboom has quit (Disconnected by services)
2427 2013-05-31 22:17:51 Blitzboom_ has joined
2428 2013-05-31 22:18:27 Plinker__ has joined
2429 2013-05-31 22:19:48 eculver_ has joined
2430 2013-05-31 22:19:51 t4ls0 has joined
2431 2013-05-31 22:19:56 guest892835 has joined
2432 2013-05-31 22:20:00 meLon has quit (Disconnected by services)
2433 2013-05-31 22:20:01 meLon_ has joined
2434 2013-05-31 22:20:10 jouke has joined
2435 2013-05-31 22:20:23 brson_ has joined
2436 2013-05-31 22:20:26 erska has joined
2437 2013-05-31 22:20:32 Blitzboom_ is now known as Blitzboom
2438 2013-05-31 22:20:36 Blitzboom has quit (Changing host)
2439 2013-05-31 22:20:36 Blitzboom has joined
2440 2013-05-31 22:23:38 brendyyn has joined
2441 2013-05-31 22:24:15 valparaiso_ has joined
2442 2013-05-31 22:24:51 patcon has joined
2443 2013-05-31 22:24:56 px has quit (Ping timeout: 252 seconds)
2444 2013-05-31 22:25:25 <patcon> hey all! I know everyone is super-busy, and this isn't a negligible request, but can anyone verify who is correct in this reddit discussions?
2445 2013-05-31 22:25:25 <patcon> http://www.reddit.com/r/Bitcoin/comments/1fckgx/if_bitcoin_becomes_money_the_governments_control/ca9pqpg?context=3
2446 2013-05-31 22:26:22 <patcon> I'm trying to understand how I might be incorrect, but I'm still wrapping my mind around everything. have only digested the wiki, and not the satoshi client code so far.
2447 2013-05-31 22:26:25 <patcon> Oops. http://www.reddit.com/r/Bitcoin/comments/1fckgx/if_bitcoin_becomes_money_the_governments_control/ca9pqpg?context=5
2448 2013-05-31 22:26:29 meLon_ has quit (Quit: leaving)
2449 2013-05-31 22:26:53 meLon has joined
2450 2013-05-31 22:27:07 valparaiso_ is now known as valparaiso
2451 2013-05-31 22:27:09 brendyyn is now known as brendyn
2452 2013-05-31 22:28:17 SwedFTP_ has joined
2453 2013-05-31 22:28:32 SwedFTP_ has quit (Read error: Connection reset by peer)
2454 2013-05-31 22:28:50 <patcon> ugh. so many netsplits...
2455 2013-05-31 22:28:54 SwedFTP_ has joined
2456 2013-05-31 22:28:54 paracyst has joined
2457 2013-05-31 22:29:18 SwedFTP_ is now known as Guest60135
2458 2013-05-31 22:30:16 toffoo has quit ()
2459 2013-05-31 22:30:29 SwedFTP is now known as Guest97225
2460 2013-05-31 22:30:57 Guest60135 is now known as SwedFTP
2461 2013-05-31 22:31:07 SwedFTP has quit (Changing host)
2462 2013-05-31 22:31:07 SwedFTP has joined
2463 2013-05-31 22:31:40 Guest97225 has quit (Ping timeout: 276 seconds)
2464 2013-05-31 22:33:13 meLon has quit (Quit: leaving)
2465 2013-05-31 22:33:19 oleganza has quit (Quit: oleganza)
2466 2013-05-31 22:36:16 fishfish has joined
2467 2013-05-31 22:36:37 MobiusL has joined
2468 2013-05-31 22:36:37 MobiusL has quit (Changing host)
2469 2013-05-31 22:36:37 MobiusL has joined
2470 2013-05-31 22:40:32 DaQatz has quit (Ping timeout: 246 seconds)
2471 2013-05-31 22:43:33 jaequery has quit (Quit: Computer has gone to sleep.)
2472 2013-05-31 22:46:59 ppcko has joined
2473 2013-05-31 22:47:55 sanders has quit (Read error: Operation timed out)
2474 2013-05-31 22:48:46 oleganza has joined
2475 2013-05-31 22:52:06 jaequery has joined
2476 2013-05-31 22:52:28 debiantoruser has quit (Ping timeout: 260 seconds)
2477 2013-05-31 22:52:32 DaQatz has joined
2478 2013-05-31 22:53:30 <iddo> patcon: i don't see anything inaccurate in what the other person said there
2479 2013-05-31 22:54:52 <iddo> patcon: see also https://bitcointalk.org/index.php?topic=146191.msg1557247#msg1557247
2480 2013-05-31 22:54:57 <patcon> iddo: ah ok. so convincing miners to adopt a non-standard rule and hardfork does not force the network to favour those rules?
2481 2013-05-31 22:55:30 <patcon> haha oh man, and now the part where I concede, but I'll have to figure out why I did so later :)
2482 2013-05-31 22:56:32 <iddo> patcon: the non-miner nodes will reject the modified rules as invalid, and stay with the old blockchain
2483 2013-05-31 22:57:00 <patcon> OH... but that doesn't mean the rules can't be changed, just that it's not at the miner level, right?
2484 2013-05-31 22:58:05 <saivann_> patcon : Actually, a fork could be resumed as "two independant parallel Bitcoin networks obeying to different rules". Both of these networks cannot enforce any rule on each other.
2485 2013-05-31 22:58:06 Subo1978 has joined
2486 2013-05-31 22:58:23 sensorii has joined
2487 2013-05-31 22:58:30 sacredchao has joined
2488 2013-05-31 22:58:56 KillYourTV has joined
2489 2013-05-31 22:58:57 <patcon> saivann_: but assuming most people are self-interested and only mildly political, they would be inclined to adopt the rules of the majority economy, right?
2490 2013-05-31 22:59:10 licnep has joined
2491 2013-05-31 22:59:53 guruvan has joined
2492 2013-05-31 22:59:56 wiretapped has joined
2493 2013-05-31 23:00:18 <patcon> lest their transactions become invalid in the larger (more popular?) economy..?
2494 2013-05-31 23:00:20 <iddo> patcon: there can be many (risky) kinds of scenarios, in your example it could be that the miners will modify the rules and the other nodes will decide that it's favorable for them to switch to the modified rules
2495 2013-05-31 23:00:32 DaQatz has quit (Ping timeout: 252 seconds)
2496 2013-05-31 23:00:56 sanders has joined
2497 2013-05-31 23:01:13 <patcon> So is this statement from the link true? (pls let me know if this isn't bitcoin-dev convo)
2498 2013-05-31 23:01:18 BDCrate has quit (Ping timeout: 276 seconds)
2499 2013-05-31 23:01:22 <patcon> Convince 51% of the nodes
2500 2013-05-31 23:01:23 <patcon> This is a myth. You need to convince nearly 100% of the nodes and get them to upgrade their software.
2501 2013-05-31 23:01:37 <patcon> * > Convince 51% of the nodes
2502 2013-05-31 23:01:45 <gmaxwell> patcon: what link are you talking about?
2503 2013-05-31 23:02:11 <patcon> ah sorry, I'd posted this initially: http://www.reddit.com/r/Bitcoin/comments/1fckgx/if_bitcoin_becomes_money_the_governments_control/ca9pqpg?context=5
2504 2013-05-31 23:02:39 <gmaxwell> yea thats crap
2505 2013-05-31 23:02:47 jaequery has quit (Quit: Computer has gone to sleep.)
2506 2013-05-31 23:02:50 gst has joined
2507 2013-05-31 23:03:17 <patcon> gmaxwell: thanks. crap = me or him?
2508 2013-05-31 23:03:49 one_zero has joined
2509 2013-05-31 23:04:08 beethove18201 has joined
2510 2013-05-31 23:04:18 <iddo> patcon: if 51% switch then 49% will still use the older branch, isn't that obvious?
2511 2013-05-31 23:04:49 <iddo> patcon: also you should distinguish between online nodes and offline stakeholders
2512 2013-05-31 23:05:30 sanders has quit (Ping timeout: 252 seconds)
2513 2013-05-31 23:05:35 <patcon> i guess i thought there was some game theory involved? people not wanting to be on the minority fork of the bitcoin economy
2514 2013-05-31 23:05:52 <patcon> but ok, thanks guys. i stand corrected :)
2515 2013-05-31 23:06:28 abracadabopoulos is now known as abracadabra
2516 2013-05-31 23:06:34 abracadabra has quit (Changing host)
2517 2013-05-31 23:06:34 abracadabra has joined
2518 2013-05-31 23:06:51 <patcon> iddo: ^^
2519 2013-05-31 23:06:52 agnostic98 has joined
2520 2013-05-31 23:07:10 <gmaxwell> iddo: pretty sure that if "51%" were distinct people would go "I guess this isn't viable" and go home.
2521 2013-05-31 23:07:34 tucenaber has quit (Remote host closed the connection)
2522 2013-05-31 23:09:11 <gmaxwell> iddo: part of the problem is that with a distribution anywhere near half is that any given person will likely have a local average (of people/things they care about) some random value nowhere near 50%.
2523 2013-05-31 23:10:06 <iddo> is that 50% of the hashpower, or 50% of the users?
2524 2013-05-31 23:10:07 cypher has joined
2525 2013-05-31 23:11:10 debiantoruser has joined
2526 2013-05-31 23:11:16 <iddo> also if the majority of hashpower wanted to attack, then a better way would be not to fork, but mess with the single branch, by creating empty blocks or double-spends
2527 2013-05-31 23:12:10 sanders has joined
2528 2013-05-31 23:12:23 DaQatz has joined
2529 2013-05-31 23:15:03 <Vinnie_win> REWRITE OPENSSL in c++ Who is WITH ME?
2530 2013-05-31 23:15:31 <patcon> iddo: not sure if you're still talking about my scenario, but it's not an attack scenario -- just one where a majority (unsure whether it must be miners or nodes or both) choose to follow different specific rules, and the fork forces the hand of the remaining minority
2531 2013-05-31 23:16:00 <patcon> anyhow, i've realized that I must really misunderstand something fundamental, so I'll keep at it
2532 2013-05-31 23:16:15 berndj has joined
2533 2013-05-31 23:17:11 <saivann_> patcon : What you are describing is definitively an attack, because a chain fork is toxic for the whole Bitcoin economy. Sooner or later, one chain fork is abandonned, with all transactions that happened inside it.
2534 2013-05-31 23:18:08 <iddo> patcon: it'd probably regarded as an attack, because a fork into two continuations will cause people to think that cryptocurrencies are problematic
2535 2013-05-31 23:18:32 DaQatz has quit (Ping timeout: 256 seconds)
2536 2013-05-31 23:19:45 arij has joined
2537 2013-05-31 23:19:53 <arij> any idea what this means: error response invalid signature: op_equalverify: non-equal data
2538 2013-05-31 23:20:00 <arij> how2fix
2539 2013-05-31 23:20:08 <patcon> saivann_ iddo: I do agree that semantically, it's an attack. The word strikes me as a little unwieldy, but that's ok
2540 2013-05-31 23:22:08 <iddo> patcon: if the intention isn't to attack then you could start a new chain from scratch, though you can also imagine scenarios where the bitcoin chain forks because of greed (rather than a malicious attack)
2541 2013-05-31 23:23:12 oleganza has quit (Quit: oleganza)
2542 2013-05-31 23:23:30 BDCrate has joined
2543 2013-05-31 23:23:36 jaequery has joined
2544 2013-05-31 23:27:15 brwyatt_ is now known as Away!~brwyatt@brwyatt.net|brwyatt_
2545 2013-05-31 23:29:09 DaQatz has joined
2546 2013-05-31 23:32:25 Aurigae has joined
2547 2013-05-31 23:32:41 resinate has joined
2548 2013-05-31 23:35:05 AusBitBank has quit (Ping timeout: 248 seconds)
2549 2013-05-31 23:36:36 chmod755 has quit (Quit: Leaving)
2550 2013-05-31 23:40:13 jaequery has quit (Quit: Computer has gone to sleep.)
2551 2013-05-31 23:41:32 picopinth has joined
2552 2013-05-31 23:41:39 CaptainBlaze has quit (Quit: CaptainBlaze)
2553 2013-05-31 23:41:50 Thepok has joined
2554 2013-05-31 23:41:58 sark has quit (!~sark@37-252-106-157.ip.skylogicnet.com|Read error: Connection timed out)
2555 2013-05-31 23:43:11 sark has joined
2556 2013-05-31 23:45:52 i2pRelay has joined
2557 2013-05-31 23:45:59 DaQatz has quit (Ping timeout: 246 seconds)
2558 2013-05-31 23:48:10 <berndj> i'm trying to validate a fix to what i think is a bug in cpu-miner's "c" algorithm. without lots of printf debugging (and risking triggering heissenbug behaviour), is there a way i can check the fix?
2559 2013-05-31 23:49:25 gjj has quit (Ping timeout: 256 seconds)
2560 2013-05-31 23:51:42 Populus has quit (Ping timeout: 248 seconds)
2561 2013-05-31 23:53:03 Populus has joined
2562 2013-05-31 23:53:28 DaQatz has joined
2563 2013-05-31 23:53:46 LorenzoMoney has joined
2564 2013-05-31 23:54:52 nizeguy has quit (Ping timeout: 276 seconds)
2565 2013-05-31 23:54:57 toffoo has joined
2566 2013-05-31 23:56:10 [\\\] has quit (Ping timeout: 276 seconds)
2567 2013-05-31 23:57:37 seeingidog__ has quit (Quit: Leaving.)
2568 2013-05-31 23:58:14 normanrichards has quit (Quit: normanrichards)