1 2013-03-01 00:12:37 <HM> my favourite phrase from the sec2 document : "veri???ably at random."
2 2013-03-01 00:15:13 <sipa> yes?
3 2013-03-01 00:16:36 <HM> yes :P
4 2013-03-01 00:18:20 <sipa> yes!
5 2013-03-01 00:18:32 <sipa> running bitcoind in valgrind on a VPS is painfully slow
6 2013-03-01 00:19:14 <HM> most things are painfully slow in valgrind
7 2013-03-01 00:20:13 <HM> you looking for leaks?
8 2013-03-01 00:21:00 <sipa> no, invalid memory access
9 2013-03-01 00:21:10 <sipa> somehow i can reproduce it on my VPS but not on my laptop
10 2013-03-01 00:21:30 <HM> nasty
11 2013-03-01 00:23:06 <sipa> 15 minutes already for "Verifying last 288 blocks at level 3"
12 2013-03-01 00:25:04 <HM> any more info on the memory fault?
13 2013-03-01 00:26:24 <sipa> it may take a day to reproduce, don't be hasty :)
14 2013-03-01 00:27:20 <sipa> it's probably a bug in #2016
15 2013-03-01 00:40:18 <sipa> etotheipi_: in your diagram: "Scripts and DER encoding both use big-endian values", shouldn't that be pubkeys and DER encoding?
16 2013-03-01 02:29:29 <andytoshi> does anyone know the javascript for (in) syntax off the top of their heads?
17 2013-03-01 02:29:46 <andytoshi> if you do the obvious thing, it loops over the indices
18 2013-03-01 02:31:33 <mappum> for an array or for properties of an object?
19 2013-03-01 02:34:12 <andytoshi> an array
20 2013-03-01 02:34:21 <andytoshi> it's the tx array from the getblock output
21 2013-03-01 02:34:46 <mappum> for(var i = 0; i < tx.length; i++) {}
22 2013-03-01 02:35:10 <mappum> but beware, i stays in scope afterward, which is a weird js gotcha
23 2013-03-01 02:35:28 <andytoshi> i thought that's the point of putting 'var'?
24 2013-03-01 02:35:52 <mappum> var makes the variable live everywhere in that function
25 2013-03-01 02:35:59 <mappum> they are adding the 'let
26 2013-03-01 02:36:08 <mappum> keyword which is only in that block
27 2013-03-01 02:36:36 <andytoshi> ah, i see
28 2013-03-01 03:33:53 <xjrn> under what circumstances can a block be garbage collected?
29 2013-03-01 03:36:43 <gmaxwell> xjrn: garbage collected where?
30 2013-03-01 03:36:52 <gmaxwell> And are you asking about current software or the protocol?
31 2013-03-01 03:37:30 <andytoshi> xjrn: in principle, if you've got an orphan block, you could throw that away because probably nobody is mining on it
32 2013-03-01 03:37:49 <xjrn> gmaxwell: well, i guess that's part of what i don't know. what defines orphan ?
33 2013-03-01 03:38:06 <gmaxwell> andytoshi: you could always throw away an orphan, even if you reorg onto it you could fetch it again.. but thats only a percent or so..
34 2013-03-01 03:38:40 <andytoshi> xjrn: every block has a hash of the block that came before it, forming a linear chain of blocks
35 2013-03-01 03:38:48 <gmaxwell> xjrn: historical data which is part of the longest chain must be maintained forever by someone, because access to it is required to bootstrap a new full node. Today all full nodes retain all of it.
36 2013-03-01 03:39:09 <andytoshi> but sometimes there are multiple blocks which reference the same previous block
37 2013-03-01 03:39:23 <andytoshi> and only one will become the longest chain, so the other is useless
38 2013-03-01 03:39:26 <xjrn> i think i am concerned philosophically about the stringiness of satoshidice, for example, chewing up my ssd's; hypothetically almost not-really hypothetically
39 2013-03-01 03:39:29 <gmaxwell> But the current software only uses the historical data to reorg into a different chain fork (so that only uses 'recent' blocks), and for serving to other new peers.
40 2013-03-01 03:39:30 <andytoshi> that is what we call an "orphan"
41 2013-03-01 03:41:25 <andytoshi> xjrn: i suppose, if all the transaction outputs of a block had been spent, you could drop that block
42 2013-03-01 03:41:42 <andytoshi> but you'd be unable to bootstrap anyone else
43 2013-03-01 03:42:10 <xjrn> so iiuc the entirity of bootstrapped history can be described more-or-less as a tree with nearly equal numbers of brnaches and leaves
44 2013-03-01 03:42:16 <gmaxwell> andytoshi: see my answer above. :P also unable to reorg below back past it. (unless you had code to go fetch the block and undo data somehow)
45 2013-03-01 03:43:22 <gmaxwell> xjrn: the blockchain is a linked list, with a head and backreferences all the way back to the genesis... with occasional dangling spurs.
46 2013-03-01 03:43:59 <andytoshi> the history of the coins could be described as a directed acyclic graph
47 2013-03-01 03:44:49 <andytoshi> but not a tree, and you'd have far more internal vertices than leaf ones
48 2013-03-01 03:46:12 <andytoshi> i guess the moral is, if you're worried about your SSD but also want a useful-for-validation block history, there's not much you can do
49 2013-03-01 03:46:56 <andytoshi> there are SPV clients out there i think, which don't do their own validation and are much nicer to your system
50 2013-03-01 03:47:50 <gmaxwell> andytoshi: sure, multibit.
51 2013-03-01 03:50:35 <xjrn> alright, i guess in my mental picture i have a disconnect between miners and p2p nodes which i probably shouldn't have. so miners and pools are in fact p2p nodes. when a block is found it is subject to the usual voting. (doing my software modelling thing here)...
52 2013-03-01 03:51:14 <andytoshi> xjrn: no voting, it's always "longest chain wins"
53 2013-03-01 03:53:03 <andytoshi> miners tend to be nodes, but they don't need to be (though they'd have a tough time knowing which block to mine on otherwise)
54 2013-03-01 03:53:37 <xjrn> so... not longest block, but longest chain... so two equal chains need some sort of deadlock resolution
55 2013-03-01 03:54:08 <andytoshi> xjrn: right, the resolution comes with the next block, since it can only choose one to be its parent
56 2013-03-01 03:54:53 <andytoshi> as far as bitcoind is concerned, the first one it sees is the winner until it knows otherwise
57 2013-03-01 03:55:12 <xjrn> i know mining is sha2, but i don't know of any hash that's statistically unique. there must be occasions where two blocks exist concurrently
58 2013-03-01 03:55:42 <andytoshi> xjrn: any crypto hash is stastically unique, the space is 2^256 large :)
59 2013-03-01 03:55:51 <xjrn> andytoshi: as you say 'first one it sees', this would then be a vote
60 2013-03-01 03:56:13 <andytoshi> no
61 2013-03-01 03:57:01 <xjrn> two nodes in conflict about a successor block that differs would resolve it in thier own view by the number of peers supporting a given instance, no?
62 2013-03-01 03:57:37 <andytoshi> no, they'd resolve it by whichever one they saw first, and later they'd resolve it by which one is in the longest chain
63 2013-03-01 03:57:43 <andytoshi> as soon as "longest chain" is well-defined again
64 2013-03-01 03:57:43 <xjrn> or are you saying both competing blocks are valid, but the one that follows either one is the new hieght
65 2013-03-01 03:57:53 <andytoshi> yes, that's right
66 2013-03-01 03:59:47 <xjrn> so a 51% attack is backfilling any level of the chain, not just the root
67 2013-03-01 04:00:39 <andytoshi> xjrn: right, but you've gotta overwrite enough blocks that your height beats the old chain's height
68 2013-03-01 04:00:51 <andytoshi> otherwise nobody will pay attention to your "attack"
69 2013-03-01 04:01:16 <xjrn> you might get lucky, however, like eligius's double block a couple days ago
70 2013-03-01 04:01:42 <andytoshi> very true, that's why most places require six confirmations
71 2013-03-01 04:01:44 <xjrn> if you lag and fall into a local medium of short blocks you stand to invalidate the majority
72 2013-03-01 04:02:06 <andytoshi> that's correct, but very very unlikely for more than 2 blocks
73 2013-03-01 04:02:12 <andytoshi> (only one 'very' before then :))
74 2013-03-01 04:07:21 <xjrn> so what happens when ddos becomes more than a little bit entrenched, like satoshidice cubed, times a hundred? I do truly hold my ssds in high regard.
75 2013-03-01 04:08:22 <andytoshi> xjrn: blocks are limited to 1Mb in size
76 2013-03-01 04:08:48 <andytoshi> miners decide what transactions get in, and many of them already exclude SD
77 2013-03-01 04:09:04 <Luke-Jr> sadly not all yet
78 2013-03-01 04:09:12 <Luke-Jr> need to get more miners on responsible pools
79 2013-03-01 04:09:26 <xjrn> does it become a question of reworking the p2p clients to suspend disbeleif and reorg around a new root?
80 2013-03-01 04:10:01 <xjrn> p2p shitlisting works well for the obvious offenders but ....
81 2013-03-01 04:10:37 <gmaxwell> xjrn: really the SD thing is mostly self correcting.. its burning up our startup capital but ultimately it can't break anything.
82 2013-03-01 04:11:06 <gmaxwell> competition for space will drive up fees and out inefficient uses.
83 2013-03-01 04:11:44 <xjrn> i was unaware of the megabyte limit.
84 2013-03-01 04:11:49 <gmaxwell> the down side is that bloated blocks this early in bitcoins life will slow adoption and promote centralization.
85 2013-03-01 04:13:15 <Luke-Jr> gmaxwell: I wonder if we might reconsider accepting proof-of-work fees instead of payment
86 2013-03-01 04:13:29 <Luke-Jr> gmaxwell: that prevents SD-like flooders from outsourcing their cost
87 2013-03-01 04:13:41 <gmaxwell> Luke-Jr: they could still, alas.
88 2013-03-01 04:13:55 <Luke-Jr> gmaxwell: only on one end?
89 2013-03-01 04:14:07 <Luke-Jr> their return transactions would have to be paid out of pocket
90 2013-03-01 04:14:09 <gmaxwell> Luke-Jr: nah, just have a client...
91 2013-03-01 04:14:29 <gmaxwell> they'd give you the refund, and you'd mine it.
92 2013-03-01 04:14:39 <gmaxwell> (or not, and they keep the money, hurrah)
93 2013-03-01 04:14:44 <Luke-Jr> gmaxwell: we wouldn't add support for that in the client? ;)
94 2013-03-01 04:15:04 <gmaxwell> if their existance really depends on whats in the reference client ...
95 2013-03-01 04:15:07 <Luke-Jr> also, sipa's canonical txn stuff could be used
96 2013-03-01 04:15:34 <Luke-Jr> eg, include signing in the POW time ;)
97 2013-03-01 04:16:15 <gmaxwell> Luke-Jr: I still think someone needs to get an external fee system setup.
98 2013-03-01 04:16:56 <xjrn> have their been any fundamental amendments to the original bitcoin peering constraints since block 0?
99 2013-03-01 04:17:14 <gmaxwell> xjrn: do you mean block validation rules?
100 2013-03-01 04:17:22 <xjrn> gmaxwell: i think so
101 2013-03-01 04:17:43 <gmaxwell> xjrn: so an original client could still validate the current chain. Though we do impose some additional rules due mostly to flaws in the original design.
102 2013-03-01 04:18:11 <andytoshi> there are also many 'nonstandard' transactions that are legal, but bitcoind nodes won't relay them
103 2013-03-01 04:18:17 <Luke-Jr> https://en.bitcoin.it/wiki/CVEs more or less covers every breaking change since 0.3.x
104 2013-03-01 04:18:18 <andytoshi> so you'd need to get them to miners directly
105 2013-03-01 04:18:23 <Luke-Jr> (that is, including 0.3.x)
106 2013-03-01 04:18:31 <andytoshi> e.g., transactions with future locktimes
107 2013-03-01 04:18:53 <Luke-Jr> andytoshi: miners can't do much with those anyway
108 2013-03-01 04:19:03 <gmaxwell> andytoshi: well, thats a client practice not a rule: it's not enforced. Might call it a "norm" instead of a rule.
109 2013-03-01 04:19:25 <andytoshi> Luke-Jr: yeah, it was a bad example
110 2013-03-01 04:19:39 <gmaxwell> for example, it was originally possible for miners to create duplicate transactions, which could be used in a complicated way to make the network not converge. This is nor forbidden.
111 2013-03-01 04:19:49 <gmaxwell> er. _now_ forbidden.
112 2013-03-01 04:20:26 <gmaxwell> or at one point it was possible to make a billion bitcoins out of thin air by a value overflow. ... thats not permitted anymore. :P
113 2013-03-01 04:22:16 <Luke-Jr> (retroactively)
114 2013-03-01 04:24:30 <xjrn> i guess that's not worth following then. i know next to nothing about what is being hashed or where the difficulty is applied
115 2013-03-01 04:39:29 <xjrn> https://en.bitcoin.it/wiki/Block_hashing_algorithm does not actually say what defines a block in bitcoin. when does SHA256(SHA256(Block_Header)) create a block in the bitcoin blockchain ?
116 2013-03-01 04:41:30 <Luke-Jr> xjrn: https://en.bitcoin.it/wiki/Target
117 2013-03-01 04:48:23 <xjrn> nonce is incremented by one ?
118 2013-03-01 04:49:12 <andytoshi> xjrn: correct, one is as good as anything: http://en.wikipedia.org/wiki/Avalanche_effect
119 2013-03-01 04:49:16 <Graet> https://blockchain.info/address/1CufZT4UJuXgkzxQtze26XY6Wy8Ce2ZNNc spam much ? :(
120 2013-03-01 04:50:05 <andytoshi> Graet: is that SD?
121 2013-03-01 04:50:47 <Graet> hope not I got a 0.00001txn , and i have never SD
122 2013-03-01 04:50:50 <andytoshi> one address contains spmHiTs
123 2013-03-01 04:51:01 <andytoshi> https://blockchain.info/address/1JsESpmHiTsFLwZ672UT7CTvDmXo42dzpD
124 2013-03-01 04:51:18 <Graet> and thats a um, "not public" wallet it went to
125 2013-03-01 04:51:41 <andytoshi> did you request it?
126 2013-03-01 04:51:41 <Luke-Jr> spamming addresses in the blockchain at random I guess then
127 2013-03-01 04:52:14 <Graet> no, i was surprised to see a txn ojn that wallet, thats why i went to see where it came from
128 2013-03-01 04:52:20 <Graet> thats my guess Luke-Jr :/
129 2013-03-01 04:52:58 <Luke-Jr> Graet: there's some guy spamming my main wallet like every day XD
130 2013-03-01 04:53:02 <andytoshi> weird, maybe someone is trying to wreck a taint analysis
131 2013-03-01 04:53:13 <Graet> damn Luke-Jr :/
132 2013-03-01 04:53:18 <Luke-Jr> 0.00060407 BTC every time
133 2013-03-01 04:56:35 <andytoshi> hmm 60407 is the zip for BRACEVILLE IL
134 2013-03-01 04:56:47 <andytoshi> which is an anagram for...
135 2013-03-01 04:57:19 <xjrn> gpu's hash one header per-shader more or less ?
136 2013-03-01 04:57:41 <xjrn> then all they have to do is increment and do it again ?
137 2013-03-01 04:58:15 <Luke-Jr> andytoshi: lol
138 2013-03-01 04:58:39 <Luke-Jr> xjrn: no incrementing necessary
139 2013-03-01 04:59:01 <Luke-Jr> xjrn: one nonce per shader per execution
140 2013-03-01 04:59:09 <Luke-Jr> just throw all the nonces at the shaders in any order
141 2013-03-01 04:59:54 <xjrn> increment in the hypothetical sense, or timerticks for that matter
142 2013-03-01 05:00:26 <xjrn> something that can be held/replaced in a register
143 2013-03-01 05:10:49 <andytoshi> hey, can somebody check the fingerprint of LWN.net's SSL cert for me?
144 2013-03-01 05:11:46 <xjrn> firefox doesn't squeal
145 2013-03-01 05:12:00 <andytoshi> i have D7:1B:88:AA:CA:1A:CC:5B:34:EE:45:04:A2:DC:0C:F2:A3:A3:11:BF and firefox is squealing
146 2013-03-01 05:12:03 <andytoshi> and it wasn't earlier
147 2013-03-01 05:12:11 <gmaxwell> andytoshi: !
148 2013-03-01 05:12:21 <gmaxwell> andytoshi: is that the sha1?
149 2013-03-01 05:12:26 <andytoshi> correct
150 2013-03-01 05:12:29 <gmaxwell> doesn't match for me.
151 2013-03-01 05:12:35 <andytoshi> i'm going through tor, so not super surprised..
152 2013-03-01 05:12:56 <gmaxwell> it's annoying you can't copy the fingerprint out of firefox.
153 2013-03-01 05:12:58 <andytoshi> issuer is "Main Authority", "main.authority.com"
154 2013-03-01 05:13:03 <andytoshi> yeah, very irritating
155 2013-03-01 05:13:09 <andytoshi> i typed that onte out
156 2013-03-01 05:13:11 <gmaxwell> andytoshi: whats the CA?
157 2013-03-01 05:13:18 <gmaxwell> oh thats the ca. main.authority.com lol
158 2013-03-01 05:13:47 <andytoshi> yep, CN "main.authority.com", O "Main Authority", OU "Certificate Management"
159 2013-03-01 05:13:50 <gmaxwell> I wish the tor directories had a distributed bullshit reporting method, and that exits signed the traffic so you could prove you got BS from an exit.
160 2013-03-01 05:13:57 <xjrn> 02:19:c6:... here
161 2013-03-01 05:13:59 <gmaxwell> sadly, signing is slow.
162 2013-03-01 05:14:06 <gritcoin> 02 19 C6 83 60 19 89 F8 15 8E 1A BB 85 83 29 F6 16 FC 5F A6
163 2013-03-01 05:14:08 <gmaxwell> xjrn: right.
164 2013-03-01 05:14:09 <andytoshi> how do i tell who the exit is?
165 2013-03-01 05:14:16 <andytoshi> quick, before it changes :P
166 2013-03-01 05:14:30 <gmaxwell> andytoshi: I dunno only if logging is turned up....
167 2013-03-01 05:14:39 <gmaxwell> probably a way via the control port.
168 2013-03-01 05:14:51 <andytoshi> i don't remember my password :s
169 2013-03-01 05:14:57 <gritcoin> CA is Geotrust Global
170 2013-03-01 05:15:52 <andytoshi> damn, exit changed, don't have logs
171 2013-03-01 05:16:13 <andytoshi> thx guys, i'll turn on my logs now..
172 2013-03-01 05:32:36 <andytoshi> is anyone familiar with the 'js' javascript interpreter on fedora?
173 2013-03-01 05:32:43 <andytoshi> JavaScript-C 1.8.5 2011-03-31
174 2013-03-01 05:37:02 <SomeoneWeird> andytoshi, what about it?
175 2013-03-01 05:37:33 <andytoshi> i'd like to call shell commands from it
176 2013-03-01 05:38:05 <SomeoneWeird> uh, why?
177 2013-03-01 05:38:53 <andytoshi> i'm parsing the output of getblock, but for each txid i need to call bitcoind again to do getrawtransaction
178 2013-03-01 05:39:04 <andytoshi> ..and then pipe that into a translator
179 2013-03-01 05:42:08 <Luke-Jr> andytoshi: ??? you're doing it wrong
180 2013-03-01 05:42:16 <gmaxwell> andytoshi: uh, use a lanaugage that can make json rpc calls?
181 2013-03-01 05:42:22 <gmaxwell> invoking the shell is going to be SLLOW
182 2013-03-01 05:45:25 <andytoshi> all good points, i think i'll learn perl then
183 2013-03-01 05:49:08 <gmaxwell> andytoshi: python would be the normal advice. It's popular in the bitcoin universe... (and perl seems to be dying out in OSS land in general)
184 2013-03-01 05:51:09 <freewil> yeah perl is over the hill
185 2013-03-01 05:52:35 <SomeoneWeird> use js!
186 2013-03-01 05:52:36 <SomeoneWeird> lol
187 2013-03-01 05:52:45 <Luke-Jr> sadly, CPAN is full of incomplete or unmaintained modules :<
188 2013-03-01 05:52:55 <freewil> yeah i have fun with node.js
189 2013-03-01 05:53:03 <freewil> i maintain the bitcoin module for it
190 2013-03-01 05:53:14 <Luke-Jr> freewil: do you have the mining pool software?
191 2013-03-01 05:53:26 <freewil> no, what software
192 2013-03-01 05:54:51 <Luke-Jr> there was once a node.js mining pool
193 2013-03-01 05:55:12 <freewil> oh
194 2013-03-01 05:55:30 <freewil> why, you trying to find it?
195 2013-03-01 05:56:39 <Luke-Jr> I'd prefer to have a copy of any software, than not :p
196 2013-03-01 06:04:12 <CodeShark> gmaxwell: any language that can make HTTP requests can make json rpc calls
197 2013-03-01 06:04:29 <CodeShark> fedora js cannot?
198 2013-03-01 06:04:47 <gmaxwell> CodeShark: I wasn't sure if 'js' had some kind of sandbox that wouldn't let it. Otherwise why would andytoshi be calling system? :P
199 2013-03-01 06:05:01 <gmaxwell> sandbox/unimplemented network stack
200 2013-03-01 06:05:17 <andytoshi> gmaxwell: it appears to have nearly nothing except a emcascript parser
201 2013-03-01 06:05:33 <andytoshi> i'm passing json into it through shell
202 2013-03-01 06:05:48 <andytoshi> then using 'print' to get it back out into shell
203 2013-03-01 06:07:12 <CodeShark> yeah, sounds like considerable overhead
204 2013-03-01 06:08:31 <gmaxwell> andytoshi: I'm sure nodejs can do what you need, but I know nothing about it.
205 2013-03-01 06:08:44 <CodeShark> node.js can certainly make HTTP requests - lol
206 2013-03-01 06:09:14 <CodeShark> node.js actually makes it fairly easy to work with HTTP and JSON
207 2013-03-01 06:10:14 <CodeShark> and it uses the V8 engine, so it's a lot faster than a simple interpreter
208 2013-03-01 06:12:19 <gmaxwell> (probably much faster than cpython as well)
209 2013-03-01 06:13:12 <gjs278> obv you should be using golang
210 2013-03-01 06:15:27 <andytoshi> well, looks like perl is out because i can't find a maintained json-rpc client on cpan
211 2013-03-01 06:16:25 <andytoshi> i'm not clear on what node.js is, and the webpage is all one color with a "content is uncool" 2010's design
212 2013-03-01 06:16:39 <gjs278> ...
213 2013-03-01 06:16:44 <gjs278> json::rpc doesn't work?
214 2013-03-01 06:16:46 <gjs278> how
215 2013-03-01 06:16:55 <andytoshi> gjs278: it is a server
216 2013-03-01 06:17:04 <gjs278> I refuse to believe perl doesn't have modules for json rpc
217 2013-03-01 06:17:19 <andytoshi> and the docs are very vague as to what it actually does
218 2013-03-01 06:17:38 <andytoshi> gjs278: json::rpc::legacy::client works, though it won't auth
219 2013-03-01 06:18:05 <gjs278> http://search.cpan.org/~makamaka/JSON-RPC-0.96/lib/JSON/RPC/Client.pm
220 2013-03-01 06:18:08 <gjs278> that can't auth?
221 2013-03-01 06:19:05 <gjs278> https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29#Perl
222 2013-03-01 06:19:19 <andytoshi> gjs278: correct
223 2013-03-01 06:19:44 <buddyrandom> what do you mean it can't auth?
224 2013-03-01 06:20:41 <andytoshi> gjs278: oh, thanks
225 2013-03-01 06:20:44 <gjs278> lol
226 2013-03-01 06:20:53 <andytoshi> buddyrandom: i mean, it is missing documentation
227 2013-03-01 06:21:45 <gjs278> well
228 2013-03-01 06:21:46 <gjs278> sort of
229 2013-03-01 06:21:53 <gjs278> it tells you ua is http://search.cpan.org/~gaas/libwww-perl-6.04/lib/LWP/UserAgent.pm
230 2013-03-01 06:21:58 <gjs278> and ua is what auths
231 2013-03-01 06:22:07 <buddyrandom> You might do well to just read about json rpc a bit
232 2013-03-01 06:22:19 <buddyrandom> that could fill in the blanks your thinking are missing
233 2013-03-01 06:23:04 <buddyrandom> like check this out first http://json-rpc.org/wiki/specification
234 2013-03-01 06:23:33 <andytoshi> buddyrandom: ?? i understand json-rpc
235 2013-03-01 06:23:58 <andytoshi> just not cpan, apparently
236 2013-03-01 06:26:44 <buddyrandom> fair enough
237 2013-03-01 06:27:59 <andytoshi> sorry, i didn't mean to sound so abrasive
238 2013-03-01 06:29:46 <buddyrandom> heh all good
239 2013-03-01 06:31:56 <andytoshi> also, i should read that link, because i've never said "i understand xxx" and been correct
240 2013-03-01 08:19:48 <bitnumus> any serious coders here from europpe ?
241 2013-03-01 08:20:09 <sipa> none at all
242 2013-03-01 08:20:17 <_dr> you mean like java? heh
243 2013-03-01 08:20:24 <bitnumus> Well 6 weeks down the line and i've had 2 bail on me
244 2013-03-01 08:20:37 <bitnumus> so i would like someone who can actually follow through on a projet
245 2013-03-01 08:21:12 <jrmithdobbs> Doin greeat selling us on your project so far
246 2013-03-01 08:21:14 <jrmithdobbs> Continue
247 2013-03-01 08:21:29 <bitnumus> jrmithdobbs, where abouts are you from?
248 2013-03-01 08:22:09 <jrmithdobbs> Around abouts urmoms anus I suppose
249 2013-03-01 08:22:15 <grau> bitnumus: what is it about?
250 2013-03-01 08:22:19 <bitnumus> wow thats mature...
251 2013-03-01 08:22:30 <bitnumus> ill PM grau
252 2013-03-01 08:22:47 <bitnumus> jrmithdobbs, this isn't the school playground
253 2013-03-01 08:23:24 <SomeoneWeird> jrmithdobbs, dont be stupid
254 2013-03-01 08:23:33 <jrmithdobbs> Im unsure how you can make such a statement about feeenode... ;p
255 2013-03-01 08:24:25 <bitnumus> Anybody who 100% has the time to start and finish a new project, feel free to PM me, i've been quoted 30hours of work
256 2013-03-01 08:24:29 <bitnumus> to give an idea
257 2013-03-01 08:26:09 <_dr> i think this channel is hardly the place to look for people that might be interested in working for someone who cannot even talk straight about what the work is about :P
258 2013-03-01 08:26:59 <bitnumus> _dr, why must i announce it to the whole chan ?
259 2013-03-01 08:27:12 <bitnumus> im already in PMs with two people. who i can forward a spec to
260 2013-03-01 08:27:15 <jrmithdobbs> Don't know, why did you
261 2013-03-01 08:27:29 <bitnumus> so people can private message me? jrmithdobbs go back into your hole again please
262 2013-03-01 08:29:03 <jrmithdobbs> Right after you wander back to LinkedIn
263 2013-03-01 08:29:10 <SomeoneWeird> yeah seriously jrmithdobbs, stop it
264 2013-03-01 08:29:31 <jouke> I think it is funny :x
265 2013-03-01 08:29:57 <SomeoneWeird> not for this channel it's nott
266 2013-03-01 08:30:18 <jrmithdobbs> That's your opinion
267 2013-03-01 08:30:25 <jrmithdobbs> And it sucks
268 2013-03-01 08:30:27 <bitnumus> I dont see what was wrong with asking for somebody who 100% has the time to start and complete a project, yes you may think anyone interested in doing it would be, but i've been proven wrong twice now.
269 2013-03-01 08:31:45 <weex> bitnumus: they say managing programmers is like herding cats
270 2013-03-01 08:31:57 <jouke> bitnumus: but why is that, any idea?
271 2013-03-01 08:32:27 <bitnumus> the first guy, got a new full-time job...
272 2013-03-01 08:32:44 <bitnumus> the second, one of this team of programmers handling the rails code bailed on him
273 2013-03-01 08:32:57 <bitnumus> both from here.
274 2013-03-01 08:34:38 <jrmithdobbs> 3rd time's the charm
275 2013-03-01 08:49:44 <sipa> i think most good programmers here already have enough to do (whether bitcoin-related or a day job)... of course, some may not and i don't mind anyonr asking (#bitcoin is more suited though, this channel is more about dev discussions), but please don't keep repeating
276 2013-03-01 08:50:57 <bitnumus> 'All related discussions are welcome' i think this channel is more apt than #bitcoin
277 2013-03-01 08:51:37 <sipa> perhaps yes
278 2013-03-01 08:52:40 <tgs3_> for new users it would be better to have direct link to .zip of stable source code on the bitcoin.org also with .sig
279 2013-03-01 08:53:18 <sipa> tgs3_: pull requests welcome
280 2013-03-01 09:06:14 <tgs3_> 0.8 still seems to load computer i/o, is this problem not fixed?
281 2013-03-01 09:08:45 <tgs3_> sipa: when you download the .zip of bitcoin-master from git, are there any signatures now? is the source signed in anyway that I can verify other then take sha512 of .zip and ask here?
282 2013-03-01 09:12:27 <sipa> if you go to the sf download page, you'll find signed checksums
283 2013-03-01 09:12:59 <sipa> the mac and win installers are signed by the foundation
284 2013-03-01 09:13:20 <sipa> and iirc the git version tags also carry gpg signatures
285 2013-03-01 09:14:53 <sipa> and running a full bitcoin node will always require some resources
286 2013-03-01 09:29:22 <tgs3_> sipa: it is not some resources
287 2013-03-01 09:30:00 <tgs3_> play a movie from hdd with bitcoin downloading blockchain - movie freezes 10 sec and jumps. same for other programs using files e.g. firefox
288 2013-03-01 09:30:41 <tgs3_> it was enough to make people to whom I recommended bitcoin give up on using it
289 2013-03-01 09:34:58 <dingbats> I am trying to find papers on math employed by bitcoin , any good pointers?
290 2013-03-01 09:37:46 <_dr> the original paper?
291 2013-03-01 09:38:08 <_dr> it mentions the math that is used, but now why it uses said math or how said math works :)
292 2013-03-01 09:38:51 <_dr> signatures use ECDSA, hashing is done with ripemd160 and sha-1, i think that's about it
293 2013-03-01 09:41:26 <dingbats> any links to the orginal paper?
294 2013-03-01 09:41:41 <_dr> bitcoin.org/bitcoin.pdf methinks
295 2013-03-01 09:41:58 <sipa> tgs3_: that shouldn't happen; what OS and hard drive/cpu/ram?
296 2013-03-01 09:42:06 <_dr> be prepared to read it about 20 times
297 2013-03-01 09:42:55 <sipa> _dr: sha256 instead of sha1
298 2013-03-01 09:43:26 <dingbats> thanks _dr
299 2013-03-01 09:43:36 <_dr> of course, sorry sipa :)
300 2013-03-01 09:43:55 <tgs3_> sipa: ubuntu, debian. normal ok computers (1gb ram free/cache out of 2-4 gb). regular hard drive
301 2013-03-01 09:44:26 <Diablo-D3> _dr: WHICH hashing
302 2013-03-01 09:44:36 <tgs3_> sipa: it gets better when all is downloaded afair, but if you turn on computer after night it is bad
303 2013-03-01 09:44:45 <Diablo-D3> hashing of the public keys to produce a signature (aka the bit coin address) is ripped160 and sha256
304 2013-03-01 09:44:51 <Diablo-D3> hashing, aka mining, is hmac sha256
305 2013-03-01 09:44:51 <petertodd> can anyone think of something I could buy with bitpay? I need to test something.
306 2013-03-01 09:45:02 <petertodd> (or if bitpay has a test site)
307 2013-03-01 09:45:21 <sipa> tgs3_: interesting
308 2013-03-01 09:47:02 <tgs3_> sipa: we will confirm with more users, but it was really very bad
309 2013-03-01 09:47:57 <sipa> if anything, 0.8 should do far less io operations, and far less fsyncs than earlier versions
310 2013-03-01 09:48:14 <Eliel_> but it does them much more efficiently :)
311 2013-03-01 09:48:27 <_dr> i can confirm that disk io still causes severe lags when syncing, too (mac)
312 2013-03-01 09:48:39 <Diablo-D3> sipa: btw
313 2013-03-01 09:48:48 <Diablo-D3> 0.8.0 is quite smoother on my box
314 2013-03-01 09:48:49 <sipa> it will however use all your available cpu cores (by default) to validate signatures
315 2013-03-01 09:49:00 <Diablo-D3> _dr: mac has a really shitty io queue design, btw
316 2013-03-01 09:49:01 <sipa> instead of just
317 2013-03-01 09:49:03 <sipa> 1
318 2013-03-01 09:49:10 <Eliel_> the 0.8 syncing process affected our bitcoind server's ping times as well.
319 2013-03-01 09:49:14 <Diablo-D3> _dr: its hard to fix if you're banging slow disks
320 2013-03-01 09:49:14 <_dr> well, it's because they have a microkernel :)
321 2013-03-01 09:49:22 <Diablo-D3> no, not because its a microkernel
322 2013-03-01 09:49:26 <Diablo-D3> and its not even a real microkernel
323 2013-03-01 09:49:37 <Diablo-D3> its a microkernel with huge monolithic chunks attached
324 2013-03-01 09:49:39 <Eliel_> although, granted, another VPS on the same system was also doing compressed encrypted backups at the same time too.
325 2013-03-01 09:49:49 <Eliel_> so both cores were loaded.
326 2013-03-01 09:49:52 <Diablo-D3> if it was a true message passing microkernel through and through, IO bursts wouldn't lag machines
327 2013-03-01 09:50:11 <Diablo-D3> OSen don't use device specific IO queues]
328 2013-03-01 09:50:14 <_dr> well, it doesn't lag the machine
329 2013-03-01 09:50:17 <Diablo-D3> instead they use one giant one
330 2013-03-01 09:50:20 <_dr> it lags the harddisk :)
331 2013-03-01 09:50:28 <Diablo-D3> _dr: oh, thats normal
332 2013-03-01 09:50:34 <_dr> the rest of the system is responsive
333 2013-03-01 09:50:43 <_dr> Diablo-D3: yeah, i know
334 2013-03-01 09:50:46 <Diablo-D3> osx probably should switch to a deadline queue
335 2013-03-01 09:50:51 <Diablo-D3> it'd mask a lot of the bullshit
336 2013-03-01 09:51:47 <Diablo-D3> on linux, deadline and bfq perform a lot better under database type loads
337 2013-03-01 09:51:53 <Diablo-D3> which includes bitcoin
338 2013-03-01 09:52:44 <tgs3_> sipa: well it is not more then before.. just still a lot, probably because of the huge satoshidice blocks
339 2013-03-01 09:52:53 <dingbats> _dr, i just read your link, the design is really elegant and robust,.. I feel the need to run some simulations to validate his ideas, has this been done before..
340 2013-03-01 09:52:56 <dingbats> ?
341 2013-03-01 09:52:56 <_dr> yeah well, osx is a desktop os, and i want my desktop to be responsive
342 2013-03-01 09:53:25 <dingbats> Hwat about wallet storage? how is that handled, ..., is the code of bitcoin clients heavily commented and documented?
343 2013-03-01 09:53:28 <tgs3_> bitcoin should by default run as ionice 3 nice -n 19
344 2013-03-01 09:53:33 <tgs3_> on linux
345 2013-03-01 09:54:08 <tgs3_> ionice -c 3 nice -n 19
346 2013-03-01 10:04:14 <dingbats> do we have bitcoin on github?
347 2013-03-01 10:06:15 <ciphermonk> the reference implementation is maintained on github: https://github.com/bitcoin/bitcoin
348 2013-03-01 10:22:32 <FatAgnus> hi
349 2013-03-01 10:22:36 <FatAgnus> !ticker
350 2013-03-01 10:22:37 <gribble> BTCUSD ticker | Best bid: 34.23535, Best ask: 34.41991, Bid-ask spread: 0.18456, Last trade: 34.23535, 24 hour volume: 74930.15800037, 24 hour low: 30.90200, 24 hour high: 34.51541, 24 hour vwap: 33.19302
351 2013-03-01 10:22:52 <FatAgnus> !ticker -last
352 2013-03-01 10:22:52 <gribble> (ticker [--bid|--ask|--last|--high|--low|--avg] [--currency XXX]) -- Return pretty-printed mtgox ticker. If one of the result options is given, returns only that numeric result (useful for nesting in calculations). If '--currency XXX' option is given, returns ticker for that three-letter currency code. It is up to you to make sure that the three letter code you enter is a valid currency (1 more message)
353 2013-03-01 10:23:01 <FatAgnus> !ticker --last
354 2013-03-01 10:23:01 <gribble> 34.23535
355 2013-03-01 10:27:08 <FatAgnus> not bad
356 2013-03-01 10:34:05 <FatAgnus> !ticker --last
357 2013-03-01 10:34:05 <gribble> 34.31318
358 2013-03-01 10:43:47 <nowan> !ticker --last
359 2013-03-01 10:43:48 <gribble> 34.36999
360 2013-03-01 10:47:20 <FatAgnus> !ticker --last
361 2013-03-01 10:47:21 <gribble> 34.44994
362 2013-03-01 11:07:59 <AIEK> Hi
363 2013-03-01 12:30:13 <Diablo-D3> spacex is going to launch the dragon again at 10:10AM EST http://www.space.com/17933-nasa-television-webcasts-live-space-tv.html
364 2013-03-01 12:30:27 <HM> thanks Diablo-D3
365 2013-03-01 12:30:45 <Luke-Jr> Diablo-D3: seriously, you don't need to spam off-topic links in every bitcoin channel -.-
366 2013-03-01 12:31:04 <Scrat> /amsg is evil
367 2013-03-01 12:31:31 <Diablo-D3> /amsg is awesome
368 2013-03-01 12:34:04 <Diablo-D3> Luke-Jr: theres a huge number of spacex fans in here
369 2013-03-01 12:46:38 <asuej> Hi
370 2013-03-01 12:50:00 <kakobrekla> is there a limit howmany addys can a SENDMANY take
371 2013-03-01 12:51:35 <sipa> not really, but the transaction size will increase
372 2013-03-01 13:02:07 <kakobrekla> listen
373 2013-03-01 13:02:12 <kakobrekla> when i do json encode for sendmany
374 2013-03-01 13:02:13 <kakobrekla> i get this
375 2013-03-01 13:02:14 <kakobrekla> "112wRwUf9WoufA6BjcztabKbxbM81wgbrv":5.947e-5,
376 2013-03-01 13:02:27 <kakobrekla> note
377 2013-03-01 13:02:32 <kakobrekla> that that is correct json format
378 2013-03-01 13:02:41 <kakobrekla> the input is not scientific notation
379 2013-03-01 13:02:49 <kakobrekla> bitcoind should be able to chew through it
380 2013-03-01 13:04:42 <sipa> it doesn't?
381 2013-03-01 13:05:58 <kakobrekla> aparently not
382 2013-03-01 13:05:58 <sipa> and i'm not sure what you mean by 'the input'
383 2013-03-01 13:06:07 <kakobrekla> the input to json_encode
384 2013-03-01 13:07:23 <sipa> no idea what language you're using, or what json_encode it, but in all likelihood it is a number, and not an encoded form
385 2013-03-01 13:07:32 <sipa> so 'scientific notation' doesn't mean much
386 2013-03-01 13:07:36 <sipa> anyway, what is the error you get?
387 2013-03-01 13:07:53 <sipa> as i agree that scientific notation is valid json, so bitcoind should handle it
388 2013-03-01 13:08:00 <tgs3_> sounds like PHP
389 2013-03-01 13:08:10 <kakobrekla> yes its php but that is not relevant here
390 2013-03-01 13:08:21 <sipa> (though it sounds like a very bad idea to encode currency values using floating point)
391 2013-03-01 13:08:29 <kakobrekla> json will do that because of ieee754 iirc
392 2013-03-01 13:08:43 <sipa> json doesn't specify what a number is, or its semantics
393 2013-03-01 13:08:48 <sipa> only the encoding is defined
394 2013-03-01 13:10:11 <kakobrekla> i still am not sure what the solution is
395 2013-03-01 13:10:18 <kakobrekla> error: {"code":-4,"message":"Transaction creation failed"}
396 2013-03-01 13:10:24 <kakobrekla> with the sci notation
397 2013-03-01 13:11:39 <kakobrekla> hmmm
398 2013-03-01 13:11:39 <sipa> i doubt that's related to the notation
399 2013-03-01 13:11:45 <_DeBuG_> holaa
400 2013-03-01 13:11:51 <kakobrekla> sipa possible
401 2013-03-01 13:11:53 <kakobrekla> lemme do more test
402 2013-03-01 13:37:25 <TD> hello
403 2013-03-01 13:39:37 <grau> hi TD
404 2013-03-01 13:47:58 <HM> anyone got any recommendations for a C++ library that handles the sec256k1 curve? I'm looking at cryptopp atm
405 2013-03-01 13:48:46 <TD> HM: openssl
406 2013-03-01 13:48:55 <HM> yeaaah....
407 2013-03-01 13:49:12 <HM> I was hoping to avoid the ugliness of OpenSSL
408 2013-03-01 13:49:29 <TD> it's ugly but robust
409 2013-03-01 13:50:28 <HM> it's certainly one of those things
410 2013-03-01 13:58:32 <TD> morning gavinandresen
411 2013-03-01 13:58:39 <gavinandresen> morning TD
412 2013-03-01 14:02:00 <HM> wow wikibooks is pretty good on openssl
413 2013-03-01 14:18:35 <andytoshi> k/quit
414 2013-03-01 15:16:33 <HM> Crypto++'s API is nice
415 2013-03-01 15:16:59 <gavinandresen> I wonder why my OSX system keychain has expired certificates from the Japanese Government and the Austrian Society for Data Protection???.
416 2013-03-01 15:17:53 <asuej> Hola
417 2013-03-01 15:18:29 <HM> gavinandresen: Apple are lazy and slow?
418 2013-03-01 15:19:11 <gavinandresen> Well, I haven't tested yet on Linux or Windows....
419 2013-03-01 15:19:56 <sipa> gavinandresen: perhaps so it can validate old signatures?
420 2013-03-01 15:21:58 <HM> I guess because it was revoked for non-critical reasons that'd make sense
421 2013-03-01 15:22:10 <gavinandresen> they're not revoked, just expired.
422 2013-03-01 15:23:15 <gavinandresen> http://pastebin.com/jbQzfAbd if you're curious???..
423 2013-03-01 15:23:51 <HM> are there newer ones for those organisations?
424 2013-03-01 15:24:18 <gavinandresen> dunno, I'm busy on higher priority stuff
425 2013-03-01 15:24:40 <gavinandresen> Actually, speaking of higher priority stuff: Any php programmers up for a project?
426 2013-03-01 15:26:14 <gavinandresen> ??? I want somebody to port the paymentrequest c++ server-side command-line code to PHP. If nobody volunteers, I'll do it myself
427 2013-03-01 15:26:52 <jgarzik> php, bleh :)
428 2013-03-01 15:26:59 <gavinandresen> python and ruby versions would be spiffy, too....
429 2013-03-01 15:27:43 <gavinandresen> and java. Not Fortran, though. Fortran is evil.
430 2013-03-01 15:36:18 <TD> gavinandresen: maybe bind it as a module?
431 2013-03-01 15:36:23 <fatAgnes_> ;ticker
432 2013-03-01 15:36:32 <fatAgnes_> !ticker
433 2013-03-01 15:36:32 <gribble> BTCUSD ticker | Best bid: 34.48970, Best ask: 34.69109, Bid-ask spread: 0.20139, Last trade: 34.65000, 24 hour volume: 66696.88954521, 24 hour low: 30.90200, 24 hour high: 34.83990, 24 hour vwap: 33.31203
434 2013-03-01 15:36:33 <TD> PHP a seriously bizarre language. if you don't know it well you can easily shoot yourself ijn the foot
435 2013-03-01 15:36:42 <gavinandresen> TD: bind what as a module?
436 2013-03-01 15:36:53 <TD> the C++ code into C and from C into PHP
437 2013-03-01 15:37:00 <TD> if you want a pure PHP reimplementation, at least read this first: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/
438 2013-03-01 15:37:07 <TD> so you can avoid the worst pitfalls
439 2013-03-01 15:37:16 <gavinandresen> TD: I spent a few years doing PHP programming...
440 2013-03-01 15:37:19 <TD> ah, cool
441 2013-03-01 15:37:31 <TD> well then you already know what to expect ...
442 2013-03-01 15:37:40 <gavinandresen> yup
443 2013-03-01 15:38:16 <gavinandresen> I was surprised the version of PHP that comes with my Mac already has the bcmath and openssl modules compiled in
444 2013-03-01 15:38:41 <gavinandresen> ??? so porting the paymentrequest-create/verify code should actually be fairly easy
445 2013-03-01 15:38:52 <TD> how consistent is the set of compiled in modules?
446 2013-03-01 15:38:58 <gavinandresen> very inconsistent
447 2013-03-01 15:39:08 <TD> is it maybe easier to shell out to the command line tools?
448 2013-03-01 15:39:25 <TD> presumably no-one is hosting sites on non-VPSes these days
449 2013-03-01 15:39:32 <TD> everyone should be able to install a command line utility somewhere, i'd imagine
450 2013-03-01 15:39:49 <gavinandresen> darn good question. But if you have permission to shell out, you can probably install a version of PHP that has openssl/bcmath compiled in
451 2013-03-01 15:40:16 <TD> yeah. i'm just thinking it might be easier/less work/less duplication to shell out
452 2013-03-01 15:40:23 <TD> if there are more features in future, etc
453 2013-03-01 15:40:28 <gavinandresen> The code COULD do either (if modules available, use them, otherwise shell out)
454 2013-03-01 15:42:19 <TD> what's the advantage of keeping it native? is fork/exec too slow for some sites?
455 2013-03-01 15:42:32 <gavinandresen> native version feels like the right way to do it; sophisticated sites are going to want to do things like save the payment reqeusts in a database
456 2013-03-01 15:42:58 <TD> i suppose so
457 2013-03-01 15:43:51 <gavinandresen> The php code should actually be a lot easier to read than the C++ / openssl code, too
458 2013-03-01 15:44:31 <TD> oh look. what a random photo of you gavin
459 2013-03-01 15:44:32 <TD> http://www.globalpost.com/dispatches/globalpost-blogs/the-grid/bitcoin-virtual-currency-legitimacy-online-retailers
460 2013-03-01 15:44:41 <TD> i guess they couldn't find the setting cash on fire one
461 2013-03-01 15:44:52 <gavinandresen> ??? or couldn't get permission
462 2013-03-01 15:45:30 <HM> The opening sentence bothers me
463 2013-03-01 15:45:50 <HM> A higher valuation doesn't say anything about "legitimacy"
464 2013-03-01 15:46:21 <gavinandresen> "but it goes up to ELEVEN!"
465 2013-03-01 15:46:40 <TD> in the eyes of the man on the street i suppose it can
466 2013-03-01 15:46:48 <TD> but really it's the fact that it went up, then down, then up again
467 2013-03-01 15:47:07 <TD> as the forbes guy said, the fact that people still believed in it when it had crashed and bought in heavily at $2 is worthy of note
468 2013-03-01 15:47:20 <egecko> but you can't really compare valuation of BTC to say valuation of a stock
469 2013-03-01 15:47:44 <HM> people believing in something doesn't make it legitimate either
470 2013-03-01 15:48:11 <egecko> what is your definition of "legitimate"? the fact that people are choosing to use btc makes it as legitimate as cash
471 2013-03-01 15:48:21 <HM> and bitcoinstore.com appears to be down, whatever that was
472 2013-03-01 15:48:52 <jgarzik> TD: agreed
473 2013-03-01 15:49:10 <TD> HM: it's a store. quite a neat one. the concept is good, it's been around for a while. maybe it's under heavy load from the sudden attention
474 2013-03-01 15:49:13 <jgarzik> TD: though I wish journalists could understand _why_ people still believed in it (unbroken cryptosystem)
475 2013-03-01 15:49:32 <TD> the idea that there was a crash from $33 to $1 is surprisingly widespread
476 2013-03-01 15:49:35 <jgarzik> journalists just observe other people's reactions and report on that, without spending too much time looking at what is going on
477 2013-03-01 15:49:38 <TD> when mtgox got hacked
478 2013-03-01 15:49:49 <TD> i have to constantly remind people that nobody was ever willing to sell at $1 at that time
479 2013-03-01 15:49:54 <TD> yeah, well, that's news for you
480 2013-03-01 15:49:56 <jgarzik> indeed
481 2013-03-01 15:50:12 <jgarzik> actually I hear "$33 to $0.01" all the time
482 2013-03-01 15:50:28 <HM> Didn't a bunch of offers go out at $0.01 on Gox not so long ago?
483 2013-03-01 15:51:07 <HM> I watched a video by some goodguyjoe who said he could have bought but didn't because he's a good guy
484 2013-03-01 15:56:36 <gavinandresen> ???. and there are videos of people walking on the moon, too, and we all know THAT never happened???..
485 2013-03-01 15:56:56 <gavinandresen> (quick, somebody kick-ban me for trolling please)
486 2013-03-01 15:57:12 <Diablo-D3> BUT I DONT HAVE OPS
487 2013-03-01 15:57:18 <Diablo-D3> AAAAARGH
488 2013-03-01 15:57:55 <HM> gavinandresen: :( i'm pretty sure that happened
489 2013-03-01 16:01:06 <rdponticelli> gavinandresen: Just play some roulette with gribble, he'll do the trick :D
490 2013-03-01 16:04:55 <HM> gribble's a bot?
491 2013-03-01 16:05:02 <fatAgnes_> !ticker
492 2013-03-01 16:05:04 <gribble> BTCUSD ticker | Best bid: 34.80001, Best ask: 34.83987, Bid-ask spread: 0.03986, Last trade: 34.80001, 24 hour volume: 67665.95725189, 24 hour low: 30.90200, 24 hour high: 34.83990, 24 hour vwap: 33.34162
493 2013-03-01 16:05:26 <HM> And there was me thinking he just typed really fast
494 2013-03-01 16:05:42 <fatAgnes_> bitcoin could be a scam
495 2013-03-01 16:05:50 <fatAgnes_> but i like it
496 2013-03-01 16:06:06 <TD> gavinandresen: so are you coming to any conclusion around the name ?
497 2013-03-01 16:06:15 <BlueMatt> TD: I like the new bitcoinj logo
498 2013-03-01 16:06:22 <fatAgnes_> new?
499 2013-03-01 16:06:24 <fatAgnes_> where?
500 2013-03-01 16:06:25 <fatAgnes_> show me
501 2013-03-01 16:06:28 <TD> thanks! :) me too.
502 2013-03-01 16:06:29 <TD> f
503 2013-03-01 16:06:37 <TD> fatAgnes_: bitcoinJ logo, just for a library
504 2013-03-01 16:06:59 <gavinandresen> TD: I hate deciding the names of things, that's why we pay the Marketing department big bucks
505 2013-03-01 16:07:14 <BlueMatt> gavinandresen: yes, where is o great version/name king sipa?
506 2013-03-01 16:07:26 <BlueMatt> isnt that our marketing department?
507 2013-03-01 16:08:16 <fatAgnes_> chip of the old coin
508 2013-03-01 16:08:43 <gavinandresen> I do like the term "peer", so somethingPeer or PeerSomething ??? not crazy about Bitcoin/Bit/Coin in the name, though, way too many BitFoos and CoinBars already
509 2013-03-01 16:09:46 <TD> huh, it'd be weird if satoshis original app didn't have the name Bitcoin in it anymore
510 2013-03-01 16:10:16 <TD> i suppose "UltraPeerCore MX" or something would be what marketing would pick
511 2013-03-01 16:10:20 <HM> anything that can be abbreviated to 'bj' is either poorly thought out or genius
512 2013-03-01 16:10:27 <gavinandresen> Oooh??? UltraPeer
513 2013-03-01 16:10:33 <gavinandresen> UltraPeerPlus !
514 2013-03-01 16:10:42 <gavinandresen> Peer-o-rama
515 2013-03-01 16:10:51 <gavinandresen> PeerMe
516 2013-03-01 16:10:59 <BlueMatt> ACTION 's log-reading failed to come up with what we are naming :(
517 2013-03-01 16:11:06 <gavinandresen> Bitcoin-Qt
518 2013-03-01 16:11:15 <HM> What's wrong with the current name?
519 2013-03-01 16:11:19 <gavinandresen> PeerMoney
520 2013-03-01 16:11:25 <TD> it sucks
521 2013-03-01 16:11:30 <gavinandresen> it sucks
522 2013-03-01 16:11:30 <TD> anything *-Qt sucks
523 2013-03-01 16:11:44 <TD> why not call it Bitcoin-Qt-OpenSSL-SHA256?
524 2013-03-01 16:12:04 <HM> Qt is usually pronounced Cutie
525 2013-03-01 16:12:11 <TD> heck why not just name it after the git commit hash of its release
526 2013-03-01 16:12:23 <TD> "Download 32dd806 today!"
527 2013-03-01 16:12:37 <gavinandresen> 32 double-d ....
528 2013-03-01 16:12:42 <BlueMatt> people are used to Bitcoin-Qt, yes, *-Qt sucks, but its a well-known name...
529 2013-03-01 16:12:49 <gavinandresen> ACTION resists making more boob jokes
530 2013-03-01 16:13:00 <TD> spent too much time on classycams, huh
531 2013-03-01 16:13:04 <gavinandresen> lol
532 2013-03-01 16:13:19 <TD> BlueMatt: 99%+ of bitcoins eventual users have never heard the name yet
533 2013-03-01 16:13:30 <BlueMatt> well, ok that is true...
534 2013-03-01 16:13:31 <rdponticelli> TD: r2d2 worked out pretty well...
535 2013-03-01 16:13:35 <gavinandresen> yes, if we do our jobs right we get exponential growth
536 2013-03-01 16:13:49 <gavinandresen> ??? and only old fogies remember the good old day of wxBitcoin
537 2013-03-01 16:14:27 <HM> no love for Gtk? :(
538 2013-03-01 16:14:40 <BlueMatt> gavinandresen: hey, I miss wxBitcoin
539 2013-03-01 16:14:48 <BlueMatt> but back then it was just "the client"
540 2013-03-01 16:14:48 <gavinandresen> PeerEleven <-- my new favorite
541 2013-03-01 16:15:39 <TD> i still shamelessly vote for my own suggestion of "Bitcoin Core", even though it reminds gavin of some crappy movie
542 2013-03-01 16:15:52 <TD> bah you youngsters
543 2013-03-01 16:15:54 <HM> CoinKit!
544 2013-03-01 16:16:02 <TD> ACTION remembers when it only ran on win32 and he had to use Wine to get coins
545 2013-03-01 16:16:04 <HM> everything must be a Kit
546 2013-03-01 16:16:23 <BlueMatt> SuperNode
547 2013-03-01 16:16:24 <snickle> theoretically speaking, if a hash of a block ended up being 0x1, bitcoin would break, right?
548 2013-03-01 16:16:35 <BlueMatt> snickle: uhhh...no?
549 2013-03-01 16:17:11 <HM> I think you should keep the name and focus on what's really important....release names
550 2013-03-01 16:17:20 <snickle> well the next block's hash has to be less than the previous block's hash by definition
551 2013-03-01 16:17:28 <BlueMatt> snickle: no, thats not true
552 2013-03-01 16:17:33 <gavinandresen> snickle: I'm guessing you think the longest chain is determined by the block hashes, and not the target block hashes....
553 2013-03-01 16:17:45 <snickle> oh, my mistake
554 2013-03-01 16:17:56 <snickle> still wrapping my head around the concept
555 2013-03-01 16:17:58 <BlueMatt> snickle: it has to be smaller than the target, which is distinct from the hash of the previous block
556 2013-03-01 16:18:09 <snickle> how is the target calculated?
557 2013-03-01 16:18:25 <snickle> i thought target was just < previous block's hash
558 2013-03-01 16:18:43 <TD> no
559 2013-03-01 16:19:00 <BlueMatt> https://en.bitcoin.it/wiki/Target
560 2013-03-01 16:19:12 <BlueMatt> actually, https://en.bitcoin.it/wiki/Difficulty
561 2013-03-01 16:22:34 <snickle> how was the first block's target determined?
562 2013-03-01 16:23:03 <BlueMatt> it was min_target
563 2013-03-01 16:25:02 <gmaxwell> petertodd pointed out that it would have met a surprisingly larger difficulty.
564 2013-03-01 16:27:10 <snickle> oh ok
565 2013-03-01 16:27:32 <snickle> i'm getting confused between minimum difficulty being a larger number o_O
566 2013-03-01 16:27:37 <snickle> my bad
567 2013-03-01 16:27:39 <snickle> thanks
568 2013-03-01 16:28:31 <HM> difficulty is how far you have to go
569 2013-03-01 16:28:34 <HM> so longer = harder
570 2013-03-01 16:33:08 <gavinandresen> TD: is there an openssl call I don't know about that, given a leaf certificate, will fetch all of it's parents up to the root?
571 2013-03-01 16:33:45 <TD> why do you want that?
572 2013-03-01 16:33:56 <gavinandresen> I want createpaymentrequest to do that
573 2013-03-01 16:33:58 <TD> and fetch from where?
574 2013-03-01 16:34:23 <gavinandresen> from the URL in X509v3 extensions "Authority Information Access"
575 2013-03-01 16:34:39 <gavinandresen> I think
576 2013-03-01 16:34:42 <TD> AFAIK no, when you get the SSL certs the provider gives you the intermediate certs that chain from yours up to the roots, and you're expected to provide those to the apps you want to use separately
577 2013-03-01 16:34:52 <TD> so you already have all the data needed from the user
578 2013-03-01 16:35:25 <TD> http://en.wikipedia.org/wiki/PKI_Resource_Query_Protocol
579 2013-03-01 16:35:31 <TD> Although encouraged, usage of the AIA and SIA extension is still not widely deployed. There are two main reasons for this. The first is the lack of support for such extensions in available clients. The second reason is that extensions are static, i.e. not modifiable. Indeed to modify or add new extensions, in order to have users and applications to be aware of new services or their dismissal, the certificate must be re-issued.
580 2013-03-01 16:36:02 <gavinandresen> TD: the certificate I bought a couple of days ago is just the leaf, and chains through two intermediates...
581 2013-03-01 16:36:23 <TD> where did you buy it from? sometimes the CAs only link to the intermediate certs from their support center, etc
582 2013-03-01 16:36:40 <BlueMatt> gavinandresen: if you put the leaf and all the intermediates in the same .pem, your server should relay them all at once (as it should)
583 2013-03-01 16:36:43 <gavinandresen> bought it from comodo, indirectly through cheapssls.com
584 2013-03-01 16:36:43 <TD> for startssl i had to download them from some server they had. CAs aren't very user friendly, unfortunately
585 2013-03-01 16:37:04 <TD> https://support.comodo.com/index.php?_m=downloads&_a=view&parentcategoryid=1
586 2013-03-01 16:37:07 <gavinandresen> I just want to make it as easy as possible for people
587 2013-03-01 16:37:09 <TD> yeah
588 2013-03-01 16:37:22 <gavinandresen> ??? so it is "Buy a certificate, run, done."
589 2013-03-01 16:38:22 <TD> unfortunately i don't know if any PKI is ever quite as easy as that. what is the intermediate cert it chains to?
590 2013-03-01 16:38:52 <gavinandresen> CA Issuers - URI:http://crt.comodoca.com/PositiveSSLCA2.crt
591 2013-03-01 16:39:19 <gavinandresen> ??? and then CA Issuers - URI:http://crt.usertrust.com/AddTrustUTNSGCCA.crt or URI:http://crt.usertrust.com/AddTrustExternalCARoot.p7c
592 2013-03-01 16:39:27 <gavinandresen> ??? and then the root cert
593 2013-03-01 16:39:41 <TD> https://support.comodo.com/index.php?_m=downloads&_a=viewdownload&downloaditemid=119&nav=0,1
594 2013-03-01 16:40:23 <gavinandresen> TD: yeah yeah, but fetching from the URLs in the certificate does work, so I'll bite the bullet and teach the payment request create code to do that
595 2013-03-01 16:40:53 <TD> ok, that's cool
596 2013-03-01 16:40:54 <gavinandresen> (if the intermediate certificates aren't given explicitly)
597 2013-03-01 16:41:05 <TD> i wonder how many certs have that data
598 2013-03-01 16:41:51 <gavinandresen> if you're looking for a research project, you could fetch a few and see???.
599 2013-03-01 16:42:25 <gavinandresen> openssl x509 -text < foo.crt | grep 'Issuers' ....
600 2013-03-01 16:43:12 <TD> startssl does too
601 2013-03-01 16:43:24 <TD> well you can see it in chrome
602 2013-03-01 16:43:44 <gavinandresen> even easier!
603 2013-03-01 16:43:49 <TD> even the google.com cert has this data
604 2013-03-01 16:43:53 <fatAgnes_> !ticker
605 2013-03-01 16:43:53 <gribble> BTCUSD ticker | Best bid: 34.75511, Best ask: 34.86900, Bid-ask spread: 0.11389, Last trade: 34.87000, 24 hour volume: 66124.93968351, 24 hour low: 30.90200, 24 hour high: 34.90000, 24 hour vwap: 33.38397
606 2013-03-01 16:43:57 <TD> so seems like it's a good feature to have indeed
607 2013-03-01 16:44:07 <TD> is there an easy to use c++ url fetching library?
608 2013-03-01 16:44:10 <TD> that isn't curl, i mean? :)
609 2013-03-01 16:44:34 <gavinandresen> I was going to punt and just system(curl)
610 2013-03-01 16:44:45 <gavinandresen> (maybe I'll get fancy and popen(curl) )
611 2013-03-01 16:44:51 <TD> won't work on windows
612 2013-03-01 16:44:56 <TD> maybe it doesn't matter
613 2013-03-01 16:45:26 <TD> http://stackoverflow.com/questions/1011339/how-do-you-make-a-http-request-with-c
614 2013-03-01 16:45:31 <TD> curlpp looks like a not terrible wrapper
615 2013-03-01 16:46:11 <TD> https://code.google.com/p/curlpp/downloads/list
616 2013-03-01 16:46:11 <TD> they even have win32 binaries pre-provided
617 2013-03-01 16:46:22 <gavinandresen> MIT license, cool???.
618 2013-03-01 16:47:00 <TD> or maybe http://pocoproject.org/index.html
619 2013-03-01 16:47:09 <gavinandresen> sigh. payment protocol TODO is getting longer faster than it is getting shorter right now
620 2013-03-01 16:47:14 <TD> boost licensed
621 2013-03-01 16:47:20 <HM> Poco is nice
622 2013-03-01 16:47:22 <TD> such is the nature of software
623 2013-03-01 16:49:10 <xjrn> what are pool miners sending back through the wire as shares? low difficulty proofs ?
624 2013-03-01 16:51:44 <helo> yes
625 2013-03-01 17:07:56 <i2pRelay> <mivdf@i2p> testing testing are my messages comin through?
626 2013-03-01 17:09:04 <helo> yes
627 2013-03-01 17:10:08 <i2pRelay> <KillYourTV@i2p> I think the bot is muted in #bitcoin. Here it's obviously not.
628 2013-03-01 17:10:18 <i2pRelay> * KillYourTV@i2p goes back lurking
629 2013-03-01 17:24:45 <jurov> maybe i'll get banned, but i'll leave this here: http://polimedia.us/trilema/2013/bitcoind-not-quite-ready-for-prime-time/
630 2013-03-01 17:24:47 <TD> 0.8 is at nearly a quarter of the network already
631 2013-03-01 17:24:49 <TD> vry nice
632 2013-03-01 17:24:57 <jurov> in spririt of our yest discussion
633 2013-03-01 17:25:56 <TD> lol
634 2013-03-01 17:26:06 <TD> that's the guy who thinks using a single address for everything is good for privacy?
635 2013-03-01 17:26:24 <jurov> yes, let's smear him instead of talking about actual problem
636 2013-03-01 17:27:04 <gmaxwell> jurov: saying someone is confused ... when they are confused.. is not a smear.
637 2013-03-01 17:27:04 <jurov> this time he is using the addresses properly. and bitcoind jsut isn't up to the task.
638 2013-03-01 17:27:09 <TD> his problem, if you want to call it that, is he's using APIs designed for developers who know what they're doing - and he does, sorta, because he knows it won't let him create a 1mb transaction
639 2013-03-01 17:27:14 <TD> and he knows why
640 2013-03-01 17:27:25 <TD> but he still feels like he should be able to create a 1mb tx even though it will never confirm
641 2013-03-01 17:27:58 <jurov> if you read till the end, the transactions end up being only 6kb total
642 2013-03-01 17:28:00 <TD> anyway, yes, at the core of his post is a point - eventually bitcoin APIs will need to start working with sets of transactions instead of single transactions
643 2013-03-01 17:28:38 <TD> i suspect there would have been an explanation in the log
644 2013-03-01 17:28:52 <TD> propagating the messages from the logging to the rpc error would certainly be a good improvement
645 2013-03-01 17:29:18 <TD> as would better coin selection, the ability to batch transactions to avoid making huge ones, etc
646 2013-03-01 17:29:27 <TD> but that guy doesn't write patches, he just bitches. so ???.
647 2013-03-01 17:29:54 <gmaxwell> jurov: what he's describing there doesn't follow.
648 2013-03-01 17:30:13 <petertodd> re: createrawtransaction and sendrawtransaction, is there any technical reason why the error messages couldn't be made different for each type of error? I've found that annoying myself.
649 2013-03-01 17:30:17 <gmaxwell> jurov: he solved his problem by splitting up the transaction. Then he claims that the single transaction would be 6k. This is not the case.
650 2013-03-01 17:30:46 <TD> petertodd: nope. just that satoshi wrote the code to write all errors to stderr
651 2013-03-01 17:31:02 <gmaxwell> jurov: are you the author of that page?
652 2013-03-01 17:31:02 <TD> petertodd: so i guess someone would need to go through and change it all so errors are accumulated in some request-scoped buffer and then returned
653 2013-03-01 17:31:23 <gmaxwell> oh, it's MP.
654 2013-03-01 17:32:03 <TD> i don't know all the reasons tx creation can fail like that.
655 2013-03-01 17:32:07 <petertodd> TD: Well, for say, sendrawtransaction, there should only be one error right? (IE, it'll quit on the first problem)
656 2013-03-01 17:32:07 <TD> but i presume size is the primary one
657 2013-03-01 17:32:26 <TD> he was using sendmany
658 2013-03-01 17:32:28 <gmaxwell> TD: yes, that would be the resulting txn was >100kb.
659 2013-03-01 17:33:03 <sipa> petertodd: o'
660 2013-03-01 17:33:16 <petertodd> sipa: ?
661 2013-03-01 17:34:38 <sipa> petertodd: i'm not sure about your nTimeLock'ed transactions - on one hand it sounds nice way to prevent wrong mining incentives, but it may cause transactions to be unacceptable to the mempool if there is a weird at-retarget-boundary reorg that decreases height but increases bnChaiNWork
662 2013-03-01 17:34:45 <TD> right, it does seem like that's the only way it can fail if SelectCoins succeeds
663 2013-03-01 17:35:08 <gmaxwell> TD: I've see behavior like that when someone has a wallet with _lots_ of dust inputs in it, and they make a txn large enough that it dips too far into the dust. Litecoin carries a patch to make coin selection ignore very tiny inputs, which has its own problem.
664 2013-03-01 17:35:44 <petertodd> sipa: Oh, that's possible? Hmm... I could do a "GetNetworkChainHeight" function for the odd-cases like that; I nearly was going to do a simple nBestHeight thing that delayed a bit to account for propagation.
665 2013-03-01 17:35:57 <TD> i guess the question is, is MP right that a better algorithm would have allowed the tx to fit under the limit?
666 2013-03-01 17:36:13 <TD> he doesn't offer any ideas for such an algorithm, but maybe a real constraint solver could do it
667 2013-03-01 17:36:20 <petertodd> sipa: I didn't bother when it looked like propagation delays weren't a problem.
668 2013-03-01 17:36:47 <petertodd> sipa: It has to be a change with no bad effects after all.
669 2013-03-01 17:37:11 <gmaxwell> TD: I've never see a case where our solver was pessimal like that, actually??? ignoring priority??? it seems to do a pretty good job.
670 2013-03-01 17:40:54 <gmaxwell> if we'd like some amusement, I could go ask him for an (encrypted) copy of his wallet to try to reproduce. Amusement because apparently when I made that taint-rich thread he was going around telling people that I was trying to rob people.
671 2013-03-01 17:49:34 <TD> jurov: that article did have one benefit, it reminded me to implement the max tx size check in bitcoinj
672 2013-03-01 17:50:58 <gmaxwell> well, it's making me add some dust tests to the wallet tests too. I hadn't looked at the selection quality since the last changes.
673 2013-03-01 17:51:57 <gmaxwell> derp tests are currently broken in git master.
674 2013-03-01 17:52:54 <sipa> :o
675 2013-03-01 17:54:39 <jgarzik> lots of variables to balance... this is evolving into a Transaction Optimizer
676 2013-03-01 17:55:21 <jgarzik> an optimal (to the network) sendmany situation might spread its work across multiple transactions
677 2013-03-01 18:00:11 <gmaxwell> ::sigh:: douglas broken the solver in some corner cases.
678 2013-03-01 18:00:24 <gmaxwell> the sorted first pass makes its greedy.
679 2013-03-01 18:00:36 <gmaxwell> and when the wallet has lots of dust inputs it prefers to use them.
680 2013-03-01 18:01:11 <sipa> it probably makes sense to not consider inputs that at an order of magnitude smaller than the wanted output, at first
681 2013-03-01 18:02:34 <gmaxwell> so, e.g. adding 1000 irrelevant 1-100 satoshi inputs to the wallet tests, which test with magnitude around 0.01-1, results in a bunch of decisions with hundreds of coins.
682 2013-03-01 18:06:19 <theymos> Are there any active projects to create what Ripple should have been? I really liked the original idea. It would've been a great solution for the problem of trading between fiat and BTC.
683 2013-03-01 18:07:49 <gmaxwell> sipa: oh well, working on wallet coin selection was on my todo. I really think we should just bite the bullet and use a proper LP solver here.
684 2013-03-01 18:08:33 <sipa> first fix priority rules
685 2013-03-01 18:08:44 <sipa> then write a decent solver that takes them into account
686 2013-03-01 18:08:56 <gmaxwell> sipa: maybe a shorterm fix would be to change the initial sort to put coins more than X-orders of magnitude smaller than the input to the end of the sort.
687 2013-03-01 18:09:36 <sipa> yes
688 2013-03-01 18:10:48 <gmaxwell> sipa: so I was happy at least that I figured out how to make our current priority work in a standard ILP solver. Anything structured like sum(constant_metric_input) / (sum(size_input)+constants) can work.
689 2013-03-01 18:10:52 <HM> hmm
690 2013-03-01 18:10:53 <midnightmagic> If it's within scope and you are considering changing the coin selection mechanism, a way to hook into that for us fools who want to would be much appreciated. :-D
691 2013-03-01 18:11:19 <TD> theymos: no. ryan never really made it work in a p2p manner anyway
692 2013-03-01 18:11:27 <HM> can anyone explain why Crypto+++ has Multiply(x,p) and ScalarMultiply(p, x) which seem to do the same thing?
693 2013-03-01 18:11:33 <TD> theymos: if i was going to do it, i'd use the design i laid out on the ripple exchange wiki page
694 2013-03-01 18:12:17 <sipa> HM: you have a link to their source?
695 2013-03-01 18:12:30 <TD> midnightmagic: bitcoinj has pluggable coin selectors since the last release, though the default one is kinda dumb. if there was a coin selector that worked properly in all cases i'm not sure replacing it would be a good idea
696 2013-03-01 18:12:34 <HM> sipa: http://www.cryptopp.com/docs/ref/class_e_c_p.html
697 2013-03-01 18:12:45 <HM> i could review the source i guess
698 2013-03-01 18:12:49 <gmaxwell> midnightmagic: what I was thinking, and what people may egg me over is executing an external solver. But this design is half motivated what you want, and half motivated by wanting to use GLPK which is GPL.
699 2013-03-01 18:13:03 <HM> Multiply(const Integer &k, const Point &P) const
700 2013-03-01 18:13:05 <HM> 00059 {return ScalarMultiply(P, k);}
701 2013-03-01 18:13:12 <HM> weird
702 2013-03-01 18:14:17 <HM> here was me thinking there was a subtle difference
703 2013-03-01 18:15:54 <midnightmagic> TD: Primarily, as I'm sure you guessed, I'm interested in limiting the set from which the solver pulls a solution. However, it is also possible that I would like to modify the solver to change priorities under limited circumstances (including its behaviour re: wallet dust). Thanks for putting an external coin selector in bitcoinj, I hadn't realised it was so actively maintained.
704 2013-03-01 18:16:27 <midnightmagic> gmaxwell: +1 for external solver, even if it's a user-supplied dlopen()-used lib.
705 2013-03-01 18:22:53 <TD> midnightmagic: well you can do that. but bitcoinj barely has a solver. it just sorts unspent outputs by age and then adds them up, oldest to newest
706 2013-03-01 18:22:57 <TD> there's no attempt to be smart about it
707 2013-03-01 18:23:18 <gmaxwell> TD: so if I give you a bunch of 1e-8 old inputs, you're toast?
708 2013-03-01 18:23:39 <TD> if you give them to me, they're not old are they?
709 2013-03-01 18:23:55 <TD> but yes, any coins i receive after that point will be unspendable
710 2013-03-01 18:23:59 <gmaxwell> Eventually they are. Right.
711 2013-03-01 18:24:02 <midnightmagic> TD: Okay. I have a bash script doing that for me to build rawtx right now.
712 2013-03-01 18:24:06 <gmaxwell> (or you import a key)
713 2013-03-01 18:24:22 <TD> right
714 2013-03-01 18:24:46 <midnightmagic> so I guess.. technically I've already replaced the solver haven't I.
715 2013-03-01 18:24:54 <theymos> TD: (Re: Ripple) Interesting article, thanks. I wonder if it's possible to do it without a block chain or central authority, though. Maybe you could download trust info from people you trust and publish that info and your own trust relationships to people who trust you.
716 2013-03-01 18:24:56 <TD> gmaxwell: though it seems that the 0.8 code also chokes on lots of spam
717 2013-03-01 18:24:58 <TD> midnightmagic: yeah
718 2013-03-01 18:25:26 <gmaxwell> theymos: talk to amiller
719 2013-03-01 18:25:45 <TD> theymos: i wanted it to be usable by nodes that go offline
720 2013-03-01 18:26:05 <TD> theymos: you still need to sync a database amongst users, so, a block chain seems a reasonable way to do it. but sure.
721 2013-03-01 18:26:10 <TD> maybe there's an alternative for that specific case
722 2013-03-01 18:26:38 <midnightmagic> theymos: There's design work on WoTv2 incorporating many of those ideas in a *trust relationship* graph-builder, fwiw.
723 2013-03-01 18:26:39 <gmaxwell> TD: yes, I was just pointing that out. Douglas changed the subset sum solver to start with a value sorted input, and the initial pass is greedy enough that it doesn't run enough iterations to escape that local minima.
724 2013-03-01 18:27:27 <TD> :(
725 2013-03-01 18:27:59 <gmaxwell> Question is: spent more time twiddling or redo it?
726 2013-03-01 18:28:30 <gmaxwell> probably excluding very small inputs from the first pass and/or making a final pass to remove dust will mostly hide that issue.
727 2013-03-01 18:29:00 <gmaxwell> (trying both now... just because they'd be small changes)
728 2013-03-01 18:30:07 <sipa> i wonder about this approach: do several iterations, each associated with a probability function (value -> chance); the first iterations use a high probably very close to the remaining output, and dropping quickly; later iterations are smoother and smoother
729 2013-03-01 18:31:00 <sipa> in each iteration, apply chance to all coins (ordered from high to low), and if true, use coin and reduce remaining amount by its value
730 2013-03-01 18:32:06 <gmaxwell> There is basically no limit to the amount of time that can be spent on this.
731 2013-03-01 18:35:07 <petertodd> gmaxwell: Speaking of, an RPC call that's basically "figure out what coins I should spend for a tx of output n" call would be great. It could be as simple as sendtoaddress/sendmany but with returning a unsigned tx, rather than submitting it to the network.
732 2013-03-01 18:35:47 <petertodd> gmaxwell: I wound up implementing a dead simple sorted unspent coin input selector myself that I could have avoided.
733 2013-03-01 18:35:59 <sipa> yes, a "automatically add inputs to this incomplete tx so that input>=output" would be ncie
734 2013-03-01 18:36:12 <amiller> theymos, could you repost the ripple article link?
735 2013-03-01 18:36:14 <amiller> ACTION scrolled but couldn't find it
736 2013-03-01 18:36:29 <sipa> as right now you can either do everything in the wallet, or everything manually
737 2013-03-01 18:36:40 <amiller> theymos, i'm supremely interested in developing a credit network (ripple is now a dirty word imo) financial model to run on top of bitcoin
738 2013-03-01 18:36:44 <theymos> amiller: https://en.bitcoin.it/wiki/Ripple_currency_exchange
739 2013-03-01 18:36:57 <sipa> but coin selection would be nice to do automatically even when output selection is done raw
740 2013-03-01 18:37:28 <petertodd> amiller: Please do, even if it's really Bitcoin-specific; they'll be useful for the backend of off-chain transaction systems.
741 2013-03-01 18:37:34 <theymos> amiller: Yeah, that'd be great.
742 2013-03-01 18:38:15 <petertodd> amiller: Heck, even if it has to be implemented online only with peers that can be trusted not to DoS attack each other it'd be valuable.
743 2013-03-01 18:39:02 <HM> yay, replicated a bunch of bitcoin testcases using cryptopp
744 2013-03-01 18:39:21 <HM> nice library
745 2013-03-01 18:39:45 <theymos> I've always wondered why Satoshi didn't use crypto++. It's closer to his style and its license is better.
746 2013-03-01 18:40:43 <sipa> theymos: iirc, crypto++ is a lot slower than openssl for secp256k1
747 2013-03-01 18:40:53 <sipa> though i haven't benchmarked it myself
748 2013-03-01 18:41:06 <sipa> and that probably isn't the reason
749 2013-03-01 18:41:14 <sipa> i guess he just sticked to the first thing that worked
750 2013-03-01 18:41:40 <HM> portability maybe
751 2013-03-01 18:42:41 <TD> the original code was windows only
752 2013-03-01 18:42:47 <TD> portability was not high on satoshis list of concerns
753 2013-03-01 18:43:01 <theymos> crypto++ was used for mining at one point, so he knew about it, though maybe not until after he finished most stuff.
754 2013-03-01 18:43:33 <HM> If he really cared about performance he may have selected Curve25519. Dan Bernstein implemented that using floating point magic
755 2013-03-01 18:43:43 <HM> not all 256bit values are valid though
756 2013-03-01 18:43:55 <sipa> HM: Curve25519 is DH only, i think
757 2013-03-01 18:44:02 <TD> he did really care about performance (and space), however he was just one man and learned cryptography for the purposes of building bitcoin
758 2013-03-01 18:44:03 <sipa> but Ed25519 is a signing system
759 2013-03-01 18:44:08 <TD> he wasn't an ECC expert by any means
760 2013-03-01 18:44:12 <HM> sipa: same curve i think?
761 2013-03-01 18:44:16 <TD> hence the rather odd choice of curve
762 2013-03-01 18:44:30 <sipa> HM: i don't think so; same field
763 2013-03-01 18:44:36 <HM> ah k
764 2013-03-01 18:44:36 <TD> and the fact that everything is super tight except that there's a lot of DER encoding crap in signatures that isn't needed
765 2013-03-01 18:45:28 <HM> why is k1 an odd choice?
766 2013-03-01 18:45:41 <sipa> it's considered less trusted than the NIST curve
767 2013-03-01 18:45:50 <sipa> (more obscure)
768 2013-03-01 18:45:55 <theymos> Bitcoin is apparently one of the only users of secp256k1.
769 2013-03-01 18:46:14 <sipa> if you google for secp256k1, you almost find only bitcoin stuff
770 2013-03-01 18:46:17 <gmaxwell> It is a standard curve, however. And avoids some of the patent snafu.
771 2013-03-01 18:46:49 <HM> patent snafu?
772 2013-03-01 18:47:26 <petertodd> The "non-k" curves had their parameters defined by roots of small primes or something right? While the k curves were optimized?
773 2013-03-01 18:47:36 <TD> non-k curves were random
774 2013-03-01 18:47:42 <gmaxwell> There are a lot of patents on performance optimizations for ECC especially for curves on binary fields.
775 2013-03-01 18:48:05 <HM> right
776 2013-03-01 18:48:33 <petertodd> TD: But specifically, nothing-up-my-sleeve numbers right?
777 2013-03-01 18:48:39 <TD> probably.
778 2013-03-01 18:48:41 <TD> i never looked
779 2013-03-01 18:48:42 <gmaxwell> sipa: lol. kinda funny: our coin selection happily picks zero value inputs.
780 2013-03-01 18:48:55 <petertodd> gmaxwell: Sounds like a feature. :P
781 2013-03-01 18:49:08 <sipa> r = random; k = koblitz
782 2013-03-01 18:49:25 <sipa> though technically, secp256k1 isn't a koblitz curve (those use GF(2) based fields)
783 2013-03-01 18:49:32 <sipa> just similar