メインコンテンツへスキップ

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 リポジトリから転記した値です。実装・検証の際は必ず原文を参照してください。

bitcoin/bips で原文を読む