2017.04.22 jaws-ug福岡:reboot#4 awsでゴールドラッシュ!?
TRANSCRIPT
Copyright ©2017 HAW International Inc. all rights reserved.
JAWS-UG福岡:Reboot#4
AWSでゴールドラッシュ!?2017/04/22
株式会社ハウインターナショナル 安土茂亨
Copyright ©2017 HAW International Inc. all rights reserved.
安土 茂亨(Azuchi Shigeyuki)
株式会社ハウインターナショナル
•Blockchainの研究開発
‣カラードコインの電子投票などへの応用
‣Open Assets Protocolの実装の一つである
openassets-rubyを独自開発しGithubで公開
‣オフチェーンを利用したペイメントチャネルライブラリの開発
•製品・サービス開発
‣Congrechain
‣ブロックチェーン実証環境Chaintope
‣Open Assets Explorer
Copyright ©2017 HAW International Inc. all rights reserved.
ゴールドラッシュ
● 1848年1月24日、ジェームズ・ウィルソン・マーシャルがカリフォルニア州
コロマのサッターズミルで金を発見(発見当時はまだメキシコの一部)
● 全米や海外から30万人がカリフォルニアに集まる
● 金探鉱技術も進化し、個人→会社組織が主流に
● 人口200人だったサンフランシスコの町が
1852年には人口36000人に
1850年にはカリフォルニアがアメリカの31番目の州に
● シリコンバレーで第2のゴールドラッシュ
Copyright ©2017 HAW International Inc. all rights reserved.
現在のゴールドラッシュ
AWSで を掘ろう!
金の採掘から仮想通貨の採掘に
Copyright ©2017 HAW International Inc. all rights reserved.
金の掘り方
Copyright ©2017 HAW International Inc. all rights reserved.
暗号学的ハッシュ関数
任意のデータ長を入力として、固定長のダイジェスト(ハッシュ値)を生成する関数
● 一方向関数で、ハッシュ値から元の入力は事実上計算できない
● 同じ入力からは必ず同じハッシュ値が生成される
● 同じハッシュ値を持つ異なる2つの入力を事実上求めることができない
SHA-256の場合
入力データ
chunk(64byte) chunk(64byte) chunk(64byte) chunk(64byte)…
初期ハッシュ ハッシュ1 ハッシュ2 ハッシュ3 ハッシュ値
計算処理
計算処理
計算処理
計算処理
計算処理
● メッセージ拡張関数
● 圧縮関数
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万弱くらい)
Copyright ©2017 HAW International Inc. all rights reserved.
加熱するハッシュ計算競争
現在のハッシュレート = 3,909,321 TH/s(秒間390京9321兆回のハッシュ計算能力)
このスケールのハッシュ計算では↓がネックに
● ハッシュ計算のスピード
● ハッシュ計算に伴う電気料金 電気代の安い場所(中国とか)が有利
Copyright ©2017 HAW International Inc. all rights reserved.
集積回路にハッシュ関数を実装
CPUやGPUを使った計算では勝負にならない
ハッシュ計算を行う専用の集積回路(ASIC)を
利用したマイングが主流
マイニングもソロで行うのではなく、
大勢のマイナーが協力してマイニングを行
う
プールマイニングが主流
Pool Server
MiningNode
MiningNode
MiningNode
MiningNode
MiningNode
MiningNode…
BlockTemplate
nonce等を除外した
ブロックテンプレートが配布され
各ノードでハッシュ計算
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削減
※ 図は簡略化して書いてあるので実際の仕組みとは異なります。
Copyright ©2017 HAW International Inc. all rights reserved.
スケールに応じた計算量の最適化
アルゴリズムや組み合わせ次第では
マイニングのパフォーマンス向上が可能
&
初期投資なくハッシュ関数を
ハードウェア実装するには?
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 / 時間
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
Copyright ©2017 HAW International Inc. all rights reserved.
デプロイまでの流れ
1. 開発環境が一式入ったFPGA Developer AMIを使って
開発用インスタンスを起動
2. HDK使ってFPGAコードを書く
3. コンパイルしたコードをAmazon FPGA Image(AFI)として登録
4. AFIをF1インスタンスにアタッチして実行!
AFIをマーケットプレイスで販売することも可能!
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な
るか?