1 2014-03-13 00:00:08 <michagogo> cloud|Anyone able to identify what happened with https://github.com/bitcoin/gitian.sigs/pull/19 ?
  2 2014-03-13 00:00:29 <michagogo> cloud|(paging git knowers)
  3 2014-03-13 00:00:43 <warren> gavinandresen: help in what way?
  4 2014-03-13 00:01:08 <gavinandresen> warren: help as in "gitian build then submit pull requests to gitian.sigs so we have a diversity of people building"
  5 2014-03-13 00:02:03 <warren> gavinandresen: volunteers come and go,  I have a few non-dev litecoin volunteers and non-coin engineer friends who can do it, but you really want to rely on "Warren and his friends" for this?
  6 2014-03-13 00:02:28 <gavinandresen> warren: no, but the more the merrier
  7 2014-03-13 00:02:49 <coryfields> gavinandresen: i suppose i should get myself on there as well
  8 2014-03-13 00:02:54 <gavinandresen> warren: if it is painful at all, then I'll only ask for final releases, not release candidates
  9 2014-03-13 00:03:26 <coryfields> hmm, i wonder if jgarzik is going to the atl meetup tomorrow. If so, I could get a trusted sig
 10 2014-03-13 00:03:26 <warren> gavinandresen: yeah, definitely get coryfields in, it's time to add his GPG key too.
 11 2014-03-13 00:03:41 <coryfields> jgarzik: any chance ^^ ?
 12 2014-03-13 00:03:51 <raminnoodle> Is there a ubuntu lightweight bitcoin client that has all functioning rpc commands? Iv tried using blockchain.info and it worked great until you find out internal coin moves still cost a tx fee.
 13 2014-03-13 00:04:27 <sipa> raistlinthewiz: no
 14 2014-03-13 00:04:28 <sipa> eh
 15 2014-03-13 00:04:30 <sipa> raminnoodle: no
 16 2014-03-13 00:04:50 <sipa> raminnoodle: depending on which rpc commands you need, it may actually be impossible for a lightweight client
 17 2014-03-13 00:04:57 <raminnoodle> yea i see what your saying
 18 2014-03-13 00:05:06 <sipa> what do you need in particular?
 19 2014-03-13 00:05:33 <warren> There's an effort to make electrum client-side into a daemon with RPC commands enough to watch addresses for payment processors and coinpunk-like things.
 20 2014-03-13 00:06:02 <raminnoodle> man.. blockchain.info was such a good fit until i found out when I send coins.. I can also get a recieveing tx with the remainder of what wasnt sent
 21 2014-03-13 00:06:23 <Diablo-D3> raminnoodle: thats called change
 22 2014-03-13 00:06:35 <raminnoodle> yea but there is not identifyer to let me know
 23 2014-03-13 00:06:54 <raminnoodle> it looks like i just got a new incoming transaction
 24 2014-03-13 00:07:00 <melik> any reason why bitcoin deals with change addresses?
 25 2014-03-13 00:07:23 <melik> why not just send the specified amount and leave the leftover intact?
 26 2014-03-13 00:07:31 <raminnoodle> i only sent .4
 27 2014-03-13 00:08:01 <raminnoodle> my account had .45 total and after I sent the .4 I got a incoming of .5 minus tx fees
 28 2014-03-13 00:08:38 <raminnoodle> I believe its just the way the blockchain.info wallet works
 29 2014-03-13 00:08:49 <PRab> raminnoodle: That always happens... It doesn't matter what client.
 30 2014-03-13 00:08:52 <raminnoodle> oh really
 31 2014-03-13 00:09:04 <raminnoodle> so how do any merchants actually properly read incoming transactions
 32 2014-03-13 00:09:13 <raminnoodle> without getting tricked by change
 33 2014-03-13 00:09:37 <PRab> Give a unique address for every transaction.
 34 2014-03-13 00:09:43 <raminnoodle> I do
 35 2014-03-13 00:10:26 <PRab> Ok, so if its an address that you gave out, then take the associated action. If its not, then just assume that its change.
 36 2014-03-13 00:10:44 <PRab> (Oversimplified, but it gives the idea)
 37 2014-03-13 00:10:52 <raminnoodle> yea.. not to clean i guess
 38 2014-03-13 00:10:54 <warren> gavinandresen: I've been swamped lately but now I have other engineers and an intern to help me, I'll see if one of us has time to organize a gitian group.  Builders/signers can sign up to a list and projects can ask for sigs.
 39 2014-03-13 00:11:12 <warren> gavinandresen: presumably we're not the only project that needs it
 40 2014-03-13 00:11:28 <Diablo-D3> [08:06:40] <raminnoodle> yea but there is not identifyer to let me know
 41 2014-03-13 00:11:29 <Diablo-D3> [08:06:58] <raminnoodle> it looks like i just got a new incoming transaction
 42 2014-03-13 00:11:31 <Diablo-D3> this is by design
 43 2014-03-13 00:11:42 <warren> gavinandresen: with the huge quantity of deployments of multibit it would be good to make that a deterministic build too.
 44 2014-03-13 00:12:04 <PRab> raminnoodle: I'm not sure about rpc, but using the web interface, you can use a custom transaction to send the change to a known address.
 45 2014-03-13 00:12:04 <raminnoodle> with that way.. i shouldnt even use sincelastblock
 46 2014-03-13 00:12:16 <gavinandresen> warren: yes, definitely.
 47 2014-03-13 00:13:37 <michagogo> cloud|warren: The only thing I can think of with the list is that it might get annoying managing all kinds of dependencies
 48 2014-03-13 00:13:51 <warren> wangbus_: hey, you folks are good at java and docker, might be a good mini-project to figure out how to make a deterministic java build of multibit and its dependencies.
 49 2014-03-13 00:13:59 <dowah> Anyone know of a channel with a bitcoin-qt 0 conformations for 3 sent payments? Been setting there for 3 days..
 50 2014-03-13 00:14:07 <michagogo> cloud|(for example, Bitcoin Core has a build process consisting of 8 gbuilds)
 51 2014-03-13 00:14:45 <warren> gavinandresen: I've been thinking about docker for gitian instead of kvm or lxc.
 52 2014-03-13 00:14:54 <michagogo> cloud|Also, an easier, more streamlined way to submit sigs than "fork a repo, commit to it, PR" would be great
 53 2014-03-13 00:15:09 <ahmed__> hi guys
 54 2014-03-13 00:15:25 <ahmed__> does anyone here know how i can calc what the diff1 should be for a given algo
 55 2014-03-13 00:15:46 <michagogo> cloud|* Please note Docker is currently under heavy development. It should not be used in production (yet).
 56 2014-03-13 00:15:59 <ahmed__> (think my bitcoin stratum is broken)
 57 2014-03-13 00:16:06 <warren> michagogo|cloud: I wouldn't trust it for security, but for dev it's great
 58 2014-03-13 00:19:57 <raminnoodle> does anyone know of a good write up on how to propely create an accounting system that uses the rpc commands
 59 2014-03-13 00:21:05 <warren> anyone know if bitcoinj + Multibit are buildable with openjdk at the moment?
 60 2014-03-13 00:23:56 <Aurigae> not sure if relevant https://bitcointalk.org/index.php?topic=421615.msg5668106#msg5668106
 61 2014-03-13 00:29:47 <dowah> Is there anyone here that can read the blockchain and understand it?
 62 2014-03-13 00:30:52 <Adlai> nah
 63 2014-03-13 00:31:07 <Adlai> dowah: what's your question?
 64 2014-03-13 00:33:25 <dowah> Adlai There is a strange transaction in my wallet. Shows entire balance transferred to an address that isnt mine. But my balance is fine in my wallet. But I cant seem to send anything out. 3 sends and 0 conf for any of them. Three days now just sitting there.
 65 2014-03-13 00:34:14 <dowah> I did a blockchain search for that address and has plenty of transactions on it
 66 2014-03-13 00:42:37 <perhaps6900> Quick question- could bitcoin 0.9 accidentally create a hard fork when it comes out?
 67 2014-03-13 00:51:53 <sipa> perhaps6900: of course
 68 2014-03-13 00:51:58 <sipa> any bug could
 69 2014-03-13 00:56:49 <perhaps6900> sipa: is it because it's a move from 0.8 to 0.9 or is there this possibility with every minor update like from 0.8.4 to 0.8.5?
 70 2014-03-13 00:57:02 <perhaps6900> oh and thanks for answering :)
 71 2014-03-13 00:57:44 <gavinandresen> perhaps6900: the 0.7 releases could (theoretically) have created a hard fork on their own, even if everybody was running exactly the same version.
 72 2014-03-13 01:02:14 <SomeoneWeird> gavinandresen, that doesn't sound promising :P
 73 2014-03-13 01:02:17 <perhaps6900> gavinandresen: Ok I see
 74 2014-03-13 01:03:04 <sipa> perhaps6900: any change can
 75 2014-03-13 01:03:16 <sipa> but larger changes are of course more likely to introduce bugs
 76 2014-03-13 01:12:17 <michagogo> cloud|Hmm
 77 2014-03-13 01:12:40 <michagogo> cloud|Looks like the qt gbuild is failing
 78 2014-03-13 01:13:10 <michagogo> cloud|It builds the 32-bit qt
 79 2014-03-13 01:13:12 <rasmuzen> what happens when we mine all the coins?
 80 2014-03-13 01:13:33 <michagogo> cloud|It unzips the 64-bit deps
 81 2014-03-13 01:13:38 <michagogo> cloud|rasmuzen: #bitcoin
 82 2014-03-13 01:13:52 <michagogo> cloud|Then it CDs to /home/ubuntu/64
 83 2014-03-13 01:14:07 <rasmuzen> yes sir
 84 2014-03-13 01:14:29 <michagogo> cloud|And then fails at some point during the untarring of the qt source
 85 2014-03-13 01:14:41 <michagogo> cloud|"No space left on device"
 86 2014-03-13 01:19:28 <michagogo> cloud|Why is this happening? I've gbuild qt before and had it work
 87 2014-03-13 01:20:32 <michagogo> cloud|gbuilt*
 88 2014-03-13 01:21:01 <michagogo> cloud|Does that mean what it appears to, that the container is full?
 89 2014-03-13 01:21:52 <michagogo> cloud|What might have changed? o_O
 90 2014-03-13 01:22:12 <michagogo> cloud|Anyway, I'll keep trying to figure it out another time
 91 2014-03-13 01:22:18 <michagogo> cloud|It's 3:21 AM here :-/
 92 2014-03-13 01:33:10 <warren> what's the configre option to build only bitcoind?
 93 2014-03-13 01:34:30 <michagogo> cloud|--without-gui or something like that
 94 2014-03-13 01:34:35 <michagogo> cloud|./configure --help
 95 2014-03-13 01:34:44 <michagogo> cloud|it's in there
 96 2014-03-13 01:34:55 <michagogo> cloud|And on that note, goodnight
 97 2014-03-13 01:34:55 <warren> thanks
 98 2014-03-13 01:56:43 <warren> locally built bitcoind with disablewallet on Fedora 20 is using a lot less RAM than earlier.
 99 2014-03-13 01:56:47 <warren> not sure what changed
