12025-05-26T00:01:13  *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has quit IRC (Remote host closed the connection)
  22025-05-26T00:01:26  *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
  32025-05-26T00:04:34  *** jespada <jespada!~jespada@r186-48-60-195.dialup.adsl.anteldata.net.uy> has quit IRC (Ping timeout: 245 seconds)
  42025-05-26T00:31:55  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
  52025-05-26T02:00:01  *** upekkha <upekkha!~Advanced@2a01:4f8:1c0c:49df::1> has quit IRC ()
  62025-05-26T02:00:38  *** upekkha <upekkha!~Advanced@2a01:4f8:1c0c:49df::1> has joined #bitcoin-core-dev
  72025-05-26T02:03:35  *** Krellan <Krellan!~Krellan@2001:5a8:4b30:ed00:7184:bd0e:8969:28a9> has joined #bitcoin-core-dev
  82025-05-26T02:20:55  *** Cory80 <Cory80!~Cory80@user/pasha> has quit IRC (Quit: Client closed)
  92025-05-26T02:20:56  *** Cory4 <Cory4!~Cory80@user/pasha> has joined #bitcoin-core-dev
 102025-05-26T03:03:34  *** charlie_capt <charlie_capt!~charlie_c@119.75.194.99> has joined #bitcoin-core-dev
 112025-05-26T03:36:50  *** Guest87 <Guest87!~Guest34@208.26.71.39> has joined #bitcoin-core-dev
 122025-05-26T03:52:49  *** Guest87 <Guest87!~Guest34@208.26.71.39> has quit IRC (Quit: Client closed)
 132025-05-26T04:01:32  *** cmirror <cmirror!~cmirror@4.53.92.114> has joined #bitcoin-core-dev
 142025-05-26T04:03:00  *** emcy__ <emcy__!~emcy@148.252.147.76> has joined #bitcoin-core-dev
 152025-05-26T04:05:59  *** mcey_ <mcey_!~emcy@85.255.233.201> has quit IRC (Ping timeout: 260 seconds)
 162025-05-26T04:19:19  *** spynxic <spynxic!~spynxic@spynxic.powered.by.lunarbnc.net> has quit IRC (Read error: Connection reset by peer)
 172025-05-26T04:19:23  *** spynx <spynx!~spynxic@spynxic.powered.by.lunarbnc.net> has joined #bitcoin-core-dev
 182025-05-26T04:57:59  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Remote host closed the connection)
 192025-05-26T05:03:55  *** bitdex <bitdex!~bitdex@gateway/tor-sasl/bitdex> has quit IRC (Quit: = "")
 202025-05-26T05:18:25  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 212025-05-26T05:19:51  *** S3RK_ <S3RK_!~S3RK@user/s3rk> has joined #bitcoin-core-dev
 222025-05-26T05:22:54  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 245 seconds)
 232025-05-26T05:23:04  *** S3RK <S3RK!~S3RK@user/s3rk> has quit IRC (Ping timeout: 252 seconds)
 242025-05-26T05:33:00  *** charlie_capt <charlie_capt!~charlie_c@119.75.194.99> has quit IRC (Quit: Client closed)
 252025-05-26T05:39:29  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 262025-05-26T05:55:42  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 276 seconds)
 272025-05-26T06:20:04  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 282025-05-26T06:24:09  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 245 seconds)
 292025-05-26T06:27:36  *** nanotube <nanotube!~nanotube@user/nanotube> has joined #bitcoin-core-dev
 302025-05-26T06:38:25  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 312025-05-26T07:01:10  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 260 seconds)
 322025-05-26T07:22:10  *** dermoth <dermoth!~dermoth@user/dermoth> has quit IRC (Ping timeout: 268 seconds)
 332025-05-26T07:23:41  *** dermoth <dermoth!~dermoth@user/dermoth> has joined #bitcoin-core-dev
 342025-05-26T07:38:06  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 352025-05-26T07:45:04  *** Guyver2 <Guyver2!~Guyver@77-174-98-73.fixed.kpn.net> has joined #bitcoin-core-dev
 362025-05-26T07:57:16  *** purpleKarrot <purpleKarrot!~purpleKar@user/purpleKarrot> has joined #bitcoin-core-dev
 372025-05-26T08:02:33  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 252 seconds)
 382025-05-26T08:04:48  <bitcoin-git> [bitcoin] w0xlt opened pull request #32617: [Draft/POC] Add secp256k1-based HPKE (Hybrid Public Key Encryption) For Payjoin v2 (master...secp256k1_hpke) https://github.com/bitcoin/bitcoin/pull/32617
 392025-05-26T08:33:17  <bitcoin-git> [bitcoin] rkrux closed pull request #32411: doc: update CWallet::SignTransaction doc to mention SIGHASH_DEFAULT (master...sighash-default-doc) https://github.com/bitcoin/bitcoin/pull/32411
 402025-05-26T08:33:59  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 412025-05-26T08:47:46  *** charlie_capt <charlie_capt!~charlie_c@119.75.194.99> has joined #bitcoin-core-dev
 422025-05-26T08:48:11  <bitcoin-git> [gui] Krellan opened pull request #876: Including exception what() in Runaway dialog box (master...exception-what) https://github.com/bitcoin-core/gui/pull/876
 432025-05-26T08:52:00  <Krellan> I wrote that, then ran into trouble trying to reproduce the original runaway exception that earlier intrigued me! seems the runaway exception only happens on the shipped 29.0 and not on what I compiled from the 29.0 branch. I'm guessing the version of Berkeley DB on my system is newer enough the wallet corruption/incompatibility didn't happen
 442025-05-26T08:58:49  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 260 seconds)
 452025-05-26T09:02:41  *** entropyx <entropyx!~blackbox@user/entropyx> has quit IRC (Remote host closed the connection)
 462025-05-26T09:02:56  *** purpleKarrot <purpleKarrot!~purpleKar@user/purpleKarrot> has quit IRC (Quit: purpleKarrot)
 472025-05-26T09:03:13  *** entropyx <entropyx!~blackbox@82.86.130.246> has joined #bitcoin-core-dev
 482025-05-26T09:40:04  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 492025-05-26T10:06:21  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 272 seconds)
 502025-05-26T10:09:48  *** Guyver2 <Guyver2!~Guyver@77-174-98-73.fixed.kpn.net> has quit IRC (Quit: Going offline, see ya! (www.adiirc.com))
 512025-05-26T10:27:20  *** charlie_capt <charlie_capt!~charlie_c@119.75.194.99> has quit IRC (Quit: Client closed)
 522025-05-26T10:41:22  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 532025-05-26T11:01:25  *** jespada <jespada!~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy> has joined #bitcoin-core-dev
 542025-05-26T11:01:42  *** Guyver2 <Guyver2!~Guyver@77-174-98-73.fixed.kpn.net> has joined #bitcoin-core-dev
 552025-05-26T11:05:27  *** Guyver2 <Guyver2!~Guyver@77-174-98-73.fixed.kpn.net> has left #bitcoin-core-dev
 562025-05-26T11:07:00  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 252 seconds)
 572025-05-26T11:43:40  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 582025-05-26T12:08:44  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 276 seconds)
 592025-05-26T12:17:24  *** jespada <jespada!~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy> has quit IRC (Quit: My Mac has gone to sleep. ZZZzzz…)
 602025-05-26T12:21:32  *** jespada <jespada!~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy> has joined #bitcoin-core-dev
 612025-05-26T12:43:03  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 622025-05-26T12:46:48  *** pablomartin <pablomartin!~pablomart@66.red-79-151-104.dynamicip.rima-tde.net> has quit IRC (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
 632025-05-26T12:50:42  *** jespada <jespada!~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy> has quit IRC (Quit: Textual IRC Client: www.textualapp.com)
 642025-05-26T12:51:15  *** jespada <jespada!~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy> has joined #bitcoin-core-dev
 652025-05-26T13:03:24  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 276 seconds)
 662025-05-26T13:22:24  *** hernanmarino <hernanmarino!~hernanmar@2800:2330:2800:2e7:90fa:a87a:ffb2:3428> has quit IRC (Quit: ZNC 1.8.2+deb2+deb11u1 - https://znc.in)
 672025-05-26T13:22:44  *** hernanmarino <hernanmarino!~hernanmar@2800:2330:2800:2e7:90fa:a87a:ffb2:3428> has joined #bitcoin-core-dev
 682025-05-26T13:42:54  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 692025-05-26T13:48:30  *** Guest40 <Guest40!~Guest40@2a00:20:46:bf4:318e:8bef:ea6b:aaf0> has joined #bitcoin-core-dev
 702025-05-26T13:48:48  *** Guest40 <Guest40!~Guest40@2a00:20:46:bf4:318e:8bef:ea6b:aaf0> has quit IRC (Client Quit)
 712025-05-26T14:02:44  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has quit IRC (Ping timeout: 265 seconds)
 722025-05-26T14:32:24  *** Sjors[m] <Sjors[m]!~provooste@2620:6e:a000:ce11::1f> has quit IRC (Quit: Bridge terminating on SIGTERM)
 732025-05-26T14:32:24  *** bitcoin-git <bitcoin-git!~bitcoin-g@2620:6e:a000:ce11::21> has quit IRC (Quit: Bridge terminating on SIGTERM)
 742025-05-26T14:32:24  *** BlueMattMtrxBot <BlueMattMtrxBot!~bluemattm@2620:6e:a000:ce11::42> has quit IRC (Quit: Bridge terminating on SIGTERM)
 752025-05-26T14:32:24  *** sr_gi[m] <sr_gi[m]!~srgimatri@2620:6e:a000:ce11::2a> has quit IRC (Quit: Bridge terminating on SIGTERM)
 762025-05-26T14:32:24  *** laanwj <laanwj!~laanwj@user/laanwj> has quit IRC (Quit: Bridge terminating on SIGTERM)
 772025-05-26T14:32:24  *** Murch[m] <Murch[m]!~murch@user/murch> has quit IRC (Quit: Bridge terminating on SIGTERM)
 782025-05-26T14:32:38  *** BlueMattMtrxBot <BlueMattMtrxBot!~bluemattm@2620:6e:a000:ce11::44> has joined #bitcoin-core-dev
 792025-05-26T14:34:58  *** kvaciral[m] <kvaciral[m]!~kvaciralx@2620:6e:a000:ce11::27> has joined #bitcoin-core-dev
 802025-05-26T14:38:33  *** kevkevin <kevkevin!~kevkevin@209.242.39.30> has joined #bitcoin-core-dev
 812025-05-26T14:44:06  *** BlueMattTest <BlueMattTest!~test-acct@2620:6e:a000:ce11::c> has joined #bitcoin-core-dev
 822025-05-26T14:44:16  *** BlueMatt[m] <BlueMatt[m]!~bluematt@2620:6e:a000:ce11::d> has joined #bitcoin-core-dev
 832025-05-26T14:44:19  *** spynx is now known as spynxic
 842025-05-26T14:44:26  *** stratospher[m] <stratospher[m]!~stratosph@2620:6e:a000:ce11::1e> has joined #bitcoin-core-dev
 852025-05-26T14:44:36  *** sr_gi[m] <sr_gi[m]!~srgimatri@2620:6e:a000:ce11::2a> has joined #bitcoin-core-dev
 862025-05-26T14:44:46  *** bitcoin-git <bitcoin-git!~bitcoin-g@2620:6e:a000:ce11::21> has joined #bitcoin-core-dev
 872025-05-26T14:44:57  *** laanwj <laanwj!~laanwj@user/laanwj> has joined #bitcoin-core-dev
 882025-05-26T14:45:06  *** Murch[m] <Murch[m]!~murch@2620:6e:a000:ce11::1b> has joined #bitcoin-core-dev
 892025-05-26T14:45:16  *** b10c[m] <b10c[m]!~b10cb10cm@2620:6e:a000:ce11::1c> has joined #bitcoin-core-dev
 902025-05-26T14:45:26  *** Sjors[m] <Sjors[m]!~provooste@2620:6e:a000:ce11::1f> has joined #bitcoin-core-dev
 912025-05-26T15:13:59  *** jespada <jespada!~jespada@r167-61-38-116.dialup.adsl.anteldata.net.uy> has quit IRC (Ping timeout: 244 seconds)
 922025-05-26T15:17:45  *** jespada <jespada!~jespada@r179-24-29-82.dialup.adsl.anteldata.net.uy> has joined #bitcoin-core-dev
 932025-05-26T15:34:19  *** robszarka <robszarka!~szarka@2603:3003:4eac:100:e023:9d63:6f62:e77> has joined #bitcoin-core-dev
 942025-05-26T15:35:55  *** luke-jr_ <luke-jr_!~luke-jr@user/luke-jr> has joined #bitcoin-core-dev
 952025-05-26T15:37:21  *** szarka <szarka!~szarka@2603:3003:4eac:100:b598:1ffd:4784:245b> has quit IRC (Ping timeout: 248 seconds)
 962025-05-26T16:24:27  *** bugs_ <bugs_!~bugs@user/bugs/x-5128603> has joined #bitcoin-core-dev
 972025-05-26T16:59:50  *** yuvic <yuvic!~yuvic@user/yuvic> has joined #bitcoin-core-dev
 982025-05-26T17:05:29  *** yuvic <yuvic!~yuvic@user/yuvic> has quit IRC (Remote host closed the connection)
 992025-05-26T17:22:11  *** Talkless <Talkless!~Talkless@138.199.6.197> has joined #bitcoin-core-dev
1002025-05-26T17:32:44  *** bitdex <bitdex!~bitdex@gateway/tor-sasl/bitdex> has joined #bitcoin-core-dev
1012025-05-26T17:35:26  *** PaperSword <PaperSword!~Thunderbi@securemail.qrsnap.io> has quit IRC (Remote host closed the connection)
1022025-05-26T18:04:11  *** brunoerg_ <brunoerg_!~brunoerg@2804:14d:5285:8318:8133:87c2:6c2f:8d87> has quit IRC (Remote host closed the connection)
1032025-05-26T18:09:17  *** robobub <robobub!uid248673@id-248673.uxbridge.irccloud.com> has joined #bitcoin-core-dev
1042025-05-26T18:15:07  *** mudsip <mudsip!~mudsip@user/mudsip> has joined #bitcoin-core-dev
1052025-05-26T18:18:58  *** mudsip <mudsip!~mudsip@user/mudsip> has quit IRC (Client Quit)
1062025-05-26T18:46:32  *** thoragh <thoragh!~username@user/thoragh> has joined #bitcoin-core-dev
1072025-05-26T18:46:53  *** brunoerg <brunoerg!~brunoerg@179.191.242.9> has joined #bitcoin-core-dev
1082025-05-26T18:51:29  *** brunoerg <brunoerg!~brunoerg@179.191.242.9> has quit IRC (Ping timeout: 248 seconds)
1092025-05-26T19:10:13  *** Talkless <Talkless!~Talkless@138.199.6.197> has quit IRC (Quit: Konversation terminated!)
1102025-05-26T19:15:57  *** bugs_ <bugs_!~bugs@user/bugs/x-5128603> has quit IRC (Quit: Leaving)
1112025-05-26T19:21:13  *** Guest79 <Guest79!~Guest79@2601:902:8000:5d0:b1e3:2c11:ee08:9d16> has joined #bitcoin-core-dev
1122025-05-26T19:22:34  *** Guest79 <Guest79!~Guest79@2601:902:8000:5d0:b1e3:2c11:ee08:9d16> has quit IRC (Client Quit)
1132025-05-26T19:33:29  <bitcoin-git> [bitcoin] achow101 opened pull request #32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs (master...delete-ismine-watchonly) https://github.com/bitcoin/bitcoin/pull/32618
1142025-05-26T19:33:54  *** brunoerg <brunoerg!~brunoerg@179.191.242.9> has joined #bitcoin-core-dev
1152025-05-26T19:57:05  *** robszarka <robszarka!~szarka@2603:3003:4eac:100:e023:9d63:6f62:e77> has quit IRC (Quit: Leaving)
1162025-05-26T19:57:25  *** szarka <szarka!~szarka@2603:3003:4eac:100:e023:9d63:6f62:e77> has joined #bitcoin-core-dev
1172025-05-26T20:15:58  *** Guest99 <Guest99!~Guest99@2600:1700:3040:1470::d> has joined #bitcoin-core-dev
1182025-05-26T20:23:56  <gmaxwell> achow101: pardon my lack of following things but is there a util that will take a directory of legacy wallets and extra all their (potentially encrypted) keys, dedupe them, and dump all the keys into a new wallet?
1192025-05-26T20:24:24  <achow101> gmaxwell: no
1202025-05-26T20:24:25  <gmaxwell> the old disk scanning tool on bitcointalk does something like that but only writes out a legacy wallet and doesn't work on encrypted wallets.
1212025-05-26T20:25:15  <achow101> I can add it to https://github.com/achow101/wallet-manipulator (after I implement key/descriptor import)
1222025-05-26T20:26:52  <gmaxwell> even without prior to the legacy removal scanning old wallets is kind of a nightmare as they have duplicate fileids so you can't load multiple at once plus the rescan runs once per wallet.   I went through an old backup a while ago and it took about a month to scan all of them. oy.
1232025-05-26T20:27:54  <bitcoin-git> [bitcoin] achow101 opened pull request #32619: wallet, rpc, gui: List legacy wallets with a message about migration (master...dont-list-legacy-wallets) https://github.com/bitcoin/bitcoin/pull/32619
1242025-05-26T20:28:07  <sipa> gmaxwell: i guess you could convert them all to descriptor wallets, dump all the private descriptors, and import them all into a single wallet?
1252025-05-26T20:28:23  <sipa> though you may end up with a gazillion descriptors, unsure how performance scales with those
1262025-05-26T20:28:48  <achow101> sipa: I think the problem is all of the rescan on loading that will happen
1272025-05-26T20:29:02  <sipa> ah right
1282025-05-26T20:29:22  <sipa> well i guess you can do all of this with an empty datadir and -connect=0
1292025-05-26T20:29:33  <gmaxwell> without encryption (and before the legacy wallet removal) a quick trick is to just cat all the wallets into a file then run https://bitcointalk.org/index.php?topic=25091.0 on it and the result is a single deduped legacy wallet.
1302025-05-26T20:32:29  <gmaxwell> achow101: in any case thanks for all your recent wallet work!
1312025-05-26T20:59:34  *** brunoerg <brunoerg!~brunoerg@179.191.242.9> has quit IRC (Remote host closed the connection)
1322025-05-26T21:17:01  *** javi404 <javi404!~quassel@2601:58b:4880:48b1:3beb:fd1f:824f:3caa> has joined #bitcoin-core-dev
1332025-05-26T21:51:33  <phantomcircuit> gmaxwell: iirc gavin actually wrote something that naively scans wallets looking for the bdb key format
1342025-05-26T21:51:46  <phantomcircuit> for unencrypted wallets it worked but is slow because python
1352025-05-26T21:51:53  <phantomcircuit> and like only maybe actually works
1362025-05-26T21:53:57  <gmaxwell> the thing I linked on bitcointalk does that but only works on unencrypted wallets.
1372025-05-26T21:54:07  <gmaxwell> and it absolutely works and is a total lifesaver.
1382025-05-26T21:54:49  <gmaxwell> but it also only outputs a legacy wallet, which doesn't directly work with bitcoin core anymore.
1392025-05-26T21:59:21  <phantomcircuit> gmaxwell: iirc bdb can actually end up writing things to disk across segments which breaks that kind of scanner
1402025-05-26T22:04:29  <gmaxwell> phantomcircuit: probably an ideal tool would do both brute scraping and also trying to read with BDB.
1412025-05-26T22:05:53  <gmaxwell> the scaping works on files that are so corrupt bdb won't touch them.
1422025-05-26T22:06:32  <phantomcircuit> gmaxwell: yeah which is definitely better than nothin
1432025-05-26T22:06:33  <phantomcircuit> g
1442025-05-26T22:06:41  <bitcoin-git> [bitcoin] achow101 opened pull request #32620: wallet: Fix wallet interface detection of encrypted wallets (master...fix-gui-migrate-encrypted) https://github.com/bitcoin/bitcoin/pull/32620
1452025-05-26T22:07:49  *** SpellChecker_ <SpellChecker_!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
1462025-05-26T22:08:09  <gmaxwell> I'm finding now that good brand sata/nvme SSDs that sat in a closet for 5 years are full of errors, so I assume this also means a lot of earlier bitcoin users might be finding their older wallets harder to recover.
1472025-05-26T22:08:34  *** ghost43_ <ghost43_!~ghost43@gateway/tor-sasl/ghost43> has joined #bitcoin-core-dev
1482025-05-26T22:08:36  *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has quit IRC (Ping timeout: 264 seconds)
1492025-05-26T22:08:43  <gmaxwell> (mostly hasn't been a real problem for me, but old random dust wallets are now valuable...)
1502025-05-26T22:09:05  <phantomcircuit> gmaxwell: flash rots overtime, turns out it's not possible to build a perfect capacitor
1512025-05-26T22:09:14  <phantomcircuit> that they work at all is kinda insane really
1522025-05-26T22:09:22  <gmaxwell> indeed, not news to me in theory, but interesting to see it in practice.
1532025-05-26T22:09:39  *** ghost43 <ghost43!~ghost43@gateway/tor-sasl/ghost43> has quit IRC (Remote host closed the connection)
1542025-05-26T22:09:41  <phantomcircuit> note that blurays will also do this
1552025-05-26T22:09:53  <bitcoin-git> [gui] achow101 opened pull request #877: gui: Add a menu action to restore then migrate a legacy wallet (master...gui-migrate-path) https://github.com/bitcoin-core/gui/pull/877
1562025-05-26T22:09:56  <gmaxwell> I wonder if powering up the SSD and doing a smart offline scan is sufficient to make the drive rewrite sectors with soft errors.
1572025-05-26T22:10:10  <phantomcircuit> you'll lose entire sectors at random because writable discs made at home degrade from regular sunlight
1582025-05-26T22:10:58  <phantomcircuit> gmaxwell: unlikely, you almost certainly have to do a full read write scan where you didn't write back identical blocks
1592025-05-26T22:11:52  <gmaxwell> phantomcircuit: so I think not because I have some drives of the same make that have been ONLINE and they're fine, compared to ones offline that are full of errors, so I think the drive firmware does some maintance.
1602025-05-26T22:12:54  *** Christoph_ <Christoph_!~Christoph@195.1.80.49> has joined #bitcoin-core-dev
1612025-05-26T22:13:24  <phantomcircuit> gmaxwell: i suspect that when the drives are offline completely they just leak from the individual cells easier
1622025-05-26T22:13:36  <gmaxwell> for electronic data backup I've used parallel DLT and archival CDR.  though keeping DLT going is kind of a PITA.
1632025-05-26T22:13:38  <phantomcircuit> the relative voltage potential is much higher
1642025-05-26T22:14:14  <phantomcircuit> or i could be totally wrong on that, but it's the impression that i got
1652025-05-26T22:14:54  <gmaxwell> I'm sure that some SSDs will rewrite soft errors, but you can never be sure about it because its all unspecified.
1662025-05-26T22:15:02  <phantomcircuit> it's also going to be entirely drive dependent, cheap drives might not ever refresh cells, expensive ones might apply complex algorithsm that break, maybe someone makes a reasonable one that just background refreshes linearly, but i have no idea how you would identify that
1672025-05-26T22:15:27  <gmaxwell> I should see how much data I can store on QR-like codes engraved in steel plates.
1682025-05-26T22:15:30  <phantomcircuit> i've definitely had ssds which failed with soft errors that magically were fine when i zero'd the drive
1692025-05-26T22:15:50  <phantomcircuit> gmaxwell: iirc a few kb
1702025-05-26T22:15:56  <gmaxwell> well also rewriting slowly chews write endurance, ... presuambly better than letting the data rot.
1712025-05-26T22:16:30  <phantomcircuit> gmaxwell: depends on what the drives for
1722025-05-26T22:16:32  <sipa> db_dump + simple python tool should be able to decrypt any key records easily
1732025-05-26T22:16:42  <phantomcircuit> windows gaming computer? i probably don't want background refresh on
1742025-05-26T22:17:11  <sipa> i guess the key strengthening is somehow nonstandard
1752025-05-26T22:17:51  *** SpellChecker_ <SpellChecker_!~SpellChec@user/SpellChecker> has quit IRC (Remote host closed the connection)
1762025-05-26T22:18:08  *** SpellChecker <SpellChecker!~SpellChec@user/SpellChecker> has joined #bitcoin-core-dev
1772025-05-26T22:19:01  <phantomcircuit> sipa: isn't it just sha256 in a loop?
1782025-05-26T22:19:12  <phantomcircuit> no it's pbkdfjfj2222 in a loop
1792025-05-26T22:19:25  <phantomcircuit> easy to replicate in python (if slowly)
1802025-05-26T22:20:01  <sipa> phantomcircuit: yes, sure, so it maybe 5 minutes of work instead of 1 :)
1812025-05-26T22:23:16  *** Christoph_ <Christoph_!~Christoph@195.1.80.49> has quit IRC (Quit: Christoph_)
1822025-05-26T22:23:39  <phantomcircuit> sipa: iirc db_dump even with -R basically never recovers any data, but rather 99% of the time just zeros things until it loads
1832025-05-26T22:24:30  <gmaxwell> phantomcircuit: on engraving, maybe not as a QR code but I can store a lot more than that, just not sure how much. the engraver is accurate to a couple micron. so getting a raw capacity the order of 80mbits/inch sounds credible.
1842025-05-26T22:24:56  <phantomcircuit> gmaxwell: yeah but reading it sounds annoying
1852025-05-26T22:25:02  <sipa> that's inch, not inch^2 ?
1862025-05-26T22:25:07  <gmaxwell> in^2
1872025-05-26T22:25:23  <phantomcircuit> sipa: gmaxwell: is a one dimensional being
1882025-05-26T22:27:02  <gmaxwell> phantomcircuit: well reading is just an x/y table microscope, but my thought is you could backup data w/ tape + plate and the plate is just the backup. Write only, hopefully.
1892025-05-26T22:27:05  <sipa> engineers approximate everything with linear functions
1902025-05-26T22:29:52  <gmaxwell> phantomcircuit: there was some project for forever data storage that used laser punched metal tape. but they seemed to get obsessed with people being able to read photographs by just looking at the tape and stuff like that and more or less completely eschewed error correcting codes, which seems insane to me. (esp because you could just put the spec for the error correcting code on every tape).
1912025-05-26T22:35:25  <phantomcircuit> gmaxwell: but what if 100000 years in the future the tape is being read by a primitive caveman and not some super advanced galactic mannnnn
1922025-05-26T22:35:37  <phantomcircuit> the nuclear "waste" disposal signs remind me of that
1932025-05-26T22:36:06  <phantomcircuit> like how is it even plausible that we need to explain nuclear material to people 100 years from now unless we nuked everything and then who cares about where the waste is
1942025-05-26T22:36:15  <gmaxwell> yeah thats their logic. otoh if caveman can't figure out how decode the error correcting code that is described on the tape, whats he gonna do with billions of bits of information anyways?
1952025-05-26T22:37:41  <gmaxwell> phantomcircuit: the waste stuff though is targeting more like 10k-100k years. seems reasonable that the risk might not be understood.
1962025-05-26T22:37:45  <achow101> in my tool so far, I have dumping encrypted private keys already
1972025-05-26T22:37:52  <achow101> the annoying part is the whole bdb thing...
1982025-05-26T22:38:25  *** sliv3r__ <sliv3r__!~sliv3r__@user/sliv3r-:76883> has quit IRC (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
1992025-05-26T22:38:39  *** sliv3r__ <sliv3r__!~sliv3r__@user/sliv3r-:76883> has joined #bitcoin-core-dev
2002025-05-26T22:38:48  <achow101> maybe I'll drop the bdb dependency and reimplement parsing once again, but the point was to be able to insert whatever into a wallet file
2012025-05-26T22:39:37  <sipa> achow101: don't you have a python reimplementation of bdb already?
2022025-05-26T22:40:24  <achow101> sipa: in the functional tests in old branches, although that is of course tailored to our functional tests
2032025-05-26T22:40:53  <gmaxwell> For real ultimate recovery I think you kinda want to do both your own parsing and BDB, just in case one or the other is more successful.  Partially corrupted file seem remarkably common for some reason.  like I found I had corrupted files inside zips that were absolutely not corrupted, and I had no idea how they got corrupted.
2042025-05-26T22:41:53  <achow101> gmaxwell: it turns out that having bdb itself on a system in a way that people can use from a python script is non-trivial, especially when you need a specific version
2052025-05-26T22:42:06  <phantomcircuit> gmaxwell: if in 10k years we haven't consumed all the nuclear "waste" then humanity has long since been extinct
2062025-05-26T22:43:11  <gmaxwell> achow101: hm, for reading though the most current version works on old versions, it just makes files that are unreadable in old versions-- no?
2072025-05-26T22:43:43  <phantomcircuit> gmaxwell: bdb will write log files into the ~/.bitcoin directory, if you happen to copy the .dat file when it's doing that you'll get corruption that's fixable with db_dump -R, but which iirc basically deletes records until the database is consistent
2082025-05-26T22:44:07  <gmaxwell> phantomcircuit: nah, our civilization could be extinct, but some amish surely will survive the end of the world. and if not them, then the dolphin people. :P
2092025-05-26T22:44:14  <achow101> gmaxwell: yeah, but I don't think you can guarantee it won't write anything even when opening as readonly
2102025-05-26T22:44:37  <gmaxwell> achow101: right so tool should copy the file, then open it, and throw out its temp copy.
2112025-05-26T22:45:07  <achow101> pfft, working on copies, who does that :p
2122025-05-26T22:45:19  <gmaxwell> good to do anyways even with the older library version because the user may not have been informed enough to make copies before they start trying to recover stuff.
2132025-05-26T22:45:38  <gmaxwell> (and god knows wtf bdb will do to a corrupted file)
2142025-05-26T22:46:36  <gmaxwell> I'm pretty sure I lost a few bitcoin a decade ago by BDB just deciding to strip everything out of some corrupted file.
2152025-05-26T22:46:52  <sipa> good old savagewallet RPC?
2162025-05-26T22:48:11  <gmaxwell> not entirely sure, as I had a wallet that all my records and even shell history say should have coins, but it contained no key records when I went to dig into it.
2172025-05-26T22:48:33  <achow101> gmaxwell: it could be in the log files
2182025-05-26T22:48:44  <gmaxwell> I may have hit a startup error, just did a salvage to continue and not thought about it till later.
2192025-05-26T22:49:16  <gmaxwell> achow101: this was a decade ago, and I didn't notice the wallet had been key-stripped until a llloong time later.
2202025-05-26T22:50:26  <gmaxwell> it also wasn't worth that much at the time, so not a huge deal.  just mentioned it as a reminder to not trust bdb to not screw things up.
2212025-05-26T22:51:09  <phantomcircuit> gmaxwell: i feel like bdb was designed to break randomly to further sell oracledb licences
2222025-05-26T22:55:12  <gmaxwell> I think just making any database that works reliably on computers is hard. there are very few guarentees on what makes it to disk at any given time.
2232025-05-26T23:31:01  *** S3RK_ <S3RK_!~S3RK@user/s3rk> has quit IRC (Ping timeout: 244 seconds)
2242025-05-26T23:32:48  *** S3RK <S3RK!~S3RK@user/s3rk> has joined #bitcoin-core-dev
2252025-05-26T23:38:27  *** nool <nool!~nool@83.220.239.86> has joined #bitcoin-core-dev
2262025-05-26T23:44:20  *** nool <nool!~nool@83.220.239.86> has quit IRC (Quit: Leaving)
2272025-05-26T23:44:54  *** aprilwall_ <aprilwall_!~aprilwall@83.220.239.86> has joined #bitcoin-core-dev
2282025-05-26T23:47:17  *** aprilwall_ <aprilwall_!~aprilwall@83.220.239.86> has quit IRC (Client Quit)
2292025-05-26T23:54:17  *** brunoerg <brunoerg!~brunoerg@2804:14d:5285:8318:98a5:9b8b:461d:c23> has joined #bitcoin-core-dev
2302025-05-26T23:54:57  *** brunoerg <brunoerg!~brunoerg@2804:14d:5285:8318:98a5:9b8b:461d:c23> has quit IRC (Remote host closed the connection)
2312025-05-26T23:55:33  *** brunoerg <brunoerg!~brunoerg@2804:14d:5285:8318:98a5:9b8b:461d:c23> has joined #bitcoin-core-dev