Trezorの導出パスに関するフォレンジック分析

研究 ハードウェアフォレンジック

Trezorの導出パスに関するフォレンジック分析

復元されたTrezorで残高が間違って表示されたり、残高が表示されなかったりする場合、通常は資産が失われたわけではありません。単に誤ったアドレスが算出されているだけです。コインはブロックチェーン上に存在しており、単にアクセス経路が間違っているだけです。

2026年7月更新 · KeychainX — 2017年よりウォレット復元サービスを提供

ハードウェアウォレットは、派生パスを使用して1つのシードから多数のアドレスを生成します。長年にわたり、Trezorのファームウェアや関連する標準規格の変更に伴い、ウォレットが使用するパスも変化してきました。こうした差異は、「資金がなくなってしまった」という報告の頻繁に見られる原因の一つですが、その実態は誤解されがちです。このページでは、Trezorのアドレス生成プロセスの詳細と、復旧手順によってこの問題がどのように解決されるかについて解説します。

導出パスとは何か

1つのシードから、m/44’/0’/0’のような派生パスに従って、事実上無制限のアドレスを生成することができます このパスには、どのコインか、どのアカウントか、どのアドレスインデックスかがエンコードされています。間違ったパスでシードを復元すると、別の、有効ではあるが空のウォレットが生成されます。シード自体は正しく、資金も実在しているものの、ソフトウェアがツリーの誤った分岐を参照しているのです。この事実だけで、ハードウェアウォレットにおける「復元されたが空だった」というケースのほとんどが説明できます。

乖離した基準

ビットコインのアドレスの種類ごとに、独自のパス規格が定められています。レガシーなBIP44m/44’、1…で始まるアドレス)、SegWit互換のBIP49m/49’、3…)、ネイティブSegWitのBIP84m/84’、bc1q…)、そしてTaprootのBIP86m/86’、bc1p…)です。 Trezorのファームウェアはこれらを順次採用してきたため、ある規格に基づいて資金が投入されたウォレットを、別の規格をデフォルトとする他のソフトウェアで復元しようとすると、何も表示されないことがあります。資金は元のパスにあるアドレスに残ったままとなります。

ファームウェアおよびアカウントインデックスの履歴

アドレスの種類に加え、旧バージョンのTrezorファームウェアや初期のサードパーティ製ツールでは、非標準のパスやシフトされたパス、アカウントインデックスが使用されていたことがあり、また一部のウォレットでは、特定の期間に特有のETH派生パスが使用されていたが、後のソフトウェアではこれがデフォルト設定から外されていた。複数のアカウントが存在する場合、さらに別の要素が加わる。つまり、アカウント0のみをスキャンした場合、アカウントインデックス1や2にある資金は検出されない。履歴を再構築するには、ウォレットの作成時点でどのファームウェアやツールが使用されていた可能性があり、それぞれがどのような結果を導き出したかを把握する必要がある。

パスフレーズ(非表示)ウォレット

パスフレーズ、つまり「25番目の単語」は、さらなるセキュリティ層を追加します。各パスフレーズは、同じシードから完全に独立した隠しウォレットを生成します。 パスフレーズを忘れたり入力ミスをしたり、あるいはTrezorを別のインターフェースに接続したりすると、空に見える別の派生ウォレットが表示されますが、資金は正しいパスフレーズで保護された隠しウォレットに安全に保管されています。これはPINの紛失とは異なり、行き止まりではなく、解決すべき問題です。

パススイープがそれをどのように復元するか

復旧は体系的な探索プロセスです。正しいシードから、あり得るすべての経路をたどり、標準アドレス、アカウントインデックス、および(該当する場合)パスフレーズを導出し、導出された各アドレスのセットを、既知の入金済みアドレスまたはブロックチェーンと照合します。導出されたアドレスが一致すると、正しい経路が確認され、資金を使用できるようになります。シードは最初から正しかったのです。必要な作業は、コインが実際に存在する分岐を見つけることなのです。

なぜこれが資金の紛失とよく間違えられるのか

