15
Copyright ©2017 HAW International Inc. all rights reserved. JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!? 2017/04/22 株式会社ハウインターナショナル 安土茂亨

2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Embed Size (px)

Citation preview

Page 1: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

JAWS-UG福岡:Reboot#4

AWSでゴールドラッシュ!?2017/04/22

株式会社ハウインターナショナル 安土茂亨

Page 2: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

安土 茂亨(Azuchi Shigeyuki)

株式会社ハウインターナショナル

•Blockchainの研究開発

‣カラードコインの電子投票などへの応用

‣Open Assets Protocolの実装の一つである

openassets-rubyを独自開発しGithubで公開

‣オフチェーンを利用したペイメントチャネルライブラリの開発

•製品・サービス開発

‣Congrechain

‣ブロックチェーン実証環境Chaintope

‣Open Assets Explorer

Page 3: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

ゴールドラッシュ

● 1848年1月24日、ジェームズ・ウィルソン・マーシャルがカリフォルニア州

コロマのサッターズミルで金を発見(発見当時はまだメキシコの一部)

● 全米や海外から30万人がカリフォルニアに集まる

● 金探鉱技術も進化し、個人→会社組織が主流に

● 人口200人だったサンフランシスコの町が

1852年には人口36000人に

1850年にはカリフォルニアがアメリカの31番目の州に

● シリコンバレーで第2のゴールドラッシュ

Page 4: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

現在のゴールドラッシュ

AWSで  を掘ろう!

金の採掘から仮想通貨の採掘に

Page 5: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

金の掘り方

Page 6: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

暗号学的ハッシュ関数

任意のデータ長を入力として、固定長のダイジェスト(ハッシュ値)を生成する関数

● 一方向関数で、ハッシュ値から元の入力は事実上計算できない

● 同じ入力からは必ず同じハッシュ値が生成される

● 同じハッシュ値を持つ異なる2つの入力を事実上求めることができない

SHA-256の場合

入力データ

chunk(64byte) chunk(64byte) chunk(64byte) chunk(64byte)…

初期ハッシュ ハッシュ1 ハッシュ2 ハッシュ3 ハッシュ値

計算処理

計算処理

計算処理

計算処理

計算処理

● メッセージ拡張関数

● 圧縮関数

Page 7: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

マイニングで行われるハッシュ計算

ブロックヘッダ

バージョン

前のブロックのハッシュ

マークルルート

ブロックの生成時刻

difficulty(bits)

Nonce

ハッシュ関数SHA-256

ハッシュ関数SHA-256

ハッシュ関数SHA-256

ハッシュ関数SHA-256

マイニングとは、ある条件を満たすハッシュを生成する競争

nonceを変更しながら目的のハッシュを探す

224af678b863d82be0b0c96a9bd70c163b6b01364d83a294ea170d0228283f0b

0058e6e5cce86e75c382f288a42d68789d2a7f4ab8c0855af922fd29028c3068

00000000000ba3c88113c21513b163442c8fc15d365cd8f321cdbd9a3992c435

000000000000000000ca3943e12f302f09af03eb38c456289260b269104c51ad

生成したハッシュがdifficultyで指定された

ターゲットより小さい値であればマイニング成功!!

報酬は12.5BTC(現在170万弱くらい)

Page 8: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

加熱するハッシュ計算競争

現在のハッシュレート = 3,909,321 TH/s(秒間390京9321兆回のハッシュ計算能力)

このスケールのハッシュ計算では↓がネックに

● ハッシュ計算のスピード

● ハッシュ計算に伴う電気料金   電気代の安い場所(中国とか)が有利

Page 9: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

集積回路にハッシュ関数を実装

CPUやGPUを使った計算では勝負にならない

ハッシュ計算を行う専用の集積回路(ASIC)を

利用したマイングが主流

マイニングもソロで行うのではなく、

大勢のマイナーが協力してマイニングを行

プールマイニングが主流

Pool Server

MiningNode

MiningNode

MiningNode

MiningNode

MiningNode

MiningNode…

BlockTemplate

nonce等を除外した

ブロックテンプレートが配布され

各ノードでハッシュ計算

Page 10: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

ハッシュ関数の特性に注目したAsicBoost

chunk(64byte) chunk(64byte)

初期ハッシュ ハッシュ1 ハッシュ値

計算処理

計算処理

ブロックヘッダ(80byte) 計算量

計算処理

計算処理

● メッセージ拡張関数

● 圧縮関数

● メッセージ拡張関数

● 圧縮関数

chunk(64byte) chunk(64byte)

初期ハッシュ ハッシュ1 ハッシュ値

計算処理

計算処理

ブロックヘッダ(80byte)

計算量

計算処理

計算処理

● メッセージ拡張関数

● 圧縮関数

● メッセージ拡張関数

● 圧縮関数

処理性能  2,3割向上

ループ処理中の一部のchunkを

固定化することで、計算量を1/4削減

※ 図は簡略化して書いてあるので実際の仕組みとは異なります。

Page 11: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

スケールに応じた計算量の最適化

アルゴリズムや組み合わせ次第では

マイニングのパフォーマンス向上が可能

初期投資なくハッシュ関数を

ハードウェア実装するには?

Page 12: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

● FPGAボードの仕様○ Xilinx UltraScale+ VU9P(16 nm製造プロセス)

○ 288bit幅のバスをもった64 GiBのECC機能付きメモリを搭載 ○ CPUへの専有PCIe x16インターフェースをサポート

○ 約2.5億のロジックエレメント

○ 約6,800のDigital Signal Processing (DSP) エンジン

○ デバッグ用仮想JTAGインターフェース

● インスタンススペック

● 課金体系

F1のコンピューティング性能に対しての時間課金のみ

FPGA Developer AMI や HDKは無料で利用可能

F1インスタンス

プログラマブルなハードウェア FPGAボードを

搭載したEC2 インスタンスF1

インスタンス FPGAボード vCPU メモリ ストレージ(SSD) 料金

f1.2xlarge 1 8 122 480 $1.65 / 時間

f1.16xlarge 8 64 976 960×4 $13.2 / 時間

Page 13: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

2017.04.19 US-Eastに登場 New!

● EC2 F1 Instances with FPGAs – Now Generally Available

CentOS上にFPGAの開発ツールが

インストールされた開発用AMIが登場

● HDKとSDKもリリースhttps://github.com/aws/aws-fpga

Page 14: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

デプロイまでの流れ

1. 開発環境が一式入ったFPGA Developer AMIを使って

開発用インスタンスを起動

2. HDK使ってFPGAコードを書く

3. コンパイルしたコードをAmazon FPGA Image(AFI)として登録

4. AFIをF1インスタンスにアタッチして実行!

AFIをマーケットプレイスで販売することも可能!

Page 15: 2017.04.22 JAWS-UG福岡:Reboot#4 AWSでゴールドラッシュ!?

Copyright ©2017 HAW International Inc. all rights reserved.

F1インスタンスでゴールドラッシュ

(注1) 消費電力や処理速度では ASICが有利です。

(注2) F1の利用料金と比較してペイできるかどうかは分かりません。

F1SHA-256

SHA-256

SHA-256 F1SHA-256

SHA-256

SHA-256 F1SHA-256

SHA-256

SHA-256 F1SHA-256

SHA-256

SHA-256

ボタン1つでFPGAクラスタが稼働してマイニング

Gold Rushな

るか?