1 2018-06-03T00:05:19  *** Chris_Stewart_5 has joined #bitcoin-core-dev
  2 2018-06-03T00:58:40  *** Chris_Stewart_5 has quit IRC
  3 2018-06-03T01:12:22  *** unholymachine has quit IRC
  4 2018-06-03T01:13:01  *** d9b4bef9 has quit IRC
  5 2018-06-03T01:14:08  *** d9b4bef9 has joined #bitcoin-core-dev
  6 2018-06-03T01:14:30  *** AaronvanW has joined #bitcoin-core-dev
  7 2018-06-03T01:19:09  *** AaronvanW has quit IRC
  8 2018-06-03T01:19:11  *** games_ is now known as gay_
  9 2018-06-03T01:21:53  *** drexl has quit IRC
 10 2018-06-03T01:25:26  *** luke-jr has quit IRC
 11 2018-06-03T01:26:05  *** Randolf has quit IRC
 12 2018-06-03T01:31:18  *** luke-jr has joined #bitcoin-core-dev
 13 2018-06-03T01:38:29  *** owowo has quit IRC
 14 2018-06-03T01:41:52  *** BashCo has quit IRC
 15 2018-06-03T01:43:13  *** owowo has joined #bitcoin-core-dev
 16 2018-06-03T02:20:54  *** Randolf has joined #bitcoin-core-dev
 17 2018-06-03T02:22:41  *** cryptojanitor has joined #bitcoin-core-dev
 18 2018-06-03T02:37:22  *** Krellan has quit IRC
 19 2018-06-03T02:38:09  *** Krellan has joined #bitcoin-core-dev
 20 2018-06-03T02:43:45  *** jtimon has quit IRC
 21 2018-06-03T02:48:34  *** lxer has quit IRC
 22 2018-06-03T03:15:16  *** AaronvanW has joined #bitcoin-core-dev
 23 2018-06-03T03:19:27  *** AaronvanW has quit IRC
 24 2018-06-03T03:45:59  *** tylevine has joined #bitcoin-core-dev
 25 2018-06-03T04:00:55  *** zautomata1 has joined #bitcoin-core-dev
 26 2018-06-03T04:03:01  *** zautomata has quit IRC
 27 2018-06-03T04:03:32  *** Victorsueca has quit IRC
 28 2018-06-03T04:04:13  *** randy-waterhouse has joined #bitcoin-core-dev
 29 2018-06-03T04:04:32  *** randy-waterhouse has joined #bitcoin-core-dev
 30 2018-06-03T04:05:14  *** Victorsueca has joined #bitcoin-core-dev
 31 2018-06-03T04:08:10  *** jhfrontz has quit IRC
 32 2018-06-03T04:22:20  *** rex4539 has joined #bitcoin-core-dev
 33 2018-06-03T04:37:31  *** rex4539 has quit IRC
 34 2018-06-03T04:38:07  *** rex4539 has joined #bitcoin-core-dev
 35 2018-06-03T04:41:52  *** cryptojanitor has quit IRC
 36 2018-06-03T04:43:51  *** luke-jr has quit IRC
 37 2018-06-03T04:43:52  *** Krellan has quit IRC
 38 2018-06-03T04:44:25  *** luke-jr has joined #bitcoin-core-dev
 39 2018-06-03T04:44:39  *** Krellan has joined #bitcoin-core-dev
 40 2018-06-03T05:15:58  *** AaronvanW has joined #bitcoin-core-dev
 41 2018-06-03T05:20:49  *** AaronvanW has quit IRC
 42 2018-06-03T05:35:10  *** randy-waterhouse has quit IRC
 43 2018-06-03T06:26:43  *** randy-waterhouse has joined #bitcoin-core-dev
 44 2018-06-03T06:31:10  *** randy-waterhouse has quit IRC
 45 2018-06-03T07:02:19  *** Soligor has quit IRC
 46 2018-06-03T07:04:06  *** Soligor has joined #bitcoin-core-dev
 47 2018-06-03T07:14:37  *** AaronvanW has joined #bitcoin-core-dev
 48 2018-06-03T07:19:29  *** AaronvanW has quit IRC
 49 2018-06-03T07:29:48  *** bitconner has joined #bitcoin-core-dev
 50 2018-06-03T07:39:19  *** zautomata1 has quit IRC
 51 2018-06-03T07:58:46  *** ProfMac has quit IRC
 52 2018-06-03T08:31:29  *** Randolf has quit IRC
 53 2018-06-03T08:33:10  *** Randolf has joined #bitcoin-core-dev
 54 2018-06-03T08:35:57  *** BashCo has joined #bitcoin-core-dev
 55 2018-06-03T08:45:02  *** d9b4bef9 has quit IRC
 56 2018-06-03T08:47:10  *** ren0v0 has quit IRC
 57 2018-06-03T08:59:28  <jonasschnelli> sipa: what do you think about "address:<addr>/b<timestamp_uint64>/w|p<pkey_wif>" or "script:<script_hex>" or "p2wpkh:<pub|xpub>/r0-2000/..."?
 58 2018-06-03T08:59:37  <jonasschnelli> pub/xpub is autodetect, first char r | b | w | p is for (r)ange, (b)irthday, (w)atchonly, (p)rivatekey
 59 2018-06-03T09:13:58  *** Krellan has quit IRC
 60 2018-06-03T09:14:32  *** Krellan has joined #bitcoin-core-dev
 61 2018-06-03T09:14:51  *** AaronvanW has joined #bitcoin-core-dev
 62 2018-06-03T09:15:42  *** lxer has joined #bitcoin-core-dev
 63 2018-06-03T09:26:29  *** d3nial has joined #bitcoin-core-dev
 64 2018-06-03T09:27:08  *** BashCo has quit IRC
 65 2018-06-03T09:29:12  *** BashCo has joined #bitcoin-core-dev
 66 2018-06-03T09:29:14  *** A4L has joined #bitcoin-core-dev
 67 2018-06-03T09:29:58  <A4L> Php/python/linux bash: send.bitcoin(privatekey, publickey, amount); how to??
 68 2018-06-03T09:30:17  *** Victorsueca has quit IRC
 69 2018-06-03T09:30:56  <jonasschnelli> A4L be more specific in your question and use #bitcoin-dev (this channel is for Bitcoin Core development)
 70 2018-06-03T09:31:32  *** Victorsueca has joined #bitcoin-core-dev
 71 2018-06-03T09:32:18  *** A4L has left #bitcoin-core-dev
 72 2018-06-03T09:32:57  *** bitconner has quit IRC
 73 2018-06-03T09:33:32  *** BashCo_ has joined #bitcoin-core-dev
 74 2018-06-03T09:35:36  *** BashCo__ has joined #bitcoin-core-dev
 75 2018-06-03T09:36:01  *** BashCo has quit IRC
 76 2018-06-03T09:37:35  *** BashCo_ has quit IRC
 77 2018-06-03T09:38:33  *** BashCo has joined #bitcoin-core-dev
 78 2018-06-03T09:41:53  *** BashCo__ has quit IRC
 79 2018-06-03T09:42:40  *** BashCo_ has joined #bitcoin-core-dev
 80 2018-06-03T09:43:47  *** Krellan has quit IRC
 81 2018-06-03T09:43:53  *** BashCo has quit IRC
 82 2018-06-03T09:44:11  *** d3nial has quit IRC
 83 2018-06-03T09:48:48  *** BashCo_ has quit IRC
 84 2018-06-03T09:49:03  *** BashCo has joined #bitcoin-core-dev
 85 2018-06-03T09:49:21  *** Krellan has joined #bitcoin-core-dev
 86 2018-06-03T09:49:37  *** votefrac has joined #bitcoin-core-dev
 87 2018-06-03T09:53:54  *** BashCo has quit IRC
 88 2018-06-03T09:55:03  *** BashCo has joined #bitcoin-core-dev
 89 2018-06-03T09:57:44  *** BashCo_ has joined #bitcoin-core-dev
 90 2018-06-03T09:59:21  *** BashCo has quit IRC
 91 2018-06-03T10:09:07  *** promag has joined #bitcoin-core-dev
 92 2018-06-03T10:10:46  *** promag has quit IRC
 93 2018-06-03T10:30:51  *** votefrac has quit IRC
 94 2018-06-03T10:37:38  *** drexl has joined #bitcoin-core-dev
 95 2018-06-03T10:38:04  *** jtimon has joined #bitcoin-core-dev
 96 2018-06-03T10:38:23  *** luke-jr has quit IRC
 97 2018-06-03T10:38:34  *** luke-jr has joined #bitcoin-core-dev
 98 2018-06-03T10:50:58  *** votefrac has joined #bitcoin-core-dev
 99 2018-06-03T11:00:05  *** votefrac has quit IRC
