BIP 39: 決定性鍵生成のためのニーモニックコード
著者: マレク・パラティヌス (slush)、パヴォル・ルスナク、アーロン・ヴォワジーン、ショーン・ボウ ステータス: 提案 タイプ: スタンダードトラック 作成日: 2013年9月10日
概要
BIP 39は、決定性ウォレットの生成のためのニーモニックコード(一般的な英単語の並び)の実装を定義した。ニーモニック文は、生のバイナリや16進データよりも人間が書き留めて記憶しやすい。
仕組み
- エントロピー生成 — 128〜256ビットのランダムデータ
- チェックサム計算 — SHA-256ハッシュの先頭数ビットを取得
- グループ分割 — エントロピー+チェックサムを11ビットグループに分割
- 単語マッピング — 各11ビット値を2048語のうち1語に対応させる
エントロピーと単語数の関係:
- 128ビット → 12単語
- 160ビット → 15単語
- 192ビット → 18単語
- 224ビット → 21単語
- 256ビット → 24単語
例
12単語のニーモニックは以下のようになる:
abandon ability able about above absent absorb abstract absurd abuse access accident
ニーモニックからシードへ
ニーモニック文はPBKDF2-HMAC-SHA512(2048回反復)を使用して512ビットのシードに変換される。オプションのパスフレーズにより追加のセキュリティを提供する。このシードはBIP 32でHDウォレットツリーを導出するために使用される。
意義
BIP 39は、一般ユーザーにとってビットコインのセルフカストディを実用的なものにした。「この12/24単語を書き留めてください」というオンボーディングフローは、事実上すべての暗号通貨ウォレットで普遍的になった。「ファイナル」ステータスに至らなかったにもかかわらず(一部のBitcoin Core開発者からのワードリスト結合に関する異議のため)、BIP 39は暗号通貨で最も広く採用された標準の一つとなった。
著者のマレク・パラティヌス(最初のビットコインマイニングプールであるSlush Poolの創設者として「slush」の名で知られる)とパヴォル・ルスナクは、Trezorハードウェアウォレットを開発するSatoshiLabsの共同創設者でもある。