パスが一致しないことでこれほどパニックになる理由は、すべてが壊滅的な事態のように見えるからです。正しいシードを入力してウォレットを開くと、残高がゼロと表示されます。コインが盗まれたか、シードが間違っていると結論づけるのは当然のことです。しかし、有効なシードで残高がゼロになる場合、ほとんどの場合、ソフトウェアが、あなたの資金が存在するアドレスツリーとは異なる分岐を導き出したことを意味します。つまり、異なるアドレスタイプ、アカウントインデックス、あるいは(パスフレーズを使用している場合は)まったく別の隠しウォレットであるということです。 ブロックチェーン上では、コインは依然として実際のアドレスに存在しています。間違っているのは、現在の表示だけなのです。この点を理解しておけば、損失が現実のものだと決めつけて諦めてしまうという、最悪の過ちを防ぐことができます。

パスとパスフレーズの記録

このような事態に決して直面しないようにするには、シードだけでなく、その他の情報も記録しておく必要があります。ウォレットが使用しているアドレスタイプ(レガシー、SegWit、ネイティブSegWit、Taproot)、資金が保管されているアカウントインデックス、そして——特に重要な点として——隠しウォレットを使用している場合は正確なパスフレーズを記録しておいてください。パスフレーズはどこにも保存されず、デバイスから復元することはできないからです。 シードだけでもウォレット復元することは可能ですが、パスとパスフレーズの詳細を記録しておくことで、どのソフトウェアでも初回から確実にウォレット復元できるようになります。

実際の練習では、スイープがどのように行われるか

シードが判明すれば、その後の処理は機械的なものです。シードから各パス規格に対応するアカウントの拡張キーを生成し、それぞれの下にある受信アドレスおよび送金アドレスの最初の範囲を導出し、それらをブロックチェーンと照合します。照合は、所有者が記憶している特定のアドレスと照合するか、あるいは導出されたセットの中で過去に残高を保有したことがあるアドレスをスキャンすることで行います。 パスフレーズの候補を追加すると探索空間は増大しますが、ロジックは同じです:導出、照合、確認。確認は実際のオンチェーン履歴に基づいて行われるため、正しい組み合わせが見つかった際には曖昧さがありません。資金が投入されたアドレスが表示され、正しいパス、アカウント、パスフレーズが同時に確定します。

当社のドキュメント

KeychainXでは、過去のTrezorファームウェアのパス、アドレス形式の規格、アカウントインデックス、パスフレーズの組み合わせを網羅した「スイープ・ハーネス」を維持しています。これは、「復元されたが中身が空」だったウォレットが、実際にはパスの不一致によるものだったという、長年にわたる事例調査に基づいて構築されたものです。私たちは、実際には完全に無傷であるウォレットを所有者が放棄してしまうことがないように、この情報を公開しています。ハードウェアに関する事例については、Trezorの復旧ページをご覧ください。

よくある質問

Trezorを復元したところ、残高がゼロと表示されています。コインは失われてしまったのでしょうか?

通常はそうではありません。導出パスやアカウントインデックスが間違っていると、同じ正しいシードから別の、空のウォレットが生成されてしまいます。資金はオンチェーン上にあり、パススイープを行えば見つけることができます。

「誤った道」の問題は、何が原因で起こるのでしょうか?

アドレス形式の規格(BIP44/49/84/86)と、過去のファームウェア間の違い。ある方式で資金が投入されたウォレットを、別の方式をデフォルトとするソフトウェアで復元すると、何も表示されません。

Trezorの隠しウォレットが消えてしまったのですが、なぜでしょうか?

パスフレーズ(25番目の単語)は、別の非公開ウォレットの鍵となります。パスフレーズが間違っていたり、忘れてしまったり、あるいは使用するインターフェースが異なったりすると、異なる派生ウォレットが表示されますが、資金は正しいパスフレーズを持つウォレットに残ったままです。

これはPINを忘れた場合と同じことですか?

いいえ。PINはデバイスをロックするものです。導出やパスフレーズに関する問題は、正しいシードからどのアドレスが導出されるかという点に関するものです。これらは異なる問題であり、復旧方法も異なります。

回復にはどれくらいの費用がかかりますか?

成功報酬型:アクセスを回復できた場合にのみ、回収額の一定割合を報酬としてお支払いいただき、前払いは一切不要です。

復元したTrezorで、残高が間違っている、または空になっている?

資金が失われたわけではなく、おそらく派生パスまたはパスフレーズの不一致が原因です。お手持ちの情報を教えてください。24時間以内に正直な評価をお伝えします。

KeychainXへのお問い合わせ →