1 2013-11-02 11:55:41 <wiretapped> HaltingState: LOL
  2 2013-11-02 11:55:55 <wiretapped> your first axoim is fail
  3 2013-11-02 11:56:42 <wiretapped> if a small number of people knew how to break secp256k1, they wouldn't necessarily get caught stealing bitcoin
  4 2013-11-02 11:57:39 <wiretapped> if they allowed themselves to be caught in a way that revealed an ecc break, it would destroy the value of the bitcoin they stole
  5 2013-11-02 11:59:49 <wiretapped> i guess that involves both of your axioms
  6 2013-11-02 12:04:15 <null> you've got to be kidding me http://www.macrumors.com/2013/11/01/new-plugin-allows-developers-to-turn-ios-devices-into-bitcoin-mining-bots/
  7 2013-11-02 12:08:29 <HaltingState> wiretapped, no
  8 2013-11-02 12:08:46 <HaltingState> would not be a small number
  9 2013-11-02 12:09:05 <HaltingState> the chinese would have stolen the source code from the NSA and would be stealing bitcoins
 10 2013-11-02 12:09:08 <HaltingState> seriouesly
 11 2013-11-02 12:11:46 <HaltingState> wiretapped, RSA (company) cant even secure their yubi keys... and lockeed martin is getting their missles stolen by chinese after they broke into RSA Etc..
 12 2013-11-02 12:12:12 <sipa> HaltingState: make libsecp256k1.so
 13 2013-11-02 12:12:50 <wiretapped> HaltingState: you say "we would know". what do you think would happen then?
 14 2013-11-02 12:13:03 <HaltingState> sipa, cgo should not need the .so really; it shoudl compile it but cant figure out how to make it do it
 15 2013-11-02 12:13:40 <sipa> lianj, dobry-den: that entry is wrong; it always sends 0 transactions along with the header
 16 2013-11-02 12:13:49 <wiretapped> there is a pretty huge incentive for the hypothetical secp256k1 breaker to keep their capability secret
 17 2013-11-02 12:14:23 <HaltingState> NO
 18 2013-11-02 12:14:25 <sipa> dobry-den, lianj: though it wouldn't be incorrect to encode that zero as more than 1 byte in varint
 19 2013-11-02 12:14:28 <wiretapped> HaltingState: am i reading this correctly that you're talking about using secp256k1 for encryption?
 20 2013-11-02 12:14:38 <HaltingState> they would steal mtgox's bitcoin and no one would know but gox
 21 2013-11-02 12:14:56 <wiretapped> HaltingState: then we wouldn't know
 22 2013-11-02 12:15:01 <HaltingState> or would say "I told you show"
 23 2013-11-02 12:15:10 <HaltingState> "i told you so" but eventually it would come out
 24 2013-11-02 12:16:12 <wiretapped> "eventually it would come out" is very different than "if it is broken now we would know already"
 25 2013-11-02 12:16:27 <wiretapped> which is what your axioms imply
 26 2013-11-02 12:17:28 <wiretapped> i agree that such a break couldn't be kept secret forever, but I think it could and would be for a long time
 27 2013-11-02 12:23:27 <wiretapped> HaltingState: are you familiar with ECDH? I think that is what you're looking for
 28 2013-11-02 13:16:38 <HaltingState> wiretapped, no
 29 2013-11-02 13:16:48 <HaltingState> this proticol has no hand shake; cant use more than one packet
 30 2013-11-02 13:16:54 <HaltingState> maintains connections with thousands of servers
 31 2013-11-02 13:17:05 <HaltingState> two, four round hand shakes wont work
 32 2013-11-02 13:40:15 <gulli_> ANyone here use BitcoinJ? Saw this in one tutorial: "Note that BitCoinJ wallet files are not compatible with wallet files created by the official Bitcoin client. "
 33 2013-11-02 13:40:18 <gulli_> This is from early 2012 though
 34 2013-11-02 13:40:48 <gulli_> wondering, can I not import a wallet.dat file generated with BitcoinJ to my Bitcoin-qt wallet?
 35 2013-11-02 13:40:55 <sipa> no
 36 2013-11-02 13:41:02 <sipa> you can export/import individual keys, though
 37 2013-11-02 13:41:37 <gulli_> you mean manually then?
 38 2013-11-02 13:42:04 <sipa> depends on what you call manually
 39 2013-11-02 13:42:10 <sipa> you don't have to go peek in the files
 40 2013-11-02 13:42:26 <sipa> bitcoind/bitcoin-qt have an dumpprivkey/importprivkey command
 41 2013-11-02 13:43:04 <gulli_> Ok I'll look into that
 42 2013-11-02 13:43:20 <gulli_> Is BitcoinJ used for anything big in the Bitcoin world now?
 43 2013-11-02 13:43:31 <gulli_> Just wondering if I should still use it or not for my web-app
 44 2013-11-02 13:45:18 <sipa> bitcoin wallet for android and multibit use it
 45 2013-11-02 13:45:22 <sipa> as well as some websites, iirc
 46 2013-11-02 13:45:42 <gulli_> ok
 47 2013-11-02 13:45:55 <sipa> talk to TD[away] or BlueMatt
 48 2013-11-02 13:46:25 <gulli_> I might do that
 49 2013-11-02 13:46:25 <gulli_> thanks :)
 50 2013-11-02 13:47:19 <gulli_> I'm creating a small exchange, been developing with the play framework, hoping BitcoinJ can be used to
 51 2013-11-02 13:51:42 <gulli_> So is testnet3 usually used now?
 52 2013-11-02 13:51:58 <gulli_> instead of "0" and 1?
 53 2013-11-02 13:52:54 <wiretapped> HaltingState: DH doesn't require any roundtrips
 54 2013-11-02 13:53:02 <wiretapped> HaltingState: http://cr.yp.to/ecdh.html
 55 2013-11-02 13:53:34 <sipa> gulli_: testnet3 was introduced in 0.7.0
 56 2013-11-02 13:53:59 <sipa> and there is no support for older testnets since then
 57 2013-11-02 13:54:38 <gulli_> yup, and thats the main test network now, right?
 58 2013-11-02 13:55:01 <sipa> HaltingState: if you write a Go-wrapper for libsecp256k1, i'll be happy to merge it
 59 2013-11-02 13:55:10 <gulli_> ok thanks
 60 2013-11-02 13:55:13 <sipa> gulli_: yes indeed
 61 2013-11-02 13:56:45 <wiretapped> HaltingState: (assuming one side has prior knowledge of the other side's public key)
 62 2013-11-02 14:11:33 <HaltingState> sipa, how do i get go to build the .so
 63 2013-11-02 14:11:47 <HaltingState> it should just compile the .c file and just work but i never got that working
 64 2013-11-02 14:12:08 <HaltingState> sipa, i am also going to get libsecp256k1 on 32 bit arm/arduino
 65 2013-11-02 14:12:53 <HaltingState> i am doing hardware wallet and need it working on arduino duo and will get it working in golang
 66 2013-11-02 14:13:31 <sipa> HaltingState: make libsecp256k1.so
 67 2013-11-02 14:13:40 <sipa> there is an explicit entry for it in the makefile even...
 68 2013-11-02 14:13:48 <HaltingState> sipa, how do i get golang package thing to do it automaticly?
 69 2013-11-02 14:13:55 <sipa> oh
 70 2013-11-02 14:13:58 <sipa> i have no clue about go
 71 2013-11-02 14:14:24 <sipa> sorry, i missed the 'go' in your question, must be because it's such a generic word in english :)
 72 2013-11-02 14:14:26 <HaltingState> cgo has a compiler for C and it should work but will see if it can do make files
 73 2013-11-02 14:14:44 <sipa> you can just only compile secp256k1.c
 74 2013-11-02 14:14:49 <sipa> there are no other modules
 75 2013-11-02 14:15:04 <HaltingState> i know!
 76 2013-11-02 14:15:09 <HaltingState> and it should just work, so wtf
 77 2013-11-02 14:15:14 <HaltingState> one second, let me try this again
 78 2013-11-02 14:17:44 <HaltingState> ./secp256k1/src/impl/field.h:17:2: error: #error "Please select field implementation"
 79 2013-11-02 14:17:45 <HaltingState>  #error "Please select field implementation"
 80 2013-11-02 14:17:49 <HaltingState>  #error "Please select num implementation"
 81 2013-11-02 14:17:49 <HaltingState> ./secp256k1/src/impl/../num.h:13:2: error: #error "Please select num implementation"
 82 2013-11-02 14:17:56 <HaltingState> hmm
 83 2013-11-02 14:17:56 <HaltingState> sipa, i fixed this before with some defines
 84 2013-11-02 14:18:00 <sipa> you need to define which field/num implementation to use
 85 2013-11-02 14:18:13 <HaltingState> which one is best? 60 or 56?
 86 2013-11-02 14:18:16 <sipa> depending on whether you have gmp available, or 128-bit integer math
 87 2013-11-02 14:18:25 <sipa> benchmark :)
 88 2013-11-02 14:18:38 <HaltingState> i have to hardcode it
 89 2013-11-02 14:19:06 <sipa> i doubt you can use 5x56 or 5x64 on a 32-bit system
 90 2013-11-02 14:19:14 <sipa> 10x28 should always work
 91 2013-11-02 14:19:30 <HaltingState> definately gmp; ideally staticly compiled in
 92 2013-11-02 14:19:40 <sipa> if you have gmp, the gmp-based field is likely faster
 93 2013-11-02 14:20:39 <HaltingState> #cgo CFLAGS: -std=gnu99
 94 2013-11-02 14:20:40 <HaltingState> #cgo LDFLAGS: -L. -L./lib -L../../../lib -Wl,-rpath='./lib/' -lsecp256k1 -lgmp
 95 2013-11-02 14:20:40 <HaltingState> #define USE_FIELD_5X64
 96 2013-11-02 14:20:40 <HaltingState> #define USE_FIELD_INV_BUILTIN
 97 2013-11-02 14:20:40 <HaltingState> #define USE_NUM_GMP
 98 2013-11-02 14:20:40 <HaltingState> #include "./secp256k1/src/secp256k1.c"
 99 2013-11-02 14:21:07 <HaltingState> have to deal with these cgo annoying things
