lachesisの投稿(2010年8月11日 08:57 UTC)Ground Loopの投稿(2010年8月11日 17:31 UTC)すべてのコインがリスクにさらされるとは初耳だ。トランザクションに関与するコインの塊(以前受け取ったトランザクション)だけだと思っていた。合計残高ではなく。おっと。
前の理解が正しかった。彼のすべてのコインが失われた理由は、最初に9000すべてを自分自身に送金し、単一のTxInに統合したからだ。そのステップを省略して直接自分に1を送っていれば、1を超える以前受け取った最小の支払いだけを失っていただろう。
クライアントはTxInとTxOutをユーザーにもっとうまく伝える必要があると思う。混乱させずにそれをどうやるかはわからないが、クライアントがどのコインを送金するかの選択には、プライバシー、安全性、セキュリティに関する現実的な影響がある。
待ってくれ、また混乱してきた。この驚きの本質は、Bitcoinが各トランザクションで「ウォレットを空にする」ようにプログラムされているということだと思っていた。私が読んだ説明によると、ウォレットのアドレスAから外部のアドレスBにコインを送る場合、実際にはアドレスAから全てのコインが送出され、アドレスBに向かわない分は自分のアドレスCに送られる。つまり、9000枚の中から1枚だけ支払う場合でも、1枚を相手に送り、8999枚を新しいアドレスの自分自身に送ることになる。
言い換えれば(私が混乱していなければ)、トランザクションを行うたびに、バックアップ済みの古いウォレットアドレスは空にされることになる。
私の理解では、送りたい枚数以上のコインを持つアドレスを見つけ(または複数のアドレスを組み合わせ)、おつりを新しいアドレスに送る。
つまり、もし彼が 1000、2000、2500、3500 のアドレスを持っていたとすると、そのうちの一つ(最小のもの?)を選び、1枚を送り、残りを新しい自分のアドレスに送り返す。この場合、全てを失うことはなく、その一つのアドレスにあった残りだけを失う。
どうやら彼はコインが入ったアドレスを 1 つしか持っていなかったようだ。おそらく取引所から一度にまとめて取得したからだろう。そうでなければ、なぜ全てを失うのか分からない。