LedgerとSafePalのBitcoin / ETH(Ethereum)アドレス生成アルゴリズムは同じ(BIP39 / BIP44)

Ledger Nano XSafePal S1を入手し表題を実機検証できたので備忘で記載するもの。

下記の写真は同一ニーモニックフレーズ(mnemonic phrase)を設定した両ハードウェアウォレットのBTCアドレスの表示画面。掲載の都合上一部モザイクを掛けているが完全一致していることを確認できた。EthereumのETHアドレスについては写真は割愛するがBTCと同様に両ウォレットで生成されるアドレスの完全一致を確認済。

bip39_44_safepal_ledger

もしハードウェアウォレットのバックアップを実施したい場合は同一メーカーの同機種を複数用意するより、今回の組み合わせのように別メーカー別機種で用意したほうがカウンターパーティリスクを低減できる。

上記の結論については分かっている人は今更感あるが、同一アドレスが生成できる仕掛けはアドレス生成アルゴリズムが両ウォレットともBIP39(アドレス生成アルゴリズム規格)、BIP44(アドレス階層規格)で同じである為。(※BIP: Bitcoin Improvement Proposal)

以下は上記検証に関わるドキュメントを紹介。

BIP39 / 44の公式ドキュメント

LedgerのBIP関連の公式ドキュメント

色々ぐぐって見たところ販売元ドメインのサポートとLedger teamが別ドメインで掲載しているドキュメントあり。

Get the recovery phrase to restore. BIP39/BIP44 recovery phrases are supported.

Restore from recovery phrase – Ledger Support

Public addresPublic addresses are derived from an account’s extended public key (xpub) by incrementing the address index in the derivation path. Ledger Live follows the BIP 44 standard which prescribes that wallets look ahead 20 addresses from the last used address.

Address gap limit – Ledger Support

SafePalのBIP関連の公式ドキュメント

SafePal is using BIP39/44 mnemonic phrase standard so you could recover the mnemonic phrase in any other BIP39/44 compatible wallet. Here is a recover guide video, kindly check it if you are interested in.

Recovery & back-up – SafePal Knowledge Base

SafePal is using BIP39/44 mnemonic phrase standard. However, even using the same mnemonic standard, the different derivation paths may also result in different currency addresses.
The following info is the derivation path of the address of the currency already supported by SafePal for your reference.
BTC(Legacy): m/44h/0h/0h
BTC(SegWit): m/49h/0h/0h
BTC(Native SegWit):m/84h/0h/0h
ETH:m/44h/60h/0h
DOT:m/44h/354h/0h

Derivation paths supported by SafePal – SafePal Knowledge Base

You can check the spelling error of the Mnemonic through the open specification, BIP39.https://github.com/bitcoinjs/bip39/blob/master/src/wordlists/english.json

Mnemonic phrase – SafePal Knowledge Base

SafePal supports BIP44 mnemonic generation standard. If your mnemonic phrase is not a BIP44-compatible one, it cannot be recovered on a SafePal wallet. Welcome to contact us at www.safepal.io to submit a request. if you have further questions.

Mnemonic phrase – SafePal Knowledge Base

その他参考サイト

最後に

以下にハードウェアウォレットのアフィリエイトリンクを置いておくので良ければ活用下さい。割引特典あり。

コメント

  1. ぱんだれっじゃー より:

    大変勉強になっています、ありがとうございます。
    1点教えて頂きたくコメントいたします。
    ネット未接続状態の初期化されたHWWにリカバリーフレーズの入力をおこなったら復元できました。これは正しい動作とすると、つまりBIP39は対応する全てのHWWそのものに既に組み込まれているということでしょうか?てっきりインターネットに繋がっていないと復元できないとおもっていたので不思議でした。
    すみませんが、お手すきの際にコメントいただければ大変うれしいです。

    • yukun より:

      返信遅れ恐縮です。
      ご照会の件はご認識の通りです。
      BIP39等のアドレス生成の計算手法はブロックチェーンの仕様と同様に公開されており(※)、その処理にインターネット接続を使用しません。HWWは当該計算手法は予め組み込まれておりますので、オフラインの状態でもウォレット(秘密鍵)の復元は可能となります。
      留意点としては、ウォレットによってはBIP44(アドレス階層規格)(Derivation Path)が異なるケースも有り、その場合は「同一リカバリフレーズ」→「復元ウォレットアドレスが不一致」となります。この記事で紹介している、LedgerとSafePalは同一規格でしたのでその心配はございませんが、ご参考まで。

      ※例えば、リカバリフレーズに用いられる英単語リストも公開されています。
      https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt