ビットコイン・インスティテュート

Bitcoinアドレスの削除

SheriffWoody 2010年4月8日14:56 UTC

自分で生成したBitcoinアドレスを削除する方法はあるだろうか? そのアドレスで支払いを受け取った場合はどうなるのだろう? コインが送金された後も、その所有権を示すために必要なのだろうか?

サトシさんに質問です:ウォレットに数千の自前アドレスがある状態でプログラムをテストしたことはありますか? 自動化されたトランザクションごとに新しいアドレスを作ると、膨大な量になります。あるいは、十分に大きなプールがあればアドレスを再利用できるかもしれません。

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に、アドレスで何も受信されなかった場合の有効期限日数のパラメーターを追加したいと考えている。

tsr 2011年2月10日11:02 UTC

こんにちは。

自分の問題に類似したスレッドが見つからなかったので、もしかしたらこの問題はサトシが以前言及していた「自動生成される非表示アドレス」と関係があるのではないかと思っている。

しばらく前から、自動生成された受信アドレスが説明なしでアドレス帳に追加されることがあるのに気づいていた。 今日、その(もう2つ目の)追加に気づいた直後、アドレス帳を閉じて再度開いたら、突然新しいものが現れた。今は3つある。 😕

その時間帯にビットコインを受け取ったからなのか、それともアドレス帳ウィンドウのGUIにバグがあるだけなのかは分からない。

ほかにもこのバグに出会った人はいるかな。それとも、まだドキュメントで見つけていない「通常の」挙動なのかな。

tsrの投稿(2011年2月10日11:02 UTC)

その時間帯にビットコインを受け取ったからなのか、それともアドレス帳ウィンドウのGUIにバグがあるだけなのかは分からない。

ほかにもこのバグに出会った人はいるかな。それとも、まだドキュメントで見つけていない「通常の」挙動なのかな。

これは想定通りの挙動だ。ただし、おそらくそれらのアドレスにはもっと分かりやすいラベルが付けられるべきだろう。Bitcoinは「your Bitcoin address」欄に表示されているアドレスでBTCを受け取るたびに、自動的にラベルなしのアドレスを生成する。新しいアドレスは「your Bitcoin address」欄の古いアドレスを置き換え、アドレスの再利用を避けるよう促す仕組みになっている。

tsr 2011年2月10日17:59 UTC
マイケル・マーカートの投稿(2011年2月10日13:18 UTC)

これは想定通りの挙動だ。ただし、おそらくそれらのアドレスにはもっと分かりやすいラベルが付けられるべきだろう。Bitcoinは「your Bitcoin address」欄に表示されているアドレスでBTCを受け取るたびに、自動的にラベルなしのアドレスを生成する。新しいアドレスは「your Bitcoin address」欄の古いアドレスを置き換え、アドレスの再利用を避けるよう促す仕組みになっている。

ああ、なるほど、ありがとう! ウォレットファイルが壊れているのではないかと心配していた。