1 2012-07-28 00:28:29 <Bitxk> anyone uses's electrum? the encryption feature does not work
2 2012-07-28 01:11:04 <Jaco> Hello, Where can I download the source of bitcoin?
3 2012-07-28 01:16:22 <graingert> Jaco_: github.com/bitcoin/bitcoin
4 2012-07-28 01:16:32 <graingert> Jaco_: https://github.com/bitcoin/bitcoin
5 2012-07-28 01:17:59 <Jaco_> Yes, I found that. Thanks. :)
6 2012-07-28 01:18:03 <Jaco_> Bye.
7 2012-07-28 01:18:14 <Jaco_> Actually, what does it actually do with my GPU?
8 2012-07-28 01:18:34 <luke-jr> Bitcoin doesn't touch your GPU
9 2012-07-28 01:18:42 <luke-jr> maybe you're thinking Bitcoin GPU miners ;)
10 2012-07-28 01:18:45 <Jaco_> I see an irc.cpp and crypter.cpp...
11 2012-07-28 01:18:54 <luke-jr> what about them?
12 2012-07-28 01:19:12 <Jaco_> Why are they there?
13 2012-07-28 01:19:27 <luke-jr> irc.cpp is for IRC bootstrapping, deprecated except for testnet
14 2012-07-28 01:19:38 <luke-jr> crypter.cpp is probably for wallet encryption
15 2012-07-28 01:19:43 <Jaco_> I've always heard Bitcoin uses your GPU. Does it not?
16 2012-07-28 01:20:19 <luke-jr> no
17 2012-07-28 01:20:31 <luke-jr> well, except for drawing your window with buttons
18 2012-07-28 01:20:33 <luke-jr> but that's obvious
19 2012-07-28 01:20:48 <Jaco_> Well what do the buttons do?
20 2012-07-28 01:20:53 <luke-jr> and that's a wallet, not Bitcoin itself
21 2012-07-28 01:21:00 <luke-jr> whatever they say they do;..
22 2012-07-28 01:21:23 <Jaco_> I haven't actually downloaded it because I don't understand how the miner works.
23 2012-07-28 01:22:03 <luke-jr> Bitcoin miners are not Bitcoin itself
24 2012-07-28 01:22:17 <luke-jr> BFGMiner is the one I maintain. it's open source, so you can see how it works.
25 2012-07-28 01:23:08 <Jaco_> Do I download Bitcoin to manage my wallet and then a miner to generate coins?
26 2012-07-28 01:23:51 <luke-jr> there are multiple wallets and multiple miners, all independent projects
27 2012-07-28 01:23:54 <luke-jr> but yes
28 2012-07-28 01:24:07 <Jaco_> Is it all the same currency?
29 2012-07-28 01:24:27 <Jaco_> Like if someone requests bitcoins as a payment, does it matter which wallet/miner I use?
30 2012-07-28 01:25:13 <luke-jr> yes, it's all the same currency
31 2012-07-28 01:27:55 <Jaco_> luke-jr: Can you link me to the source of your miner?
32 2012-07-28 01:28:30 <luke-jr> https://github.com/luke-jr/bfgminer
33 2012-07-28 01:28:52 <luke-jr> it supports GPUs and FPGAs (and ASICs later this year)
34 2012-07-28 01:29:31 <Jaco_> Oh Java, nice! That's my primary language.
35 2012-07-28 01:29:58 <Jaco_> C style formatting and conventions though :P
36 2012-07-28 01:30:23 <luke-jr> &
37 2012-07-28 01:30:25 <luke-jr> it's C
38 2012-07-28 01:30:40 <Jaco_> https://github.com/luke-jr/bfgminer/blob/bfgminer/API.java
39 2012-07-28 01:30:43 <luke-jr> there's just some example code for accessing the RPC API
40 2012-07-28 01:30:59 <luke-jr> I should probably move it to an example subdir
41 2012-07-28 01:31:31 <Jaco_> Oh haha, I didn't scroll down and see the C files :P
42 2012-07-28 01:34:44 <Jaco_> luke-jr: What exactly does a miner do? Like some hashing function? What prevents me from editing a file and changing how many coins I have?
43 2012-07-28 01:35:20 <luke-jr> Jaco_: proof-of-work
44 2012-07-28 01:36:13 <gmaxwell> Jaco_: you can edit a file and make your software display a different amount, but this doesn't actually change the amount you can spend.
45 2012-07-28 01:36:42 <gmaxwell> Jaco_: http://p2pfoundation.ning.com/forum/topics/bitcoin-open-source read this short thing, then the bitcoin.pdf linked at the bottom for a technical explination of how bitcoin works.
46 2012-07-28 01:37:53 <Jaco_> Thanks. gmaxwell, I'll read this now.
47 2012-07-28 01:42:55 <Jaco_> That technical pdf was what I was looking for. Thanks :)
48 2012-07-28 01:44:21 <gmaxwell> It's a bit light on the fine details, but it explains the overall operation of the system pretty well.
49 2012-07-28 01:44:47 <luke-jr> gmaxwell: is it coincidence I find a block as soon as I hand-longpoll? <.<
50 2012-07-28 01:45:17 <gmaxwell> 0_o broken miners that don't return solutions promptly?
51 2012-07-28 01:45:22 <luke-jr> lol
52 2012-07-28 01:45:30 <luke-jr> nah, I'm sure it's a coincidence
53 2012-07-28 01:45:42 <luke-jr> I'm hand-longpolling like crazy right now to test some BFGMiner changes :P
54 2012-07-28 01:50:44 <luke-jr> hmm, almost all Eligius's blocks these days are only free txns
55 2012-07-28 01:57:43 <jgarzik> holy craparooni. pynode validated its first scripts.
56 2012-07-28 01:57:49 <luke-jr> it really is tempting to move back to KC
57 2012-07-28 01:58:22 <lianj> jgarzik: congrats
58 2012-07-28 02:00:20 <jgarzik> admittedly I was transcribing C++ to python, not writing original code. but it is surprising that all these parts worked.
59 2012-07-28 02:01:06 <luke-jr> XD
60 2012-07-28 08:21:12 <Joric> is there an udp version of the protocol?
61 2012-07-28 08:22:25 <Joric> torrent clients have it, allows nat throughput and whatnot
62 2012-07-28 08:26:40 <pusle> you mean hole punching? can't you do that with tcp as well?
63 2012-07-28 08:27:05 <Joric> nope
64 2012-07-28 08:29:23 <Joric> though i don't know really if it's really importand last time i tried it i found out most people use iptables now (port restricted nat) and hole punching just doesn't work
65 2012-07-28 08:30:11 <pusle> http://en.wikipedia.org/wiki/TCP_hole_punching#Types_of_NAT
66 2012-07-28 08:30:18 <pusle> okay
67 2012-07-28 08:30:57 <Joric> wikipedia is not the best source, just saying
68 2012-07-28 08:34:26 <Joric> well, okay, depends of router
69 2012-07-28 08:37:06 <Joric> 'the same technique is sometimes extended to TCP connections, albeit with much less success' very same wiki
70 2012-07-28 08:47:08 <Joric> i just was trying to write udp punching version of my game found out it won't work behind iptables not sure what most users have now
71 2012-07-28 15:04:12 <jgarzik> pynode still going strong, on script validation!
72 2012-07-28 15:04:14 <jgarzik> Scanned 334735 tx, 121073 blocks (0 failures)
73 2012-07-28 15:04:21 <jgarzik> slow as molasses
74 2012-07-28 16:46:53 <jgarzik> whee
75 2012-07-28 16:46:56 <jgarzik> Scanned 1456305 tx, 147443 blocks (0 failures)
76 2012-07-28 16:50:01 <sipa> jgarzik: testnet is probably more interesting than realnet
77 2012-07-28 16:51:54 <jgarzik> sipa: one step at a time :)
78 2012-07-28 16:52:20 <jgarzik> sipa: it's both easier and more important to test pynode script verification on mainnet
79 2012-07-28 16:53:08 <gmaxwell> jgarzik: sipa: heh see my testnet mail?
80 2012-07-28 16:53:14 <jgarzik> yep
81 2012-07-28 16:53:37 <jgarzik> gmaxwell: -ENOCARE ATM, unless it means I need to reset my testnet3 v2 node
82 2012-07-28 16:55:03 <gmaxwell> ::nods::
83 2012-07-28 16:55:42 <gmaxwell> Is there any interest in seeing testnet make the 210000 block halving transition?
84 2012-07-28 16:58:00 <jgarzik> gmaxwell: some. I think that is mostly interesting for reasons unrelated to the technical side of things
85 2012-07-28 16:58:07 <jgarzik> i.e. effect on mining etc.
86 2012-07-28 16:58:30 <jgarzik> Scanned 1571458 tx, 150087 blocks (0 failures)
87 2012-07-28 16:58:40 <gmaxwell> Yep. Yea, the actual code for it trivial.
88 2012-07-28 16:59:01 <gmaxwell> jgarzik: P2SH should pass under code which doesn't know anything about it.
89 2012-07-28 16:59:24 <jgarzik> or maybe that's ~170k
90 2012-07-28 16:59:36 <luke-jr> zero P2SH code = zero chance of P2SH-specific failures
91 2012-07-28 16:59:39 <gmaxwell> To non-p2sh code p2sh looks like an anyone can spend transaction.
92 2012-07-28 17:02:45 <jgarzik> hrm. near-100% CPU usage is expected, but I wonder where all that memory is going
93 2012-07-28 17:02:47 <jgarzik> 5917 jgarzik 20 0 904m 730m 3588 R 99.0 18.5 145:49.41 testscript.py
94 2012-07-28 17:04:17 <jgarzik> with average 250k block size that's, what, ~600MB?
95 2012-07-28 17:06:16 <luke-jr> jgarzik: good luck, debugging memory with Python is ridiculously difficult
96 2012-07-28 17:07:21 <luke-jr> to "fix" Eloipool's leaks, I added a transparent "users don't notice" restart <.<
97 2012-07-28 17:21:03 <jgarzik> otherwise there is a heart-stopping freeze when a block full of TX's comes down the pipe to pynode
98 2012-07-28 17:25:20 <jgarzik> hmmm, maybe parrot avoided the GIL problem with their threading
99 2012-07-28 17:38:15 <jgarzik> hah, finally hit a [C/C++ compiler would-have-caught-this] bug at
100 2012-07-28 17:38:16 <jgarzik> Scanned 1882086 tx, 157785 blocks (0 failures)
101 2012-07-28 17:39:26 <sipa> gmaxwell: i dont think the difficulty malleability is a problem worth breaking testnet again for
102 2012-07-28 17:39:52 <jgarzik> based on time(1), it verifies 14 blocks/second
103 2012-07-28 17:41:31 <jgarzik> wall clock time 3.05 hours to verify 157k blocks
104 2012-07-28 17:42:20 <gmaxwell> sipa: ::nods:: What I did was rewrite my test to trigger only timewarp, not malleability (by warping the last two, so that the last one is not at the special case diff).
105 2012-07-28 17:42:57 <gmaxwell> so I'm no longer blocked on a decision there, though I agree it's probably not important.
106 2012-07-28 17:43:11 <gmaxwell> I thought it was more important when I thought it was preventing me from inserting a timewarp test.
107 2012-07-28 18:03:32 <jgarzik> bleh, multi-processing. it's so 1990s.
108 2012-07-28 19:51:10 <denebeim> howdee
109 2012-07-28 19:51:29 <denebeim> I've got a terminology questionb.
110 2012-07-28 19:51:33 <denebeim> er question.
111 2012-07-28 19:53:40 <xorgate> ask
112 2012-07-28 19:54:25 <denebeim> why is it called 'mining'? It seems to me a more appropriate term would be forging, or am I not understaning the process?
113 2012-07-28 19:54:45 <xorgate> it's called that because there's no guarantee you will find anything
114 2012-07-28 19:54:58 <xorgate> you look, maybe you find, you look, maybe you find...
115 2012-07-28 19:55:42 <denebeim> Can you see why I'd think forging is a good term? I'm really trying to understand how this works. (being a geek and all)
116 2012-07-28 19:55:43 <xorgate> the difficulty makes it so that it becomes harder to find, depending on the globally available cpu power
117 2012-07-28 19:55:51 <xorgate> no forging is a worse term
118 2012-07-28 19:56:11 <xorgate> forging implies a guaranteed result
119 2012-07-28 19:56:26 <denebeim> There is a guaranteed result for the network.
120 2012-07-28 19:56:42 <xorgate> not really, but i see what you mean
121 2012-07-28 19:56:56 <xorgate> it's likely that a result is found (in 10 minutes)
122 2012-07-28 19:57:15 <xorgate> but you, as a 'miner', have very little guarantee, every time you calculate a hash
123 2012-07-28 19:58:12 <Matt_von_Mises> Bitcoin uses a funny way to relay unsolicited addresses to other nodes. Essentially it sends to the same nodes for 24 hours at a time and then has other random nodes?
124 2012-07-28 19:58:21 <denebeim> The thing that I liked about the term is that in forging you expend energy to heat the crucible to melt the metal. In bitcoins you expend energy to calculate the hash that melts the coins into a new configuration or something like that.
125 2012-07-28 19:58:24 <Matt_von_Mises> At least that's what the comment seems to say.
126 2012-07-28 19:58:35 <xorgate> think of throwing a 100 sided dice, when the 'difficulty' is 50 (you have to throw lower than 50) it's more likely to come up a win, if the difficulty is 10, it's harder
127 2012-07-28 19:59:18 <Matt_von_Mises> People use mining farms to heat their homes I think. I read that somewhere.
128 2012-07-28 19:59:29 <xorgate> if more people mine, the system adjusts the difficulty even lower
129 2012-07-28 20:00:22 <xorgate> but i guess if 51% of the people agree the term should be forging, it will be forging :)
130 2012-07-28 20:00:29 <denebeim> Oh sure I understand. The problem that I have with 'mining' is that it implies that it's coins that are being mined, really though it's the transactions that are mined.
131 2012-07-28 20:00:35 <Matt_von_Mises> denebeim's comment reminded me of that.
132 2012-07-28 20:00:45 <Matt_von_Mises> Not enough heat to forge metal though.
133 2012-07-28 20:00:52 <xorgate> denebeim what do you mean by 'transactions being mined' ?
134 2012-07-28 20:01:20 <denebeim> that's where I think I may be misunderstanding the algorythm.
135 2012-07-28 20:01:29 <Matt_von_Mises> "found" would perhaps be more accurate.
136 2012-07-28 20:01:35 <Matt_von_Mises> Miners -> finders
137 2012-07-28 20:02:00 <denebeim> Validated. It's the hash that's found. The transactions are being validated arn't they?
138 2012-07-28 20:02:07 <OneEyed> "discovered"? The way Chuck Moore discovered Forth.
139 2012-07-28 20:02:13 <xorgate> a miner puts transactions into a potential block, and adds some numbers and calculates a hash. this may or not generate a valid block
140 2012-07-28 20:02:50 <Matt_von_Mises> You need to find a valid hash.
141 2012-07-28 20:03:02 <Matt_von_Mises> Hence "found".
142 2012-07-28 20:03:05 <denebeim> right. but it's the transactions that are important. The hash is just to force the transactions to cost something (scads of cpu cycles)
143 2012-07-28 20:03:25 <Matt_von_Mises> Miners wont put bad transactions in blocks
144 2012-07-28 20:03:39 <xorgate> correct, in a way
145 2012-07-28 20:03:59 <Matt_von_Mises> They find valid transactions& Hence "found" again.
146 2012-07-28 20:04:04 <OneEyed> Even if they did, that wouldn't make them valid&
147 2012-07-28 20:04:36 <OneEyed> (and fortunately, otherwise a miner could spend outputs for which it doesn't have the private key)
148 2012-07-28 20:04:39 <denebeim> it's proof that you validated the transaction I assume.
149 2012-07-28 20:05:15 <xorgate> everyone validates tx. if you encounter a block with an invalid tx, you discard it
150 2012-07-28 20:05:16 <Matt_von_Mises> Miners just validate the transaction spends from an unspent transaction output right? Not a problem.
151 2012-07-28 20:05:24 <xorgate> and because everyone does that, it's useless
152 2012-07-28 20:05:53 <Matt_von_Mises> Miners care about the chain they are building upon and should validate from there.
153 2012-07-28 20:06:14 <denebeim> question, what exactly does a transaction contain, the source address, dest address, tip, timestamp, and the whole mess is signed by the source address?
154 2012-07-28 20:06:17 <Matt_von_Mises> I'm not sure what level of stupidity is in the mining software out there.
155 2012-07-28 20:06:38 <Matt_von_Mises> denebeim: https://en.bitcoin.it/wiki/Protocol_specification#tx
156 2012-07-28 20:07:23 <denebeim> yeah I'm poking aroudn the wiki right now, hadn't gotten there yet. the only whole article I've read is the one on wikipedia
157 2012-07-28 20:08:01 <denebeim> The more I'm thinking about it, the cooler it is.
158 2012-07-28 20:08:28 <Matt_von_Mises> denebeim: Transactions have inputs and outputs. Inputs and outputs and scripts. Outputs describe how to redeem bitcoins, inputs provide the information to redeem them.
159 2012-07-28 20:09:07 <xorgate> denebeim yeh it's pretty awesome :) soon you'll be buying your own btc
160 2012-07-28 20:09:08 <Matt_von_Mises> Outputs contain a value of bitcoins which can be redeemed. It is valid if the output values total less than the value of the inputs (which is the outputs the inputs are spending).
161 2012-07-28 20:09:47 <Matt_von_Mises> Anyway& I need to figure out how bitcoin-qt relays addresses...
162 2012-07-28 20:09:56 <denebeim> I haven't found a good place to buy them. The total amount that bitinstant charges is quite a bit.
163 2012-07-28 20:10:25 <OneEyed> denebeim: what currency do you start with?
164 2012-07-28 20:10:28 <denebeim> I mean between the cost they charge themselves, plus the cost the wiring company charges.
165 2012-07-28 20:10:30 <denebeim> Dollars.
166 2012-07-28 20:10:33 <Matt_von_Mises> I used intersango which worked for me.
167 2012-07-28 20:10:39 <xorgate> yes intersango as well
168 2012-07-28 20:11:03 <Matt_von_Mises> INtersango is good for GBP, not sure about USD
169 2012-07-28 20:11:38 <denebeim> The coolest thing about it is since it's open source everyone can see whatever is going on. although the rate at which the chain is growing is disturbing.
170 2012-07-28 20:11:51 <denebeim> Hasn't it doubled in size since april?
171 2012-07-28 20:12:10 <Matt_von_Mises> denebeim: You do not need the block-chain to make and accept payments.
172 2012-07-28 20:12:18 <Matt_von_Mises> You can use a lightweight client.
173 2012-07-28 20:12:42 <denebeim> I've been running bitcoin-qt
174 2012-07-28 20:13:04 <Matt_von_Mises> bitcoin-qt takes me ages to update only a few days worth of blocks
175 2012-07-28 20:13:08 <denebeim> and bitcoind of course, same model, different view
176 2012-07-28 20:13:12 <Matt_von_Mises> A few hours in fact.
177 2012-07-28 20:13:27 <OneEyed> Matt_von_Mises: even my Android client doesn't take that long&
178 2012-07-28 20:13:43 <Matt_von_Mises> OneEyed: Bad internet I'm afraid.
179 2012-07-28 20:13:51 <denebeim> Well, what's the best client you think? For ubuntu.
180 2012-07-28 20:13:53 <Matt_von_Mises> internet connection that is.
181 2012-07-28 20:14:20 <Matt_von_Mises> I use OSX so I'm not sure about ubuntu.