暗号資産におけるウォレットとは② 〜HDウォレット編〜
前回は、暗号資産におけるウォレットの基本編、類型としてホットウォレットとコールドウォレットの違いと、アドレスの生成方法の例を示しました。
本稿ではまず、別の観点、決定性か非決定性かによって分類してご説明します。
鍵の生成・管理方法による分類
ウォレットの別の類型として、「ランダムウォレット」と「HDウォレット」が存在します。
前回では秘密鍵の生成時に乱数生成器を利用すると述べましたが、それはBitcoinやEthereumが初期の頃に用いられていたウォレットの管理方法です。これが「ランダムウォレット」なのですが、決済用やおつりの受け取り用など複数の用途のためにアカウントを発行する際には、その分だけ沢山の秘密鍵を管理しなくてはなりませんでした。
一方で、「HDウォレット(Hierarchical Deterministic Wallet: 階層型決定性ウォレット)」は、1つのシードからマスターキーとなる秘密鍵を生成し、そこからツリー(木)構造のような階層的に複数の派生秘密鍵と派生公開鍵及びアドレスを生成します。
現在ではこちらのHDウォレットが主流になっています。
ランダムウォレットとは
繰り返しになりますが、ランダムウォレット(非決定性ウォレット)は、秘密鍵と公開鍵を1:1で生成・管理するウォレットです。例えばBitcoinのクライアントでは通常、最初に起動した際にランダムな秘密鍵を100個生成します。つまりその分だけ、大切な秘密鍵を管理する必要があるということになります。もしかすると1個のアドレス(秘密鍵→公開鍵→アドレスの順に生成される)だけを使っている方もいらっしゃるかも知れませんが、多くの場合はプライバシーの観点から用途に応じて使い分けられます。
HDウォレットとは
HDウォレットは、1つのシード(大抵は24個のシードフレーズを以て管理される値)からマスターとなる秘密鍵を生成する(一方向ハッシュ関数を用いる)ところから始まります。
マスターキーであるこの秘密鍵から、子どもの秘密鍵と公開鍵のペア(複数生成可能)を、その子どもである秘密鍵から孫の秘密鍵と公開鍵のペアを、というように図でイメージすると木構造の根っこから枝葉が分かれるように生成していきます。
このように1つの秘密鍵から階層的に複数のアカウントを生成していくことで、大元のマスターキーのみを管理すれば良いことになります。ただしそのため、このマスターキーを失うとそれから派生するアカウントすべてを失ってしまうことになるので注意が必要です。
終わりに
今回はHDウォレットについて軽く触れました。より詳細な説明はまた改めて出来たらと思います。
繰り返しになりますが、大切な暗号資産は取引所に置きっぱなしにするのではなく、きちんとご自身で秘密鍵を管理することをお勧めします。複数のハードウェア等に分散する等、細心の注意を払って保管しましょう。