100 2014-03-13 01:58:48 <CheckDavid> https://github.com/casascius/Bitcoin-Address-Utility <- how does a noon use this?
101 2014-03-13 01:59:24 <SomeoneWeird> compile it?
102 2014-03-13 02:03:07 <Luke-Jr> CheckDavid: wtf is it?
103 2014-03-13 02:04:00 <rasmuzen> does the json rpc api support getting the balance for any public address?
104 2014-03-13 02:04:17 <Luke-Jr> rasmuzen: no such thing
105 2014-03-13 02:04:21 <flammit> the trolling continues
106 2014-03-13 02:04:46 <Luke-Jr> flammit: no trolling allowed, thanks
107 2014-03-13 02:04:57 <rasmuzen> Luke-Jr: no such thing as what
108 2014-03-13 02:05:02 <flammit> np wilco
109 2014-03-13 02:05:06 <Luke-Jr> rasmuzen: addresses do not have balances
110 2014-03-13 02:05:15 <rasmuzen> okay
111 2014-03-13 02:05:31 <rasmuzen> you know exactly what i'm asking
112 2014-03-13 02:05:37 <sipa> well, they do have a well-defined balance (the sum of the values of the unspent transaction outputs assigned to it), but that's generally not very useful
113 2014-03-13 02:05:45 <Luke-Jr> you're asking for a ranodm meaningless number
114 2014-03-13 02:05:49 <sipa> as it is not how the protocol works
115 2014-03-13 02:06:10 <CheckDavid> Luke-Jr: it's a brain wallet and wallet tool from casascius
116 2014-03-13 02:06:10 <rasmuzen> Luke-Jr: why?
117 2014-03-13 02:06:15 <Luke-Jr> sipa: not really
118 2014-03-13 02:06:15 <sipa> and not how addresses are intended to be used
119 2014-03-13 02:06:26 <Luke-Jr> CheckDavid: then the answer is "don't use it"
120 2014-03-13 02:06:49 <Luke-Jr> rasmuzen: because addresses only receive, they don't hold or spend bitcoins
121 2014-03-13 02:07:02 <Luke-Jr> rasmuzen: by definition, a balance needs two directions: credit and debit
122 2014-03-13 02:07:02 <rasmuzen> okay what holds bitcoins?
123 2014-03-13 02:07:06 <Luke-Jr> wallets
124 2014-03-13 02:07:18 <rasmuzen> what do wallets hold?
125 2014-03-13 02:07:27 <Luke-Jr> rasmuzen: coins
126 2014-03-13 02:07:36 <rasmuzen> lol. besides coins
127 2014-03-13 02:07:51 <rasmuzen> private keys?
128 2014-03-13 02:08:09 <Luke-Jr> rasmuzen: generally they also store a record of transactions involved in them, and whatever private data they need to spend their coins
129 2014-03-13 02:08:15 <Luke-Jr> sometimes that is private keys
130 2014-03-13 02:08:34 <rasmuzen> okay
131 2014-03-13 02:08:40 <Luke-Jr> though it's generally better if it's just a single private master seed
132 2014-03-13 02:09:28 <rasmuzen> so is block chain mistaken when it reports a balance associated with an address?
133 2014-03-13 02:09:41 <rasmuzen> eg https://blockchain.info/address/1F1f9TcJam2CZG5uvDKewJGsrhsyP7awUP
134 2014-03-13 02:09:43 <rasmuzen> blockchain.info*
135 2014-03-13 02:10:32 <Luke-Jr> rasmuzen: yes
136 2014-03-13 02:10:42 <Luke-Jr> blockchain.info is full of confusing misinformation
137 2014-03-13 02:10:55 <rasmuzen> Luke-Jr: I disagree
138 2014-03-13 02:11:13 <rasmuzen> it is full of abstractions to the implementation of bitcoin
139 2014-03-13 02:11:34 <Luke-Jr> rasmuzen: nonsensical abstractions that have no use
140 2014-03-13 02:11:39 <rasmuzen> not true
141 2014-03-13 02:11:58 <rasmuzen> I can send money to a public address and then check my balance at that address with blockchain.info and then send from that address using its private key
142 2014-03-13 02:12:08 <Luke-Jr> no
143 2014-03-13 02:12:12 <rasmuzen> yes
144 2014-03-13 02:12:14 <Luke-Jr> you cannot send from an address, ever
145 2014-03-13 02:12:14 <rasmuzen> how not?
146 2014-03-13 02:12:23 <rasmuzen> it's an abstraction
147 2014-03-13 02:12:30 <rasmuzen> of what's actually happening behind the scenes
148 2014-03-13 02:12:35 <Luke-Jr> because addresses are only used to receive
149 2014-03-13 02:12:38 <Luke-Jr> never to send
150 2014-03-13 02:12:50 <rasmuzen> I send from the address which holds the coins using the private key
151 2014-03-13 02:12:55 <Luke-Jr> no
152 2014-03-13 02:12:59 <rasmuzen> lol
153 2014-03-13 02:13:17 <Luke-Jr> addresses do not hold coins
154 2014-03-13 02:13:57 <Luke-Jr> wallets do
155 2014-03-13 02:14:11 <rasmuzen> a wallet can contain exactly one address and private key
156 2014-03-13 02:14:22 <Luke-Jr> which are two different things
157 2014-03-13 02:14:38 <rasmuzen> how would you find the balance of the wallet?
158 2014-03-13 02:15:12 <Luke-Jr> count the total value of all coins it holds
159 2014-03-13 02:15:24 <rasmuzen> how do you know how many coins a wallet holds/
160 2014-03-13 02:15:40 <Luke-Jr> you just do
161 2014-03-13 02:15:56 <rasmuzen> and addresses just do hold balances.
162 2014-03-13 02:15:59 <rasmuzen> by the same logic
163 2014-03-13 02:16:02 <Luke-Jr> no
164 2014-03-13 02:16:05 <rasmuzen> then answer my question
165 2014-03-13 02:16:08 <Luke-Jr> addresses don't hold coins
166 2014-03-13 02:16:09 <rasmuzen> how do you know how many coins a wallet holds?
167 2014-03-13 02:16:26 <Luke-Jr> rasmuzen: the same way you know how many coins are in your pocket
168 2014-03-13 02:16:39 <rasmuzen> how do you know programmatically
169 2014-03-13 02:16:48 <Luke-Jr> you keep a database of them
170 2014-03-13 02:16:48 <rasmuzen> how does bitcoind know the value of your wallet
171 2014-03-13 02:17:01 <rasmuzen> how do you detect when coins have been deposited into your wallet?
172 2014-03-13 02:17:14 <rasmuzen> when they're sent to a public address associated with your wallet, perhaps?
173 2014-03-13 02:17:23 <Luke-Jr> when you know how to construct a script to spend htem
174 2014-03-13 02:17:23 <sipa> yes
175 2014-03-13 02:18:00 <sipa> you keep track of unspent outputs in your wallet; incoming transactions credit them
176 2014-03-13 02:18:06 <sipa> outgoing transactions consume them
177 2014-03-13 02:18:12 <sipa> but you keep track of them per coin
178 2014-03-13 02:18:25 <sipa> what address they are assigned to doesn't really matter once they're in your wallet
179 2014-03-13 02:18:43 <rasmuzen> say I have two public addresses and two private keys
180 2014-03-13 02:18:49 <Luke-Jr> s/are assigned to/were received using/
181 2014-03-13 02:18:50 <rasmuzen> all utxos are assigned to either one address or the other
182 2014-03-13 02:18:56 <sipa> yes
183 2014-03-13 02:18:57 <Luke-Jr> rasmuzen: no
184 2014-03-13 02:18:59 <rasmuzen> conceptually, addresses have balances.
185 2014-03-13 02:19:02 <Luke-Jr> UTXOs are not assigned to addresses
186 2014-03-13 02:19:29 <rasmuzen> in order to spent UTXOs that were received by 1 public address, you must use the private key associated with that private address
187 2014-03-13 02:19:49 <rasmuzen> so conceptually, the wallet doesn't hold a balance, the wallet holds a set of addresses which hold balances and it knows the private key for each which has sending privileges
188 2014-03-13 02:19:57 <Luke-Jr> no
189 2014-03-13 02:20:00 <Luke-Jr> you're wrong.
190 2014-03-13 02:20:12 <rasmuzen> I'm not wrong, we disagree.
191 2014-03-13 02:20:13 <flammit> rasmuzen:  in an extreme case, i can create a transaction which creates an outpoint that could be spent by anyone.  would you add that balance to everyone?
192 2014-03-13 02:21:06 <BCB> hs
193 2014-03-13 02:21:37 <BCB> You guys make it so hard for dev's who want ot participate
194 2014-03-13 02:21:39 <rasmuzen> flammit: elaborate
195 2014-03-13 02:21:53 <rasmuzen> flammit: how would you create such a transaction
196 2014-03-13 02:22:08 <sipa> rasmuzen: in reality, addresses don't exist at all on the protocol level
197 2014-03-13 02:22:25 <sipa> rasmuzen: every transaction output holds a script that is defines the conditions under which it can be spent
198 2014-03-13 02:22:26 <Luke-Jr> rasmuzen: a null UTXO script would suffice
199 2014-03-13 02:22:26 <rasmuzen> sipa: completely understood.
200 2014-03-13 02:22:39 <sipa> rasmuzen: addresses are shorthands for some common script templates
201 2014-03-13 02:22:40 <flammit> i'm not a wizard, but i can put a utxo script of OP_1 or something... or even empty.
202 2014-03-13 02:22:46 <flammit> i could be wrong
203 2014-03-13 02:22:46 <sipa> rasmuzen: but you can have others
204 2014-03-13 02:22:55 <sipa> rasmuzen: including a script, as flammit says, that is always valid
205 2014-03-13 02:23:11 <rasmuzen> sipa: but if we were only worried about these script templates
206 2014-03-13 02:23:11 <sipa> which - accordinging to your definition - now belongs to everyone's wallet
207 2014-03-13 02:23:32 <sipa> the reality is that the wallet itself defines what it cares about, and accepts as crediting transaction
208 2014-03-13 02:23:35 <rasmuzen> sipa: then conceptually you could say addresses have balances
209 2014-03-13 02:23:48 <sipa> yes, addresses have balances if you want to look at it that way
210 2014-03-13 02:23:53 <sipa> it's perfectly well defined
211 2014-03-13 02:24:01 <rasmuzen> thanks.
212 2014-03-13 02:24:08 <sipa> however, it confuses people often to explain it like that
213 2014-03-13 02:24:10 <Luke-Jr> rasmuzen: you could, but they you're redefining "address" and essentially making an altcoin that just uses the same blockchain
214 2014-03-13 02:24:21 <Luke-Jr> then*
215 2014-03-13 02:24:23 <sipa> as it makes them think that transactions move value between addresses
216 2014-03-13 02:24:25 <rasmuzen> back to my original question now that we've come to an understanding
217 2014-03-13 02:24:26 <rasmuzen> does the json rpc api support getting the balance for any public address?
218 2014-03-13 02:24:35 <sipa> rasmuzen: no
219 2014-03-13 02:24:46 <rasmuzen> if I wanted to do that, I'd have to parse the entire block chain
220 2014-03-13 02:24:47 <flammit> it's a little confusing because there's a lot of flexibility built into the bitcoin protocol
221 2014-03-13 02:24:49 <sipa> rasmuzen: that would require maintaining an index of all transactions by address
222 2014-03-13 02:24:57 <Luke-Jr> rasmuzen: the JSON RPC in bitcoind is for Bitcoin, which does not work with your non-standard misinterpretation/redefintiion
223 2014-03-13 02:25:10 <sipa> rasmuzen: while by default we don't even maintain a transaction index at all
224 2014-03-13 02:25:12 <rasmuzen> Luke-Jr: I'm no longer interested in your opinion, we disagree, thanks.
225 2014-03-13 02:25:52 <rasmuzen> sipa: so the only way to compute such a thing would be to parse the entire block chain?
226 2014-03-13 02:25:53 <Luke-Jr> rasmuzen: it's not my "opinion", it's how bitcoin works.
227 2014-03-13 02:26:49 <sipa> rasmuzen: it's how it would be done, even if there was an index :)
228 2014-03-13 02:27:16 <rasmuzen> sipa: right, but I'd like to do this. I'm asking if there's a convenient API on bitcoind or if I have to do it myself.
229 2014-03-13 02:28:03 <kanzure> so you want this rpc call to be long-running?
230 2014-03-13 02:28:35 <sipa> no such RPC exists, no
231 2014-03-13 02:28:40 <rasmuzen> sipa: thanks
232 2014-03-13 02:28:53 <sipa> you can use getblock / getrawtransaction (with -txindex) to iterate all blocks and all transactions in them
233 2014-03-13 02:29:02 <sipa> but i assume this would take... days?
234 2014-03-13 02:29:40 <rasmuzen> sipa; yeah I plan to do it once and maintain a giant index
235 2014-03-13 02:29:55 <kanzure> i dunno if that would handle reorgs well
236 2014-03-13 02:30:06 <rasmuzen> and then keep the index up to date as new transactions come in
237 2014-03-13 02:30:09 <rasmuzen> kanzure: how do you mean?
238 2014-03-13 02:30:14 <sipa> may i ask why you need this?
239 2014-03-13 02:30:20 <flammit> you can do that, but yes, as kanzure said be sure to be able to handle cases when blocks are disconnected
240 2014-03-13 02:31:04 <rasmuzen> sipa: say I'd like to implement this page myself: https://blockchain.info/address/1F1f9TcJam2CZG5uvDKewJGsrhsyP7awUP
241 2014-03-13 02:31:18 <sipa> then you indeed have no way around such an index
242 2014-03-13 02:31:23 <sipa> but why would you want such a page? :)
243 2014-03-13 02:32:53 <rasmuzen> sipa: I'm working on a bitcoin related website that needs that feature
244 2014-03-13 02:33:32 <sipa> unless for debug reasons, i'd consider that broken
245 2014-03-13 02:33:53 <pigeons> curious why it needs the feature
246 2014-03-13 02:34:18 <kanzure> i'm pretty sure that blockchain.info is not doing what you think it is doing
247 2014-03-13 02:34:29 <BCB> how else could you look up an address with out relying on a third party?
248 2014-03-13 02:34:31 <Luke-Jr> (I told you so)
249 2014-03-13 02:34:46 <rasmuzen> sipa: why?
250 2014-03-13 02:35:12 <sipa> rasmuzen: because i can't imagine any use case that requires such a huge index
251 2014-03-13 02:35:37 <sipa> rasmuzen: and building infrastructure that relies on such indexed blockchains to be present is imho a problem for bitcoin's ecosystem's scalability
252 2014-03-13 02:35:50 <sipa> there are efficient ways for doing pretty much everything
253 2014-03-13 02:36:14 <sipa> sites like blockchain.info make it seem like an easy solution
254 2014-03-13 02:36:20 <sipa> but it's a very demanding one
255 2014-03-13 02:36:28 <BCB> sipa are you saying a party should not be interested in an address that it did not send or receive
256 2014-03-13 02:36:30 <kanzure> i would guess they are pre-computing everything
257 2014-03-13 02:36:38 <rasmuzen> kanzure: I think blockchain.info is parsing the entire block chain and maintaining a giant index of all transactions and UTXOs associated with each address and just reading that when you make the request
258 2014-03-13 02:36:43 <sipa> BCB: yes
259 2014-03-13 02:36:55 <BCB> sipa Interesting.  Never thought of it like that
260 2014-03-13 02:37:07 <sipa> addresses are identifiers for your keys
261 2014-03-13 02:37:20 <sipa> what you do with them is internal to your wallet
262 2014-03-13 02:37:39 <BCB> sipa so parsing the block goes against the idea of the decentralization of the protocol?
263 2014-03-13 02:37:46 <BCB> *blockchain
264 2014-03-13 02:37:49 <sipa> i wouldn't go that far
265 2014-03-13 02:37:57 <BCB> sipa where would you stop??
266 2014-03-13 02:37:58 <sipa> but i just prefer ways to avoid it
267 2014-03-13 02:38:20 <sipa> the data is there, there may be good reasons to analysie it
268 2014-03-13 02:38:28 <sipa> but most common use cases don't require it
269 2014-03-13 02:38:33 <kanzure> i wonder how far back blockchain.info can handle reorgs
270 2014-03-13 02:38:39 <BCB> sipa so if I'm running a service I should only have interest in the transactions that I take part in.
271 2014-03-13 02:38:44 <sipa> yes
272 2014-03-13 02:38:51 <BCB> interesting
273 2014-03-13 02:38:53 <sipa> (unless forensic analysis, maybe :p)
274 2014-03-13 02:39:01 <kanzure> for example, if they are only maintaining the last 10 blocks, what happens when there's a 20 block fork
275 2014-03-13 02:39:03 <BCB> of course
276 2014-03-13 02:39:14 <sipa> kanzure: you rebuild your database from scratch
277 2014-03-13 02:39:18 <kanzure> the whole thing?
278 2014-03-13 02:39:34 <rasmuzen> surely you just rewind...
279 2014-03-13 02:39:41 <sipa> if you have the rewind data, yes :)
280 2014-03-13 02:40:03 <dexX7> use checkpoints, don't start from 0
281 2014-03-13 02:40:09 <kanzure> oh right, you don't know how far back you have to go
282 2014-03-13 02:40:14 <sipa> dexX7: irrelevant
283 2014-03-13 02:40:24 <sipa> dexX7: checkpoints don't give you rewind data
284 2014-03-13 02:40:38 <rasmuzen> how do you know when there's a fork?
285 2014-03-13 02:40:41 <kanzure> how does bitcoind handle it?
286 2014-03-13 02:40:52 <kanzure> i mean how does it handle not redoing the entire bdb db
287 2014-03-13 02:41:18 <Luke-Jr> it doesn't use a bdb db
288 2014-03-13 02:41:23 <Luke-Jr> (for the blockchain)
289 2014-03-13 02:41:24 <kanzure> berkeley db?
290 2014-03-13 02:41:27 <pigeons> it doesnt affect the wallet bdb, the reorg is for block
291 2014-03-13 02:41:34 <sipa> rasmuzen: there's a chain with more work than the one you're currently on
292 2014-03-13 02:41:46 <sipa> rasmuzen: then you have to rewind the current one, and connect the new one
293 2014-03-13 02:41:58 <sipa> it's only very rarely more than 1 block that you have to rewind
294 2014-03-13 02:42:00 <sipa> but it happens
295 2014-03-13 02:42:15 <rasmuzen> sipa: right but how do you programmatically detect that a fork happened and you need to rewind
296 2014-03-13 02:42:16 <sipa> kanzure: it keeps rewind data for the chainstate
297 2014-03-13 02:42:25 <sipa> rasmuzen: new_chain.work > old_chain.workd
298 2014-03-13 02:42:47 <sipa> -d
299 2014-03-13 02:43:08 <sipa> (and the new chain is not just a continuation of the old chain)
300 2014-03-13 02:43:22 <sipa> maybe rather candidate_chain.work > active_chain.work
301 2014-03-13 02:44:28 <rasmuzen> so it sounds like parsing the blockchain to create this index is straightforward, but maintenance is difficult
302 2014-03-13 02:44:59 <sipa> yes, you have to be aware of these reorganizations
303 2014-03-13 02:45:29 <rasmuzen> sipa: how would you handle this problem?
304 2014-03-13 02:46:14 <sipa> i'd try to avoid the need for creating such an index in the first place
305 2014-03-13 02:46:33 <sipa> if you can't, use an existing solution for it (abe, for example, but it's... a bit inefficient)
306 2014-03-13 02:46:36 <rasmuzen> sipa: blockchain.info seems to do it successfully
307 2014-03-13 02:46:50 <sipa> rasmuzen: so go ask them for their code :D
308 2014-03-13 02:47:01 <kanzure> huh? why ask them for it?
309 2014-03-13 02:47:14 <BCB> rasmuzen: Do you want to code a similar service?
310 2014-03-13 02:48:25 <rasmuzen> BCB: I want to make a product that has features that require such an index
311 2014-03-13 02:48:38 <pigeons> yeah that's pretty vague
312 2014-03-13 02:48:58 <rasmuzen> on purpose
313 2014-03-13 02:49:07 <BCB> rasmuzen: What product would require those features?
314 2014-03-13 02:49:08 <pigeons> no one is going to steal your idea
315 2014-03-13 02:49:10 <pigeons> i promise
316 2014-03-13 02:49:23 <BCB> I might :-)
317 2014-03-13 02:49:30 <kanzure> yeah we're all busy stealing pigeons' idea
318 2014-03-13 02:51:12 <BCB> kanzure: There is a tool that already does that.
319 2014-03-13 02:51:28 <BCB> You could fork it.
320 2014-03-13 02:51:32 <rasmuzen> I have a lot of ideas and I haven't really decided what I want to make but a lot of them end up needing such an index
321 2014-03-13 02:51:57 <BCB> So you are providing third party services.
322 2014-03-13 02:52:02 <rasmuzen> definitely
323 2014-03-13 02:52:09 <rasmuzen> for example
324 2014-03-13 02:52:16 <rasmuzen> say I wanted to make blockchain.info for other cryptocurrencies
325 2014-03-13 02:52:18 <rasmuzen> litecoin, dogecoin
326 2014-03-13 02:52:21 <rasmuzen> or
327 2014-03-13 02:52:35 <sipa> litecoin: http://block-explorer.com/
328 2014-03-13 02:52:50 <sipa> dogecoin: https://dogechain.info/chain/Dogecoin
329 2014-03-13 02:53:01 <rasmuzen> bbqcoin
330 2014-03-13 02:53:03 <rasmuzen> auroracoin
331 2014-03-13 02:53:04 <rasmuzen> coin2
332 2014-03-13 02:53:40 <rasmuzen> say I wanted to make a service where you can input all of your public keys for multiple cryptocurrencies and I tell you your current aggregated balance, in USD, of all of your cryptoholdings
333 2014-03-13 02:54:04 <sipa> use a watch-only wallet
334 2014-03-13 02:54:27 <Luke-Jr> also scamcoins are off-topic
335 2014-03-13 02:54:37 <sipa> though if you wanted to inspect balances involving older transactions, you'll need such an index
336 2014-03-13 02:57:15 <rasmuzen> say I wanted to make a web wallet service that abstracts away a lot of the "public address, private key" stuff so that people like our parents don't even need to worry about that stuff
337 2014-03-13 02:57:34 <BCB> Sipa will a watch only wallet include transactions that you have not sent or received?
338 2014-03-13 02:57:37 <rasmuzen> I guess in that sense, I can only keep track of addresses that I'm concerned about, but it'd be nice not to
339 2014-03-13 02:57:46 <BCB> rasmuzen: See hive
340 2014-03-13 02:57:50 <sipa> BCB: no
341 2014-03-13 02:58:19 <rasmuzen> BCB: doesn't look like a web wallet
342 2014-03-13 02:58:47 <sipa> rasmuzen: it's an implementation of a wallet which doesn't require an index
343 2014-03-13 02:58:51 <BCB> rasmuzen: See Coinpunk.
344 2014-03-13 02:59:59 <rasmuzen> BCB: coinpunk doesn't look like something our parents can use
345 2014-03-13 03:00:22 <BCB> It open source. Fork it.
346 2014-03-13 03:02:09 <rasmuzen> BCB: coinpunk doesn't generate that index I'm looking for
347 2014-03-13 03:02:25 <BCB> I'm creating my own pre-mined coin.
348 2014-03-13 03:02:37 <rasmuzen> say I want to write the code that will generate and maintain that index and open source that and make a website that has an HTTP API that people can hit
349 2014-03-13 03:02:54 <BCB> See bitcore
350 2014-03-13 03:03:16 <BCB>  /j #bitcore
351 2014-03-13 03:03:48 <BCB> My coin is called luke-jrCoin
352 2014-03-13 03:04:49 <Luke-Jr> /kick bcb
353 2014-03-13 03:04:58 <BCB> Bye
354 2014-03-13 03:11:23 <antephialtic> what is up with block 290308?
355 2014-03-13 03:11:31 <antephialtic> miner only included 1 tx
356 2014-03-13 03:11:39 <antephialtic> which was the coinbase TX
357 2014-03-13 03:11:40 <Luke-Jr> so?
358 2014-03-13 03:11:54 <Luke-Jr> it happens
359 2014-03-13 03:12:03 <flammit> up the tx fess you pay =)
360 2014-03-13 03:12:25 <antephialtic> any particular reason why a miner would be incentivized to mine an empty block?
361 2014-03-13 03:12:31 <kanzure> flammit: nah, at some point they need to include some transactions or else they would tank their value (and other incentives)
362 2014-03-13 03:12:47 <Luke-Jr> antephialtic: 25 BTC subsidy
363 2014-03-13 03:13:02 <kanzure> are they intentionally mining an empty block, or is it random?
364 2014-03-13 03:13:15 <Luke-Jr> could be either
365 2014-03-13 03:13:27 <flammit> you're right kanzure
366 2014-03-13 03:14:01 <antephialtic> did they just randomly found a valid block while their mempool was empty? doesn't make sense to me
367 2014-03-13 03:14:33 <Luke-Jr> antephialtic: don't assume miners are mining against bitcoind
368 2014-03-13 03:14:37 <Luke-Jr> (usually they're not)
369 2014-03-13 03:14:54 <Luke-Jr> or rather, usually there's at least one layer in between
370 2014-03-13 03:15:29 <antephialtic> yeah, I need to read up more on how pooled mining works, since I don't mine I never took the time to research it
371 2014-03-13 03:15:44 <kanzure> i wonder if the default miner implementations should be modified to try to avoid empty blocks
372 2014-03-13 03:15:45 <CodeShark> there should be one layer in between :)
373 2014-03-13 03:16:08 <BCB> CodeShark: Why?
374 2014-03-13 03:16:09 <Luke-Jr> kanzure: empty blocks aren't necessarily worse than non-empty blocks
375 2014-03-13 03:16:26 <kanzure> Luke-Jr: a string of hundreds or thousands of empty blocks seems potentially bad?
376 2014-03-13 03:16:33 <jcorgan> antephialtic: about 30% of the all the blocks in the block chain are coinbase only
377 2014-03-13 03:16:36 <kanzure> i guess from a technical implementation standpoint, it's not bad, it'll work
378 2014-03-13 03:17:08 <jcorgan> an "empty" block serves just as much toward securing the integrity of the blockchain as a block full of transactions
379 2014-03-13 03:17:11 <CodeShark> BCB: to allow pooled mining and to decouple the block construction logic from nonce finding
380 2014-03-13 03:17:32 <BCB> Ahh
381 2014-03-13 03:17:39 <sipa> nonce finding is done by the hasher
382 2014-03-13 03:17:42 <flammit> kanzure: i think the point is that you would assume there's an economic reason for such an event to happen.
383 2014-03-13 03:17:45 <antephialtic> jcorgan: I guess I can imagine that being reasonably common in the early days where people were just mining for shits and giggles, but nowadays there is enough TX being broadcast that I don't really understand the advantage of an empty block
384 2014-03-13 03:18:01 <sipa> they're already decoupled, even without a layer in between (i'm not disagreeing with you though)
385 2014-03-13 03:18:07 <jcorgan> a coinbase only block has the least chance of being orphaned
386 2014-03-13 03:18:33 <Luke-Jr> kanzure: if you bias against empty blcoks, miners with no transactions worth mining will just fill them with dummy garbage
387 2014-03-13 03:18:47 <kanzure> i'm not familiar with the dummy garbage?
388 2014-03-13 03:18:52 <Luke-Jr> …
389 2014-03-13 03:18:57 <sipa> send transactions to themselves
390 2014-03-13 03:19:00 <sipa> and include those
391 2014-03-13 03:19:03 <kanzure> oh i see, right
392 2014-03-13 03:19:10 <kanzure> that doesn't sound like garbage to me
393 2014-03-13 03:19:19 <kanzure> that looks like normal transactions
394 2014-03-13 03:19:27 <sipa> yes, that's the point :)
395 2014-03-13 03:19:29 <sipa> but it's useless
396 2014-03-13 03:19:50 <CodeShark> a block with useless self-sent transactions is arguably worse for the ecosystem than an empty block :)
397 2014-03-13 03:20:02 <kanzure> understood
398 2014-03-13 03:23:24 <rasmuzen> sipa: so if I wanted to create and maintain such an index, where would I even start?
399 2014-03-13 04:30:31 <lagarde> where is the commit that fixes the SecureRandom bug in bitcoinj?  The advisory was published aug 11 2013 but the only commit in august is on the 16th and none for a month before that?
400 2014-03-13 05:16:48 <Luke-Jr> lagarde: I'm pretty sure the SecureRandom bug was in Android, not BitcoinJ
401 2014-03-13 06:39:52 <michagogo> cloud|Anyone know why the qt-win gbuild is failing with "no space left on device" when untarring the source for the 64-bit build?
402 2014-03-13 07:08:08 <adam3us> hmm it seems that bitstamp sent out an unsolicited password reset, that was not a phish attack, but actually somehow a change of my password that i did not request, maybe someone trying and succeeding to trigger a password reset
403 2014-03-13 07:08:42 <adam3us> subject "Login information recovery" from bitstamp.  i use google auth also.
404 2014-03-13 07:09:17 <adam3us> (but not associated to the same email account just in case).  is there some bitstamp hacking going on?
405 2014-03-13 07:10:32 <adam3us> anyone seen any emails like that?
406 2014-03-13 07:11:32 <adam3us> Best regards,
407 2014-03-13 07:11:32 <adam3us> Bitstamp team
408 2014-03-13 07:11:32 <adam3us> Client ID: 123456
409 2014-03-13 07:11:32 <adam3us> "Dear Adam Back,
410 2014-03-13 07:11:32 <adam3us> If you have any questions regarding Bitstamp exchange service please read our FAQ or use our support form (https://www.bitstamp.net/support/). Our support staff will be more than happy to assist you.
411 2014-03-13 07:11:32 <adam3us> password: <elided>
412 2014-03-13 07:11:32 <adam3us> Please write down the following login information
413 2014-03-13 07:16:36 <michagogo> cloud|9:08:48 <adam3us> subject "Login information recovery" from bitstamp.  i use google auth also.
414 2014-03-13 07:16:50 <michagogo> cloud|adam3us: as in, the 6 digit OTPs?
415 2014-03-13 07:17:01 <adam3us> yes
416 2014-03-13 07:17:16 <adam3us> my point is this to me looks like someone successfully reset my password
417 2014-03-13 07:17:20 <michagogo> cloud|So what do you mean by 9:09:23 <adam3us> (but not associated to the same email account just in case).  ?
418 2014-03-13 07:17:33 <adam3us> ie if i did not have google auth they might've been able to login to my acct
419 2014-03-13 07:17:47 <michagogo> cloud|I mean
420 2014-03-13 07:17:48 <adam3us> what i mean is i use gmail for the email addr
421 2014-03-13 07:18:03 <adam3us> but google auth is also associated with an email addr (necessarily a gmail one)
422 2014-03-13 07:18:10 <adam3us> and so i made a separate email addr just for google auth
423 2014-03-13 07:18:12 <michagogo> cloud|Google Authenticator is never associated to an email
424 2014-03-13 07:18:27 <adam3us> as you dont want to be able to reset one them both at once on the same email
425 2014-03-13 07:18:29 <adam3us> no?
426 2014-03-13 07:18:33 <michagogo> cloud|Nope
427 2014-03-13 07:18:37 <michagogo> cloud|It's completely offline
428 2014-03-13 07:18:44 <michagogo> cloud|Its
429 2014-03-13 07:18:54 <michagogo> cloud|It's just a TOTP generator
430 2014-03-13 07:19:16 <adam3us> well i know its offline, a sw version of rsa securid, but i thought there was a recovery procedure
431 2014-03-13 07:19:41 <michagogo> cloud|You give it one or more shared secrets and it generates the 6 digit passwords every 30 seconds
432 2014-03-13 07:19:51 <michagogo> cloud|Those secrets never leave the device
433 2014-03-13 07:20:19 <adam3us> well.  i am not so concerned right now about the putative reset procedure for google auth