SheriffWoody: 生成したビットコインアドレスは永久に保持される。ビットコインアドレスは、そこに送られたものの所有権を示すために保持する必要がある。ビットコインアドレスを削除できてしまい、誰かがそこに送金した場合、そのお金は失われる。アドレスは約 500 バイト程度だ。
sirius-m: 数千の自分のアドレスはまったく問題にならないはずだ。50,000 BTC を生成したなら、生成された 50 BTC ごとに 1 つずつ、すでに 1,000 の自分のアドレスを持っている。これらは隠されていて、UI には表示されない。
同じ IP に同じアドレスを渡し続ける小さなコードを追加するのは良いアイデアだろう。C++で、同じキー(=ビットコインアドレス)を使用されるまで渡し続けるために行ったことは以下の通りだ:
// 使用されるまで同じIPに同じキーを渡し続ける
if (!mapReuseKey.count(pfrom->addr.ip))
mapReuseKey[pfrom->addr.ip] = GenerateNewKey();
...キー mapReuseKey[pfrom->addr.ip] を送信
…後で…
// このキーで何かを受信した
mapReuseKey.erase(pfrom->addr.ip);
受信したタイミングを知るのが不便な場合は、キャッシュされたキーを 20分ごとにクリアするだけで構わない。
getnewaddress に、アドレスで何も受信されなかった場合の有効期限日数のパラメーターを追加したいと考えている。