クリプト

Liskのパスフレーズからアドレス生成の話

万博おじ's icon'
  • 万博おじ
  • 2019/06/18 13:56
Content image

 

 

noteの転記です。

 

この記事を書いている時点のLiskのパスフレーズからアドレスを生成する仕組みを記載しています。
既存の方法ではアドレス衝突の危険性が指摘されていますが、直近で問題になることはないので安心してください。
また、これについてはロードマップに変更予定が記載されています。
Development Roadmap > Network Longevity > Replace address system

 

パスフレーズの生成

BIP39を使用しています。
BIP39のワードリストには言語ごとに2048ワードあります。
なので、12ワードのパスフレーズのパターンは重複含めると2048^12あることになります。
が、実際には12ワードの場合は128bitのエントロピーから生成されます。(ちなみに24ワードだと256bit)

 

公開鍵と秘密鍵の生成

鍵生成にはed25519を使用しています。
BIP39で作成されたパスフレーズをそのままSHA256でハッシュ化し、それをed25519を使って鍵生成する流れ。

例:パスフレーズが以下の場合
chicken problem whip mobile shield angry hard toast disease chronic code category

1. SHA256でハッシュ化
[結果]
32 18 0f 8e a1 80 7f f1 b0 11 dc 4e 88 48 0c 14 5b a1 de 5a d0 82 31 73 25 72 56 67 b1 bf 43 64

2. ed25519で鍵生成
[結果] ※公開鍵のみ記載
26 e0 a6 95 a2 96 a3 c2 43 98 92 59 66 65 92 17 8b 77 f0 8b 66 7b 65 e2 e5 f1 e9 c2 09 2b db 8c

 

公開鍵からアドレスの生成

ed25519で作った公開鍵をSHA256でハッシュ化した値の頭8バイトを取得。
それをひっくり返して10進数に変換した値にLを付ける流れ。

例:公開鍵が以下の場合
26 e0 a6 95 a2 96 a3 c2 43 98 92 59 66 65 92 17 8b 77 f0 8b 66 7b 65 e2 e5 f1 e9 c2 09 2b db 8c

1. 公開鍵をSHA256でハッシュ化
[結果]
f9 eb 38 75 59 65 31 36 07 94 f2 84 f5 f1 5e 67 02 6d e0 87 c6 87 45 c0 0f 55 5b 30 83 7d 0a 89

2. 頭8バイトを取得
[結果]
f9 eb 38 75 59 65 31 36

3. リバース
[結果]
36 31 65 59 75 38 eb f9

4. 10進数に変換
[結果]
3905013786800090105

5. 末尾にLを付与
[結果]
3905013786800090105L

 

ということで

1. BIP39でパスフレーズを生成
2. 生成したパスフレーズをSHA256でハッシュ化
3. ed25519で鍵(公開鍵&秘密鍵)を生成
4. 生成した公開鍵をSHA256でハッシュ化
5. ハッシュ化した値の頭8バイト取得
6. 取得した8バイトの値をリバース
7. 10進数に変換
8. 末尾にLを付与
という流れになります。

以上!

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 40.29 ALIS Article tip 11.00 ALIS
万博おじ's icon'
  • 万博おじ
  • @ysmdmg
万博によく出没するLisk大好きおじさん

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

Like token Tip token
235.30 ALIS
Eye catch
クリプト

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

Like token Tip token
69.90 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
43.10 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS