暗号資産の基礎1. DRIVING THE FUTURE OF DIGITAL
FINANCE
暗号資産に関する報告資料
基礎編
Tatsuru Kikuchi, Ph.D.
June 30, 2020
Digital Economy Project
Graduate School of Economics, The University of Tokyo
6. 6
1. 本資料の目的
2. 多様化する暗号資産関連ビジネス
3. 次々と登場するマイニング手法
4. 暗号資産ビジネスに対して強まる規制の動き
5. ブロックチェーンの概要
6. 代表的な暗号資産
7. 暗号資産のコンセンサスアルゴリズム
8. データの取得方法
9. WEBAPIの仕組み
10. 暗号資産サービス事業所が提供するWEB API
11. 暗号資産の相関分析
12. 暗号資産の価格予測
13. 今後の話題ー量子耐性
Table of Contents
8. © 2020 Digital Economy Project June 30, 2020
暗号資産に関連する基本的な技術
ハッシュ値の検証(取引データとナンス値からハッシュ値を計算してデータを検証する=「マイニング」)
マイニングの実行者(=マイナー)は、数値パラメータのナンス値を変化させてハッシュ値が目標値に収
束するまで計算を繰り返す。各マイナーはハッシュ値が目標値に収束した際のナンス値を出力して、他の
マイナーのナンス値と比較・検証する。ナンス値が正しければ、その結果は「真」と判断される。
ブロックチェーンの概要
ブロックN-2の
ハッシュ値
取引データ
ナンス値
ブロックN-1
ブロックN-1の
ハッシュ値
取引データ
ナンス値
ブロックN
ブロックNの
ハッシュ値
取引データ
ナンス値
ブロックN+1
ブロックN-1の
取引データ
ナンス値
ハッシュ関数
ブロックN-1の
ハッシュ値
目標値
検証
8
15. 代表的な暗号資産
暗号資産の一部抜粋(データ取得で使用するものに限定)
15 © 2020 Digital Economy Project June 30, 2020
ティッカー 名称 開始年 概要
BTC ビットコイン 2009年 取引承認による新規通貨発行の仕組みが特徴的。
ETH イーサリアム 2015年
ブロックチェーン上にサブプログラムを書き込めるスマートコントラ
クトと呼ばれる機能が実装されていることが特徴。
LTC ライトコイン 2011年
ビットコインのソースコードを利用しており、類似する点は多い。違
いは、ブロック生成が早く、取引承認時間が短いことにある。
XRP リップル 2013年
分散型台帳技術を利用した即時グロス決済システム、 外国為替・送金
ネットワーク。二重支払いの検知をPoWではなく、独自に開発された
コンセンサスシステムによって行う。
ETC イーサリアムクラ
シック
2015年
2016年にイーサリアムで発覚した不正取引事件を機に分裂して出来た
暗号資産。
DASH ダッシュ 2014年
ビットコインのソースコードをベースに開発されたオープンソースプ
ロトコルに基づくP2P型の決済ネットワーク、及び暗号資産。
SC シアコイン 2014年
ブロックチェーンを利用したクラウドストレージのシェアリングが特
徴。
XMR モネロ 2014年
プライバシーの機能に特徴を持つ暗号資産。2018年8月に日本国内で
の取引は廃止されている。
XEM ネム 2015年
取引承認にハーベスティングと呼ばれる手法を用いていることが特徴。
取引承認への参加権はネムのシステムに対する貢献度によって決定さ
れている。そのため、ネムのコンセンサスアルゴリズムはPoI(プ
ルーフ・オブ・インポータンス)と呼ばれている。
17. 17 © 2020 Digital Economy Project June 30, 2020
21. 暗号資産のコンセンサスアルゴリズム
暗号資産ビジネスの信頼性を担保するコンセンサスアルゴリズム
PoW
(Proof of Work)
PoS
(Proof of Stake)
PoI
(Proof of Importance)
PBFT
(Practical Bizantine Fault
Tolerance)
LCP
(Ledger Consensus
Protocol)
コンセンサスアルゴリズム
21 © 2020 Digital Economy Project June 30, 2020
KPI(重要評価指標
)
計算能力
(特定資産の)
保有量
(特定資産の)
総合スコア
信用度
(多数決/管理者あり)
信用度
(多数決)
BTC、ETH、LTC
LSK
XEM
XIL、ARK
XRP
代表的な通貨 特徴
誰もが参加可能
維持コストが高い
誰もが参加可能
維持コストが安い
流動性が低下
誰もが参加可能
維持コストが安い
流動性を担保
コンソーシアム型
維持コストが安い
維持コストが安い
PBFTよりも待ち時間が短い
注)XRPのコンセンサスアルゴリズムは、正しくはPoCではなく「LCP」(或いは「RPCA」)と呼ばれてい
る
22. コンセンサスアルゴリズムー「PoW」の概要
BFTを持つコンセンサスアルゴリズム
1. 各ノードによるハッシュ値の計算
2. ハッシュ値の計算結果の検証による合意形成(コンセンサス)
3. 合意を得たノードが新しいブロックの形成権を得る
4. ハッシュ値を計算する処理能力(ハッシュパワー)に見合うインセンティブ
を得ることが出来るかどうかがビザンチン障害耐性に対する一つの解決策と
なっている
PoW(Proof of Work)の特徴ーマイニングによるハッシュ値の検証
P2Pネットワー
ク
ブロックN-2の
ハッシュ値
ブロックN-1の
ハッシュ値
ブロックN-1
ブロックN-1の
ハッシュ値
ブロックNの
ハッシュ値
ブロックN
ブロックNの
ハッシュ値
ブロックN+1の
ハッシュ値
ブロックN+1
検証 承認
ハッシュ値
の計算
ブロック
の追加
検証 承認
ハッシュ値
の計算
ブロック
の追加
検証 承認
ハッシュ値
の計算
ブロック
の追加
22 © 2020 Digital Economy Project June 30, 2020
25. コンセンサスアルゴリズムー「PoI」の概要
BFTを持つコンセンサスアルゴリズム
• PoI(Proof of Importance)では、PoSにおける暗号資産の保有量に比例し
たインセンティブを一般化。
• 総合スコア=保有量、取引量、取引回数など
• マイニングによるハッシュ値の検証過程において、暗号資産の総合スコアに
比例したインセンティブを与える。その結果、暗号資産の総合スコアが多い
ノードほどマイニングの検証・承認の成功確率が高くなるような合意形成の
仕組み。
PoI(Proof of Importance)の特徴ー総合スコアに比例したハッシュ値の検証
P2Pネットワー
ク
ブロックN-2の
ハッシュ値
ブロックN-1の
ハッシュ値
ブロックN-1
目標値
暗号資産の総合スコア
(保有量、取引量、取引回数など)
検証
25 © 2020 Digital Economy Project June 30, 2020
26. コンセンサスアルゴリズムー「PBFT」の概
要
June 30, 2020
26 © 2020 Digital Economy Project
BFTを持つコンセンサスアルゴリズ
ム
1. BFTを持つコンセンサスアルゴリズムの一つ
2. 取引の合意形成(コンセンサス)に至るまでの時間が短い
※マイニングを用いた承認ではない(バリデータがその役割を担う)
3. バリデータに対する信頼性が高い
※この点は中央集権的ではないかとの批判もある(P2Pの本来的な意図に反するようにさえ見える)
4. リーダーと呼ばれる存在(バリデータにバリデーションの指示)
PBFT(Practical Bizantine Fault Tolerance)の特徴
1. リーダーはバリデータにデータを転送
2. バリデータは転送されたデータに「不正」がないことを確認
3. 転送されたデータに問題がないことの合意形成(コンセンサス)
4. 取引データのバリデーション実行
5. 取引データの合意形成(コンセンサス)
PBFTの合意形成プロセス
• 実質的な意味を為さないリーダーの存在
• 複数回必要な合意形成(コンセンサス)
• 通信トラブルなどにより、リーダーが複数ブロックをバリデータに
転送する問題が生じる可能性がある(時間の浪費)
※バリデータは通常、単一ブロックのバリデーションのみを行う
PBFTの問題点
リーダー
転送処理
バリデータ
バリデータ
転送処理の
合意形成
バリデータ
マイニングの
合意形成
29. 29 © 2020 Digital Economy Project June 30, 2020
31. WEB APIの仕組み
WEB API を用いたデータの取
得
レスポンス(例)
200: OK
400: リクエスト不正
404: データ不明
500: サーバー内部エラー
WEB API:Web上でクライアントからサービスを呼び出す方式
リクエストの送信
レスポンスの送信
取得されたデータ
JSON・XML形式
リクエスト(例)
GET: データ取得
POST: データ作成
PUT: データ変更・更
新 DELETE: データ削
除
31 © 2020 Digital Economy Project June 30, 2020
32. 暗号資産サービス事業所が提供するWEB
API
WEB API を用いたデータの取得
暗号資産サービス事業所などが提供する
WEB API(下記はその一例)
URL: https://min-api.cryptocompare.com
リクエストの送信
レスポンスの送信
取得されたデータ
JSON・XML形式
レスポンス(例)
200: OK
400: リクエスト不正
404: データ不明
500: サーバー内部エラー
リクエスト(例)
GET: データ取得
POST: データ作成
PUT: データ変更・更
新 DELETE: データ削
除
Pythonの場合、下記のコマンドでAPIを
叩いてデータを取得できる:
requests.get(“URL”)
32 © 2020 Digital Economy Project June 30, 2020
37. © 2020 Digital Economy Project June 30, 2020
取得したデータの表示ーデータの視覚化
Pythonを用いたデータの視覚化
暗号資産の価格(終値)の推移をプロットする。
37
41. 41 © 2020 Digital Economy Project June 30, 2020
暗号資産の相関分析
ピアソンの相関係数の比較
複数通貨のデータに関して、相関分析を実行する。
ピアソンの相関係数を計算して、ヒートマップとしてプロットする。
42. 42 © 2020 Digital Economy Project June 30, 2020
暗号資産の相関分析
ピアソンの相関係数の比較
複数通貨のデータに関して、相関分析を実行する。
ピアソンの相関係数を計算して、ヒートマップとしてプロットする。
43. 43 © 2020 Digital Economy Project June 30, 2020
暗号資産の相関分析
ピアソンの相関係数の比較
複数通貨のデータに関して、相関分析を実行する。
ピアソンの相関係数を計算して、ヒートマップとしてプロットする。
44. 44 © 2020 Digital Economy Project June 30, 2020
暗号資産の相関分析
ピアソンの相関係数の比較
複数通貨のデータに関して、相関分析を実行する。
ピアソンの相関係数を計算して、ヒートマップとしてプロットする。
50. 時系列分析の概要
基本的な時系列分析手法
分析⼿法 概要 メリット
トレンド分析 上昇傾向か下降傾向かを⾒る 傾向を掴むのに便利
⾃⼰相関分析 ⼀期前と⼆期前のデータ間の相関性を⾒る ARIMAモデルをやる理由の明確化
ARIMA 過去の振る舞いから未来を予測 汎⽤性の⾼いメジャーなモデル
ARCH
(GARCH)
予測誤差の振る舞いをモデル化 周期的なピークなどにも対応可能
スペクトル分析 期間ごとの周期性を⾒出す 周期を使った詳細な分析が可能
指数平滑化
⼀期前と⼆期前の今期への影響の違いを
1つのパラメータで表現
パラメータが少なく予測が容易
交差相関分析 2つの時系列データの関係を⾒る 関係性から要因分析が可能
ランダムウォーク ランダムな振る舞いを確率論から予測 ランダムなデータにも対応可能
デメリット
傾向がないと使えない
⾃⼰相関性がないと使えない
周期的なピークの予測には弱い
周期的なピークがなければ不要
周期性がないと使えない
予測精度に限界がある
1つの時系列データのみでは
使えない
確率論や微分⽅程式の知識が必要
時系列分析手法の概要
50 © 2020 Digital Economy Project June 30, 2020
52. Prophetの概要
• Facebook社が開発した時系列予測のオープンソース・プログラム
• 特徴的な事柄は、トレンド抽出や変化点抽出を容易に行うことが出来る点にある
• Prophet は、以下のような特徴を持つデータに有用である
長期(月次、年次)に渡る詳細な履歴(毎時、日次、週次)がある
複数の強い季節性を持つ
不規則なイベントを含む
データポイントがないか、大きな外れ値がある
非線形成長トレンドがある
• Prophetは、一般化加法モデルの一つであり、局所的なベイズ構造時系列モデルを採用している
• 一般化加法モデルの予測式は下記のように表される:
予測値=「トレンド効果」+「季節効果」+「祝日等の不定期効果」+「誤差」
• 各パラメーターの推定には、MAP推定(事後確率最大化推定)を用いる。具体的には、MAP推定の実
行には統計パッケージ「Stan」を使用している。Stanは一般的な統計分析プログラムであり、C++で
書かれている
将来価格の予測ー時系列分析
Prophetを用いた時系列分析
52 © 2020 Digital Economy Project June 30, 2020
58. 58 © 2020 Digital Economy Project June 30, 2020
将来価格の予測ー時系列分析
Prophetを用いた時系列分析
変化点の予測結果を下記に示す。
赤い点線の日時にトレンドの変化が生じていることを示している。
ビットコイン(BTC)の価格予
測
66. 参考文献
66 © 2020 Digital Economy Project June 30, 2020
1. CryptoCompare official documentation
https://min-api.cryptocompare.com/documentation?key=Historical&cat=dataHistoday
2. CryptoCompare API quick-start guide https://blog.cryptocompare.com/cryptocompare-api-quick-
start-guide-f7abbd20d260
3. HodlBlog: An Analysis of Correlation in the Cryptocurrency Market https://www.hodlbot.io/blog/how-
many-cryptocurrencies-are-simply-following-the-market
4. Blockchain.com: hash-rate
https://www.blockchain.com/charts/hash-rate?timespan=all
5. 書籍「Pythonで動かして学ぶ!あたらしいブロックチェーンの教科書」(翔泳社)
https://www.shoeisha.co.jp/book/detail/9784798159447
6. 書籍「ブロックチェーン技術入門」(森北書店)
https://www.morikita.co.jp/books/book/3182
7. 国立情報学研究所:ビザンチン将軍問題とは何か
https://www.nii.ac.jp/today/69/4.html
8. Ripple社:コンセンサスの研究
https://xrpl.org/ja/consensus-research.html
9. IBM社:はじめてのBlockchainーIBM Cloud 上の Blockchain サービスを使ったブロックチェーンの概要
https://developer.ibm.com/jp/tutorials/j-cl-blockchain-basics-bluemix/#
10. Facebook社:Prophet’s official homepage
https://facebook.github.io/prophet
67. 67 © 2020 Digital Economy Project June 30, 2020