レジャーナノS(Ledger nano s)から、取引所にビットコインを送金しようとしたところ、
「output#1(正常なアドレス+送りたいBTCの数量)の後に、out put#2(見知らぬアドレス+送りたいBTCの残額?)なるものが表示される」
という現象に遭遇しましたので、対応策をシェアします。
ネット上でもちらほら同様の現象が報告されているようです。
レジャーナノSからビットコインを送金しようとするとoutput#2に見知らぬアドレスが!
先日、Ledger NanoSに保管してあるビットコインを取引所に送金しようとレジャーナノを操作したところ、
output#1(正常なアドレス+送りたいBTC)の後に、output#2(見知らぬアドレス+送りたいBTCの残額?)
がレジャーナノ本体に表示されました。
output#2に表示されていたのは、全然知らないアドレスだったので慌ててキャンセルし送金を中止しました。
最近巧妙なマルウェアなどに感染したという報告をよく見かけるので、「もしや???」と思い、いろいろ検索すると、やはり私と同じ現象でお困りの方が何人かいる様子です。
かわちゃんさんのツイッター▼
某匿名掲示板で質問されている方がいました。たしかに戸惑いますね。。。#LedgerNanoS #レジャー・ナノS #ハードウェアウォレット pic.twitter.com/G31Asjo2wG
— かわちゃん (@006992) 2018年1月28日
「@マナ」さんのブログ記事(2018年2月25日付)に対するコメント欄にも、私と同様の現象でお困りの方がコメント投稿していらっしゃいます。▼
しかも、この現象で悩んでいる人がそれほど多数に及ぶわけではなかったためか、ネット上では
「PCがマルウェアに感染したのでは?」
「ハードウォレット自体にマルウェアが仕込まれているのでは?」
「ハッキングされているかも!」
といった憶測も飛び交っておりました。
その後も原因と対策を探しましたが、解決策は見つからず・・・。
私も「あぁ~、やられたか、もうダメなのか…」と思いつつ、過ごしておりました。
Ledger nano s から解決策のアナウンス!
そうしましたところ、ついに解決策が見つかりました!
Ledger社からの公式なアナウンスが!2018年3月5日に発表されたものです。
When you send a Bitcoin transaction, you send an output from a former transaction, becoming an input of a new transaction. When the output of a transaction is used as the input of another transaction, it must be spent in its entirety. Sometimes the coin value of the output is higher than what the user wishes to pay. In this case, the client generates a new Bitcoin address, and sends the difference back to this address. This is known as change. See https://en.bitcoin.it/wiki/Change to know more about this important Bitcoin protocol topic. These operations are normally calculated and done all-in-once when you send a transaction from your Ledger wallet. In some cases, a minor bug can make these outputs visible on your device, requiring 2 authentication on your side instead of one. If 2 outputs are displayed on your Ledger device, the second output (Output #2) is the one corresponding to your change address, to send the rest of your bitcoins to yourself. If this happens, it is likely because you use a Segwit address with an old version of the Chrome application, not adapted to Segwit.ledger社
google翻訳で日本語に訳すとこのような▼意味のようです。
Bitcoinトランザクションを送信すると、以前のトランザクションからの出力が送信され、新しいトランザクションの入力になります。トランザクションの出力が別のトランザクションの入力として使用されるときは、そのトランザクション全体を使用する必要があります。時々、出力のコイン値は、ユーザが支払うことを望むものよりも高い。この場合、クライアントは新しいBitcoinアドレスを生成し、その差をこのアドレスに返します。これは変更と呼ばれます。この重要なBitcoinプロトコルについての詳細はhttps://en.bitcoin.it/wiki/Changeをご覧ください。 これらの操作は通常、元帳ウォレットからトランザクションを送信するときに一括して計算され、実行されます。場合によっては、小さなバグがデバイス上でこれらの出力を見えるようにすることができます。元帳デバイスに2つの出力が表示されている場合、残りのビットコインを自分宛に送信するために、2番目の出力(出力#2)が変更アドレスに対応する出力です。 このような場合は、旧バージョンのChromeアプリケーションでSegwitアドレスを使用しているため、Segwitには対応していない可能性があります。ledger社
よかった!朗報です!
マルウェアやハッキングの類ではなく、どうやら、自分がインストールしているビットコインのアプリのバージョンが古いことによる現象のようです。
では、次に対応策です。
対応方法
Ledger社のアナウンスでは、対応策も指南してくれています。
1.In your Chrome browser go to chrome://extensions/
2.Click on the bin below “Ledger Wallet Bitcoin”
3.Go to https://chrome.google.com/webstore/detail/ledger-wallet-bitcoin/kkdpmhnladdopljabkgpacgpliggeeaf
4.Click on the “Add to Chrome” blue button and launch it againledger社
google翻訳で日本語に訳すとこのような▼意味のようです。
1.Chromeブラウザに「chrome:// extensions /」と入力。
2.「Ledger Wallet Bitcoin」の下のビンをクリックします。
(下ではなく「横」、「ビン」とはゴミ箱マークのことか?)
3.https://chrome.google.com/webstore/detail/ledger-wallet-bitcoin/kkdpmhnladdopljabkgpacgpliggeeafにアクセスします。
4.[Chromeに追加]の青色のボタンをクリックし、もう一度起動します
ledger社
今回の現象に対する対応方法は難しいものではなさそうです。
ですが、私の場合、これだけでは不具合は解消されませんでした。
Chromeのウォレットアプリの再インストールだけではなく、レジャーナノ自体のウォレットアプリのアップデート(再インストール)が必要でした。
レジャーナノのビットコイン・ウォレットアプリの最新のバージョンが1.1.18であるのに対し、私のアプリのバージョンは1.1.5でした。
2:まず、Bit coin アプリをアンインストール。(右の「ゴミ箱」をクリック)
3:再度、新しいバージョンのBit coin アプリをインストール。(緑の↓マークをクリック)
スムーズにインストールできれば、これで完了です。
しかしインストールできない場合は、使用していない仮想通貨のウォレットアプリをアンインストールする必要があります。
(私の場合は、Fido U2FとBit Coin Cashのウォレットアプリを削除しなければ、インストールできませんでした。)
以上の作業を完了し、再度レジャーナノSから取引所への送金を試みたところ、「output#2」も表示されず、正常にビットコインが送金できました!!
ビットコインなどを比較的長く保管していて出し入れをしていたかったため、アプリの更新を怠っていました。
こまめにアップデートしないといけませんね。深く反省です。
コインチェックの件もありましたし、仮想通貨はLedger NanoS 、TREZOR、Digital Bit Boxなどのハードウォレットに保管しておき、しっかりと管理しましょう。