hiro99ma blog

Something technical

btc: ハードウェアウォレット

2025/03/18

はじめに

ハードウェアウォレットを持っていると「Bitcoin やってるなー」という気持ちになる。
物理的な何かを持ちたくなるのかもしれない(個人の感想です)。

自分のハードウェアウォレットに送金しようとしたがマイニングがなかなかされず 他のトランザクションに押し負けてどうしたものか悩んでいる気分転換に書いているので その話題になったというのもある。

種類

ハードウェアウォレットに詳しいわけではないので、これがよいとかあれがよいとかの指標は持っていない。
こういうときは bitcoin.org の情報を参考にする。
(なお、bitcoin.com というところもあるがあちらは違うコインなので注意しよう。)

この中だとだいたい同じだが、2箇所だけ違いがある。

Ledger Nano S は、仕様が公開されているもののコードが非公開なのでそうなっているとのこと。

Seedsigner はハードウェアも自作なので他に比べると使うまでの敷居が高いということなのだろう。 確かに面倒ではあるが、ハードウェアから自分で作るというのはソフトウェアを自分でビルドするのと同じようなものだ。

どれもそうだけど、中古で買ったりしないようにすること!
新品を買うにしても信用できるところで買うようにする!
アプリやデバイスドライバも間違いが無いことを慎重に確認する!
そのくらい注意しないと、Google 検索して一番上に偽サイトが出てくることがあるくらいにやっかいな品物である。 仕事で Trezor を使っていたがドライバのダウンロードがそれだったのだ。。。
慌ててアンインストールして、Windows なのでレジストリとかまで調べるなどひどく面倒だった気がする。
有名なウォレットほどそういう偽物が多いので注意してほしい。

こういう製品は未開封であることを表すためにセキュリティシールという一度剥がしたらわかるものが使われている。 と書いていて思ったが、箱ごと偽造されたら気付かないな。。。
ともかく、心配を減らすためには信頼できるところから買うしかないのだ。

個人的な話だが、以前 Google の Titan というセキュリティキーを購入したのだがセキュリティシールが剥がれていたのだ。 あれは剥がれていたというか、粘着が弱くて貼ったことになっていなかったのだとは思う。
しかしそんなの信用できるわけもなく交換してもらった。

個人で持っているもの

私が持っているのは Blockstream Jade というウォレットだ。

安かったしね!
とサイトを見たら数年前より価格が上がっているかもしれない。忘れた。 今となっては Trezor One の方が安いかもしれない。

Jade は ESP32 向けになっていて M5 stack で動かしたりできたはずだ。 QRコードを読むカメラやロータリーエンコーダーが付いていないと不便だが、工夫すれば動いたと思う。

当時安かったのは、CPU というかマイコンが ESP32 だからだと思う。
Trezor は Arm-M の TrustZone に対応したマイコンを使っているので、 価格はよく知らないが ESP32 よりは高そうな気がする。

今日時点のファームウェアでは P2TR に対応していなかったが次のリリースで対応しそうだ。 MuSig2 に対応するんだろうか? 気が向いたら報告したいものだ。

物理なウォレット

こういう電気を使わないウォレットも、ある意味ではハードウェアウォレットなんじゃなかろうか。 物理ウォレットとか呼ぶのかな? 火事などで燃えても残るように金属製になっているからメタルウォレットなのかもしれない。

ニモニックは先頭の4文字があれば区別が付くようになっているらしく、 こういうメタルウォレットは 4文字ずつ記録していくようになっていることが多いと思う。

アドレスの種類も覚えておこう

ニモニックは BIP-32 でいうところの先頭である m を表す。
階層の最後はインデックスなのでインクリメントしていけば良い。
external と internal は両方確認しないといけないので、これもよい。

残るアドレスの種類は覚えておいた方がよいと思う。 理由は、全部調べるのが面倒だからだ。
いまだと P2PKH, P2WPKH, P2TR か。P2PKH はウォレットの作成時期を覚えていれば除外できるかも。
復元して、Bitcoin がいくらあるか覚えていなくて、違うアドレスの種類で復元するとゼロなので心配してしまうのだ。

Electrum のニモニックは BIP-39 ではない

Electrum Wallet は、BIP-39 のニモニックは今ひとつではないかということでエンコードが異なる方式を使っている。
見た目は Electrum のニモニックも同じように見えるので(少なくとも私には)、復元しようと BIP-39 ニモニックとして入力するとエラーになる。

lnd のニモニックも BIP-39 ではない

lnd という Lightning ウォレットは 初回のウォレット作成で 24単語のニモニックを出力するが、これも BIP-39 ではなく aezeed という方式である。

aezeed のニモニックから x/y/zprv に変換するツールがあるので使うとよい。
念のためオフラインにしておこう。

おわりに

この辺を見ていると、ハードウェアウォレットを使ったとしても単独鍵だと 物理的な犯罪からは防ぐことができないなあ、とも思ってしまう。

家に現金があるようなものだけど、金庫の鍵を自分で持っていないので開けられません、という状態だと犯人が奪いたくてもどうしようもないだろう。
そういうとき、お金は奪われなかったけれども・・・ということになりそうな気もするが、そこは考えまい。

犯罪から身を守るのは Bitcoin だろうとなんだろうと難しいのだ。

それ以外だと、長期で UTXO のままにしておくと真面目に(?)攻撃をし続けられているとやっぱり心配である。 コスト度外視で「こいつに迷惑掛けてやる!」みたいなことをされるとか。 まあ、そこまでいくとそのお金で物理的に迷惑を掛ける方が容易な気はする。

あまり大きくない UTXO を全部異なるアドレスに割り振っておくと、 1つのアドレスが解析されてしまっても seed が解析されない限りは波及しないだろう。
そういう心配をするなら、自分で 2つくらいウォレットを作っておいて MuSig2 にすると強度は上がりそうな気がする。

Jade が P2TR 対応したら調べてみたいものだ。


 < Top page


コメント(Google Formへ飛びます)

GitHub

X/Twitter

Homepage