100 2013-11-02 14:21:15 <sipa> and USE_FIELD_GMP ?
101 2013-11-02 14:21:25 <HaltingState> k
102 2013-11-02 14:21:31 <sipa> 5x64 requires __int128
103 2013-11-02 14:21:46 <HaltingState> gmp is nice because golang is staticly compiled; no dynamic libraries
104 2013-11-02 14:22:01 <HaltingState> it gives you a nice exe, so its nice if you can staticly link everything into your modules with c depedencies so gmp is perfect
105 2013-11-02 14:22:21 <sipa> oh, 5x64 even only supports amd64
106 2013-11-02 14:22:47 <HaltingState> i am on amd64; can work that out later
107 2013-11-02 14:22:47 <sipa> 5x56 has a C implementation, but needs __int128
108 2013-11-02 14:23:07 <sipa> so i think your only options on 32-bit ARM are field_gmp and field_10x28
109 2013-11-02 14:24:25 <HaltingState> i will try to get it working first
110 2013-11-02 14:25:10 <HaltingState> sipa, your library interface is amazing; its clean, its perfect; cant ask for anything more, complete 180 from openssl
111 2013-11-02 14:25:17 <HaltingState> 5 functions :)
112 2013-11-02 14:25:26 <sipa> 180?
113 2013-11-02 14:25:30 <sipa> ah, 180 degrees
114 2013-11-02 14:25:45 <sipa> well, it doesn't really have the same goals as openssl
115 2013-11-02 14:25:46 <HaltingState> opensll was so difficult satoshi could not figure out how to get compression working for ecc
116 2013-11-02 14:25:54 <sipa> he just didn't know about it
117 2013-11-02 14:26:02 <HaltingState> i think he tried
118 2013-11-02 14:26:09 <sipa> i really doubt that
119 2013-11-02 14:26:16 <sipa> he was very concerned with space requirements
120 2013-11-02 14:26:27 <sipa> but other parts show he didn't really know that much about crypto
121 2013-11-02 14:26:32 <HaltingState> i was reading forum post on bitcoin talks i think about him trying and giving up
122 2013-11-02 14:26:38 <sipa> e.g. using DER encoding
123 2013-11-02 14:26:43 <SomeoneWeird> http://holmes.meklu.org/static/highfreq/
124 2013-11-02 14:26:47 <sipa> HaltingState: link?
125 2013-11-02 14:27:12 <sipa> i think he know about crypto schemes and their properties, but not much about implementations or data representations they used
126 2013-11-02 14:27:17 <HaltingState> something i read a long long time ago; have to remember were; maybe reddit?
127 2013-11-02 14:27:27 <sipa> satoshi on reddit? no way
128 2013-11-02 14:27:45 <sipa> afaik he only posted to mailinglists and on the bitcoin forum
129 2013-11-02 14:28:12 <HaltingState> no, something someone said on reddit
130 2013-11-02 14:28:24 <sipa> i don't care what people say about him
131 2013-11-02 14:28:29 <sipa> i may care about what he said
132 2013-11-02 14:28:44 <HaltingState> its not important now i guess
133 2013-11-02 14:28:49 <sipa> not really
134 2013-11-02 14:29:30 <sipa> afaik, the possibility of using compressed pubkeys was only "discovered" by roconnor
135 2013-11-02 14:29:33 <sipa> in 2011 or so
136 2013-11-02 14:31:09 <HaltingState> i wrote another library and was googling code and something came up on bitcoin talks about compression and guy said he tried but could not get it working and gave up and something about openssl suppotr on some platform or worried about security or something, but cant find it now
137 2013-11-02 14:31:34 <sipa> it's just a flag you need to enable on the key object
138 2013-11-02 14:31:36 <sipa> before exporting
139 2013-11-02 14:31:43 <sipa> that's what bitcoin uses now
140 2013-11-02 14:32:05 <sipa> there are no security implications
141 2013-11-02 14:32:12 <sipa> just minor performance overhead
142 2013-11-02 14:33:10 <HaltingState> sipa, http://pastebin.com/wQhaZhJL
143 2013-11-02 14:33:20 <HaltingState> these are errors i am getting; mostly warnings
144 2013-11-02 14:33:27 <HaltingState> some char/unchar* signature stuff
145 2013-11-02 14:36:05 <melvster> is there any online tool that will let me generate a simple merkle root (ie for just one tx)
146 2013-11-02 14:36:38 <sipa> melvster: for just one tx, the merkle root is equal to the txid
147 2013-11-02 14:37:01 <sipa> HaltingState: hmm
148 2013-11-02 14:37:04 <melvster> oh great
149 2013-11-02 14:37:06 <melvster> http://blockchain.info/tx/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
150 2013-11-02 14:37:08 <melvster> e.g.
151 2013-11-02 14:37:35 <HaltingState> sipa, it builds; i supressed warnings but thought you should know; defined but not used is not problem
152 2013-11-02 14:37:44 <sipa> HaltingState: do the unit tests pass?
153 2013-11-02 14:38:01 <sipa> please try to get those running :)
154 2013-11-02 14:38:04 <HaltingState> i cant run them in golang
155 2013-11-02 14:38:24 <HaltingState> i have the wrapper compiling, now i need to finish wrapping the functions :)
156 2013-11-02 14:38:33 <sipa> they're not go, just compile and run them
157 2013-11-02 14:40:13 <HaltingState> atomos@maslow:~/secp256k1$ ./tests
158 2013-11-02 14:40:14 <HaltingState> atomos@maslow:~/secp256k1$
159 2013-11-02 14:40:14 <HaltingState> test count = 100
160 2013-11-02 14:40:17 <HaltingState> what is it supposed to do?
161 2013-11-02 14:41:07 <HaltingState> is your signature algorithm canonical, the signatures it returns?
162 2013-11-02 14:41:51 <sipa> yes
163 2013-11-02 14:42:09 <sipa> and that has nothing to do with the algorithm, just how the output is encoded
164 2013-11-02 14:42:22 <sipa> if it doesn't exit with an error, the tests are succesful
165 2013-11-02 14:50:03 <wiretapped> HaltingState: why are you using an ecdsa lib when you want to encrypt a shared secret?
166 2013-11-02 14:50:23 <HaltingState> why cant you just encypt it and send it?
167 2013-11-02 14:50:25 <wiretapped> HaltingState: do you realize that library doesn't do encryption?
168 2013-11-02 14:50:43 <HaltingState> if you have A and B, and you want to send something to B, you just send B the thing with B's pubkey
169 2013-11-02 14:50:45 <wiretapped> i'm pretty sure you really want ECDH
170 2013-11-02 14:51:03 <HaltingState> naaa i am fine
171 2013-11-02 14:51:03 <wiretapped> HaltingState: ECDSA is for signing, not encryption
172 2013-11-02 14:51:17 <HaltingState> its same as sending text, you just encrypt it with their pub key and they get it
173 2013-11-02 14:51:18 <wiretapped> lol ok carry on
174 2013-11-02 14:51:58 <HaltingState> its not really a shared secret; and i think this is more secure than ECDH
175 2013-11-02 14:52:00 <wiretapped> HaltingState: eventually you'll notice there isn't an "encrypt" function in sipa's secp256k1 library
176 2013-11-02 14:52:13 <HaltingState> ECDH would be broken by quantum computer; this is secure against quantum computer
177 2013-11-02 14:52:27 <HaltingState> you have to break ECC, AES and SHA256 to break my proticol
178 2013-11-02 14:52:47 <HaltingState> your kidding right?
179 2013-11-02 14:53:11 <wiretapped> ACTION sighs
180 2013-11-02 14:53:25 <HaltingState> sipa, add encryption wtf wtf wtf
181 2013-11-02 14:54:04 <HaltingState> bitcoin-qt lets you encrypt/sign with pub keys i think
182 2013-11-02 14:54:12 <sipa> no it does not
183 2013-11-02 14:54:18 <sipa> ecdsa does not do encryption
184 2013-11-02 14:54:27 <sipa> it's a signature scheme only
185 2013-11-02 14:54:49 <HaltingState> i want to be able to encrypt message with A's pub key
186 2013-11-02 14:55:04 <sipa> encryption using EC is usually done using ECDH do derive a common pubkey
187 2013-11-02 14:55:10 <sipa> eh a common symmetric key
188 2013-11-02 14:55:15 <wiretapped> HaltingState: http://cr.yp.to/ecdh.html
189 2013-11-02 14:55:22 <sipa> and them use AES to encrypt using that key
190 2013-11-02 14:55:37 <wiretapped> HaltingState: you should use nacl
191 2013-11-02 14:55:46 <HaltingState> nacl?
192 2013-11-02 14:56:01 <wiretapped> http://nacl.cr.yp.to/box.html
193 2013-11-02 14:56:18 <sipa> all crypto for ECDH is actually already present in libsecp256k1
194 2013-11-02 14:56:31 <sipa> but i won't add AES :)
195 2013-11-02 14:58:36 <HaltingState> ug, this is not as simple as RSA; might use RSA omg
196 2013-11-02 14:58:44 <wiretapped> sipa: ah i did not realize that
197 2013-11-02 14:58:46 <HaltingState> need to sleep
198 2013-11-02 14:59:13 <sipa> HaltingState: RSA in practice works the same way
199 2013-11-02 14:59:34 <sipa> you encrypt a session key with RSA, and then encrypt the actual message using the session key
200 2013-11-02 14:59:54 <sipa> here you establish the session key using ECDH, and then encrypt the actual message using it
201 2013-11-02 15:00:32 <HaltingState> sipa, https://t.co/cO1V00Jnjz
202 2013-11-02 15:00:40 <HaltingState> go to middle
203 2013-11-02 15:00:52 <HaltingState> that is what i am exactly doing, rsa is too slow
204 2013-11-02 15:00:52 <sipa> i might add some ecdh helper functions to libsecp256k1 if there is interest
205 2013-11-02 15:01:51 <wiretapped> HaltingState: i read your protocol, and I still don't understand why you don't want to use ECDH
206 2013-11-02 15:02:15 <HaltingState> ECDH is the part where I say "encrypt M with ECC pubkey A"
207 2013-11-02 15:02:24 <HaltingState> i just have no idea how that part works
208 2013-11-02 15:02:32 <HaltingState> but i know ECC can do it somehow and i know RSA can too
209 2013-11-02 15:02:39 <sipa> ECC does _not_ encrypt
210 2013-11-02 15:02:46 <sipa> but you don't need it
211 2013-11-02 15:02:52 <sipa> and it's just as simply in practice
212 2013-11-02 15:03:04 <sipa> HaltingState: let me walk you through it
213 2013-11-02 15:03:15 <sipa> so you have a recipient public key Q
214 2013-11-02 15:03:23 <sipa> and generate a random nonce n
215 2013-11-02 15:03:45 <sipa> n is actually an EC private key, with corresponding public key N
216 2013-11-02 15:04:06 <sipa> then you compute S=Q*n (so S is an EC point again)
217 2013-11-02 15:04:22 <sipa> and encrypt your message m using H(S) as AES key
218 2013-11-02 15:04:35 <sipa> and then transmit N + AES_enc(m, H(S))
219 2013-11-02 15:04:57 <sipa> the recipient, who has the corresponding private key to Q, called q
220 2013-11-02 15:05:08 <sipa> computes N*q, and ends up with the same S
221 2013-11-02 15:05:14 <sipa> and decrypts using it
222 2013-11-02 15:05:28 <sipa> so m = AES_dec(message, H(S))
223 2013-11-02 15:06:23 <melvster> sipa: just wondering ... let's say I want to create a simple transaction which only generates some coins, what would be the easiest way to get the hash (ie the merkle root for the block) ... is there a tool or library or online tool that can be used?
224 2013-11-02 15:06:41 <sipa> melvster: you compute SHA256(SHA256(transaction))
225 2013-11-02 15:06:43 <HaltingState> oh, i thought i would multiple message by element in group and then send element and they use use their private key to compute the inverse of the element and find the message or something
226 2013-11-02 15:07:19 <sipa> HaltingState: there are EC encryption schemes which actually work completely using EC
227 2013-11-02 15:07:29 <sipa> but there is really no point in using those over ECDH + AES
228 2013-11-02 15:07:43 <melvster> sipa: thanks, so what is the easiest way to generate such a transaction?  I've been looking at http://brainwallet.org/#tx ... but not sure if that does coinbase tx
229 2013-11-02 15:07:47 <wiretapped> melvster: check out https://sx.dyne.org/
230 2013-11-02 15:08:00 <sipa> melvster: who do you want to create a coinbase tx?
231 2013-11-02 15:08:02 <wiretapped> lets you do completely offline transactions
232 2013-11-02 15:08:10 <melvster> thanks!
233 2013-11-02 15:08:15 <sipa> *why
234 2013-11-02 15:08:20 <wiretapped> which you can submit to the network via blockchain.info or something
235 2013-11-02 15:08:38 <sipa> bitcoind can do the same using createrawtransaction and sendrawtransaction
236 2013-11-02 15:08:43 <sipa> and signrawtransaction
237 2013-11-02 15:08:51 <sipa> but it won't let you create coinbases
238 2013-11-02 15:08:54 <melvster> sipa: im just writing some test code to model a block chain ... it also helps me learn the internals of how bitcoin works :)
239 2013-11-02 15:09:41 <HaltingState> sipa, what is confusing is in RSA each private key/public key corresponds to a group; but i think each public key here is a point on the group or something and group is fixed, have to look into this
240 2013-11-02 15:09:46 <melvster> i dont need the coinbase to be anything special
241 2013-11-02 15:09:55 <HaltingState> night; sleeep
242 2013-11-02 15:10:04 <sipa> HaltingState: EC public keys belong to a group
243 2013-11-02 15:10:09 <sipa> and EC private keys too
244 2013-11-02 15:10:19 <melvster> wiretapped: thanks!
245 2013-11-02 15:10:20 <sipa> and you can go in one direction, but not the other
246 2013-11-02 15:10:28 <sipa> (by multiplying with the base)
247 2013-11-02 15:10:36 <melvster> hehe genjix's code
248 2013-11-02 15:11:36 <wiretapped> ah the website link to the repo is 404; if you get the install script you'll see it moved to https://github.com/spesmilo/sx
249 2013-11-02 15:12:06 <wiretapped> really irritating that he still has that "wget this and sudo run it" install script
250 2013-11-02 15:12:13 <wiretapped> terrible really
251 2013-11-02 15:12:34 <wiretapped> it isn't hard to ./configure --prefix it and install it without being root
252 2013-11-02 15:14:30 <melvster> thx
253 2013-11-02 15:20:30 <NiZK1> Hi. I'm trying to get a testnet set up on a private network(i.e. a 10.10.0.0/16 with no public internet access). I can use addnode to manually connect nodes, but they won't share their peers. E.g. if I connect a to b and c to b, c and a never find out about each other.   Is there a way to fix this ?
254 2013-11-02 15:31:12 <gmaxwell> NiZK1: yes, don't use a RFC1918 addressed network.
255 2013-11-02 15:31:29 <gmaxwell> Bitcoin nodes won't share unroutable addresses.
256 2013-11-02 15:34:40 <NiZK1> Ok. So if I change the network to incorrectly assign "public"  ip's (of course they only route internally), it should work?
257 2013-11-02 15:36:36 <gmaxwell> Yep.
258 2013-11-02 15:36:51 <NiZK1> thanks
259 2013-11-02 15:56:03 <melvster> so what's actually the first value here:
260 2013-11-02 15:56:04 <melvster> "scriptPubKey":"047211a824f55b505228e4c3d5194c1fcfaa15a456abdf37f9b9d97a4040afc073dee6c89064984f03385237d92167c13e236446b417ab79a0fcae412ae3316b77 OP_CHECKSIG"
261 2013-11-02 15:56:18 <melvster> the bit before OP_CHECKSIG
262 2013-11-02 15:56:26 <gmaxwell> the ECDSA public key.
263 2013-11-02 15:56:43 <melvster> oic
264 2013-11-02 15:57:09 <melvster> 130 hex digits, is that right?
265 2013-11-02 15:57:11 <gmaxwell> (beyond OP_CHECKSIG  popping <sig> <pubkey>, thats also suggested by the value beginning with 04 (or 02 or 03))
266 2013-11-02 15:58:05 <melvster> so an ecdsa pub key is 520 bits before hashing?
267 2013-11-02 15:58:21 <gmaxwell> melvster: thats a x,y type pubkey 'uncompressed'.
268 2013-11-02 15:58:46 <gmaxwell> They can also have only the x coordinate.
269 2013-11-02 15:59:53 <melvster> gmaxwell: ok good, I think that's what's generated here: http://brainwallet.org/#generator
270 2013-11-02 16:00:02 <melvster> what they call Public Key (SEC)
271 2013-11-02 16:01:02 <melvster> so to create a coinbase tx I just take http://blockexplorer.com/rawtx/9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5 and replace that value with another 130 hex string, serialize, then double hash
272 2013-11-02 16:09:38 <sipa> melvster: technically, a scriptPubKey doesn't need to be spendable for the transaction to be valid
273 2013-11-02 16:09:46 <sipa> only when you want to spend the output
274 2013-11-02 16:37:46 <melvster> so is there a library that will serialize a transaction of the form http://blockexplorer.com/rawtx/9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5  into something more like https://en.bitcoin.it/wiki/Protocol_specification#tx (so that I can hash it)?
275 2013-11-02 16:38:36 <melvster> or should i be looking at getdata
276 2013-11-02 16:40:44 <lianj> melvster: bitcoin-ruby does serialization roundtrips
277 2013-11-02 16:40:54 <melvster> lianj: thanks
278 2013-11-02 16:41:18 <melvster> oh
279 2013-11-02 16:41:20 <melvster> getrawtransaction 
280 2013-11-02 16:44:18 <sipa> melvster: in 0.8, you need a transaction index for that
281 2013-11-02 16:44:22 <gulli_> im using bitcoinj, and I am getting that the method testNet3() is deprecated for NetworkParameters.testNet3()
282 2013-11-02 16:44:28 <gulli_> anyone know wh?
283 2013-11-02 16:44:42 <sipa> namespacing, i suppose
284 2013-11-02 16:46:34 <gulli_> namespacing?
285 2013-11-02 16:47:27 <sipa> better ask TD if you want the real answer :)
286 2013-11-02 16:51:03 <gulli_> I think I figured it out :)
287 2013-11-02 16:54:46 <melvster> sipa: I think i did it?
288 2013-11-02 16:54:59 <melvster> 01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d010bffffffff0100f2052a010000004341047211a824f55b505228e4c3d5194c1fcfaa15a456abdf37f9b9d97a4040afc073dee6c89064984f03385237d92167c13e236446b417ab79a0fcae412ae3316b77ac00000000
289 2013-11-02 16:54:59 <melvster> getrawtransaction 9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5
290 2013-11-02 17:04:50 <Evilmax> ;;blocks
291 2013-11-02 17:04:52 <gribble> 267539
292 2013-11-02 17:06:46 <Evilmax> i am afraid that bitcoin blocks go faster than my bitcoind synchronnization
293 2013-11-02 17:07:09 <Evilmax> I do not ever reach it?
294 2013-11-02 17:09:44 <gmaxwell> Evilmax: if you are taking 10 minutes per block then something is wrong with your hardware.
295 2013-11-02 17:10:02 <Evilmax> it is an adsl
296 2013-11-02 17:10:09 <Evilmax> on a netbook
297 2013-11-02 17:10:18 <Evilmax> maybe netbook has low ram
298 2013-11-02 17:10:46 <Evilmax> i am waiting for 6 days
299 2013-11-02 17:10:48 <Evilmax> at least
300 2013-11-02 17:10:58 <Evilmax> instead...on another pc...it is faster
301 2013-11-02 17:23:09 <dobry-den> blockchain initial sync is pretty dirty
302 2013-11-02 17:24:47 <_alp_> If it takes you more than 10 minutes to download 1MB, you are gonna have a bad time.
303 2013-11-02 17:25:40 <dobry-den> the download is the easy part. it's the contention when daisychaining the blocks that hurts a netbook
304 2013-11-02 17:25:59 <lianj> dobry-den: using a bootstrap file?
305 2013-11-02 17:26:24 <dobry-den> right, im just saying a sync from scratch is pretty rough on a netbook at the moment
306 2013-11-02 17:28:31 <dobry-den> maybe im still in 2009 but netbook to me also means an atom processor
307 2013-11-02 17:28:41 <lianj> :D
308 2013-11-02 17:29:08 <dobry-den> i would close down every other tab/application to watch a youtube vid at 320p
309 2013-11-02 17:30:23 <lianj> had the epc701 for 1 year as my main machine and it wasn't so bad
310 2013-11-02 17:30:42 <dobry-den> what year?
311 2013-11-02 17:30:55 <lianj> dunno, when it was released
312 2013-11-02 17:32:13 <dobry-den> i bought my netbook in 2009 as pretty much a harddrive with a gui for when i traveled. of course, my main computer immediately broke and my netbook became my main machine for 2 years - the rest of uni
313 2013-11-02 17:32:44 <dobry-den> a vanilla ruby on rails app took 45 seconds to boot into dev console
314 2013-11-02 17:33:30 <lianj> rails is bad at booting anyway. the 701 was funny though, only 4gb diskspace but 8gb ram. lived in tmpfs
315 2013-11-02 17:34:32 <dobry-den> yeah, i assumed that maybe ~30 seconds was the norm. so i could handle 15 extra seconds. but when i got my first job out of uni, they bought me a 2011 macbook air and it booted rails in 2 seconds
316 2013-11-02 17:35:15 <dobry-den> that's a funny storage config
317 2013-11-02 17:35:57 <dobry-den> it's like a ram machine with a little bit of durable swap bolted on
318 2013-11-02 17:36:06 <dobry-den> i like it
319 2013-11-02 17:36:23 <dobry-den> better than my 1gb of ram
320 2013-11-02 18:09:43 <maaku> what is the freenode-verf branch?
321 2013-11-02 18:10:19 <maaku> dobry-den: syncfrom scratch will always be rough on a netbook :\
322 2013-11-02 18:19:18 <sipa> maaku: it was created by jgarzik to get ownership of #bicoin* on freenode
323 2013-11-02 18:19:33 <sipa> should be removed
324 2013-11-02 18:20:09 <kaptah> .3
325 2013-11-02 18:22:33 <sipa> ?
326 2013-11-02 18:34:18 <dobry-den> think it's a one-eyed :3
327 2013-11-02 18:35:34 <dobry-den> maaku: as lianj said, the fastest route is to download most of the blockchain from, say, the torrent and then sync the rest of the way
328 2013-11-02 18:58:22 <countryslim> how does bitcoinstats.com work? is the code open source?
329 2013-11-02 19:38:10 <dobry-den> countryslim: it's just irc log dumps
330 2013-11-02 19:43:36 <dobry-den> countryslim: http://www.anta.net/misc/telnet-troubleshooting/irc.shtml
331 2013-11-02 20:09:52 <gulli_> So, anyone here been using BitcoinJ?
332 2013-11-02 20:11:38 <michagogo> cloud|sipa: I don't know what freenode's policies are like, but it's possible that the branch would need to stay to keep the group registration
333 2013-11-02 20:15:12 <gmaxwell> michagogo|cloud: that would be silly.
334 2013-11-02 20:16:11 <michagogo> cloud|gmaxwell: I would guess that's not the case
335 2013-11-02 20:16:32 <michagogo> cloud|But I don't know that it's not, and I've seen similar things in the past that did
336 2013-11-02 20:19:39 <grau> gmaxwell: I noticed that some multisig transactions on the network have CODESEPARATOR between pubkey and the number of signatures required, is this needed?
337 2013-11-02 20:23:57 <grau> signatures are not hashed either and I do not see a problem with hashing the pubkeys, do I miss something?
338 2013-11-02 20:46:52 <skinnkavaj> http://www.reddit.com/r/Bitcoin/comments/1pregi/finally_bip0038_encrypted_paper_wallets_at/
339 2013-11-02 20:46:55 <skinnkavaj> Nice nice!
340 2013-11-02 21:30:14 <Smrtz> Can someone tell me the official bitcoin dev mailing list please?
341 2013-11-02 21:30:34 <TheLordOfTime> he means for the bitcoin protocol devs.  (from #bitcoin)
342 2013-11-02 21:31:32 <Smrtz> Thanks TheLordOfTime
343 2013-11-02 21:41:46 <sipa> Smrtz: bitcoin-development@lists.sourceforge.net
344 2013-11-02 21:43:02 <Smrtz> sipa: That's the one I found, but I couldn't find any reffrence to it on the bitcoin wiki, so I just wanted to make sure it was the official one.  Thanks.
345 2013-11-02 21:44:00 <sipa> doesn't surprise me; the wiki is incomplete and outdated mostly
346 2013-11-02 21:44:12 <Smrtz> sipa: I'm learning that...
347 2013-11-02 21:44:42 <Smrtz> sipa: Thanks, I joined....
348 2013-11-02 21:52:17 <Luke-Jr> Smrtz: "official" has no meaning in a decentralised system, but that's as close as you'll get
349 2013-11-02 21:52:33 <Luke-Jr> Smrtz: help make the wiki more complete! :D
350 2013-11-02 21:52:52 <Smrtz> Luke-Jr: Once I get the time, I'll make a mailing list page...
351 2013-11-02 23:24:13 <gmaxwell> bc.i can now return hex!
352 2013-11-02 23:24:19 <gmaxwell> e.g. https://blockchain.info/tx/c07d47a5e1d023d0fd2c47c600a4ca178c7a2954754c88f3fb7f729bafb94539?format=hex
353 2013-11-02 23:26:16 <pankkake> pretty cool
354 2013-11-02 23:32:52 <groglogic> Luke-Jr: official has close to zero meaning in the general sense anyway ;-)
355 2013-11-02 23:42:22 <jouke> gmaxwell: finally
356 2013-11-02 23:55:19 <warren> how is bootstrap.dat supposed to work?  My fresh bitcoind importing bootstrap.dat is also downloading all those same blocks from peers.  -connect=0.0.0.0 and it doesn't import bootstrap.dat at all.
357 2013-11-02 23:56:58 <gmaxwell> warren: connect=xyz has nothing to do with bootstrap, and unless some bug has been introduced, the bootstrap loading runs in the loadblocks codepath and you won't download those same blocks from peers.
358 2013-11-02 23:57:12 <gmaxwell> Perhaps you're being confused by how its logged? it looks like they're coming in from the network in the logs.
359 2013-11-02 23:57:25 <gmaxwell> because its validating them as though they were.
360 2013-11-02 23:58:56 <warren> gmaxwell: when I import bootstrap.dat with -connect= to one peer, that  other peer's logs sees getblocks 500 at a time in sync with the indexing by the new client