確認だが、wallet.dat に保存されている「コイン」は本質的には単なるキャッシュだろう? 俺が使える「本当の」BTC の数はチェーンにエンコードされている。
すべての秘密鍵を持っていれば、ブロックリストをスキャンしてその「キャッシュ」を復元できるはずだ。
提案:ウォレットにそのウォレットの最後の既知の正常ポイントとなるブロック番号/ID を含める。バックアップからウォレットを復元したら、新しいブロックを再スキャンして最新であることを確認できる。
第二の提案:ユーザーがすべての鍵を再ダウンロードせずにウォレットを再構築できるようにする。
最終的な提案:「本物の」重要データ(秘密鍵)を「キャッシュ」(現在のコイン)から分離する。コインにアクセスするために絶対に重要なデータを、効率的にコインを見つけて使えるように設計されたシステムと混同する理由はない。
(俺が BitCoin の内部動作を根本的に誤解していなければの話だが!)