12018-06-03T00:05:19 *** Chris_Stewart_5 has joined #bitcoin-core-dev
22018-06-03T00:58:40 *** Chris_Stewart_5 has quit IRC
32018-06-03T01:12:22 *** unholymachine has quit IRC
42018-06-03T01:13:01 *** d9b4bef9 has quit IRC
52018-06-03T01:14:08 *** d9b4bef9 has joined #bitcoin-core-dev
62018-06-03T01:14:30 *** AaronvanW has joined #bitcoin-core-dev
72018-06-03T01:19:09 *** AaronvanW has quit IRC
82018-06-03T01:19:11 *** games_ is now known as gay_
92018-06-03T01:21:53 *** drexl has quit IRC
102018-06-03T01:25:26 *** luke-jr has quit IRC
112018-06-03T01:26:05 *** Randolf has quit IRC
122018-06-03T01:31:18 *** luke-jr has joined #bitcoin-core-dev
132018-06-03T01:38:29 *** owowo has quit IRC
142018-06-03T01:41:52 *** BashCo has quit IRC
152018-06-03T01:43:13 *** owowo has joined #bitcoin-core-dev
162018-06-03T02:20:54 *** Randolf has joined #bitcoin-core-dev
172018-06-03T02:22:41 *** cryptojanitor has joined #bitcoin-core-dev
182018-06-03T02:37:22 *** Krellan has quit IRC
192018-06-03T02:38:09 *** Krellan has joined #bitcoin-core-dev
202018-06-03T02:43:45 *** jtimon has quit IRC
212018-06-03T02:48:34 *** lxer has quit IRC
222018-06-03T03:15:16 *** AaronvanW has joined #bitcoin-core-dev
232018-06-03T03:19:27 *** AaronvanW has quit IRC
242018-06-03T03:45:59 *** tylevine has joined #bitcoin-core-dev
252018-06-03T04:00:55 *** zautomata1 has joined #bitcoin-core-dev
262018-06-03T04:03:01 *** zautomata has quit IRC
272018-06-03T04:03:32 *** Victorsueca has quit IRC
282018-06-03T04:04:13 *** randy-waterhouse has joined #bitcoin-core-dev
292018-06-03T04:04:32 *** randy-waterhouse has joined #bitcoin-core-dev
302018-06-03T04:05:14 *** Victorsueca has joined #bitcoin-core-dev
312018-06-03T04:08:10 *** jhfrontz has quit IRC
322018-06-03T04:22:20 *** rex4539 has joined #bitcoin-core-dev
332018-06-03T04:37:31 *** rex4539 has quit IRC
342018-06-03T04:38:07 *** rex4539 has joined #bitcoin-core-dev
352018-06-03T04:41:52 *** cryptojanitor has quit IRC
362018-06-03T04:43:51 *** luke-jr has quit IRC
372018-06-03T04:43:52 *** Krellan has quit IRC
382018-06-03T04:44:25 *** luke-jr has joined #bitcoin-core-dev
392018-06-03T04:44:39 *** Krellan has joined #bitcoin-core-dev
402018-06-03T05:15:58 *** AaronvanW has joined #bitcoin-core-dev
412018-06-03T05:20:49 *** AaronvanW has quit IRC
422018-06-03T05:35:10 *** randy-waterhouse has quit IRC
432018-06-03T06:26:43 *** randy-waterhouse has joined #bitcoin-core-dev
442018-06-03T06:31:10 *** randy-waterhouse has quit IRC
452018-06-03T07:02:19 *** Soligor has quit IRC
462018-06-03T07:04:06 *** Soligor has joined #bitcoin-core-dev
472018-06-03T07:14:37 *** AaronvanW has joined #bitcoin-core-dev
482018-06-03T07:19:29 *** AaronvanW has quit IRC
492018-06-03T07:29:48 *** bitconner has joined #bitcoin-core-dev
502018-06-03T07:39:19 *** zautomata1 has quit IRC
512018-06-03T07:58:46 *** ProfMac has quit IRC
522018-06-03T08:31:29 *** Randolf has quit IRC
532018-06-03T08:33:10 *** Randolf has joined #bitcoin-core-dev
542018-06-03T08:35:57 *** BashCo has joined #bitcoin-core-dev
552018-06-03T08:45:02 *** d9b4bef9 has quit IRC
562018-06-03T08:47:10 *** ren0v0 has quit IRC
572018-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/..."?
582018-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
592018-06-03T09:13:58 *** Krellan has quit IRC
602018-06-03T09:14:32 *** Krellan has joined #bitcoin-core-dev
612018-06-03T09:14:51 *** AaronvanW has joined #bitcoin-core-dev
622018-06-03T09:15:42 *** lxer has joined #bitcoin-core-dev
632018-06-03T09:26:29 *** d3nial has joined #bitcoin-core-dev
642018-06-03T09:27:08 *** BashCo has quit IRC
652018-06-03T09:29:12 *** BashCo has joined #bitcoin-core-dev
662018-06-03T09:29:14 *** A4L has joined #bitcoin-core-dev
672018-06-03T09:29:58 <A4L> Php/python/linux bash: send.bitcoin(privatekey, publickey, amount); how to??
682018-06-03T09:30:17 *** Victorsueca has quit IRC
692018-06-03T09:30:56 <jonasschnelli> A4L be more specific in your question and use #bitcoin-dev (this channel is for Bitcoin Core development)
702018-06-03T09:31:32 *** Victorsueca has joined #bitcoin-core-dev
712018-06-03T09:32:18 *** A4L has left #bitcoin-core-dev
722018-06-03T09:32:57 *** bitconner has quit IRC
732018-06-03T09:33:32 *** BashCo_ has joined #bitcoin-core-dev
742018-06-03T09:35:36 *** BashCo__ has joined #bitcoin-core-dev
752018-06-03T09:36:01 *** BashCo has quit IRC
762018-06-03T09:37:35 *** BashCo_ has quit IRC
772018-06-03T09:38:33 *** BashCo has joined #bitcoin-core-dev
782018-06-03T09:41:53 *** BashCo__ has quit IRC
792018-06-03T09:42:40 *** BashCo_ has joined #bitcoin-core-dev
802018-06-03T09:43:47 *** Krellan has quit IRC
812018-06-03T09:43:53 *** BashCo has quit IRC
822018-06-03T09:44:11 *** d3nial has quit IRC
832018-06-03T09:48:48 *** BashCo_ has quit IRC
842018-06-03T09:49:03 *** BashCo has joined #bitcoin-core-dev
852018-06-03T09:49:21 *** Krellan has joined #bitcoin-core-dev
862018-06-03T09:49:37 *** votefrac has joined #bitcoin-core-dev
872018-06-03T09:53:54 *** BashCo has quit IRC
882018-06-03T09:55:03 *** BashCo has joined #bitcoin-core-dev
892018-06-03T09:57:44 *** BashCo_ has joined #bitcoin-core-dev
902018-06-03T09:59:21 *** BashCo has quit IRC
912018-06-03T10:09:07 *** promag has joined #bitcoin-core-dev
922018-06-03T10:10:46 *** promag has quit IRC
932018-06-03T10:30:51 *** votefrac has quit IRC
942018-06-03T10:37:38 *** drexl has joined #bitcoin-core-dev
952018-06-03T10:38:04 *** jtimon has joined #bitcoin-core-dev
962018-06-03T10:38:23 *** luke-jr has quit IRC
972018-06-03T10:38:34 *** luke-jr has joined #bitcoin-core-dev
982018-06-03T10:50:58 *** votefrac has joined #bitcoin-core-dev
992018-06-03T11:00:05 *** votefrac has quit IRC
1002018-06-03T11:01:17 *** votefrac has joined #bitcoin-core-dev
1012018-06-03T11:04:28 *** Krellan has quit IRC
1022018-06-03T11:06:20 *** qwertzlcoatl has joined #bitcoin-core-dev
1032018-06-03T11:10:01 *** Krellan has joined #bitcoin-core-dev
1042018-06-03T11:15:24 *** qwertzlcoatl has quit IRC
1052018-06-03T11:38:14 *** SopaXorzTaker has joined #bitcoin-core-dev
1062018-06-03T11:55:57 *** luke-jr has quit IRC
1072018-06-03T12:03:52 *** ToURniQue has joined #bitcoin-core-dev
1082018-06-03T12:24:08 *** d9b4bef9 has joined #bitcoin-core-dev
1092018-06-03T12:26:02 *** d9b4bef9 has quit IRC
1102018-06-03T12:29:07 *** d9b4bef9 has joined #bitcoin-core-dev
1112018-06-03T12:34:51 *** Krellan has quit IRC
1122018-06-03T12:40:06 *** Krellan has joined #bitcoin-core-dev
1132018-06-03T12:43:55 *** lnostdal has quit IRC
1142018-06-03T13:07:47 *** promag has joined #bitcoin-core-dev
1152018-06-03T13:08:53 *** SopaXorzTaker has quit IRC
1162018-06-03T13:10:29 *** SopaXorzTaker has joined #bitcoin-core-dev
1172018-06-03T13:14:21 *** promag has quit IRC
1182018-06-03T13:14:58 *** Krellan has quit IRC
1192018-06-03T13:20:04 *** Krellan has joined #bitcoin-core-dev
1202018-06-03T13:21:54 *** Khunbi has joined #bitcoin-core-dev
1212018-06-03T13:41:21 *** Victorsueca has quit IRC
1222018-06-03T13:42:37 *** Victorsueca has joined #bitcoin-core-dev
1232018-06-03T13:42:44 *** SopaXorzTaker has quit IRC
1242018-06-03T13:45:59 *** gay_ is now known as games_
1252018-06-03T13:47:05 *** luke-jr has joined #bitcoin-core-dev
1262018-06-03T13:53:25 *** laurentmt has joined #bitcoin-core-dev
1272018-06-03T13:54:00 *** lnostdal has joined #bitcoin-core-dev
1282018-06-03T13:57:45 *** Guyver2 has joined #bitcoin-core-dev
1292018-06-03T14:05:14 *** timothy has joined #bitcoin-core-dev
1302018-06-03T14:18:10 *** Chris_Stewart_5 has joined #bitcoin-core-dev
1312018-06-03T14:26:44 *** Arvidt has joined #bitcoin-core-dev
1322018-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?
1332018-06-03T14:31:52 *** laurentmt has quit IRC
1342018-06-03T14:38:59 *** Khunbi has quit IRC
1352018-06-03T14:42:04 <Arvidt> export LC_MESSAGES=C leads the GUI to be also in English
1362018-06-03T14:45:18 *** Krellan has quit IRC
1372018-06-03T14:45:55 *** Krellan has joined #bitcoin-core-dev
1382018-06-03T14:50:14 *** Krellan has quit IRC
1392018-06-03T14:50:55 *** Krellan has joined #bitcoin-core-dev
1402018-06-03T14:57:47 *** SopaXorzTaker has joined #bitcoin-core-dev
1412018-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
1422018-06-03T15:03:58 *** timothy has quit IRC
1432018-06-03T15:08:59 *** Khunbi has joined #bitcoin-core-dev
1442018-06-03T15:18:04 *** AaronvanW has quit IRC
1452018-06-03T15:19:07 *** Arvidt has quit IRC
1462018-06-03T15:28:41 *** AaronvanW has joined #bitcoin-core-dev
1472018-06-03T15:33:10 *** AaronvanW has quit IRC
1482018-06-03T15:34:08 *** Chris_Stewart_5 has quit IRC
1492018-06-03T15:38:58 *** Victorsueca has quit IRC
1502018-06-03T15:40:33 *** Victorsueca has joined #bitcoin-core-dev
1512018-06-03T15:42:42 *** promag has joined #bitcoin-core-dev
1522018-06-03T15:44:13 *** AaronvanW has joined #bitcoin-core-dev
1532018-06-03T15:45:04 *** promag has quit IRC
1542018-06-03T16:55:35 *** Randolf has quit IRC
1552018-06-03T16:56:33 *** dc has quit IRC
1562018-06-03T16:56:45 *** Randolf has joined #bitcoin-core-dev
1572018-06-03T16:57:20 *** dc1 has joined #bitcoin-core-dev
1582018-06-03T17:00:12 *** Krellan has quit IRC
1592018-06-03T17:05:36 *** Krellan has joined #bitcoin-core-dev
1602018-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
1612018-06-03T17:48:02 *** d9b4bef9 has quit IRC
1622018-06-03T17:48:41 *** JackH has joined #bitcoin-core-dev
1632018-06-03T17:49:08 *** d9b4bef9 has joined #bitcoin-core-dev
1642018-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
1652018-06-03T18:21:39 <sipa> jonasschnelli: you cannot correct more than 2 errors in bech32, ever
1662018-06-03T18:21:43 <sipa> this is not a question of efficiency
1672018-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?
1682018-06-03T18:23:18 <sipa> oh, sure
1692018-06-03T18:23:20 <sipa> even more
1702018-06-03T18:23:23 <sipa> there is no limit to that
1712018-06-03T18:23:26 <jonasschnelli> with a 4^32 trial and error
1722018-06-03T18:24:18 <gmaxwell> "-try- to correct the possible 4 detected errors" thats not how it works.
1732018-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
1742018-06-03T18:24:44 <sipa> none of that has anything to do with correction
1752018-06-03T18:24:54 <sipa> you can always try all combinations of N changes to the input, and see if they work
1762018-06-03T18:24:59 <sipa> that's not limited to 4
1772018-06-03T18:25:02 <sipa> and isn't called correction
1782018-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
1792018-06-03T18:25:18 <jonasschnelli> I guess I used the wrong term then...
1802018-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)
1812018-06-03T18:25:48 <sipa> jonasschnelli: my point is that there is no limit of 4 errors for that
1822018-06-03T18:25:59 <jonasschnelli> I see
1832018-06-03T18:26:01 <sipa> you can try all combinations of 6 changes to the input too, and see which one work
1842018-06-03T18:26:08 <sipa> if you have enough computational power
1852018-06-03T18:26:59 *** Chris_Stewart_5 has joined #bitcoin-core-dev
1862018-06-03T18:28:00 <sipa> jonasschnelli: what does "P2WPKH P2WSH nested in P2SH" mean?
1872018-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?
1882018-06-03T18:28:23 <sipa> jonasschnelli: all of them, obviously
1892018-06-03T18:28:31 <sipa> you try every possible private key
1902018-06-03T18:28:36 <sipa> this has nothing to do with the encoding
1912018-06-03T18:28:47 <gmaxwell> sipa: he wants a function on cpu usage vs distance.
1922018-06-03T18:28:52 <sipa> ah, sorry!
1932018-06-03T18:29:01 <jonasschnelli> I mean efficient
1942018-06-03T18:29:33 <jonasschnelli> what gmaxwell said. yes
1952018-06-03T18:29:37 <sipa> the checksum just gives you a fixed speedup
1962018-06-03T18:29:43 <sipa> larger checksums give you a better speedup
1972018-06-03T18:30:09 <jonasschnelli> P2WPKH: the P2WSH part should be removed there (paste error)
1982018-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)
1992018-06-03T18:31:36 <sipa> jonasschnelli: if you want a way to represent the current bitcoin core behaviour, it also needs P2PK
2002018-06-03T18:32:00 <jonasschnelli> I thought of that... but undefined is probably okay to set in this case
2012018-06-03T18:32:44 <sipa> there shouldn't be undefined IMHO; you can use the existing xprv encoding for that
2022018-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.
2032018-06-03T18:34:21 <jonasschnelli> do you think bech32 & derived element is acceptable for reconstructing extended keys?
2042018-06-03T18:34:31 <sipa> bech32 of what?
2052018-06-03T18:34:46 <jonasschnelli> chaincode&privatekey
2062018-06-03T18:34:58 <sipa> ah, i see
2072018-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.
2082018-06-03T18:35:07 <sipa> i really think for private keys you want stronger error detection
2092018-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.
2102018-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.
2112018-06-03T18:38:00 <jonasschnelli> So your saying the bech32 error detection is not sufficient to check the entered extended key before deriving subkeys?
2122018-06-03T18:38:27 <jonasschnelli> (since 512bit exceed the bech32 90 chars limit?)
2132018-06-03T18:38:40 <sipa> jonasschnelli: if you either have a vast amount of computation power, or only 1 error... sure
2142018-06-03T18:38:50 <sipa> but bech32 is really the wrong choice here
2152018-06-03T18:39:12 *** Guyver2_ has joined #bitcoin-core-dev
2162018-06-03T18:39:57 *** Chris_Stewart_5 has quit IRC
2172018-06-03T18:40:03 <jonasschnelli> Yes. Maybe a new cycling could would make sense...
2182018-06-03T18:40:15 <sipa> I'll comment on the list
2192018-06-03T18:40:22 <jonasschnelli> thanks.
2202018-06-03T18:40:45 <jonasschnelli> reusing bech32 for keys instead of using Base58check is such a low hanging fruit..
2212018-06-03T18:40:55 <jonasschnelli> I hope we identify a code as soon as possible
2222018-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
2232018-06-03T18:42:05 *** Guyver2 has quit IRC
2242018-06-03T18:42:14 *** Guyver2_ is now known as Guyver2
2252018-06-03T18:42:27 <jonasschnelli> but I guess strong error detection is more important then simple implementation properties
2262018-06-03T18:42:55 *** Chris_Stewart_5 has joined #bitcoin-core-dev
2272018-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
2282018-06-03T18:44:15 <jonasschnelli> sipa: yes..perhaps.
2292018-06-03T18:46:11 *** Randolf has quit IRC
2302018-06-03T18:46:51 *** Randolf has joined #bitcoin-core-dev
2312018-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
2322018-06-03T19:09:21 *** Chris_Stewart_5 has quit IRC
2332018-06-03T19:17:57 *** AaronvanW has quit IRC
2342018-06-03T19:18:50 *** Khunbi has quit IRC
2352018-06-03T19:20:37 *** Khunbi has joined #bitcoin-core-dev
2362018-06-03T19:23:36 *** SopaXorzTaker has quit IRC
2372018-06-03T19:24:58 <sipa> jonasschnelli: sent
2382018-06-03T19:25:06 <jonasschnelli> sipa: reading...
2392018-06-03T19:25:26 <jonasschnelli> and writing code to exploit 4 invalid chats in a encoded key. :)
2402018-06-03T19:26:10 *** AaronvanW has joined #bitcoin-core-dev
2412018-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?
2422018-06-03T19:28:36 <sipa> jonasschnelli: that sounds hard
2432018-06-03T19:29:01 <jonasschnelli> ok
2442018-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)?
2452018-06-03T19:50:36 *** promag has joined #bitcoin-core-dev
2462018-06-03T19:50:36 <jonasschnelli> 923520 attempts
2472018-06-03T19:50:45 <jonasschnelli> real 1m0.189s
2482018-06-03T19:50:53 <jonasschnelli> And that is with -O0 :)
2492018-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
2502018-06-03T19:57:01 <jonasschnelli> With -O0 and parallelized
2512018-06-03T19:57:05 <jonasschnelli> not parallelized
2522018-06-03T19:57:49 <sipa> what length?
2532018-06-03T19:59:47 <jonasschnelli> xpriv... 555 bits
2542018-06-03T20:00:04 <jonasschnelli> sipa: libbtc code: https://gist.github.com/jonasschnelli/a820d1c937c58292d388f83c1c5aef94
2552018-06-03T20:00:18 <jonasschnelli> Hacked down very quickly... mistakes are possible
2562018-06-03T20:02:45 <sipa> there should be 3743128125 combinations to try
2572018-06-03T20:02:54 *** promag has quit IRC
2582018-06-03T20:03:00 <sipa> for length 111
2592018-06-03T20:05:53 <jonasschnelli> sipa: Yes. There is a misstake...
2602018-06-03T20:06:51 <jonasschnelli> sipa: It may result then in ~60h...
2612018-06-03T20:07:09 <jonasschnelli> (assume 1048575 takes ~1min)
2622018-06-03T20:12:48 *** Aaronvan_ has joined #bitcoin-core-dev
2632018-06-03T20:13:05 *** AaronvanW has quit IRC
2642018-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?
2652018-06-03T20:20:18 *** Chris_Stewart_5 has joined #bitcoin-core-dev
2662018-06-03T20:29:00 *** Chris_Stewart_5 has quit IRC
2672018-06-03T20:30:07 <sipa> jonasschnelli: you don't know where the 4 errors are
2682018-06-03T20:30:20 <sipa> you also don't know there are 4 errors
2692018-06-03T20:30:50 <sipa> you only know whether (A) there are no errors OR more than 4 or (B) something else
2702018-06-03T20:31:23 <jonasschnelli> sipa: I see. That is my mistake... I assumed Bech32 allows to point to the erroneous chars.
2712018-06-03T20:31:34 <sipa> jonasschnelli: nope, that requires error correction
2722018-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
2732018-06-03T20:31:59 <sipa> if you know where the errors are, you also know what the errors are
2742018-06-03T20:32:02 *** LeMiner has joined #bitcoin-core-dev
2752018-06-03T20:32:15 <jonasschnelli> sipa: I see.
2762018-06-03T20:33:04 <jonasschnelli> I guess a BCH that can correct 4 errors (15 checksum characters) is probably a good tradeoff
2772018-06-03T20:33:49 <jonasschnelli> But for 111chars.. (512bit & metadata), that is only 3.6%).
2782018-06-03T20:34:19 <sipa> it's 126 characters
2792018-06-03T20:34:28 <sipa> the errors can be in the checksum too
2802018-06-03T20:34:31 *** Aaronvan_ has quit IRC
2812018-06-03T20:35:07 *** AaronvanW has joined #bitcoin-core-dev
2822018-06-03T20:35:14 <jcorgan> there are four lights
2832018-06-03T20:35:24 * jcorgan ducks
2842018-06-03T20:36:04 <jonasschnelli> Even with correct up to 28 errors = 102 checksum would then result in "only" 13.1%.
2852018-06-03T20:36:06 *** promag has joined #bitcoin-core-dev
2862018-06-03T20:39:24 *** AaronvanW has quit IRC
2872018-06-03T20:47:39 *** Randolf has quit IRC
2882018-06-03T20:51:02 *** Chris_Stewart_5 has joined #bitcoin-core-dev
2892018-06-03T20:55:00 *** grubles has quit IRC
2902018-06-03T21:00:40 <luke-jr> sipa: more than 4 errors is only *sometimes* indistinguishable from no-errors, I would hope?
2912018-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 )
2922018-06-03T21:03:31 <sipa> luke-jr: of course
2932018-06-03T21:04:20 <jonasschnelli> gmaxwell: what is (length choose 4), then length of the encoded payload & checksum?
2942018-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
2952018-06-03T21:06:02 *** d9b4bef9 has quit IRC
2962018-06-03T21:06:31 <gmaxwell> so length! / (4! * (length-4)!) though you'll run out of precision if you compute it that way. :P
2972018-06-03T21:07:05 <gmaxwell> (because length! will be enormous)
2982018-06-03T21:07:07 *** d9b4bef9 has joined #bitcoin-core-dev
2992018-06-03T21:07:20 <jonasschnelli> I see
3002018-06-03T21:08:01 *** d9b4bef9 has quit IRC
3012018-06-03T21:09:08 *** d9b4bef9 has joined #bitcoin-core-dev
3022018-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
3032018-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.
3042018-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).
3052018-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)
3062018-06-03T21:11:34 <jonasschnelli> Great explanation...
3072018-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.
3082018-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. :)
3092018-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)
3102018-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.
3112018-06-03T21:13:43 *** Krellan has quit IRC
3122018-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
3132018-06-03T21:14:14 *** Krellan has joined #bitcoin-core-dev
3142018-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.
3152018-06-03T21:15:18 <gmaxwell> You'd only need CKD and a used-address-table lookup in the inner loop.
3162018-06-03T21:15:48 <jonasschnelli> Probably the child key index is also required
3172018-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.
3182018-06-03T21:17:44 <jonasschnelli> Yes.
3192018-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.
3202018-06-03T21:27:31 <drexl> it seems like microsoft just bought github
3212018-06-03T21:30:14 *** Randolf has joined #bitcoin-core-dev
3222018-06-03T21:30:50 <midnightmagic> ... whaa?
3232018-06-03T21:31:22 <midnightmagic> just in discussions, looks like.
3242018-06-03T21:31:34 <jonasschnelli> https://techcrunch.com/2018/06/03/microsoft-is-reportedly-acquiring-github/
3252018-06-03T21:32:01 <jonasschnelli> (rumors)
3262018-06-03T21:32:15 <midnightmagic> Bloomberg sources..
3272018-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?
3282018-06-03T21:32:40 <midnightmagic> lol gee, I wonder what will become of the platform we all depend on.
3292018-06-03T21:33:53 <jonasschnelli> Integrate Skype for code-review...
3302018-06-03T21:36:38 * midnightmagic shudders.
3312018-06-03T21:38:30 <gmaxwell> like skype, first they'll get rid of the git supernodes and centeralize it on their own server farm..
3322018-06-03T21:38:31 <gmaxwell> wait.
3332018-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.)
3342018-06-03T21:41:31 <drexl> they didn't really touch linkedin, you can't even login with a microsoft account
3352018-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.
3362018-06-03T21:51:08 *** Randolf has quit IRC
3372018-06-03T21:56:36 *** AaronvanW has joined #bitcoin-core-dev
3382018-06-03T22:01:06 *** Guyver2 has quit IRC
3392018-06-03T22:03:57 *** Randolf has joined #bitcoin-core-dev
3402018-06-03T22:17:52 *** Randolf has quit IRC
3412018-06-03T22:25:08 <intcat> drexl: i don't think you used to need a linkedin account to view profiles etc
3422018-06-03T22:31:41 *** qmma70 has joined #bitcoin-core-dev
3432018-06-03T22:49:09 *** promag has quit IRC
3442018-06-03T22:51:27 *** LeMiner has quit IRC
3452018-06-03T22:58:47 *** grubles has joined #bitcoin-core-dev
3462018-06-03T23:08:44 *** promag has joined #bitcoin-core-dev
3472018-06-03T23:08:47 *** promag has quit IRC
3482018-06-03T23:09:55 *** intcat has quit IRC
3492018-06-03T23:12:40 *** str4d has joined #bitcoin-core-dev
3502018-06-03T23:14:28 *** intcat has joined #bitcoin-core-dev
3512018-06-03T23:15:35 *** AaronvanW has quit IRC
3522018-06-03T23:20:27 *** vicenteH has quit IRC
3532018-06-03T23:22:06 <Varunram> intcat: those changes were relatively recent
3542018-06-03T23:22:06 *** Krellan has quit IRC
3552018-06-03T23:22:41 *** Krellan has joined #bitcoin-core-dev
3562018-06-03T23:22:45 *** lxer has quit IRC
3572018-06-03T23:28:21 *** qmma70 has quit IRC
3582018-06-03T23:29:36 *** grubles has quit IRC
3592018-06-03T23:31:40 *** unholymachine has joined #bitcoin-core-dev
3602018-06-03T23:32:40 *** Khunbi has quit IRC
3612018-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
3622018-06-03T23:43:09 *** meshcollider has joined #bitcoin-core-dev
3632018-06-03T23:45:45 *** AaronvanW has joined #bitcoin-core-dev
3642018-06-03T23:46:26 *** drexl has quit IRC
3652018-06-03T23:55:12 *** qmma70 has joined #bitcoin-core-dev