1 2012-07-06 00:09:59 <jgarzik> gavinandresen: I thought I'd volunteer to write the first draft of the BIP, unless you'd already started on that.
2 2012-07-06 00:10:48 <gavinandresen> jgarzik: BIP for block height in the coinbase? Go for it
3 2012-07-06 00:11:26 <jgarzik> gavinandresen: yep, and the network upgrade process that will be followed. cool.
4 2012-07-06 00:24:33 <BlueMattBot> Yippie, build fixed!
5 2012-07-06 01:09:29 <quellhorst> Anyone know of a good example website that accepts bitcoin payments?
6 2012-07-06 01:09:42 <quellhorst> also, anyone know of ruby code for accepting bitcoin payments?
7 2012-07-06 01:22:05 <Tuxavant> quellhorst, search this in google: inurl:route=information/contact "powered by opencart" bitcoin
8 2012-07-06 01:25:09 <Keverw> Hey. What is ismine from validateAddress?
9 2012-07-06 01:26:36 <forrestv> Keverw, it tells you whether the address is yours
10 2012-07-06 01:26:47 <BlueMattBot> Yippie, build fixed!
11 2012-07-06 01:26:48 <BlueMattBot> Project Bitcoind-Sanitytest build #354: FIXED in 1 hr 2 min: http://jenkins.bluematt.me/job/Bitcoind-Sanitytest/354/
12 2012-07-06 01:26:49 <Keverw> oh& Also, sendfrom? Does that return anything?
13 2012-07-06 01:27:00 <Keverw> for some reason it's undefined.
14 2012-07-06 01:27:15 <Keverw> I'm using https://github.com/jb55/node-bitcoin
15 2012-07-06 01:28:38 <Keverw> http://pastebin.com/T8cDXBfv
16 2012-07-06 01:30:02 <forrestv> Keverw, have a look at https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29
17 2012-07-06 01:30:10 <forrestv> it looks like sendfrom returns the transaction id if it succeeds
18 2012-07-06 01:31:01 <Keverw> I've been looking at https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list
19 2012-07-06 01:33:43 <forrestv> err, that's actually what i meant to paste :)
20 2012-07-06 01:33:49 <Keverw> yeah but shouldn't it return an error otherwise?
21 2012-07-06 01:34:20 <forrestv> Bitcoin will definitely return an error... i'm not sure how node-bitcoin will handle it
22 2012-07-06 01:35:04 <Keverw> Well I know someone who built a wallet in PHP, and he said it should return stuff like INVALID_AMT
23 2012-07-06 01:35:25 <Keverw> INVALID_ADDR, SEND_FAILED, LOW_BALANCE, I kinda wish the doc's we're better.
24 2012-07-06 01:35:30 <Keverw> were*
25 2012-07-06 01:35:39 <forrestv> those are JSONRPC errors, not return values
26 2012-07-06 01:37:19 <forrestv> maybe try looking at the source.. it's very readable: https://github.com/bitcoin/bitcoin/blob/master/src/bitcoinrpc.cpp#L920
27 2012-07-06 01:38:16 <Keverw> After doing some more logging, { [Error: value is type str, expected real] code: -1 } seems to be the errror
28 2012-07-06 01:38:37 <Keverw> So should I convert the users entered amount to something?
29 2012-07-06 01:39:34 <Keverw> guess I would convert it to a "real"?
30 2012-07-06 01:46:16 <forrestv> Keefe, yeah, a floating point number
31 2012-07-06 01:47:45 <Keefe> hi
32 2012-07-06 01:48:47 <forrestv> Keverw*
33 2012-07-06 01:49:24 <Keverw> oh. okay. Looks like parseFloat should do it. Was having a little chat with the #Javascript guys
34 2012-07-06 01:57:52 <Keverw> Sweet. Got it! Now It gives me! [Error: Account has insufficient funds] code: -6 } so that's a good thing. Now I need to write some code to scrape the error message, or should I check if the error contains a string like "Account has insufficient funds" and write my own error messages?
35 2012-07-06 01:59:11 <forrestv> Keefe, use the error code
36 2012-07-06 01:59:46 <Keverw> forrestv: hehe, you keep getting my name wrong. Auto correct fail?
37 2012-07-06 01:59:59 <Keefe> name complete
38 2012-07-06 02:00:06 <forrestv> yes, very sorry, Keefe :/
39 2012-07-06 02:00:13 <Keverw> but yeah, I can scrape the error code out. Incase the error string gets exhcnaged
40 2012-07-06 02:00:19 <Keverw> gets changed*
41 2012-07-06 02:01:27 <Keverw> is there a list of error codes, or do I kinda have to find them? Maybe I could improve the wiki if not.
42 2012-07-06 02:03:15 <forrestv> i don't see a list anywhere
43 2012-07-06 02:04:13 <Keverw> same :( I'll create a wiki page I guess.
44 2012-07-06 02:59:25 <quellhorst> Tuxavant: so opencart has a good bitcoin plugin?
45 2012-07-06 03:08:29 <quellhorst> Tuxavant: also lame, most of those sites redirect to mybitcoin.com which is defunct
46 2012-07-06 03:22:19 <copumpkin> whee, I just counted all the blocks in my blk0001.dat
47 2012-07-06 03:22:20 <copumpkin> 187985
48 2012-07-06 03:23:38 <copumpkin> I guess that means 241 blocks were forsaken in history
49 2012-07-06 03:25:03 <gmaxwell> That you observed.
50 2012-07-06 03:25:20 <copumpkin> yeah, or someone I downloaded my blockchain from observed
51 2012-07-06 03:25:35 <copumpkin> took me 56 seconds to compute that number
52 2012-07-06 03:25:36 <copumpkin> hmm
53 2012-07-06 03:25:36 <gmaxwell> unless you copied the blk file directly..
54 2012-07-06 03:25:52 <gmaxwell> Bitcoin won't forward blocks that aren't on the best chain.
55 2012-07-06 03:26:03 <copumpkin> nah, mine grew organically
56 2012-07-06 03:26:19 <gmaxwell> right, so you observed all of them in realtime.
57 2012-07-06 03:26:30 <copumpkin> well, I only started around this time last year
58 2012-07-06 03:26:32 <luke-jr> gmaxwell: -loadblocks will reproduce orphans
59 2012-07-06 03:26:53 <copumpkin> so am I just counting wrong, or what are the 241 missing ones?
60 2012-07-06 03:27:01 <gmaxwell> luke-jr: sure. but that would still be copying a blk file!
61 2012-07-06 03:27:10 <gmaxwell> copumpkin: they're orphans.
62 2012-07-06 03:27:14 <copumpkin> oh okay
63 2012-07-06 03:27:17 <gmaxwell> copumpkin: 241 sounds fine, actually a bit low.
64 2012-07-06 03:27:24 <gmaxwell> (for the last year)
65 2012-07-06 03:27:35 <copumpkin> hmm, my bitcoin client seems happy enough
66 2012-07-06 03:27:48 <gmaxwell> copumpkin: sure. They're normal and expected.
67 2012-07-06 03:27:49 <copumpkin> I've spent a decent amount of time offline though
68 2012-07-06 03:28:04 <copumpkin> in the sense that while I'm at work, I'm online, but my bitcoin client can't connect through the proxy
69 2012-07-06 03:28:04 <jgarzik> any criticism welcome on the BIP draft -- though no promises of edits until at least morning ;)
70 2012-07-06 07:18:08 <gribble> New news from bitcoinrss: Diapolo opened pull request 1563 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1563>
71 2012-07-06 07:45:10 <`cinder> Hi all - anyone know if the getbalance() json call can get the balance of an address not in the local wallet? Always returns 0 when I try it (which is incorrect) but I might just be screwing the call up somehow.
72 2012-07-06 07:48:45 <sipa> cinder: doing that requires an index for all addresses; as this is not necessary for normal usage, bitcoind does not keep it
73 2012-07-06 07:49:14 <`cinder> Ah, fair enough, thanks
74 2012-07-06 07:50:23 <sipa> alao, getbalance returns the amount in the wallet, not the amount received or available to a given address
75 2012-07-06 07:51:09 <`cinder> I thought the first param could be an address (or '*' for the whole wallet)?
76 2012-07-06 07:51:35 <sipa> no, those are accounts
77 2012-07-06 07:51:49 <`cinder> Oh! Sorry, v new to the json shiz :)
78 2012-07-06 07:51:53 <sipa> accounts are local-only wallet balances
79 2012-07-06 07:52:12 <sipa> ;;google bitcointalk accounts explained
80 2012-07-06 07:52:13 <gribble> Mt.Gox AML/KYC Process Explained: <https://bitcointalk.org/index.php?topic=86224.0>; Trading Discussion: <https://bitcointalk.org/index.php?board=8.0>; Bitcoin - Wikipedia, the free encyclopedia: <http://en.wikipedia.org/wiki/Bitcoin>
81 2012-07-06 07:52:20 <sipa> no...
82 2012-07-06 07:52:52 <sipa> ;;google site:bitcointalk.org accounts explained
83 2012-07-06 07:52:53 <gribble> Mt.Gox AML/KYC Process Explained: <https://bitcointalk.org/index.php?topic=86224.15;wap2>; Print Page - Mt.Gox AML/KYC Process Explained - Bitcoin Forum: <https://bitcointalk.org/index.php?action=printpage;topic=86243.0>; Mt.Gox AML/KYC Process Explained - Bitcoin Forum: <https://bitcointalk.org/index.php?topic=86224.0;wap2>
84 2012-07-06 07:53:09 <sipa> ;;google site:bitcoin.it accounts explained
85 2012-07-06 07:53:10 <gribble> Accounts explained - Bitcoin: <https://en.bitcoin.it/wiki/Accounts_explained>; Talk:Accounts explained - Bitcoin: <https://en.bitcoin.it/wiki/Talk:Accounts_explained>; Category:Technical - Bitcoin: <https://en.bitcoin.it/wiki/Category:Technical>
86 2012-07-06 07:53:14 <sipa> there
87 2012-07-06 07:53:46 <`cinder> Cheers, I'll have a read
88 2012-07-06 08:04:17 <Diapolo> Is the "-limitfreerelay" intentionally not mentioned in the help display?
89 2012-07-06 09:18:05 <orion> Hi. I am getting 100% CPU usage even though I have a completed block chain. I am on FreeBSD 9.0-STABLE, and I am running version 0.6.1-539-g6e3a1a3-dirty-beta. Does anyone know what could be wrong?
90 2012-07-06 09:22:20 <Diapolo> orion: That one seems outdated, can you use a current version?
91 2012-07-06 09:25:38 <orion> Diapolo: There was some confusion about that last night.
92 2012-07-06 09:26:18 <Diapolo> orion: I was not here, so sorry mate.
93 2012-07-06 09:26:45 <orion> I cloned this repo: git://github.com/bitcoin/bitcoin.git
94 2012-07-06 09:27:05 <orion> I am on the master branch.
95 2012-07-06 09:27:21 <orion> As a result, I don't understand why it's printing 0.6.1 and not 0.6.3
96 2012-07-06 09:29:46 <Diapolo> the master branch is on 0.6.99 I think
97 2012-07-06 09:33:54 <sipa> orion: current git head is planned to become 0.7.0
98 2012-07-06 09:34:17 <sipa> orion: the last version created from git head was 0.6.1
99 2012-07-06 09:34:41 <sipa> 0.6.2 and 0.6.3 were side branches with backported fixes
100 2012-07-06 09:44:31 <Diapolo> sipa: Can the RC phase delayed until the biggest GUI pulls I have open got merged ... should not take too long. Or when is it intended to start?
101 2012-07-06 09:49:13 <sipa> Diapolo: no idea, ask gavin
102 2012-07-06 09:49:57 <sipa> orion: what did you do to get 100% cpu usage?
103 2012-07-06 09:51:16 <orion> sipa: Nothing.
104 2012-07-06 09:52:09 <sipa> any command line options or config settings?
105 2012-07-06 09:52:39 <orion> No.
106 2012-07-06 09:52:49 <orion> I have the completed blockchain.
107 2012-07-06 09:53:04 <orion> USEUPNP=-, USE_IPV6=1
108 2012-07-06 09:53:21 <orion> Although, I am really interested in knowing why my version is messed up.
109 2012-07-06 09:53:34 <sipa> i explained it to you?
110 2012-07-06 09:53:54 <Diablo-D3> SPACE SIPA TO THE RESSCUUUEEEEE
111 2012-07-06 09:54:03 <orion> Ahh, *scroll*
112 2012-07-06 09:54:30 <Diablo-D3> hrm, I think I should have put him in a space suit first
113 2012-07-06 09:54:31 <Diablo-D3> oh well
114 2012-07-06 09:57:19 <tgs3> how should we write amount in satoshis?
115 2012-07-06 09:57:30 <tgs3> e.g. I have 100000000 satoshi (1 BTC) ?
116 2012-07-06 09:58:32 <sipa> i wouldn't use satoshis as a unit in anything but protocol-level talk
117 2012-07-06 09:59:08 <tgs3> also, bitcoin api should accept numbers in satoshi
118 2012-07-06 09:59:48 <sipa> i consider the fact that things are internally represented using them an implementation issue
119 2012-07-06 10:00:02 <sipa> the currency unit is bitcoin
120 2012-07-06 10:00:26 <sipa> (the fact that the RPC using floating point numbers is another matter)
121 2012-07-06 10:00:36 <CodesInChaos> for user iterfaces I'd prefer mBTC, ???BTC etc.
122 2012-07-06 10:00:45 <jeremias> I prefer euros
123 2012-07-06 10:00:47 <sipa> CodesInChaos: indeed
124 2012-07-06 10:00:54 <jeremias> I don't want to think in bitcoins
125 2012-07-06 10:00:57 <tgs3> flaoting points for money are crazy
126 2012-07-06 10:01:07 <jeremias> I want the client software to do the calculations for me
127 2012-07-06 10:01:17 <CodesInChaos> floating point for money is perfectly fine. Binary floating point is not
128 2012-07-06 10:01:21 <tgs3> jeremias: would you like it with fries
129 2012-07-06 10:01:26 <jeremias> yeah
130 2012-07-06 10:01:43 <jeremias> well, actually I've made easywallet.org to suit my philosophy
131 2012-07-06 10:01:53 <tgs3> lol, online wallet
132 2012-07-06 10:01:58 <tgs3> wait
133 2012-07-06 10:02:00 <jeremias> well, whatever
134 2012-07-06 10:02:21 <tgs3> ring ring
135 2012-07-06 10:02:31 <tgs3> jeremias: its mtgox calling, they want 2011 Jan back
136 2012-07-06 10:02:50 <tgs3> or rather mybitcoin
137 2012-07-06 10:02:53 <jeremias> I don't promote to use online wallets, but currently it seems to be only option for iphone
138 2012-07-06 10:03:07 <jeremias> and also for very easy beginner level
139 2012-07-06 10:03:27 <jeremias> so shut the fuck up, what have you done to promote bitcoin?
140 2012-07-06 10:03:37 <orion> sipa: I switched to the 0.6.3 branch and the problem still happens,.
141 2012-07-06 10:04:06 <sipa> orion: are you able to use a debugger to try to find where it is spending time?
142 2012-07-06 10:06:00 <orion> Standby.
143 2012-07-06 10:07:42 <gribble> New news from bitcoinrss: Diapolo opened pull request 1564 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1564>
144 2012-07-06 10:12:25 <orion> #8 0x0000000000713268 in ipcThread (parg=0x817218180) at src/qt/qtipcserver.cpp:33
145 2012-07-06 10:15:42 <tgs3> jeremias: to promote bitcoin I did NOT started an e-wallet like mybitcoin ;)
146 2012-07-06 10:15:53 <tgs3> this is widelly considered a good idea
147 2012-07-06 10:17:02 <jeremias> well, I like to lower the barrier of entry
148 2012-07-06 10:17:18 <orion> sipa: ^
149 2012-07-06 10:17:32 <jeremias> and it is also nice for iPhone users to have some kind of solution
150 2012-07-06 10:17:34 <sipa> orion: oh, you're using bitcoin-qt ?
151 2012-07-06 10:17:43 <tgs3> there is not iPhone wallet yet?
152 2012-07-06 10:18:05 <orion> sipa:
153 2012-07-06 10:18:08 <jeremias> and I also put heavy disclaimers around, and also I'm not anonymous
154 2012-07-06 10:18:12 <orion> sipa: Isn't that the original client?
155 2012-07-06 10:18:24 <jeremias> the site is run by an actual LLC registered in Finland
156 2012-07-06 10:18:26 <sipa> orion: yes, sure, but on BSD i assumed it was for a server just running bitcoind
157 2012-07-06 10:18:44 <orion> No. I have a FreeBSD Desktop here.
158 2012-07-06 10:18:49 <jeremias> the problem is apple bans iPhone wallets, but they can't ban web wallet
159 2012-07-06 10:19:02 <jeremias> and web wallets can nowadays use QR codes
160 2012-07-06 10:19:11 <sipa> orion: anyway, patches welcome, but BSD isn't officially supported
161 2012-07-06 10:19:15 <orion> Oh. :/
162 2012-07-06 10:19:35 <orion> Ok.
163 2012-07-06 10:19:38 <tgs3> lol apple banned iphone client?
164 2012-07-06 10:19:39 <sipa> orion: there have been problems on other systems as well with IPC before (it was disabled on OSX and WIN32 already for that reason)
165 2012-07-06 10:20:04 <orion> How can I disable it?
166 2012-07-06 10:20:10 <orion> Some qmake flag?
167 2012-07-06 10:20:39 <jeremias> tgs3: they have banned several iphone clients...
168 2012-07-06 10:20:59 <jeremias> actually it was good that they banned BItPak, because it sucked so hard
169 2012-07-06 10:21:00 <sipa> orion: see src/qt/qtipcserver.cpp, there's an #ifdef MAC_OSX; add BSD there
170 2012-07-06 10:21:27 <sipa> orion: BlueMatt may know more about how to get it working
171 2012-07-06 10:28:57 <tgs3> jeremias: lol apple.
172 2012-07-06 10:29:04 <tgs3> why people keep using apple still
173 2012-07-06 10:29:10 <sipa> it's shiny!
174 2012-07-06 10:29:57 <BlueMatt> orion: did commenting out the ipc stuff get you back to 0 cpu?
175 2012-07-06 10:30:00 <jeremias> well, sorry for breaking the "bitcoin is only meant for linux users" rule
176 2012-07-06 10:30:08 <BlueMatt> or reasonable
177 2012-07-06 10:36:18 <jeremias> or more general rule of open source, "ignore average joes"
178 2012-07-06 10:38:02 <jeremias> http://www.bgr.com/2012/07/02/iphone-market-share-june-2012-android-blackberry/ according to this, iOS has 65% market share from the smartphone/tablet market
179 2012-07-06 10:38:28 <BlueMatt> yes, apple-centric site says iOs has 65% market share...
180 2012-07-06 10:38:39 <sipa> i'm sure that for some market, it does
181 2012-07-06 10:38:48 <sipa> and ignoring it would be stupid
182 2012-07-06 10:38:52 <sipa> and blind
183 2012-07-06 10:39:03 <BlueMatt> hey, if we could get bitcoin clients on iOS, we would
184 2012-07-06 10:39:04 <jeremias> well, whatever, even if the market share would be only 10%, it would be fairly significant
185 2012-07-06 10:39:08 <BlueMatt> you cant blame us...
186 2012-07-06 10:39:16 <sipa> of course
187 2012-07-06 10:39:19 <sipa> jeremias: sure
188 2012-07-06 10:40:03 <BlueMatt> <jeremias> well, sorry for breaking the "bitcoin is only meant for linux users" rule <---uhhh...no we support all major oses
189 2012-07-06 10:40:15 <jeremias> BlueMatt: I don't blame the devs, I just dislike this general negative attitude towards iOS users
190 2012-07-06 10:42:01 <BlueMatt> there isnt a negative attitude towards iOS users in general, its targeted at apple, but apple doesnt go to bitcointalk.org, so people just yell at iOS users
191 2012-07-06 10:42:47 <sipa> to be honest, i have more of a problem with some iOS users than with Apple :)
192 2012-07-06 10:43:20 <BlueMatt> there are some, but I dont think there is a hate of iOS users in general
193 2012-07-06 10:43:34 <sipa> go visit an android forum :D
194 2012-07-06 10:43:54 <BlueMatt> (in the bitcoin community)
195 2012-07-06 10:43:54 <jeremias> well, I like practical approach
196 2012-07-06 10:44:03 <jeremias> it is better to have some solution than no solution at all
197 2012-07-06 10:44:07 <sipa> sure, people buy what works for them
198 2012-07-06 10:44:30 <jeremias> and when iOS solution is discussed, always some troll "lol n00bs use android" pops up
199 2012-07-06 10:45:03 <sipa> and that certainly works in both directions
200 2012-07-06 10:45:11 <BlueMatt> welcome to the internet...trolls exist
201 2012-07-06 10:46:03 <BlueMatt> someone should update bitcoin-js-remote, I used to use it to manage a wallet on iPhone >1 year ago, btw
202 2012-07-06 10:48:27 <sipa> dang, signrawtransaction got merged, now i have to port it to ultraprune :(
203 2012-07-06 10:54:11 <gmaxwell> BlueMatt: care to setup a pull with those extracted duplicate GetHash() removals before we forget them?
204 2012-07-06 10:55:26 <gmaxwell> sipa: fwiw, my valgrind run on ultraprune finally finished.
205 2012-07-06 10:55:34 <gmaxwell> and the point where it dies is
206 2012-07-06 10:57:14 <gmaxwell> ls
207 2012-07-06 10:58:50 <sipa> gmaxwell: already fixed, i'm rebasing now
208 2012-07-06 10:59:15 <sipa> gmaxwell: but no other valgrind errors?
209 2012-07-06 11:02:28 <Vitas> 2|guys a question: where can I see my BTC withdrawal address?
210 2012-07-06 11:03:55 <sipa> Vitas|2: what do you mean by withdrawal address?
211 2012-07-06 11:04:49 <ersi> sipa: He's cross-posting over #bitcoin and #bitcoin-dev
212 2012-07-06 11:05:31 <gmaxwell> sipa: ~40% time in gethash().
213 2012-07-06 11:05:43 <sipa> gmaxwell: interesting
214 2012-07-06 11:07:38 <gmaxwell> https://people.xiph.org/~greg/ultraprune_profile.png though it's a bit hard to see there becuase it's scatterd all over.
215 2012-07-06 11:09:20 <gmaxwell> Though keep in mind this is an O0 build, which distorts things a bit.
216 2012-07-06 11:21:41 <Vitas> 2|I don't know :-] https://bitcointalk.org/index.php?topic=83904.0 step 2
217 2012-07-06 11:22:07 <sipa> Vitas|2: ah, an address to withdraw to
218 2012-07-06 11:22:17 <sipa> Vitas|2: go to receive coins, and request a new receive address
219 2012-07-06 11:26:01 <Vitas> 2|of coures. thx
220 2012-07-06 11:48:58 <makomk> Hmmmm. Which testnet version's the faucet on?
221 2012-07-06 11:55:06 <sipa> 2, i think
222 2012-07-06 11:55:43 <sipa> gmaxwell: ultraprune updated
223 2012-07-06 12:32:07 <gmaxwell> makomk: if you need some v3 coins let me know.
224 2012-07-06 12:33:54 <makomk> gmaxwell: actually, if you could send some testnet3 coins to n1yyBXnMz3ae1FuAyyPU37FHDjeTPShyMM that'd be handy, thanks!
225 2012-07-06 12:36:10 <gmaxwell> makomk: k. done.
226 2012-07-06 12:36:19 <makomk> Thanks!
227 2012-07-06 13:00:30 <gribble> 187805
228 2012-07-06 13:00:30 <sipa> ;;bc,blocks
229 2012-07-06 13:03:56 <Kiba> hey hey hey
230 2012-07-06 13:07:57 <sipa> gmaxwell: just imported a blk0001.dat file up to 187711 blocks in 31 minutes
231 2012-07-06 13:08:28 <jgarzik> gavinandresen: I think we can go ahead and push #1525, at least?
232 2012-07-06 13:08:38 <jgarzik> sipa gmaxwell: ^
233 2012-07-06 13:08:56 <jgarzik> treat v1 tx as non-standard; warn if blocks > known ver
234 2012-07-06 13:09:15 <sipa> why is it closed?
235 2012-07-06 13:11:33 <jgarzik> sipa: it looks like all commits were moved to #1526
236 2012-07-06 13:21:06 <jgarzik> luke-jr: what is the status of bip 19? withdrawn?
237 2012-07-06 13:26:20 <luke-jr> jgarzik: Draft presently; not sure if it has any need though, given the BIP 16 rule changes
238 2012-07-06 13:27:13 <luke-jr> perhaps it should become Deferred or Withdrawn
239 2012-07-06 13:34:24 <gavinandresen> jgarzik: I rebased 1526, forgot that I had 1525 open....
240 2012-07-06 13:47:25 <gribble> New news from bitcoinrss: gavinandresen reopened pull request 1525 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1525>
241 2012-07-06 13:47:48 <gavinandresen> jgarzik: ... and then I pulled the rebased commits
242 2012-07-06 13:48:19 <jgarzik> gavinandresen: groovy gravy
243 2012-07-06 13:49:40 <gavinandresen> jgarzik: BIP looks good, my only nit is "block height" should be defined-- maybe just "(where the genesis block is height=0)"
244 2012-07-06 13:50:18 <sipa> i wouldn't call the value in the coinbase a nonce - its value is completely deterministic
245 2012-07-06 13:51:25 <gavinandresen> show-off
246 2012-07-06 13:55:58 <gmaxwell> amiller: on the subject of crazy redesigns, if the tx-in ID used in transactions was txout-scripthash||txnhash||index, then a plain txout tree would support etotheipi's address oriented lookups. Kinda obvious but I only just realized it.
247 2012-07-06 13:59:34 <jgarzik> gavinandresen, sipa: updated https://en.bitcoin.it/wiki/BIP_0034
248 2012-07-06 13:59:48 <jgarzik> You're welcome to edit it yourselves, too. Might be faster for minor edits... I'm not actively editing.
249 2012-07-06 14:00:48 <gavinandresen> jgarzik: you don't want to be Author of that BIP?
250 2012-07-06 14:01:21 <jgarzik> gavinandresen: I just wanted to exercise to BIP process. You are the author of the change itself, and I had very little to do with the change.
251 2012-07-06 14:01:31 <jgarzik> *exercise the
252 2012-07-06 14:37:55 <OneEyed> Hi. I've got a question for which I couldn't find an answer with my (admittedly limited) search
253 2012-07-06 14:38:09 <OneEyed> In a transaction, inputs are consumed in full, right? No amount is indicated, only the amount for every outputs
254 2012-07-06 14:38:59 <gmaxwell> OneEyed: correct. any imbalance is fee.
255 2012-07-06 14:39:01 <OneEyed> In this case, what happens if an address listed as an input receives some bitcoins in a new transaction, and this new transaction is included in the block chain before the spending transaction? Wouldn't that put the extra money just received as a fee for the miner?
256 2012-07-06 14:39:38 <gmaxwell> Bitcoin is not system of balances. The protocol has no concept of balances. There are only transactions (coins). These are the inputs.
257 2012-07-06 14:39:50 <gribble> 187812
258 2012-07-06 14:39:50 <sipa> ;;bc,blocks
259 2012-07-06 14:40:01 <Diablo-D3> one does not have a balance
260 2012-07-06 14:40:03 <Diablo-D3> one has a key ring.
261 2012-07-06 14:40:41 <gmaxwell> So if you get payments of 1,3,5 to an address... you might use 1,3 in order to pay 3.5 btc to someone.. and then take the remainder as a change output. But the 5btc payment you had before is untouched.
262 2012-07-06 14:41:03 <OneEyed> Diablo-D3& gmaxwell: yes, I understand that. But if we have: A -> B (1 BTC) already in the block chain, then B -> C (1 BTC) is emitted as a transaction
263 2012-07-06 14:41:25 <OneEyed> What happens if D -> B (1 BTC) is emitted, included in the block chain, before B -> C (1 BTC) gets a chance to get included
264 2012-07-06 14:41:47 <Diablo-D3> OneEyed: you cant send 1 BTC
265 2012-07-06 14:41:53 <OneEyed> We would then have: A -> B (1 BTC), D -> B (1 BTC), B -> C (1 BTC) which is obviously not what the person would want
266 2012-07-06 14:42:17 <Diablo-D3> you can only send an encrypted message to someone else's public key
267 2012-07-06 14:42:24 <Diablo-D3> s/encrypted//
268 2012-07-06 14:42:30 <Diablo-D3> (its signed, sorry)
269 2012-07-06 14:42:52 <luke-jr> [16:41:42] <luke-jr> BLOCK
270 2012-07-06 14:42:54 <luke-jr> [16:42:16] <ljrbot> Blk 0000000000000959fafe2faba9fdb2f3f4fc7a69ef5d4ee3f849a98235fa2376: 1E7cYXQx8upvFRw3kaikP8tQKMeFqFMJ86 14.4899572 BTC, 1N4c8rFC5okV9GVG7by9AgXwyiHBMcfbGS 13.54313593 BTC, 1ASNjJjUou6RPkmP81nJUuhbZDkxAaHQhX 9.41527403 BTC, 16BxRMTpQqY9bjhwwuM5J7R1QxQYzPdcJi 0.75960363 BTC, 1PT2dTzFnYaW2jqAuttAuUUdtS3LzJBrmh
271 2012-07-06 14:43:01 <luke-jr> humans faster than Bitcoin network! :P
272 2012-07-06 14:43:03 <OneEyed> Diablo-D3: yes, I understand, but how is that related to my question? It is only about the ordering of transactions in the block chain, and how they could change the perceived balance only
273 2012-07-06 14:43:38 <Diablo-D3> OneEyed: well, thats the thing, you dont have a balance, you have a key ring
274 2012-07-06 14:43:43 <jgarzik> OneEyed: bitcoin guarantees that transactions included in blocks always include their dependencies, in that block or in previous blocks
275 2012-07-06 14:44:00 <jgarzik> OneEyed: otherwise the transaction is not considered "connected"
276 2012-07-06 14:44:00 <OneEyed> jgarzik: oh, that's it, thanks!
277 2012-07-06 14:44:07 <Diablo-D3> yeah what jgarzik said
278 2012-07-06 14:44:07 <OneEyed> jgarzik: makes perfect sense
279 2012-07-06 14:44:34 <OneEyed> so in fact it's not B -> C (1 BTC), but rather B (as known in block XXX) -> C (1 BTC)
280 2012-07-06 14:44:42 <Diablo-D3> OneEyed: exactly
281 2012-07-06 14:44:49 <Diablo-D3> transactions use specifically named coins
282 2012-07-06 14:44:49 <OneEyed> I couldn't find this info in various presentation I found around
283 2012-07-06 14:45:12 <OneEyed> Diablo-D3: indeed
284 2012-07-06 14:45:14 <Diablo-D3> a coin is basically named "5 BTC sent to addresss xxxx in transaction yyy in block zzz"
285 2012-07-06 14:45:25 <Diablo-D3> the system doesnt really care that it contains 5 btc
286 2012-07-06 14:46:41 <OneEyed> Ok, so if B received 1 + 1 BTC, to spend those 2 BTC we will necessarily have 2 separate inputs
287 2012-07-06 14:47:59 <Diablo-D3> yes
288 2012-07-06 14:48:05 <Diablo-D3> and the inputs dont need to consume the whole thing
289 2012-07-06 14:48:26 <Diablo-D3> bitcoin produces a change input that just sends it back to you
290 2012-07-06 14:48:32 <Diablo-D3> err output
291 2012-07-06 14:48:36 <OneEyed> Well, that's consuming the whole thing
292 2012-07-06 14:48:38 <OneEyed> Ok, outputs :)
293 2012-07-06 14:48:47 <lianj> the bitcoin client does
294 2012-07-06 14:48:56 <Diablo-D3> lianj: _all_ bitcoin clients do
295 2012-07-06 14:49:06 <lianj> hehe, lets hope
296 2012-07-06 14:49:08 <Diablo-D3> and since we only have one real client, :D
297 2012-07-06 14:49:25 <OneEyed> Even Armory is backed by bitcoind at this time, right
298 2012-07-06 14:50:03 <lianj> right, just saying, bitcoin does produce it, your or client has to do it
299 2012-07-06 14:50:09 <lianj> *doesnt
300 2012-07-06 14:50:27 <lianj> but true, thats nitpicking. sorry
301 2012-07-06 14:51:06 <OneEyed> lianj: it depends - if you use "bitcoind sendtoaddress" from your client, bitcoind will take care of it for you from what I can see
302 2012-07-06 14:51:32 <lianj> right
303 2012-07-06 14:52:52 <lianj> although you have little control of what change address to use
304 2012-07-06 14:55:13 <OneEyed> lianj: well, you also have little control over the inputs you use if you let bitcoind build the transaction as it wishes
305 2012-07-06 14:55:53 <OneEyed> So as far as the risk of connecting several of your addresses is concerned, it already exists, and using possibly the same change address doesn't complicate things much for you
306 2012-07-06 14:56:44 <OneEyed> The only choices seem to either use different wallets, or exercise a fine control of the inputs you use for a transaction in addition to the change address
307 2012-07-06 14:57:55 <jgarzik> OneEyed: bitcoin's recently merged "raw tx" JSON-RPC API gives you full control of inputs. The default is to permit bitcoin to select the inputs based on various hueristicsz.
308 2012-07-06 14:58:11 <OneEyed> jgarzik: yeah, I've seen that on bitcoin talk, maybe from you
309 2012-07-06 15:00:09 <OneEyed> jgarzik: that just made me think: let's assume that people send you lots of small transactions and don't include a fee (100 transactions of 0.01 BTC, 0 fee). Making a transaction with those 100 transactions as input and one address of yours as output will let you pay the fee once, and have all the transactions included in the next block chain with a higher probability
310 2012-07-06 15:00:51 <OneEyed> (because the miner would have to include the dependencies while including the transaction bringing a fee)
311 2012-07-06 15:03:16 <jgarzik> OneEyed: it is good for the network, if we expire 100 old inputs, and create 1 new output
312 2012-07-06 15:03:52 <jgarzik> OneEyed: note that there are several factors that wind up discouraging micropayments, so tiny transactions may be considered spam if too small (and no fee paid)
313 2012-07-06 15:04:46 <OneEyed> jgarzik: right (about the consolidation). I've also read about some plans to have a meta-chain containing a summary of unspent outputs, that would be beneficial here too.
314 2012-07-06 15:07:46 <gmaxwell> OneEyed: fee handling is always done in terms of BTC/byte of data in any case. so that kind of batching gaming shouldn't matter.
315 2012-07-06 15:18:26 <bonks> Is bitcoin-qt's transaction list's date column supposed to show the first time any blockchain received it or when my client received it?
316 2012-07-06 15:20:33 <gmaxwell> bonks: when your client recieved it.
317 2012-07-06 15:21:02 <bonks> I figured, is it possible to get the time when any blockchain first seen it?
318 2012-07-06 15:21:04 <gmaxwell> bonks: see also https://github.com/bitcoin/bitcoin/pull/1393
319 2012-07-06 15:22:17 <bonks> I see, thank you
320 2012-07-06 15:22:39 <bonks> I was on vacation and synced up only to see the current date for all transactions, had me confused for a while
321 2012-07-06 15:23:03 <moartr4dez> -rescan ?
322 2012-07-06 15:23:17 <gmaxwell> bonks: yea, its a frequent source of confusion.
323 2012-07-06 15:23:36 <gmaxwell> moartr4dez: no. What he's seeing is the current intentional behavior.
324 2012-07-06 15:23:59 <gmaxwell> moartr4dez: it only shows the time that your software learned of the txn, not some other time.
325 2012-07-06 15:24:00 <bonks> all new transactions*
326 2012-07-06 15:26:41 <bonks> But where is this time stamp stored? The local blockchain or wallet? Sounds like the local blockchain, but I thought all blockchains had to be identical
327 2012-07-06 15:28:43 <OneEyed> bonks: while I don't have your answer, I know that your client has to do some bookeeping to handle the blockchain. It can well add the timestamp it receives each block at into the local block metadata. That would give a date for all the transactions contained within this block.
328 2012-07-06 15:31:17 <bonks> Hmm, then means my client may display different time stamps depending on the computer I'm on (I use a single wallet on multiple machines with their own blockchain)
329 2012-07-06 15:31:36 <gmaxwell> bonks: it's stored in your local wallet.
330 2012-07-06 15:31:54 <gmaxwell> bonks: using a wallet in multiple places is _sure_ to cause you problems.
331 2012-07-06 15:31:57 <bonks> gmaxwell: In that case it should be the same on any pc then :)
332 2012-07-06 15:32:13 <bonks> I... haven't had any problems. I only load them on one pc at a time.
333 2012-07-06 15:32:16 <gmaxwell> bonks: only if you copy the wallets after the txn arrives.
334 2012-07-06 15:32:18 <gmaxwell> Oh okay.
335 2012-07-06 15:32:20 <gmaxwell> yes, thats fine.
336 2012-07-06 15:32:45 <gmaxwell> Also, as an aside the blockchain _files_ are not the same on different systems.
337 2012-07-06 15:33:13 <bonks> but the blk0001.dat is always the same?
338 2012-07-06 15:33:36 <gmaxwell> No.
339 2012-07-06 15:33:58 <gmaxwell> blk0001.dat has blocks in the order you recieved them and contains orphan blocks.
340 2012-07-06 15:34:08 <gmaxwell> as it is append-only.
341 2012-07-06 15:35:43 <bonks> And all this time I thought they were the same, since complete files were available to download
342 2012-07-06 15:38:32 <gmaxwell> bonks: no, and those files available for download create some systemtic risk for bitcoin. If some cosmic ray corrupts it... and causes a valid txn to be left out of the index, then all nodes bootstrapped off it would fork at once if that txn were spent.
343 2012-07-06 15:39:48 <bonks> Gotcha, that is new to me. Thanks
344 2012-07-06 15:42:33 <OneEyed> gmaxwell: don't miners verify the blocks?
345 2012-07-06 15:43:22 <gmaxwell> OneEyed: if you download a corrupted block database from some website and stick it into your client then you're at the mercy of whatever that site gave you.
346 2012-07-06 15:43:37 <gmaxwell> Normal synchronization doesn't have that problem.
347 2012-07-06 15:43:39 <OneEyed> gmaxwell: and you'll generate invalid transactions
348 2012-07-06 15:43:59 <OneEyed> gmaxwell: so here you're talking about carefully crafted bogus block, not blocks rendered invalid because of a cosmic ray
349 2012-07-06 15:44:13 <gmaxwell> It's easier to have corruption that makes you reject a valid chain in the future, than create invalid transactions yourself.
350 2012-07-06 15:44:27 <gmaxwell> No. I was talking about exactly what I was talking about, thank you very much. ;)
351 2012-07-06 15:45:33 <OneEyed> gmaxwell: well, the only problem would be if a bogus block chain was produced, longer than the legitimate one that the client would eventually acquire from the network, wouldn't it?
352 2012-07-06 15:45:34 <gmaxwell> A cosmic ray flips a bit in the database you've downloaded. So now there is a [baaaaaa] transaction in the txout list, instead of [aaaaaaa]. When someone spends aaaaaaa all nodes with that identically corrupted database will reject the block mining it and all future blocks forever.
353 2012-07-06 15:45:46 <gmaxwell> No. Thats not correct.
354 2012-07-06 15:46:05 <gmaxwell> Bitcoin does not use the longest chain. It uses the longest _valid_ chain.
355 2012-07-06 15:46:24 <gmaxwell> And as far as your concerned any chain with aaaaaaa in its history is invalid. So you'll ignore it.
356 2012-07-06 15:46:54 <OneEyed> So does that mean that you will refuse valid copies of the corrupt block coming from the network?
357 2012-07-06 15:47:17 <OneEyed> Because the block is invalid after the bit is flipped
358 2012-07-06 15:47:55 <gmaxwell> OneEyed: Yes. Which is why this is only a risk for nodes which have pulling a prefabbed block database off a website and started a node with that.
359 2012-07-06 15:48:19 <OneEyed> gmaxwell: yeah, sure, and which don't verify the block chain, I agree
360 2012-07-06 15:48:47 <gmaxwell> Then what were we discussing? :)
361 2012-07-06 15:49:37 <OneEyed> gmaxwell: I guess we agree - what I was saying and thought you didn't agree with was that if a client checks the integrity of its blocks from time to time, it will discard any corrupt block and reacquire a correct version from the network
362 2012-07-06 15:50:31 <OneEyed> Only clients blindly trusting an outside source to do the integrity check for them will have a problem. On the one hand, they deserve it, as they don't want to check them. On the other hand, not all nodes have the computing power to do this storage and verification.
363 2012-07-06 15:50:37 <gmaxwell> Ah, the software does not do that. Also, it's insufficient... the blocks aren't enough you need a correct index and it's currently much harder to validate the index than the blocks themselves.
364 2012-07-06 15:50:48 <OneEyed> (bbl, afk for 15 minutes, food fetching)
365 2012-07-06 15:53:08 <gmaxwell> OneEyed: 'not all nodes have the computing power' is mostly BS currently. You could validate the whole chain on a smartphone in a day or two, and no one runs a full node on a smartphone (except luke? :) ). It's just impatience and the fact that the current software isn't usable until its done (e.g if this was in the background no one would care much)
366 2012-07-06 15:56:55 <gmaxwell> OneEyed: in any case, my only point there was that currently the downloads risk fork creation. I'm not even concerned about single nodes getting broken. The fact that a whole bunch would reject at the same point means they would start building a parallel network which was processing transactions too.
367 2012-07-06 16:07:13 <luke-jr> gmaxwell: I don't have a smartphone
368 2012-07-06 16:15:15 <orion> I recompiled without IPC support, and bitcoin still uses 100% CPU.
369 2012-07-06 16:16:17 <BlueMatt> any chance you could track down a backtrace of the thread which is using so much cpu?
370 2012-07-06 16:16:22 <orion> But instead of its state being "CPU7", its state is "nanslp". Testing in gdb confirms that its waiting around in nanosleep.
371 2012-07-06 16:19:49 <BlueMatt> what does gdb show on the backtrace of the thread which is using cpu?
372 2012-07-06 16:19:56 <orion> #2 0x000000000051bcf3 in boost::interprocess::interprocess_semaphore::wait (this=0x81801e090) at interprocess_semaphore.hpp:33
373 2012-07-06 16:19:57 <orion> #3 0x000000000051093a in ThreadOpenConnections2 (parg=0x0) at src/net.cpp:1215
374 2012-07-06 16:21:30 <orion> I'm assuming that polls and nanosleeps do not use CPU.
375 2012-07-06 16:21:35 <BlueMatt> uhh...what version is this?
376 2012-07-06 16:22:19 <orion> BlueMatt: 0.6.3-dirty-beta
377 2012-07-06 16:22:54 <BlueMatt> orion: so its just 0.6.3 with the ipc disabled in src/qt/bitcoin.cpp?
378 2012-07-06 16:23:44 <BlueMatt> orion: can you pastebin the backtrace on all the threads?
379 2012-07-06 16:23:44 <orion> It's 0.6.3 with IPC disabled in src/qt/qtipcserver.cpp
380 2012-07-06 16:23:49 <BlueMatt> ok
381 2012-07-06 16:23:59 <orion> I can do that, standby.
382 2012-07-06 16:28:01 <orion> BlueMatt: https://gist.github.com/70a333646d8ec2ee7aaa
383 2012-07-06 16:30:52 <BlueMatt> orion: odd, none of those functions should ever use any significant cpu...you are sure its the ThreadOpenConnections one?
384 2012-07-06 16:31:33 <orion> No.
385 2012-07-06 16:33:15 <BlueMatt> can you check with htop?
386 2012-07-06 16:33:31 <BlueMatt> Im sure top has an option, but I know htop's default is to show each thread individually
387 2012-07-06 16:34:07 <BlueMatt> or apparently start top with -H
388 2012-07-06 16:36:54 <orion> hmm
389 2012-07-06 16:37:04 <orion> I all the threads have the same name.
390 2012-07-06 16:37:13 <BlueMatt> what about id?
391 2012-07-06 16:37:16 <orion> I found teh thread with top -H, but I'm not sure what I would look for.
392 2012-07-06 16:37:34 <orion> PID?
393 2012-07-06 16:37:38 <BlueMatt> do that not have an id column that is unique?
394 2012-07-06 16:38:00 <BlueMatt> dont know if it will show on pid, is there a tid?
395 2012-07-06 16:38:39 <orion> PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
396 2012-07-06 16:38:40 <orion> 4818 alex 105 2 437M 166M CPU5 5 29:06 99.66% bitcoin-qt{bitcoin-qt}
397 2012-07-06 16:38:55 <BlueMatt> is PID no unique per thread?
398 2012-07-06 16:39:09 <orion> Correct. the PID is not unique.
399 2012-07-06 16:39:56 <BlueMatt> darn, they are unique on linux...
400 2012-07-06 16:39:57 <BlueMatt> try htop
401 2012-07-06 16:40:08 <orion> I don't have htop, and I don't think it is supported.
402 2012-07-06 16:40:31 <orion> I am on FreeBSD
403 2012-07-06 16:40:51 <luke-jr> BlueMatt: the TID is unique on Linux, but the PID is the same technically
404 2012-07-06 16:40:54 <BlueMatt> ah, didnt realize htop uses /proc...
405 2012-07-06 16:41:03 <BlueMatt> luke-jr: yea, but in top it shows TID on linux
406 2012-07-06 16:41:10 <BlueMatt> (under PID, if you have H)
407 2012-07-06 16:41:10 <luke-jr> i c
408 2012-07-06 16:41:47 <luke-jr> orion: there is a pullreq with thread naming, might merge that
409 2012-07-06 16:42:03 <luke-jr> but you might need to port it too - I commented on a suggestion how in the pullreq
410 2012-07-06 16:42:48 <BlueMatt> odd...looks like there is no way to get per-thread cpu usage in FreeBSD, at least afaict
411 2012-07-06 16:43:02 <BlueMatt> or...google isnt showing anything obvious on the first page
412 2012-07-06 16:43:31 <orion> BlueMatt: top -H works.
413 2012-07-06 16:43:39 <BlueMatt> but its not showing tids
414 2012-07-06 16:43:41 <orion> I can get the thread, but they are all named the same so I don't know.
415 2012-07-06 16:43:58 <BlueMatt> maybe ps can do the trick, check the man page
416 2012-07-06 16:48:34 <orion> I have a thread address.
417 2012-07-06 16:48:45 <BlueMatt> which is it?
418 2012-07-06 16:49:23 <orion> No idea: fffffe0284a6d470
419 2012-07-06 16:49:51 <BlueMatt> uhh...well thats not a thread id...not sure what that is...
420 2012-07-06 16:50:12 <orion> "tdaddr"
421 2012-07-06 16:50:15 <orion> Oh, I need a LWP.
422 2012-07-06 16:50:20 <BlueMatt> yea
423 2012-07-06 16:50:41 <orion> 106183
424 2012-07-06 16:51:00 <BlueMatt> odd...yep it was the ThreadOpenConnections one
425 2012-07-06 16:51:09 <sipa> orion: wait, this is 0.6.3
426 2012-07-06 16:51:11 <BlueMatt> makes no sense though, maybe freebsd's sched_yield is broken...
427 2012-07-06 16:51:22 <sipa> afaik that uses ipc for sync
428 2012-07-06 16:51:29 <orion> sipa: I removed it.
429 2012-07-06 16:51:39 <orion> Or, at least I thought I did.
430 2012-07-06 16:51:40 <sipa> oh, no you used git heaf
431 2012-07-06 16:51:45 <sipa> never mind
432 2012-07-06 16:51:48 <BlueMatt> sipa: its using 100% cpu in boost::interprocess::interprocess_semaphore::wait
433 2012-07-06 16:51:51 <BlueMatt> sipa: no, its 0.6.3
434 2012-07-06 16:52:14 <sipa> go to sync.h, and change the ifdef osx there to bsd
435 2012-07-06 16:52:16 <gmaxwell> luke-jr: You have an N8xx though, IIRC.
436 2012-07-06 16:52:16 <orion> I switched to the 0.6.3 branch and modified src/qt/qtipcserver.cpp
437 2012-07-06 16:52:52 <luke-jr> gmaxwell: which isn't a phone :p
438 2012-07-06 16:53:08 <orion> Where is sync.h?
439 2012-07-06 16:53:25 <BlueMatt> src/sync.h
440 2012-07-06 16:54:14 <orion> I... don't have that file?
441 2012-07-06 16:58:15 <orion> https://github.com/bitcoin/bitcoin/tree/0.6.3/src
442 2012-07-06 16:58:25 <orion> Yup -- doesn't exist here either.
443 2012-07-06 17:25:25 <luke-jr> orion: it's not part of 0.6.x
444 2012-07-06 18:47:40 <copumpkin> anyone have an order of magnitude for the number of distinct source addresses in the blockchain?
445 2012-07-06 18:49:14 <gmaxwell> >1
446 2012-07-06 18:49:43 <phantomcircuit> gmaxwell, win
447 2012-07-06 19:00:23 <helo> distinct source address == unspent output?
448 2012-07-06 19:39:27 <gavinandresen> Idea for a tool to exercise the new raw transactions API: Write a tool that splits up any really big-value transactions in your wallet into smaller inputs, using sends-to-self.
449 2012-07-06 19:40:49 <Kiba> anybody knows of my bitcoin extension for chrome?
450 2012-07-06 19:40:57 <gavinandresen> e.g. if you have a 500 BTC input but you normally spend just a few tens of bitcoins, you might want to split it up so if you make a couple of transactions next month on the same day they use nice, aged inputs
451 2012-07-06 19:40:59 <Kiba> it makes spending bitcoin and seeing your balance a bit convenient
452 2012-07-06 19:42:02 <phantomcircuit> gavinandresen, i imagined you saying that as if you were a wine snob
453 2012-07-06 19:42:21 <gavinandresen> I didn't say they were aged in oak, with a hint of melon
454 2012-07-06 19:42:40 <phantomcircuit> that's now how im imagining you say it
455 2012-07-06 19:43:40 <helo> so the idea is that the splitting transaction doesn't need to be confirmed quickly, because you probably won't be buying anything with it soon?
456 2012-07-06 19:43:50 <gavinandresen> right
457 2012-07-06 19:44:22 <gavinandresen> helps privacy, too, because if you start with one 500BTC input and there is a long chain of "split off a few bitcoins" transactions then that's probably one person spending it down.
458 2012-07-06 19:48:53 <Kiba> gavinandresen: are you working on bitcoin full time?
459 2012-07-06 19:49:04 <gavinandresen> yup
460 2012-07-06 19:49:13 <Kiba> where your income comes from?
461 2012-07-06 19:49:19 <gavinandresen> nope
462 2012-07-06 19:49:19 <OneEyed> That could work as a background mixer: if you have enough aged inputs of various sizes, you can split some of them from time to time for no reason
463 2012-07-06 19:49:27 <Kiba> you have no income?
464 2012-07-06 19:49:42 <gavinandresen> i have savings and a patient wife
465 2012-07-06 19:49:55 <Kiba> eventually that saving will run out.
466 2012-07-06 19:50:08 <helo> nothing like doing what you love
467 2012-07-06 19:50:10 <Kiba> how much of a runway you have?
468 2012-07-06 19:50:24 <Kiba> I am guessing a few companies could probably sponsor you
469 2012-07-06 19:50:24 <OneEyed> Kiba: except if it's kept in BTC and the interests rate are enough to keep it running when converted to FIAT
470 2012-07-06 19:50:26 <gmaxwell> gavinandresen: I think the opposite is more interesting, merging small inputs. Since there is a somewhat regular cadance of users complaing about transactions failing after they've had months of bitdust payments.
471 2012-07-06 19:50:51 <Kiba> OneEyed: he didn't say it's kept in bitcoin
472 2012-07-06 19:50:56 <gavinandresen> gmaxwell: good idea, a small-payment merger python or bash or ruby tool would be spiffy
473 2012-07-06 19:51:05 <OneEyed> Kiba: he didn't say it's not :)
474 2012-07-06 19:51:25 <gavinandresen> ... designed to run over a few days or weeks, so priority builds up and you don't pay tons of fees maybe
475 2012-07-06 19:51:44 <gmaxwell> Unfortunately something external couldn't easily do the taint analysis that the coinselect patch does. e.g. only merge from addresses which are already cross contaminated.
476 2012-07-06 19:51:52 <Kiba> how come the Satoshi clients seemly highly undeveloped compared to other clients
477 2012-07-06 19:52:00 <gmaxwell> gavinandresen: it could actually include one large input (if you have one) in order to pay the way priority wise.
478 2012-07-06 19:52:03 <Kiba> other clients apperently have lot of neat features that the satoshi client have
479 2012-07-06 19:52:23 <gmaxwell> Kiba: ... because they don't have to worry about actually working, or supporting the whole bitcoin protocol.
480 2012-07-06 19:52:25 <gavinandresen> Kiba: because we try to concentrate on low-level boring stuff you never see, like DoS protection
481 2012-07-06 19:52:52 <gmaxwell> Or not breaking for existing users. Or supporting mining .. or ... :)
482 2012-07-06 19:53:02 <Kiba> gavinandresen: so..how many months you have before your saving run out?
483 2012-07-06 19:53:22 <gmaxwell> We also usually don't have any code to copy from. :)
484 2012-07-06 19:53:31 <Kiba> The SEEN and...the UNSEEN.
485 2012-07-06 19:53:41 <Kiba> clearly, the UNSEEN are not as appreciative
486 2012-07-06 19:53:44 <gavinandresen> Kiba: I dunno. The real end-of-runway is my wife's patience
487 2012-07-06 19:53:59 <Kiba> does your wife still think of bitcoin as "fake money"?
488 2012-07-06 19:54:12 <gavinandresen> no, she's stopped calling it 'my pretend money project'
489 2012-07-06 19:54:28 <gmaxwell> In any case, since the beginning of the year we've doubled the size of the project LOC wise.
490 2012-07-06 19:54:34 <gavinandresen> wahoo!
491 2012-07-06 19:54:52 <OneEyed> Perfection is reached not when there is nothing left to add, but when there is nothing left to remove
492 2012-07-06 19:55:02 <gavinandresen> gmaxwell: I think a fair bit of that is unit tests....
493 2012-07-06 19:55:04 <gmaxwell> We started from a fairly small level.
494 2012-07-06 19:55:30 <gmaxwell> gavinandresen: thats still real forward movement actually better than non-test code because it doesn't bloat the actual software. :)
495 2012-07-06 19:55:30 <Kiba> s/impressied/impressed
496 2012-07-06 19:56:04 <Kiba> I think if Gavin asked for donation to keep him running, I am sure a lot of bitcoiners will come forward
497 2012-07-06 19:56:09 <gmaxwell> being negative 200kloc might be a little tricky.
498 2012-07-06 19:56:53 <Kiba> well, I guess I blundered
499 2012-07-06 19:57:23 <gavinandresen> test/ is 3K LOC, src/qt is 10K, src/ is 20K, so I'm wrong, unit tests are still pretty small
500 2012-07-06 19:58:00 <Kiba> I hope when Satoshi look at us, he doesn't think "You guys suck!"
501 2012-07-06 19:58:37 <gmaxwell> well I as going by the Oholo numbers, perhaps they're on crack
502 2012-07-06 19:58:47 <Kiba> to be honest, it does seems that bitcoiners are often an embarrassment
503 2012-07-06 19:58:50 <Kiba> to themsleves
504 2012-07-06 20:00:31 <Kiba> Ohloh.net still alive?
505 2012-07-06 20:00:48 <OneEyed> Kiba: sure, and used by many people as far as I know
506 2012-07-06 20:00:56 <helo> it's pretty easy to be misunderstood when working on something nobody understands
507 2012-07-06 20:01:19 <phantomcircuit> lol
508 2012-07-06 20:01:22 <gmaxwell> aw, thats less impress ohloh is on drugs. Only a 26% increase since janaury actually.
509 2012-07-06 20:01:32 <Kiba> misunderstood?
510 2012-07-06 20:01:48 <OneEyed> gmaxwell: you also get some graphs on github, but those seem on crack too; total sloc were negative at some time: https://github.com/bitcoin/bitcoin/graphs/code-frequency
511 2012-07-06 20:01:56 <gmaxwell> hahah
512 2012-07-06 20:02:15 <Kiba> https://bitcointalk.org/index.php?topic=91734.0
513 2012-07-06 20:02:20 <OneEyed> Oh, no, you have to use the right axis for those :)
514 2012-07-06 20:02:58 <Kiba> I fixed up the chrome extension. I found it useful but apperently nobody else find it useful.
515 2012-07-06 20:03:04 <gmaxwell> ohloh didn't have graphs a week ago when I kicked it to the right repository url.
516 2012-07-06 20:03:40 <gmaxwell> OneEyed: odd it agrees with ohloh and not with sloccount.
517 2012-07-06 20:03:57 <Kiba> code frequency looks like total subtract and add
518 2012-07-06 20:03:59 <OneEyed> Kiba: you have to find people using bitcoins + the bitcoin program locally, intersected with people using chrome
519 2012-07-06 20:04:02 <Kiba> not total codebase
520 2012-07-06 20:04:04 <gmaxwell> oh duh okay, it must be counting whitespace and such.
521 2012-07-06 20:04:18 <gavinandresen> it's not my fault, if I'm reading https://github.com/bitcoin/bitcoin/graphs/contributors right I've deleted more code than I've added
522 2012-07-06 20:04:22 <Kiba> OneEyed: there's lot of people using chrome
523 2012-07-06 20:04:28 <OneEyed> Probably, they say "total lines" indeed, not "total sloc"
524 2012-07-06 20:04:47 <Kiba> and some folks still use the satoshi client if they haven't already migrate to a nify client
525 2012-07-06 20:04:59 <OneEyed> gavinandresen: I exhibit the same behaviour in https://github.com/cgeo/c-geo-opensource/graphs/contributors (first committer)
526 2012-07-06 20:05:21 <gmaxwell> Kiba: what client do you think people are using instead?
527 2012-07-06 20:05:25 <Kiba> I don't have any good idea to make the chrome extension more appealing short of implementing a client in chrome
528 2012-07-06 20:05:31 <gavinandresen> not a fair measure, though, I probably got credit for removing all the wxwidgets code
529 2012-07-06 20:05:33 <OneEyed> -30k SLOC in one year, while being the main contributor to the project, I'm the chief eraser :)
530 2012-07-06 20:06:05 <Kiba> gmaxwell: I don't know the market share of clients. I am assuming it's been splited into a bunch of desktop clients, various wallet services, etc
531 2012-07-06 20:06:15 <gmaxwell> Kiba: 0_o
532 2012-07-06 20:06:17 <gmaxwell> not at all.
533 2012-07-06 20:06:43 <gmaxwell> I mean, I can't gauge web service use... but on the regular clients they're mostly the reference clients.
534 2012-07-06 20:07:47 <Kiba> ok. but I am not getting anybody saying anything in that particular thread except me
535 2012-07-06 20:07:51 <OneEyed> gmaxwell: how do you measure frontend/backend usage?
536 2012-07-06 20:08:10 <OneEyed> I mean, armory uses bitcoind at the moment, but will probably switch away at some point
537 2012-07-06 20:08:37 <Kiba> Maybe nobody really looks in the development section
538 2012-07-06 20:09:01 <OneEyed> Kiba: indeed, development is probably not the right section if you're targetting end users
539 2012-07-06 20:09:06 <gmaxwell> Kiba: there is a ton of traffic there you may just need to face the possibility that no one cares about your post. ;)
540 2012-07-06 20:09:50 <gmaxwell> OneEyed: etotheipi has been pretty uninterested in implementing the whole protocol, though I've tried to talk him into it!
541 2012-07-06 20:10:19 <gmaxwell> when it comes down to it, 'features' are just a lot more exciting than infrastructure.
542 2012-07-06 20:10:26 <OneEyed> gmaxwell: odd, I know I've only been reading the forums for a few days, but I had the impression that he would love to have the time to do it
543 2012-07-06 20:11:27 <gmaxwell> OneEyed: Perhaps he's just looking for someone to pay him to do it. ::shrugs:: In any case, I think it would be great news.
544 2012-07-06 20:11:30 <Kiba> gmaxwell: I moved the topic to bitcoin discussion to see if I will get more response
545 2012-07-06 20:13:07 <OneEyed> Kiba: well, a Friday night in July is probably not the best time of the year to find users in front of their computers&
546 2012-07-06 20:14:05 <Kiba> I released it on Thursday
547 2012-07-06 20:14:11 <Kiba> then I released it on Friday
548 2012-07-06 20:14:23 <Kiba> every Friday, I update the extension with the latest code
549 2012-07-06 20:15:53 <gmaxwell> gavinandresen: can you log in to ohloh and click the manage button there so it stops saying managed by gregory maxwell just because I was fool enough to hit the button to change a setting? :)
550 2012-07-06 20:20:24 <ahf> Is https://en.bitcoin.it/wiki/Protocol_specification the most up-to-date version of the protocol specification or is there something newer?
551 2012-07-06 20:20:55 <gmaxwell> ahf: That page is not an official formal specification.
552 2012-07-06 20:21:34 <luke-jr> gmaxwell: it's as close as he'll get :p
553 2012-07-06 20:21:40 <ahf> gmaxwell: does such thing exist?
554 2012-07-06 20:21:50 <luke-jr> ahf: there is no such thing as official, so no
555 2012-07-06 20:21:57 <gmaxwell> It's a reasonable attempt but itsn't guaranteed to be complete or correct in particular because it doesn't document the valiation rules it doesn't document the interesting or hard parts of the protocol. :)
556 2012-07-06 20:22:13 <ahf> no, i got that part.
557 2012-07-06 20:22:16 <gmaxwell> It's reasonable for e.g. just decoding the on the wire stuff to see the messages.
558 2012-07-06 20:22:27 <ahf> yes.
559 2012-07-06 20:23:24 <ahf> excellent. thanks guys.
560 2012-07-06 20:24:19 <Kiba> BTW, there seems to be no official bitcoin logo
561 2012-07-06 20:24:24 <Kiba> like there's no official bitcoin forum
562 2012-07-06 20:24:25 <luke-jr> &
563 2012-07-06 20:24:41 <Kiba> there's a bunch of bitcoin logos floating around
564 2012-07-06 20:27:40 <gmaxwell> pshaw. What _is_ bitcoin? Its a colletion of rules for interacting with others. Rules don't usually have logos! :)
565 2012-07-06 21:31:25 <copumpkin> does bitcoin script have distinct types?
566 2012-07-06 21:32:19 <gavinandresen> copumpkin: you mean on the stacks? Not really, it is all arrays of bytes interpreted in different ways by different opcodes
567 2012-07-06 21:32:25 <copumpkin> I see
568 2012-07-06 21:32:35 <copumpkin> yeah
569 2012-07-06 21:37:33 <copumpkin> so is it conceptually a stack of distinct vectors of different lengths, or a big blob of memory?
570 2012-07-06 21:39:14 <copumpkin> I guess it's a stack of vectors
571 2012-07-06 21:39:22 <copumpkin> to make it meaningful to talk about elements farther back
572 2012-07-06 21:41:15 <phantomcircuit> copumpkin, it's implemented as a stack of vectors iirc
573 2012-07-06 21:41:20 <copumpkin> okay, cool
574 2012-07-06 21:41:52 <gavinandresen> yeah, stack of vectors. FALSE / 0 is a vector of zero length, by the way....
575 2012-07-06 21:42:03 <copumpkin> yeah
576 2012-07-06 21:42:20 <copumpkin> I seem to remember one of the opcodes had a weird design bug, didn't it?
577 2012-07-06 21:42:25 <copumpkin> like having one extra element
578 2012-07-06 21:42:37 <gavinandresen> CHECKMULTISIG pops one too many items off the stack
579 2012-07-06 21:42:42 <copumpkin> ah yeah, that was it
580 2012-07-06 21:58:10 <copumpkin> I don't really understand the notation used in the input/output sections on https://en.bitcoin.it/wiki/Script#Flow_control
581 2012-07-06 21:58:18 <copumpkin> for IF through ENDIF
582 2012-07-06 22:29:05 <copumpkin> has anyone made an attempt to write a script normalizer?
583 2012-07-06 22:29:12 <copumpkin> or have an idea whether it's even possible?
584 2012-07-06 22:30:31 <lianj> normalize in what way?
585 2012-07-06 22:30:53 <copumpkin> put into a canonical form, so that if two scripts do the same thing, they normalize to the same form
586 2012-07-06 22:31:02 <copumpkin> the annoying one would probably be checksig and codeseparator
587 2012-07-06 22:31:04 <copumpkin> the others don't seem so bad
588 2012-07-06 22:31:39 <copumpkin> although with virtual opcodes it seems like it might be possible to preserve the state of those ops too
589 2012-07-06 22:32:36 <copumpkin> the language is limited enough that it "feels possible" :P
590 2012-07-06 22:33:04 <copumpkin> maybe that's pointless actually
591 2012-07-06 22:33:15 <copumpkin> since the normal form could just be the evaluated form
592 2012-07-06 22:33:22 <tcatm> what would be the purpose of such a normalizer?
593 2012-07-06 22:35:29 <copumpkin> if we eventually discover behaviors (combinations of opcodes) we don't like in scripts, and want to exclude them categorically, it'll be helpful to be able to express the behavior in a normal form and normalize scripts before trying to check if they do the bad thing
594 2012-07-06 22:35:43 <tcatm> changing the script also changes the transaction id so it would become quite complicated for nodes to see that two transactions are identical
595 2012-07-06 22:36:07 <copumpkin> oh, I wouldn't expect to serialize this out ever
596 2012-07-06 22:36:13 <copumpkin> this would simply be a form of static reasoning about scripts
597 2012-07-06 22:36:43 <lianj> are non standard txs still common?
598 2012-07-06 22:37:27 <copumpkin> oh, is the overall goal to maintain a simple whitelist of scripts that are allowed to run?
599 2012-07-06 22:38:18 <tcatm> there's a whitelist, yes. but I think it's just there because it was simple to implement
600 2012-07-06 22:38:49 <copumpkin> ah
601 2012-07-06 22:39:13 <lianj> txs that dont match that whitelist are not relayed by normal peers today anyway. or has that changed?
602 2012-07-06 22:39:18 <tcatm> a normalizer could probably help getting rid of it by removing unnecessary opcodes from the script
603 2012-07-06 22:40:07 <copumpkin> I see
604 2012-07-06 22:40:10 <tcatm> i.e. all transactions must be normalized when put in a block
605 2012-07-06 22:40:23 <copumpkin> yeah
606 2012-07-06 22:40:40 <copumpkin> anyway, just a random question rally
607 2012-07-06 22:40:42 <copumpkin> *really
608 2012-07-06 22:40:50 <copumpkin> am fooling around with implementing the spec
609 2012-07-06 23:18:55 <copumpkin> http://snapplr.com/a96n
610 2012-07-06 23:18:57 <copumpkin> that looks confusing
611 2012-07-06 23:19:23 <copumpkin> I guess x2 is the top of the stack there?
612 2012-07-06 23:52:07 <sytse> copumpkin: how is that confusing.. look at the other ones at https://en.bitcoin.it/wiki/Script
613 2012-07-06 23:52:19 <sytse> copumpkin: you get x??? x???
614 2012-07-06 23:52:28 <sytse> copumpkin: with x??? at the top indeed
615 2012-07-06 23:52:52 <sytse> copumpkin: and duplicate the second-to-top and push the duplicate on top, so you get x??? x??? x???
616 2012-07-06 23:53:37 <sytse> copumpkin: I do agree using 1 2 3 4 5 6 instead of the conventional ????????? ??? ??? ??? ??? is confusing though
617 2012-07-06 23:55:27 <sytse> copumpkin: even with 0 (???) in two cases but not in others (the ones where n (???) is used)
618 2012-07-06 23:57:26 <sytse> (note that I'm using unicode here to represent the subscript that should've been used, which would be represented in html with <sub> and not with these unicode characters)