100 2018-06-03T11:01:17  *** votefrac has joined #bitcoin-core-dev
101 2018-06-03T11:04:28  *** Krellan has quit IRC
102 2018-06-03T11:06:20  *** qwertzlcoatl has joined #bitcoin-core-dev
103 2018-06-03T11:10:01  *** Krellan has joined #bitcoin-core-dev
104 2018-06-03T11:15:24  *** qwertzlcoatl has quit IRC
105 2018-06-03T11:38:14  *** SopaXorzTaker has joined #bitcoin-core-dev
106 2018-06-03T11:55:57  *** luke-jr has quit IRC
107 2018-06-03T12:03:52  *** ToURniQue has joined #bitcoin-core-dev
108 2018-06-03T12:24:08  *** d9b4bef9 has joined #bitcoin-core-dev
109 2018-06-03T12:26:02  *** d9b4bef9 has quit IRC
110 2018-06-03T12:29:07  *** d9b4bef9 has joined #bitcoin-core-dev
111 2018-06-03T12:34:51  *** Krellan has quit IRC
112 2018-06-03T12:40:06  *** Krellan has joined #bitcoin-core-dev
113 2018-06-03T12:43:55  *** lnostdal has quit IRC
114 2018-06-03T13:07:47  *** promag has joined #bitcoin-core-dev
115 2018-06-03T13:08:53  *** SopaXorzTaker has quit IRC
116 2018-06-03T13:10:29  *** SopaXorzTaker has joined #bitcoin-core-dev
117 2018-06-03T13:14:21  *** promag has quit IRC
118 2018-06-03T13:14:58  *** Krellan has quit IRC
119 2018-06-03T13:20:04  *** Krellan has joined #bitcoin-core-dev
120 2018-06-03T13:21:54  *** Khunbi has joined #bitcoin-core-dev
121 2018-06-03T13:41:21  *** Victorsueca has quit IRC
122 2018-06-03T13:42:37  *** Victorsueca has joined #bitcoin-core-dev
123 2018-06-03T13:42:44  *** SopaXorzTaker has quit IRC
124 2018-06-03T13:45:59  *** gay_ is now known as games_
125 2018-06-03T13:47:05  *** luke-jr has joined #bitcoin-core-dev
126 2018-06-03T13:53:25  *** laurentmt has joined #bitcoin-core-dev
127 2018-06-03T13:54:00  *** lnostdal has joined #bitcoin-core-dev
128 2018-06-03T13:57:45  *** Guyver2 has joined #bitcoin-core-dev
129 2018-06-03T14:05:14  *** timothy has joined #bitcoin-core-dev
130 2018-06-03T14:18:10  *** Chris_Stewart_5 has joined #bitcoin-core-dev
131 2018-06-03T14:26:44  *** Arvidt has joined #bitcoin-core-dev
132 2018-06-03T14:29:20  <Arvidt> Is it possible to force bitcoind log messages to be in English, while system language ($LANG) and so GUI are in another local language?
133 2018-06-03T14:31:52  *** laurentmt has quit IRC
134 2018-06-03T14:38:59  *** Khunbi has quit IRC
135 2018-06-03T14:42:04  <Arvidt> export LC_MESSAGES=C leads the GUI to be also in English
136 2018-06-03T14:45:18  *** Krellan has quit IRC
137 2018-06-03T14:45:55  *** Krellan has joined #bitcoin-core-dev
138 2018-06-03T14:50:14  *** Krellan has quit IRC
139 2018-06-03T14:50:55  *** Krellan has joined #bitcoin-core-dev
140 2018-06-03T14:57:47  *** SopaXorzTaker has joined #bitcoin-core-dev
141 2018-06-03T15:00:05  <bitcoin-git> [bitcoin] marcoagner opened pull request #13381: [WIP] RPC: creates preserve parameter for importprivkey call (master...feature_preserve_labels_on_import) https://github.com/bitcoin/bitcoin/pull/13381
142 2018-06-03T15:03:58  *** timothy has quit IRC
143 2018-06-03T15:08:59  *** Khunbi has joined #bitcoin-core-dev
144 2018-06-03T15:18:04  *** AaronvanW has quit IRC
145 2018-06-03T15:19:07  *** Arvidt has quit IRC
146 2018-06-03T15:28:41  *** AaronvanW has joined #bitcoin-core-dev
147 2018-06-03T15:33:10  *** AaronvanW has quit IRC
148 2018-06-03T15:34:08  *** Chris_Stewart_5 has quit IRC
149 2018-06-03T15:38:58  *** Victorsueca has quit IRC
150 2018-06-03T15:40:33  *** Victorsueca has joined #bitcoin-core-dev
151 2018-06-03T15:42:42  *** promag has joined #bitcoin-core-dev
152 2018-06-03T15:44:13  *** AaronvanW has joined #bitcoin-core-dev
153 2018-06-03T15:45:04  *** promag has quit IRC
154 2018-06-03T16:55:35  *** Randolf has quit IRC
155 2018-06-03T16:56:33  *** dc has quit IRC
156 2018-06-03T16:56:45  *** Randolf has joined #bitcoin-core-dev
157 2018-06-03T16:57:20  *** dc1 has joined #bitcoin-core-dev
158 2018-06-03T17:00:12  *** Krellan has quit IRC
159 2018-06-03T17:05:36  *** Krellan has joined #bitcoin-core-dev
160 2018-06-03T17:23:36  <bitcoin-git> [bitcoin] practicalswift opened pull request #13382: util: Don't throw in GetTime{Millis,Micros}(). Mark as noexcept. (master...dont-throw-in-GetTimeMillis-and-GetTimeMicros) https://github.com/bitcoin/bitcoin/pull/13382
161 2018-06-03T17:48:02  *** d9b4bef9 has quit IRC
162 2018-06-03T17:48:41  *** JackH has joined #bitcoin-core-dev
163 2018-06-03T17:49:08  *** d9b4bef9 has joined #bitcoin-core-dev
164 2018-06-03T18:12:41  <bitcoin-git> [bitcoin] practicalswift opened pull request #13383: bench: Use non-throwing ParseDouble(...) instead of throwing boost::lexical_cast<double>(...) (master...remove-dependency-on-lexical_cast-which-is-boost-and-also-throws) https://github.com/bitcoin/bitcoin/pull/13383
165 2018-06-03T18:21:39  <sipa> jonasschnelli: you cannot correct more than 2 errors in bech32, ever
166 2018-06-03T18:21:43  <sipa> this is not a question of efficiency
167 2018-06-03T18:22:59  <jonasschnelli> sipa: is the assumption wrong, that you can -try- to correct the possible 4 detected errors if you know a derived address?
168 2018-06-03T18:23:18  <sipa> oh, sure
169 2018-06-03T18:23:20  <sipa> even more
170 2018-06-03T18:23:23  <sipa> there is no limit to that
171 2018-06-03T18:23:26  <jonasschnelli> with a 4^32 trial and error
172 2018-06-03T18:24:18  <gmaxwell> "-try- to correct the possible 4 detected errors" thats not how it works.
173 2018-06-03T18:24:30  <jonasschnelli> I think the proposal says it can detect 4 for WIF and 3 for xpriv where it is possible to correct those if a derived element is available
174 2018-06-03T18:24:44  <sipa> none of that has anything to do with correction
175 2018-06-03T18:24:54  <sipa> you can always try all combinations of N changes to the input, and see if they work
176 2018-06-03T18:24:59  <sipa> that's not limited to 4
177 2018-06-03T18:25:02  <sipa> and isn't called correction
178 2018-06-03T18:25:06  <bitcoin-git> [bitcoin] MarcoFalke opened pull request #13384: qa: Remove polling loop from test_runner (master...Mf1806-qaTestRunnerConcurrentFuture) https://github.com/bitcoin/bitcoin/pull/13384
179 2018-06-03T18:25:18  <jonasschnelli> I guess I used the wrong term then...
180 2018-06-03T18:25:19  <gmaxwell> you could examine the (length choose 4)*(31^4) candidate distance 4 entries, and see which of them are checksum valid, there will be many.  (and there are more computationally efficient ways of doing that than just trying them all)
181 2018-06-03T18:25:48  <sipa> jonasschnelli: my point is that there is no limit of 4 errors for that
182 2018-06-03T18:25:59  <jonasschnelli> I see
183 2018-06-03T18:26:01  <sipa> you can try all combinations of 6 changes to the input too, and see which one work
184 2018-06-03T18:26:08  <sipa> if you have enough computational power
185 2018-06-03T18:26:59  *** Chris_Stewart_5 has joined #bitcoin-core-dev
186 2018-06-03T18:28:00  <sipa> jonasschnelli: what does "P2WPKH P2WSH nested in P2SH" mean?
187 2018-06-03T18:28:15  <jonasschnelli> sipa gmaxwell: is there a possible calculation on how much chars (%) could be reconstructed with a top cap of computational power?
188 2018-06-03T18:28:23  <sipa> jonasschnelli: all of them, obviously
189 2018-06-03T18:28:31  <sipa> you try every possible private key
190 2018-06-03T18:28:36  <sipa> this has nothing to do with the encoding
191 2018-06-03T18:28:47  <gmaxwell> sipa: he wants a function on cpu usage vs distance.
192 2018-06-03T18:28:52  <sipa> ah, sorry!
193 2018-06-03T18:29:01  <jonasschnelli> I mean efficient
194 2018-06-03T18:29:33  <jonasschnelli> what gmaxwell said. yes
195 2018-06-03T18:29:37  <sipa> the checksum just gives you a fixed speedup
196 2018-06-03T18:29:43  <sipa> larger checksums give you a better speedup
197 2018-06-03T18:30:09  <jonasschnelli> P2WPKH: the P2WSH part should be removed there (paste error)
198 2018-06-03T18:30:27  <gmaxwell> (length choose num_changed_chars)*(31^num_changed_chars)  is the function for the number of operations,  the use of a smart checksum reduces that some. e.g. bech32 basically takes 2 out of the number of characters you're considering (though makes the inner operation slower)
199 2018-06-03T18:31:36  <sipa> jonasschnelli: if you want a way to represent the current bitcoin core behaviour, it also needs P2PK
200 2018-06-03T18:32:00  <jonasschnelli> I thought of that... but undefined is probably okay to set in this case
201 2018-06-03T18:32:44  <sipa> there shouldn't be undefined IMHO; you can use the existing xprv encoding for that
202 2018-06-03T18:33:29  <gmaxwell> ignoring he speedup from the checksum, there are 2^38.7  candidate keys with 4 errors, on a length 60 payload. 2^47.1 for 5, 2^55.3  ... so already at 4 if checking involves computing public keys, it's probably already computationally intractable for most users at 4.
203 2018-06-03T18:34:21  <jonasschnelli> do you think bech32 & derived element is acceptable for reconstructing extended keys?
204 2018-06-03T18:34:31  <sipa> bech32 of what?
205 2018-06-03T18:34:46  <jonasschnelli> chaincode&privatekey
206 2018-06-03T18:34:58  <sipa> ah, i see
207 2018-06-03T18:35:06  <gmaxwell> private key material ends up being too long for bech32 and it loses its checking properties, so then even the speedup goes away and the 4character search is not tractable.
208 2018-06-03T18:35:07  <sipa> i really think for private keys you want stronger error detection
209 2018-06-03T18:35:48  <gmaxwell> Also that kind of "search" implies you have some external way to detect if a key is right or not... which could help if you're recovering lost funds, but not if you are entering in a safely stored private key to derrives public keys to send funds to for the first time.
210 2018-06-03T18:36:48  <gmaxwell> which is also important, since if users mess up generating their public keys for a secret they'll send funds off into space.
211 2018-06-03T18:38:00  <jonasschnelli> So your saying the bech32 error detection is not sufficient to check the entered extended key before deriving subkeys?
212 2018-06-03T18:38:27  <jonasschnelli> (since 512bit exceed the bech32 90 chars limit?)
213 2018-06-03T18:38:40  <sipa> jonasschnelli: if you either have a vast amount of computation power, or only 1 error... sure
214 2018-06-03T18:38:50  <sipa> but bech32 is really the wrong choice here
215 2018-06-03T18:39:12  *** Guyver2_ has joined #bitcoin-core-dev
216 2018-06-03T18:39:57  *** Chris_Stewart_5 has quit IRC
217 2018-06-03T18:40:03  <jonasschnelli> Yes. Maybe a new cycling could would make sense...
218 2018-06-03T18:40:15  <sipa> I'll comment on the list
219 2018-06-03T18:40:22  <jonasschnelli> thanks.
220 2018-06-03T18:40:45  <jonasschnelli> reusing bech32 for keys instead of using Base58check is such a low hanging fruit..
221 2018-06-03T18:40:55  <jonasschnelli> I hope we identify a code as soon as possible
222 2018-06-03T18:41:51  <jonasschnelli> Bech32 is currently available in most (all?) modern bitcoin software and a support of the bech32 keys proposal would be simple to implement
223 2018-06-03T18:42:05  *** Guyver2 has quit IRC
224 2018-06-03T18:42:14  *** Guyver2_ is now known as Guyver2
225 2018-06-03T18:42:27  <jonasschnelli> but I guess strong error detection is more important then simple implementation properties
226 2018-06-03T18:42:55  *** Chris_Stewart_5 has joined #bitcoin-core-dev
227 2018-06-03T18:43:19  <sipa> i think you underestimate the difficulty of implementing a try-all-combinations-of-errors approach which compares with addresses/utxo set
228 2018-06-03T18:44:15  <jonasschnelli> sipa: yes..perhaps.
229 2018-06-03T18:46:11  *** Randolf has quit IRC
230 2018-06-03T18:46:51  *** Randolf has joined #bitcoin-core-dev
231 2018-06-03T18:51:11  <bitcoin-git> [bitcoin] practicalswift opened pull request #13385: build: Guard against accidental introduction of new Boost dependencies (master...lint-boost) https://github.com/bitcoin/bitcoin/pull/13385
232 2018-06-03T19:09:21  *** Chris_Stewart_5 has quit IRC
233 2018-06-03T19:17:57  *** AaronvanW has quit IRC
234 2018-06-03T19:18:50  *** Khunbi has quit IRC
235 2018-06-03T19:20:37  *** Khunbi has joined #bitcoin-core-dev
236 2018-06-03T19:23:36  *** SopaXorzTaker has quit IRC
237 2018-06-03T19:24:58  <sipa> jonasschnelli: sent
238 2018-06-03T19:25:06  <jonasschnelli> sipa: reading...
239 2018-06-03T19:25:26  <jonasschnelli> and writing code to exploit 4 invalid chats in a encoded key. :)
240 2018-06-03T19:26:10  *** AaronvanW has joined #bitcoin-core-dev
241 2018-06-03T19:28:17  <jonasschnelli> sipa: can the code have a variable checksum size (runtime)? Would it make sense to delegate the reconstruct-probability to the user?
242 2018-06-03T19:28:36  <sipa> jonasschnelli: that sounds hard
243 2018-06-03T19:29:01  <jonasschnelli> ok
244 2018-06-03T19:50:31  <jonasschnelli> sipa, gmaxwell: guess how long it takes to compute m/0 for possible 4 invalid chars (bech32 decode & bip32 pckd, hash160 base58check)?
245 2018-06-03T19:50:36  *** promag has joined #bitcoin-core-dev
246 2018-06-03T19:50:36  <jonasschnelli> 923520 attempts
247 2018-06-03T19:50:45  <jonasschnelli> real	1m0.189s
248 2018-06-03T19:50:53  <jonasschnelli> And that is with -O0 :)
249 2018-06-03T19:56:33  <jonasschnelli> Oops.. I missed the char. So it is 1048575 attempts... resulting in 1.5m computation power on my Core i7
250 2018-06-03T19:57:01  <jonasschnelli> With -O0 and parallelized
251 2018-06-03T19:57:05  <jonasschnelli> not parallelized
252 2018-06-03T19:57:49  <sipa> what length?
253 2018-06-03T19:59:47  <jonasschnelli> xpriv... 555 bits
254 2018-06-03T20:00:04  <jonasschnelli> sipa: libbtc code: https://gist.github.com/jonasschnelli/a820d1c937c58292d388f83c1c5aef94
255 2018-06-03T20:00:18  <jonasschnelli> Hacked down very quickly... mistakes are possible
256 2018-06-03T20:02:45  <sipa> there should be 3743128125 combinations to try
257 2018-06-03T20:02:54  *** promag has quit IRC
258 2018-06-03T20:03:00  <sipa> for length 111
259 2018-06-03T20:05:53  <jonasschnelli> sipa: Yes. There is a misstake...
260 2018-06-03T20:06:51  <jonasschnelli> sipa: It may result then in ~60h...
261 2018-06-03T20:07:09  <jonasschnelli> (assume 1048575 takes ~1min)
262 2018-06-03T20:12:48  *** Aaronvan_ has joined #bitcoin-core-dev
263 2018-06-03T20:13:05  *** AaronvanW has quit IRC
264 2018-06-03T20:16:34  <jonasschnelli> sipa: My code does assume that there are 4 characters detected as erroneous, I try to replace all 4 chars with all possible 32-bech-chars in a brute force way. Shouldn't that result in 32^4 attempts?
265 2018-06-03T20:20:18  *** Chris_Stewart_5 has joined #bitcoin-core-dev
266 2018-06-03T20:29:00  *** Chris_Stewart_5 has quit IRC
267 2018-06-03T20:30:07  <sipa> jonasschnelli: you don't know where the 4 errors are
268 2018-06-03T20:30:20  <sipa> you also don't know there are 4 errors
269 2018-06-03T20:30:50  <sipa> you only know whether (A) there are no errors OR more than 4 or (B) something else
270 2018-06-03T20:31:23  <jonasschnelli> sipa: I see. That is my mistake... I assumed Bech32 allows to point to the erroneous chars.
271 2018-06-03T20:31:34  <sipa> jonasschnelli: nope, that requires error correction
272 2018-06-03T20:31:37  <sipa> under the assumption that there are at most 4 errors, this translates to (A) there are no errors or (B) there are 1-3 errors
273 2018-06-03T20:31:59  <sipa> if you know where the errors are, you also know what the errors are
274 2018-06-03T20:32:02  *** LeMiner has joined #bitcoin-core-dev
275 2018-06-03T20:32:15  <jonasschnelli> sipa: I see.
276 2018-06-03T20:33:04  <jonasschnelli> I guess a BCH that can correct 4 errors (15 checksum characters) is probably a good tradeoff
277 2018-06-03T20:33:49  <jonasschnelli> But for 111chars.. (512bit & metadata), that is only 3.6%).
278 2018-06-03T20:34:19  <sipa> it's 126 characters
279 2018-06-03T20:34:28  <sipa> the errors can be in the checksum too
280 2018-06-03T20:34:31  *** Aaronvan_ has quit IRC
281 2018-06-03T20:35:07  *** AaronvanW has joined #bitcoin-core-dev
282 2018-06-03T20:35:14  <jcorgan> there are four lights
283 2018-06-03T20:35:24  * jcorgan ducks
284 2018-06-03T20:36:04  <jonasschnelli> Even with correct up to 28 errors = 102 checksum would then result in "only" 13.1%.
285 2018-06-03T20:36:06  *** promag has joined #bitcoin-core-dev
286 2018-06-03T20:39:24  *** AaronvanW has quit IRC
287 2018-06-03T20:47:39  *** Randolf has quit IRC
288 2018-06-03T20:51:02  *** Chris_Stewart_5 has joined #bitcoin-core-dev
289 2018-06-03T20:55:00  *** grubles has quit IRC
290 2018-06-03T21:00:40  <luke-jr> sipa: more than 4 errors is only *sometimes* indistinguishable from no-errors, I would hope?
291 2018-06-03T21:02:53  <gmaxwell> jonasschnelli: I gave the formula for the number of attempts above:  (length choose 4) * 31^4  (31 not 32 because 32 would mean no error. :P )
292 2018-06-03T21:03:31  <sipa> luke-jr: of course
293 2018-06-03T21:04:20  <jonasschnelli> gmaxwell: what is (length choose 4), then length of the encoded payload & checksum?
294 2018-06-03T21:05:35  <gmaxwell> length is the length with the checksum, "choose" means use the binomial formula  https://en.wikipedia.org/wiki/Binomial_coefficient
295 2018-06-03T21:06:02  *** d9b4bef9 has quit IRC
296 2018-06-03T21:06:31  <gmaxwell> so length! / (4! * (length-4)!)  though you'll run out of precision if you compute it that way. :P
297 2018-06-03T21:07:05  <gmaxwell> (because length! will be enormous)
298 2018-06-03T21:07:07  *** d9b4bef9 has joined #bitcoin-core-dev
299 2018-06-03T21:07:20  <jonasschnelli> I see
300 2018-06-03T21:08:01  *** d9b4bef9 has quit IRC
301 2018-06-03T21:09:08  *** d9b4bef9 has joined #bitcoin-core-dev
302 2018-06-03T21:09:16  <gmaxwell> jonasschnelli: here are some useful concepts.  You can imagine every input string as a point in a many dimensional space.   When we have a checksum we make it so not every point in that space is a valid input, only some have valid check values.   When we say the code can correct up to N errors we mean that if you pick any point (valid or invalid) in that space, and draw a N error wide ball aroun
303 2018-06-03T21:09:16  <gmaxwell> d it, there is only a single valid string inside that ball.  We also usually mean there is an efficient algorithim for finding that solution.
304 2018-06-03T21:10:03  <gmaxwell> That is called a unique solution.  It's also possible to do whats called list error correction, where you draw a ball >N in size, and there are multiple solutions, but hopefully not many (esp if the code is good).
305 2018-06-03T21:11:11  <gmaxwell> (or rather there are _sometimes_ multiple solutions...  when we say we can correct N errors it means that the N ball of _any_ point always has only a single valid input inside of it...  but maybe the N+1 ball  has only a single valid one in it 10% of the time)
306 2018-06-03T21:11:34  <jonasschnelli> Great explanation...
307 2018-06-03T21:11:52  <gmaxwell> For recovering an already used private key it would be totally plausable to list decode a little bit-- just if the list is small enough, since pubkey derv is slow.
308 2018-06-03T21:12:33  <gmaxwell> But if the private key is not already used-- e.g. the first time reentering it after transcribing it on durable media),  list decoding is not so helpful. :)
309 2018-06-03T21:13:17  <jonasschnelli> I guess what it may should be optimise is an error correction where computational costs could be very high with the assumption we can compare against an existing derivation element (an address)
310 2018-06-03T21:13:43  <gmaxwell> Sipa and I actually do have a list decoder for bech32 that goes a little further then the normal check radius, e.g. it can enumerate all the 4 error solutions even though the code can't uniqely correct that many.  I was intending to use it to eventually make better GUI hints for misentry.
311 2018-06-03T21:13:43  *** Krellan has quit IRC
312 2018-06-03T21:14:10  <jonasschnelli> My core i7 can do 31’775 operations per seconds where an operation is bech32-decode->bip32-ckd->hash160->base58check
313 2018-06-03T21:14:14  *** Krellan has joined #bitcoin-core-dev
314 2018-06-03T21:14:44  <gmaxwell> jonasschnelli: yes, so that favors supporting a small amount of list decoding, but probably not more than a half million entries or so.
315 2018-06-03T21:15:18  <gmaxwell> You'd only need CKD and a used-address-table lookup in the inner loop.
316 2018-06-03T21:15:48  <jonasschnelli> Probably the child key index is also required
317 2018-06-03T21:17:27  <gmaxwell> it would certantly be faster if you could hint an index, but my guess is that it would CKD the first 100 keys or something like that, and check each of them.
318 2018-06-03T21:17:44  <jonasschnelli> Yes.
319 2018-06-03T21:20:23  <gmaxwell> in any case these things mean that the correction radius for a used key when you're willing to accept a very slow search might be in practice maybe 2 or so errors more than the numbers in pieter's post.
320 2018-06-03T21:27:31  <drexl> it seems like microsoft just bought github
321 2018-06-03T21:30:14  *** Randolf has joined #bitcoin-core-dev
322 2018-06-03T21:30:50  <midnightmagic> ... whaa?
323 2018-06-03T21:31:22  <midnightmagic> just in discussions, looks like.
324 2018-06-03T21:31:34  <jonasschnelli> https://techcrunch.com/2018/06/03/microsoft-is-reportedly-acquiring-github/
325 2018-06-03T21:32:01  <jonasschnelli> (rumors)
326 2018-06-03T21:32:15  <midnightmagic> Bloomberg sources..
327 2018-06-03T21:32:32  <drexl> https://www.bloomberg.com/news/articles/2018-06-03/microsoft-is-said-to-have-agreed-to-acquire-coding-site-github?
328 2018-06-03T21:32:40  <midnightmagic> lol gee, I wonder what will become of the platform we all depend on.
329 2018-06-03T21:33:53  <jonasschnelli> Integrate Skype for code-review...
330 2018-06-03T21:36:38  * midnightmagic shudders.
331 2018-06-03T21:38:30  <gmaxwell> like skype, first they'll get rid of the git supernodes and centeralize it on their own server farm..
332 2018-06-03T21:38:31  <gmaxwell> wait.
333 2018-06-03T21:39:29  <midnightmagic> they're not profitable. that means microsoft will try to make it profitable; also it'd be hilarious to watch them embrace-and-extend git itself with features that integrate it more tightly with their OS (same as they did for every other acquisition they've ever made, ever.)
334 2018-06-03T21:41:31  <drexl> they didn't really touch linkedin, you can't even login with a microsoft account
335 2018-06-03T21:42:33  <midnightmagic> linkedin was already too riddled with spyware and anti-user features. they couldn't possibly have made it worse, so why not leave it alone.
336 2018-06-03T21:51:08  *** Randolf has quit IRC
337 2018-06-03T21:56:36  *** AaronvanW has joined #bitcoin-core-dev
338 2018-06-03T22:01:06  *** Guyver2 has quit IRC
339 2018-06-03T22:03:57  *** Randolf has joined #bitcoin-core-dev
340 2018-06-03T22:17:52  *** Randolf has quit IRC
341 2018-06-03T22:25:08  <intcat> drexl: i don't think you used to need a linkedin account to view profiles etc
342 2018-06-03T22:31:41  *** qmma70 has joined #bitcoin-core-dev
343 2018-06-03T22:49:09  *** promag has quit IRC
344 2018-06-03T22:51:27  *** LeMiner has quit IRC
345 2018-06-03T22:58:47  *** grubles has joined #bitcoin-core-dev
346 2018-06-03T23:08:44  *** promag has joined #bitcoin-core-dev
347 2018-06-03T23:08:47  *** promag has quit IRC
348 2018-06-03T23:09:55  *** intcat has quit IRC
349 2018-06-03T23:12:40  *** str4d has joined #bitcoin-core-dev
350 2018-06-03T23:14:28  *** intcat has joined #bitcoin-core-dev
351 2018-06-03T23:15:35  *** AaronvanW has quit IRC
352 2018-06-03T23:20:27  *** vicenteH has quit IRC
353 2018-06-03T23:22:06  <Varunram> intcat: those changes were relatively recent
354 2018-06-03T23:22:06  *** Krellan has quit IRC
355 2018-06-03T23:22:41  *** Krellan has joined #bitcoin-core-dev
356 2018-06-03T23:22:45  *** lxer has quit IRC
357 2018-06-03T23:28:21  *** qmma70 has quit IRC
358 2018-06-03T23:29:36  *** grubles has quit IRC
359 2018-06-03T23:31:40  *** unholymachine has joined #bitcoin-core-dev
360 2018-06-03T23:32:40  *** Khunbi has quit IRC
361 2018-06-03T23:32:57  <bitcoin-git> [bitcoin] sipa opened pull request #13386: SHA256 implementations based on Intel SHA Extensions (master...201806_shani) https://github.com/bitcoin/bitcoin/pull/13386
362 2018-06-03T23:43:09  *** meshcollider has joined #bitcoin-core-dev
363 2018-06-03T23:45:45  *** AaronvanW has joined #bitcoin-core-dev
364 2018-06-03T23:46:26  *** drexl has quit IRC
365 2018-06-03T23:55:12  *** qmma70 has joined #bitcoin-core-dev