Re: バージョン 0.3.12

人物: nelisky

satoshi および皆へ: ウォレットのセキュリティについて長く深く考えてきた。今、より多額の bitcoin を動かす(といいのだが)他の Web サービスを実装しているところだ。backupwallet は素晴らしい。今は新しいアドレスを作るたびに自動でバックアップを取っている。トランザクションを送るときも含めてだ。

だが、トランザクションを大量に送るサイトでこれはスケールするのか? 毎回ウォレット全体をバックアップする必要があるが、それにはアドレス、鍵、トランザクションが含まれ、使用に応じてかなり大きくなる。より集約的な利用には、バックアップ点を減らすか、データの分離を改善するかのどちらかが必要だと思う。

これに対して思いつく単純な解決策は次の二つだ:

  1. アドレス/鍵を他のすべてから分離する。これにより差分バックアップが容易になるか、少なくともハードウェア障害時に資金を再現するのに必要な分にバックアップサイズを抑えられる。
  2. 将来機能として話されていた、使用するアドレスをあらかじめ束で生成しておく方式を実装する。そうすれば一度のウォレットバックアップで今後 1,000件のトランザクションをカバーできる、というような形になる。 2.1) これを効率よく使うには、未使用プールに残っているアドレス数を問い合わせ、必要に応じて新しいバッチの生成を要求できるようにすべきだ。そうすれば適切なタイミングでバックアップを作成でき、アドレス生成からバックアップまでの間にデータを失う可能性を 0 にできる。

もちろん 1)と 2)の両方を実現できれば完璧だが、上記のいずれかを将来のリリースで期待してよいか? それとも自前でパッチを当て始めるべきか?