Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hash for block chain

4,298 views

Published on

ブロックチェーにおけるハッシュについて

Published in: Technology
  • Be the first to comment

Hash for block chain

  1. 1. Hash for BlockChain
  2. 2. 中村 奎太 (@keita0q) メルカリ R4D インターン
  3. 3. Agenda About Hash Hash for BlockChain Various Hash Algorithms
  4. 4. About Hash
  5. 5. About Hash abcde 10kemdafei1213ijf 291ue3jnfjqhf4fp3 input outputhash function ❌
  6. 6. About Hash 固定長データへの変換 不可逆 同じ入力に対しては同じ出力 少し入力が変化するとハッシュ値も変化する 可能な限り衝突が起きないほうが良い
  7. 7. Hash for BlockChain
  8. 8. Hash for BlockChain ブロックを繋ぐ アドレスの生成
  9. 9. Hash for BlockChain transaction info Block Hash transaction info Block Hash transaction info Block Hash
  10. 10. マイニング(PoW) ブロックは以前のブロックと繋ぐブロックのハッシュ 木の根とナンスから条件に当てはまるハッシュ値を計 算することで繋がれる マイナーは条件を満たすハッシュ値になるナンス(ラ ンダムな変数)を探す 最も早く回答となるナンスを見つけたものに報酬が払 われる
  11. 11. Hash for BlockChain(PoW) transaction info Block Hash ??? hash function Block Hash
  12. 12. ブロックチェーンにおいて 最も計算されるロジックであり、 ブロックが連鎖していくことそのものである ハッシュアルゴリズムの計算量や性質が ブロックチェーンの特性になる
  13. 13. Various Hash Algorithms
  14. 14. Various Hash Algorithms SHA-256 SCRYPT CryptoNight ETHash Lyra2REv2
  15. 15. SHA-256 input data output data hash 64 byte 64 byte 64 byte 64 byte 64 byte 64 byte initial hash hash hash hash … 8つの32bitに分解し,64回 シフトさせながら値を変化させる
  16. 16. SHA-256 実装が容易 並列処理に向いておりGPU,ASIC(採掘専用ハード)を 使って計算するのが早い 計算量は非常に多い 計算速度と安全性のバランスがいい
  17. 17. SHA-256
  18. 18. SCRYPT HMAC-SHA-256 input data ROM Mix HMAC-SHA-256 output data 秘密鍵付き ハッシュ関数
  19. 19. SCRYPT ROM Mix Block Mix ROM Mix Salsa 20/8 1024回 ビット加算、XOR 、ビットシフトを 繰り返して512bitの データを作る 固定長にハッシュ 化された値から巨 大配列を作成し、 ランダムな場所に 足して処理を行う
  20. 20. 複数の優れたハッシュアルゴリズムを繋いだもの ASIC耐性を強めるため非常に多くの計算力よりもメ モリを使うように設計 scrypt用のASICもすでに多く作られてしまっている 計算量自体はSHA256を繋いだものよりも高速 SCRYPT
  21. 21. SCRYPT
  22. 22. CryptoNight ワンタイムキーによるリング署名 data 1度しか使えない 鍵 sign sign sign verify 秘密鍵 109dhuw131jfwiefww1 109dhuw131jfwiefww1 109dhuw131jfwiefww1
  23. 23. ワンタイムキーとリング署名を使うことで匿名性を向上 暗号生成は容易で計算量は低い ワンタイムキーによる暗号をハッシュ値として用いるこ とで事実上トランザクションを追うことは不可能 メモリを多く使うためASIC耐性もありCPUによるマイ ニングも可能 CryptoNight
  24. 24. CryptoNight
  25. 25. ETHash nonce transaction info Block Hash DAG Hash
  26. 26. ETHash 1GB以上のDAGと呼ばれる非有向性巡回グラフを読 み込む必要があるためASIC耐性があると言われてい る GPUによる計算が最も望ましい
  27. 27. ETHash
  28. 28. Lyra2REv2 1GB以上のメモリを消費するSHA-3系のHashアルゴ リズム ASICが作られたとしても大量のメモリが必要となる ため、ASICをつかう利点が少ない 計算量も少なく容易にCPU,GPUによって行える
  29. 29. Lyra2REv2
  30. 30. アルゴリズ ム 計算コスト ASIC耐性 実装コスト 匿名性 SHA-256 △ ❌ ◎ △ SCRYPT △ △ △ △ CryptoNight ◎ ◯ △ ◎ ETHash ◯ ◎ △ △ Lyra2REv2 ◯ ◎ △ △
  31. 31. Conclusion ブロックチェーンの特性はコンセンサスアルゴリズ ムとハッシュアルゴリズムである ハッシュアルゴリズムを見ることでそのブロックチ ェーにおけるネガポジが理解できる コンセンサスアルゴリズムとの関わりを見ることは 非常に重要
  32. 32. “ハッシュを理解して楽しい ブロックチェーンライフを”

×