BIP 32 — 階層的決定性ウォレット

BIP 32: 階層的決定性ウォレット

著者: ピーター・ウィーユ ステータス: ファイナル タイプ: スタンダードトラック 作成日: 2012年2月11日

概要

BIP 32は階層的決定性ウォレット(HDウォレット)を定義した。決定性アルゴリズムを使用して、単一のシード値から鍵ペアのツリーを計算できる。ユーザーはこの単一のシードをバックアップするだけで、すべての鍵を復元できる。

動機

HDウォレット以前、ビットコインウォレットは独立してランダムな鍵ペアを生成していた。これは以下の問題を意味した:

  • 新しいアドレスを生成するたびにバックアップが必要
  • 鍵プールが枯渇し、資金喪失の可能性がある
  • 異なる用途のために鍵を整理する体系的な方法がない

主要概念

マスター鍵生成: 128〜256ビットの単一シードをHMAC-SHA512で処理し、マスター秘密鍵とマスターチェーンコードを生成する。

子鍵導出: 任意の親鍵から、以下の方法で子鍵を導出できる:

  • 通常導出 — 親公開鍵から子公開鍵を計算可能
  • 強化導出 — 親秘密鍵が必要で、追加のセキュリティ分離を提供

鍵パス表記: 鍵は m/0'/1/2 のような導出パスで識別される。m はマスター鍵、各数字は子インデックスを表す。

意義

BIP 32はこれまで書かれた最も重要なBIPの一つと言える。現代のビットコインウォレットアーキテクチャの基盤となり、以下のように拡張された:

  • BIP 39 — ニーモニックシードフレーズ(人間が読めるバックアップ)
  • BIP 43 — マルチアカウント構造のための目的フィールド
  • BIP 44 — 決定性ウォレットのためのマルチアカウント階層

現代のほぼすべてのビットコインウォレットが、BIP 32に基づくHD鍵導出を使用している。