(context post by sirius)

8 件のメッセージ BitcoinTalk マルッティ・マルミ, Ground Loop, lachesis, gridecon, FreeMoney, Insti, サトシ・ナカモト 2010年8月11日 — 2010年8月11日

FAQに各トランザクション後にバックアップを取るという警告を追加した。ちなみにバックアップを取る前にクライアントを停止する必要があるのか?それは少し不便だ。自動バックアップは確かに便利だろう。

すべてのコインがリスクにさらされるとは初耳だ。トランザクションに関与するコインの塊(以前受け取ったトランザクション)だけだと思っていた。合計残高ではなく。おっと。

対策として、ウォレットを手動で5つの新しいウォレットに分散して分割した。これで常にリスクにさらされるのは1つだけだ。

lachesis 2010年8月11日 原文 · 個別ページ

Quote from: Ground Loop on August 11, 2010, 05:31:24 PM

すべてのコインがリスクにさらされるとは初耳だ。トランザクションに関与するコインの塊(以前受け取ったトランザクション)だけだと思っていた。合計残高ではなく。おっと。

前の理解が正しかった。彼のすべてのコインが失われた理由は、最初に9000すべてを自分自身に送金し、単一のTxInに統合したからだ。そのステップを省略して直接自分に1を送っていれば、1を超える以前受け取った最小の支払いだけを失っていただろう。

クライアントはTxInとTxOutをユーザーにもっとうまく伝える必要があると思う。混乱させずにそれをどうやるかはわからないが、クライアントがどのコインを送金するかの選択には、プライバシー、安全性、セキュリティに関する現実的な影響がある。

gridecon 2010年8月11日 原文 · 個別ページ

Quote from: lachesis on August 11, 2010, 05:57:20 PM Quote from: Ground Loop on August 11, 2010, 05:31:24 PM

全てのコインが危険にさらされているというのは初耳だ。関与するのはトランザクションに関係するコインの塊(以前に受け取ったトランザクション)だけで、合計残高ではないと思っていた。恐ろしい。

あなたの前の理解で正しかった。彼のコインが全て失われた理由は、最初に9000枚すべてを自分自身に送金し、単一のTxInに統合したからだ。そのステップを省略して直接1枚を自分に送っていれば、以前に受け取った1を超える最小の支払いだけを失っていただろう。

クライアントはTxInとTxOutをユーザーにもっとわかりやすく伝える必要があると思う。どうすれば混乱を避けられるかわからないが、クライアントがどのコインを送金するかを選択する際には、プライバシー、安全性、セキュリティに関する重大な影響がある。

待ってくれ、また混乱してきた。この驚きの本質は、Bitcoinが各トランザクションで「ウォレットを空にする」ようにプログラムされているということだと思っていた。私が読んだ説明によると、ウォレットのアドレスAから外部のアドレスBにコインを送る場合、実際にはアドレスAから全てのコインが送出され、アドレスBに向かわない分は自分のアドレスCに送られる。つまり、9000枚の中から1枚だけ支払う場合でも、1枚を相手に送り、8999枚を新しいアドレスの自分自身に送ることになる。

言い換えれば(私が混乱していなければ)、トランザクションを行うたびに、バックアップ済みの古いウォレットアドレスは空にされることになる。

FreeMoney 2010年8月11日 原文 · 個別ページ

Quote from: gridecon on August 11, 2010, 08:46:08 PM Quote from: lachesis on August 11, 2010, 05:57:20 PM

Quote from: Ground Loop on August 11, 2010, 05:31:24 PM

全てのコインが危険にさらされているというのは初耳だ。関与するのはトランザクションに関係するコインの塊(以前に受け取ったトランザクション)だけで、合計残高ではないと思っていた。恐ろしい。

あなたの前の理解で正しかった。彼のコインが全て失われた理由は、最初に9000枚すべてを自分自身に送金し、単一のTxInに統合したからだ。そのステップを省略して直接1枚を自分に送っていれば、以前に受け取った1を超える最小の支払いだけを失っていただろう。

クライアントはTxInとTxOutをユーザーにもっとわかりやすく伝える必要があると思う。どうすれば混乱を避けられるかわからないが、クライアントがどのコインを送金するかを選択する際には、プライバシー、安全性、セキュリティに関する重大な影響がある。

