BIP 39
決定性鍵を生成するためのニーモニックコード
原題: Mnemonic code for generating deterministic keys
- Status
- Deployed
- Type / Layer
- Specification / Applications
- Author
- Marek Palatinus, Pavol Rusnak, Aaron Voisine, Sean Bowe
- 割り当て日
- Status 検証日
- 原文
- github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
要約
ウォレットの seed を、人間が扱える「ニーモニック(復元フレーズ)」として表現する方法を定めた提案。手順は二段構えになっている。まず 128〜256 ビットのエントロピーを生成し、その SHA-256 ハッシュの先頭 ENT/32 ビットをチェックサムとして末尾に連結する。これを 11 ビットずつに区切り、2048 語の単語リストの索引として単語に変換すると、12〜24 語の文が得られる(128 ビットなら 12 語、256 ビットなら 24 語)。次にこの文を PBKDF2-HMAC-SHA512(2048 回反復、ソルトは "mnemonic" に任意のパスフレーズを連結したもの)に通して 512 ビットの seed を導き、これを BIP32 のマスター鍵の材料にする。仕様自身が明示しているのは、これが「計算機が生成した乱数を人間可読な形で運ぶ」ための規格であって、人間が考えた文章を seed にする brainwallet の手段ではないという点である。単語リストは先頭 4 文字で一意に識別できるように選ばれている。
技術的意義
復元フレーズを紙に書ける・口頭で伝えられる形にしたことで、鍵のバックアップが一般利用者にとって現実的になった。同時に、その 12〜24 語の保管がそのまま資産の保管になるため、自己保管・相続・詐欺対策の設計はすべてこの規格を前提に組まれている。
関連する BIP
関連する解説記事
このページに掲載しているのは原文の翻訳ではなく日本語の要約です。BIP は原文が正であり、Status を含むメタデータは上記の検証日時点で bips リポジトリから転記した値です。実装・検証の際は必ず原文を参照してください。