待ってくれ、また混乱してきた。この驚きの本質は、Bitcoinが各トランザクションで「ウォレットを空にする」ようにプログラムされているということだと思っていた。私が読んだ説明によると、ウォレットのアドレスAから外部のアドレスBにコインを送る場合、実際にはアドレスAから全てのコインが送出され、アドレスBに向かわない分は自分のアドレスCに送られる。つまり、9000枚の中から1枚だけ支払う場合でも、1枚を相手に送り、8999枚を新しいアドレスの自分自身に送ることになる。

言い換えれば(私が混乱していなければ)、トランザクションを行うたびに、バックアップ済みの古いウォレットアドレスは空にされることになる。

私の理解では、送りたい枚数以上のコインを持つアドレスを見つけ(または複数のアドレスを組み合わせ)、おつりを新しいアドレスに送る。

つまり、もし彼が1000、2000、2500、3500のアドレスを持っていたとすると、そのうちの一つ(最小のもの?)を選び、1枚を送り、残りを新しい自分のアドレスに送り返す。この場合、全てを失うことはなく、その一つのアドレスにあった残りだけを失う。

どうやら彼はコインが入ったアドレスを1つしか持っていなかったようだ。おそらく取引所から一度にまとめて取得したからだろう。そうでなければ、なぜ全てを失うのか分からない。

gridecon 2010年8月11日 原文 · 個別ページ

よし、注意深く読み直し、参照されたスレッドを確認して、ようやく詳細を理解した。Bitcoinが各トランザクションで「ウォレットを空にする」のではなく、コインの送信に使用されたアドレスを完全に空にするのだ。この特定のケースでは、ユーザーが以前に9000枚のコインをまとめて自分自身に送っており、結果としてすべてのコインが単一のアドレスに保持されていた。

私が見る限り、GUIクライアントからは、残高のどのコインがどのアドレスに保持されているかの情報を取得する方法がないようだ。アドレスが「本当に重要」なものであることを考えると、その情報は価値があるかもしれない。

Insti 2010年8月11日 原文 · 個別ページ

「ウォレット」は自分専用の銀行のようなものだ。 多くの異なる口座が含まれている。(Bitcoinではこれをアドレスと呼ぶ)

各アドレスにはそれに関連付けられた残高、つまりどれだけのお金が入っているかがある。 ウォレットの残高は、ウォレット内のすべてのアドレスの残高の合計だ。

トランザクションを実行すると、必要な出力額を構成するのに十分なアドレスが空にされるが、各アドレスを完全に空にする必要があるため、余りが出ることが多く、その場合「おつり」が新しいアドレスに戻される。

このケースでは、Stone Manが700以上のアドレスからすべてのお金を1つのアドレスに送るトランザクションを行ったため、お金が入ったアドレスが1つだけのウォレットになった。

そのアドレス/口座は1BTCのトランザクションの一部として空にされ、8999のおつりは秘密鍵を紛失した新しいアドレスに返された。

もし全てのコインを1つのアドレスにまとめていなければ、失うコインはずっと少なかっただろう。

この話の教訓は「すべての卵を一つのカゴに入れるな」かもしれない。

Quote from: gridecon on August 11, 2010, 09:08:59 PM

私が見る限り、GUIクライアントからは、残高のどのコインがどのアドレスに保持されているかの情報を取得する方法がないようだ。アドレスが「本当に重要」なものであることを考えると、その情報は価値があるかもしれない。

そうだ、現在のGUIではどのアドレスにどの残高があるかを確認することはできない。

「非常に重要な」情報だと思う。 また、トランザクションの送信元となるアドレスを選択できることも重要だと思う。

これはウォレットの比喩がまずい例だ。

Quote from: sirius-m on August 11, 2010, 02:01:53 AM

FAQに各トランザクション後のバックアップの警告を追加した。ちなみに、バックアップ前にクライアントを停止する必要があるのか? ちょっと不便だな。自動バックアップがあると便利だ。

バックアップの数秒前(5秒程度)以内に何もしなかったり、支払いを受けたりしなければ、クライアントを停止せずにバックアップを取ることができる。

Quote from: gridecon on August 11, 2010, 08:46:08 PM

待ってくれ、また混乱している。Bitcoinは各トランザクションごとにウォレットを「空にする」ようプログラムされているのが驚きの本質だと思っていた。

いいえ、通常は各トランザクションでウォレットを空にするわけではない。金額に近くなるように合計できる最小のコインセットを使う。この場合、残念ながら彼のウォレットには9000 BTCの単一の「紙幣」が入っており、1 BTCと8999 BTCのお釣りを得るために崩す必要があった。