ブロックチェーン
の基礎を学び、未来に活かす。
2017/01/25
株式会社オルトプラス
開発部 オルトプラスラボ
嶋田 大輔0/ 81
本日の内容
• ブロックチェーンとは?
• ブロックチェーンのこれまで
• ブロックチェーンのいま
• ブロックチェーンのこれから
1/ 81
株式会社オルトプラスについて 2
• 会社設立日:2010年5月6日
• 拠点:渋谷、ベトナム、韓国、台湾
• 従業員数:300名(全体)
• 事業:
• ソーシャルゲーム
• ゲーム運営移管
• オフショア開発
• 広告事業
• 起業支援事業など
/ 81
ソーシャルゲーム屋が
ブロックチェーン?
3/ 81
2016年4月
オルトプラスラボ設立
4/ 81
新しい技術的な取組み
としてVRや機械学習
IoT、ブロックチェーン
などの調査・研究
5/ 81
BCCCに参加しました 6/ 81
自己紹介
• 嶋田 大輔
• 株式会社オルトプラス オルトプラスラボ所属
• お仕事
• 研究開発、勉強会、プリセールス
• オフショアのPMなどなど
• 書いた本
• JavaScriptテクニックバイブル
• すべての人に知っておいて欲しいJavaScriptの
基本原則
• 最近のトピック
• 65,000円時代にBitcoinを(少額)買っていて
いま値上がりしているのがちょっと嬉しい。
7/ 81
本日の内容
• ブロックチェーンとは?
• ブロックチェーンのこれまで
• ブロックチェーンのいま
• ブロックチェーンのこれから
8/ 81
ブロックチェーン
とは
9/ 81
ブロックチェーンとは 10
ビットコインを実現するために
不可⽋な要素技術として
「ナカモト サトシ」によって
⽣み出された⾰新的なアイデア
/ 81
ブロックチェーンの特徴 11
データの
改ざんが
非常に困難
実質的に
ゼロダウン
タイム
/ 81
ブロックチェーンの名前の由来 12
共有すべき情報(トランザクション)
をまとめた単位をブロックと言
い、それらがチェーンのように
連なっているのが由来です。
/ 81
P2Pで参加者
が管理・検証
できる分散型の
共有データベース
ブロックチェーンの要素を分解すると 13
参加者により
生成された
トランザクション
を確定させる技術
ブロックチェーン上で
アプリケーション
ロジックを実行
する為の基盤
トランザクションや
ブロックが正当な
ものと保証する
ために利用
暗号技術
分散台帳合意形成
スマート
コントラクト
/ 81
ブロックチェーン
ネットワーク
ブロックチェーンの大まかな流れ 14
Aさん Bさん
【トランザクション】
AさんからBさんへ
300円
暗号技術
合意形成
分散台帳
スマート
コントラクト【ブロック】
【トランザクション】
AさんからBさんへ
300円
①トランザクション(処理命令)生成
②電子署名&トランザクション送信
③ブロック(トランザク
ションの集まり)生成
④合意・保存
/ 81
P2Pで参加者
が管理・検証
できる分散型の
共有データベース
ブロックチェーンの要素を分解すると 15
参加者により
生成された
トランザクション
を確定させる技術
ブロックチェーン上で
アプリケーション
ロジックを実行
する為の基盤
トランザクションや
ブロックが正当な
ものと保証する
ために利用
暗号技術
分散台帳合意形成
スマート
コントラクト
/ 81
暗号技術
/ 8116
暗号技術について 17
1.暗号学的ハッシュ関数
•改ざんされていないことの証明
2.デジタル署名
•確かにAさんによって作られた処理
であることの証明
ブロックチェーンでは
二つの暗号技術が大切
/ 81
暗号学的ハッシュ関数とは 18
一方向にのみ
「任意長の入力データ」から
「ある長さの出力データ」を
得る事ができる関数のこと。
例:SHA-256やSHA-3(Keccak)など
暗号学的
ハッシュ関数
入力
データ
出力
データ
/ 81
暗号学的ハッシュ関数の流れ 19
あいうえお
FDB481EA956FDB65
4AFCC327CFF9B626
966B2ABDABC3F3E6
DBCB1667A888ED9A
SHA-256
あいうええ
6466204F5FDF2677
C2FFF79038F94C1B
FA98CE0E255D82C6
EAC69839616388BE
SHA-256
全然違う
値になる
ある入力データ
違う出力データ
違う入力データ
固定長の出力データ
/ 81
デジタル署名とは 20
ファイルや文書の作成者を
確認することができ、それが
改ざんされていないことを
保証するための技術。
/ 81
デジタル署名に必要なもの 21
秘密鍵 公開鍵
• [公開鍵]で暗号化したデータは[秘密鍵]でし
か復号できない。
• ネットショップでクレジットカード情報を送る
• 自分のログインパスワードを送る
• [秘密鍵]で暗号化したデータは[公開鍵]でし
か復号できない。
• 秘密鍵が1つしか無いことを利用して、誰が
暗号化したかを確認する = 署名
鍵を作った人
しか持たない。
誰でも入手
可能なもの。
/ 81
デジタル署名の流れ 22
署名する人 = ファイルを作る人
秘密鍵
デジタル署名
元ファイル デジタル署名
ファイル
SHA-256
ハッシュ関数
公開鍵
デジタル署名
FDB481
EA956F
ハッシュ値
FDB481
EA956F
ハッシュ値
ファイル
SHA-256
ハッシュ関数
FDB481
EA956F
ハッシュ値
受取る人
比較検証
暗号化された
ハッシュ値
/ 81
ブロックができるまで 23
【トランザクション】
AさんからBさんへ300円
①トランザクション(何らかの処理の指示)生成
電子署名
③ブロック(トランザクションの集まり)生成
【ブロック】
トランザクション
トランザクション
トランザクション
前のブロックの
ハッシュ値
このブロックの
ハッシュ値
Aさんの電子署名
ハッシュ値計算
署名
署名
署名
Aさんが秘密鍵を使って
デジタル署名を付与する。
ブロック内の全情報を
暗号学的ハッシュ関数
に通して、ハッシュ値
を取得。
/ 81
ブロックはつながっていく 24
前のブロックのハッシュ値を次のブロック
に含めることでブロック同士を一直線に
つなげていくことができる。
ブロック】
ザクション
ザクション
ザクション
の このブロックの
ハッシュ値
署名
署名
署名
【ブロック】
トランザクション
トランザクション
トランザクション
前のブロックの
ハッシュ値
このブロックの
ハッシュ値
署名
署名
署名
【ブロッ
トランザク
トランザク
トランザク
前のブロックの
ハッシュ値
こ
/ 81
ブロックはつながっていく 25
【ブロック】 【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】 【ブロック】 【ブロック】 【ブロック】
/ 81
暗号技術について 26
1.暗号学的ハッシュ関数
• ハッシュ関数によってデータが変わって
いないということが確認できる。
2.デジタル署名
• デジタル署名によって誰が作ったか
データがかわっていないか、ということ
が確認できる。
ブロックチェーンでは二つの暗号技術が大切
/ 81
合意形成
/ 8127
合意形成 28
1. Proof of Work
• Bitcoinの合意形成アルゴリズム
PoW(Proof of Work)。通称マイニング
• 主にパブリックブロックチェーンで利用。
2. PBFT
• Hyperledger fabricで採用されている。
• 主にプライベートブロックチェーンで利用。
• ビザンチン障害を解決するアルゴリズム。
ここでは⼆つの合意形成アルゴリズムについて
解説します。
/ 81
合意形成 29
1. Proof of Work
• Bitcoinの合意形成アルゴリズム。
PoW(Proof of Work)。通称マイニング。
• 主にパブリックブロックチェーンで利用。
2. PBFT
• Hyperledger fabricで採用されている。
• 主にプライベートブロックチェーンで利用。
• ビザンチン障害を解決するアルゴリズム。
ここでは⼆つの合意形成アルゴリズムについて
解説します。
/ 81
Bitcoinでブロックを作る時のルール 30
Bitcoinの参加者(マイナー)はブロックの
ハッシュ値の先頭に、決められた個数
のゼロが並ぶようになるための乱数
(ナンス)を見つけ出す計算競争を行う。
【ブロック】
前の
ハッシュ値
ブロックの
ハッシュ値
乱数(ナンス)
トランザクション 署名
ここを変えながら何度も繰
り返し計算をする。
ここのハッシュ値が
「000000000….」の
ように先頭にゼロが続く
ようなナンスを見つけ出す。
/ 81
Fork (ブロックの同時発見による分岐) 31
Bitcoin参加者(マイナー)は競って計算をし、
条件に合うブロックを見つける。しかし同時
に発見した場合はチェーンが分岐する。
【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】
Aさん
発見
Bさん
発見
Cさん
発見
/ 81
Proof of Workによるファイナリティ確定 32
最長のブロックチェーンこそが、善意のマイナー
の計算力の結集によって発見されたチェーンで
あるという考え方をする。
【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】
最も長い分岐を
正しいものとして
採用する。
/ 81
Proof of Workの耐改ざん性 33
【ブロック】
前の
ハッシュ値
ブロックの
ハッシュ値
乱数(ナンス)
トランザクション 署名
トランザクション 署名
トランザクション 署名
【ブロック】
前の
ハッシュ値
ブロックの
ハッシュ値
乱数(ナンス)
トランザクション 署名
トランザクション 署名
トランザクション 署名
あるトランザク
ションの改ざんを
試みる。
ブロックのハッシュ値
が変わってしまう。
前のハッシュ値が変わ
るので、後続のブロッ
クは全て変わる。
/ 81
Proof of Workの耐改ざん性 34
【ブロック】 【ブロック】 【ブロック】 【ブロック】 【ブロック】
【ブロック】 【ブロック】 【ブロック】
あるトランザク
ションの改ざん
を試みる。
改ざんを成功させるには、
後続のブロックの成長を
正しいチェーンよりも早く
しなくてはならない。
正しい
チェーン
改ざんされた
チェーン
/ 81
合意形成 35
1. Proof of Work
• Bitcoinの合意形成アルゴリズム。
PoW(Proof of Work)。通称マイニング。
• 主にパブリックブロックチェーンで利用。
2. PBFT
• Hyperledger fabricで採用されている。
• 主にプライベートブロックチェーンで利用。
• ビザンチン障害を解決するアルゴリズム。
ここでは二つの合意形成アルゴリズムについて
解説します。
/ 81
ビザンチン障害とは 36
「ビザンチン将軍問題」に起因する合意形成
の失敗の事をビザンチン障害という。
OK
OK
NG
NGOK
OK
NG
OK
答えは?
/ 81
Lamportの解(1982) 37
障害プロセスがn個の時に、正常プロセスが
2n+1個、全体で3n+1個以上ならば
正常プロセス同士で合意に至ることができる。
例:
障害プロセスが2個の場合
正常プロセスが5個(2x2+1)以上、
全体が7個(3x2+1)以上あれば
正しい合意ができる。
レスリー・ランポート (Leslie Lamport)
/ 81
PBFT(Pratical Byzantine Fault Tolerance)とは 38
Lamportの理論的な解を元に、改良を加えて
実用的なレベルにしたものをPBFTという。
BitcoinのPoWよりも高速に
トランザクションを処理すること
が可能で、PoWで言われている
ような不必要な計算資源を浪費
しないというメリットがある。
/ 81
スマートコントラクト
/ 8139
スマートコントラクトとは
• スマートコントラクトとは、ブロック
チェーンの上で実行されるコードのこと。
• ブロックチェーンの状態・データを読み書
きするためのもの。
• 実体は普通のプログラム言語。
• JavaScript(風)、Golang、Java、C#、など
• いろいろと誤解されがち。(後述)
40/ 81
本日の内容
• ブロックチェーンとは?
• ブロックチェーンのこれまで
• ブロックチェーンのいま
• ブロックチェーンのこれから
41/ 81
2009年
01月 Bitcoinのgenesis blockが生成される。
01月 Bitcoin v0.1がリリース。
2010年
07月 Mt.Gox取引所が公開。
09月 マイニングプールの原型ができる。
(採掘報酬の分割支払い)
2008年
10月 Bitcoinのホワイトペーパー公開。
2013年
09月 Ripple公開。
2013年12月〜2014年3月頃
多くのAltcoinが公開。
ブロックチェーン関連年表(2008〜2013年) 42/ 81
2014年
02月 Mt.Goxが破綻。
2015年
03月 NEM公開。
07月 Ethereum公開。
09月 Orb公開。
12月 Hyperledger Project発足。
2016年
02月 mijinオープンβサービス開始。
04月 ブロックチェーン推進協会(BCCC)発足。
04月 日本ブロックチェーン協会(JBA)発足。
06月 The DAO Attack
06月 資金決済法の改正
ブロックチェーン関連年表(2014〜2016年) 43/ 81
CargoChain
第三世代
ブロックチェーン技術の変遷 44
第一世代
第二世代
/ 81
世代別に見るブロックチェーン - 第一世代 -
• ブロックチェーン 1.0 (通貨: Currency)
• 暗号通貨、パブリックレジャー、プロトコルによって構
成される原始的なブロックチェーン。
• Bitcoinの実装をオリジナルとして、その後改変・改良
が重ねられている。
• 実装例
• Bitcoin (の実装としてのブロックチェーン)
• Litecoin, Dogecoin, Monacoinなど各種Altcoin
45
分散台帳
プロトコル
暗号通貨
/ 81
世代別に見るブロックチェーン - 第二世代 -
• ブロックチェーン 2.0 (契約: Contract)
• 通貨の概念の上位に、金融や法律の概念を載せたもの。
• 金融 (ローン、住宅ローン、証券、債権、先物、デリバティブ)
• リーガル (権利証書、譲渡証書、エスクロー、遺言、個人情報、
契約)
• これらはスマートプロパティやスマートコントラクトを
利用して実現される。
46
金融、リーガル
分散台帳
プロトコル
暗号通貨
ローン、証券
債券、先物
デリバティブ、
権利証書、
譲渡証書、
遺言、契約等
/ 81
世代別に見るブロックチェーン - 第三世代 -
• ブロックチェーン 3.0 (アプリケーション)
• 通貨、金融、リーガルといった領域の上位に、金融以外
のサービス(政治やヘルスケア、科学、文学、芸術、知
的財産など)を載せる。
• 特定分野における応用的利用。
47
金融、リーガル
分散台帳
プロトコル
暗号通貨
ローン、証券
債券、先物
デリバティブ、
権利証書、
譲渡証書、
遺言、契約等
金融以外のサービス
政治、ヘルス、
科学、文学、
芸術、知的財産
サプライチェーン
ID、手続き等
/ 81
CargoChain
第三世代
ブロックチェーン技術の変遷 48
第一世代
第二世代
/ 81
本日の内容
• ブロックチェーンとは?
• ブロックチェーンのこれまで
• ブロックチェーンのいま
• ブロックチェーンのこれから
49/ 81
最近のBTCの値動き 50
bitflyer: 2017/01/21
1月5日
1BTC: 15万円超え!
/ 81
最近のBTCの値動き 51
bitflyer: 2017/01/24
1月5日
1BTC: 15万円突破
1月12日
1BTC: 8万円台へ
/ 81
その後ゆるやかに
1BTC: 10万円台へ
今がハイプカーブのピーク 52
いまここ
Gartner: 2016/08
/ 81
世界の高額クラウドファンディング 53
プロジェクト カテゴリ プラットフォーム 百万円
The	DAO Blockchain Ethereum ¥18,400
Ethereum Blockchain Bitcoin ¥2,120
ICONOMI	Fund	
Management	Platform
Fintech Ethereum ¥1,228
FirstBlood	Crowdsale Software Ethereum ¥721
Lisk Cryptocurrency Bitcoin ¥656
DigixDAO	Crowdsale Software Ethereum ¥633
Augur Software
Bitcoin
Ethereum
¥590
Mastercoin Cryptocurrency Bitcoin ¥575
https://en.wikipedia.org/wiki/List_of_highest_funded_crowdfunding_projects より作成
/ 81
多様な用途でスタートアップが登場 54
https://www.blockchainangels.eu/startups/charts/
/ 81
もしかして:ハンマー釘病?
/ 8155
ハンマーを持つ人には
すべてが釘に見える。
-アブラハム・マズロー -
熱狂しすぎでは?
/ 8156
NO SILVER BULLET
少し落ち着きましょう
/ 8157
http://techblog.altplus.co.jp/entry/altpluslab_tech_2016_fall
ブロックチェーンで出来ること
1. 中央管理者を必要とせずに、互いに
信頼しないノード間において、デー
タベースを直接安全に共有すること
ができる。
2. トランザクションを介してノード間
で共有しているデータベースに対し
て、一貫性を維持しながら変更を加
えることができる。
58/ 81
よくある質問 59
スマートコントラクトを使うと
法律、不動産、存在証明、
トレーサビリティなど何でも
できるって聞いたけど本当?
/ 81
スマートコントラクトの3つの誤解
• 外部サービスとの連携
• チェーン上での支払い
• 機密データの秘匿
60/ 81
1.外部サービスとの連携 61
• 外部から何らかの値を取
得して処理を実行する。
• 複数のノードで、それぞ
れが独立してコードを実
行し、結果を合意する。
• この過程では全てが決定
論的に進む必要がある。
【外部サービス】
【ノード】 【ノード】
【ノード】
Internet
/ 81
1.外部サービスとの連携 62
• 解決案としては信頼でき
るエンティティ(オラク
ル)がトランザクション
の実行に必要なデータを
取得し、コードに与える、
という方法がある。
• しかしオラクルが単一障
害点にならないように
工夫が必要。
【外部サービス】
【ノード】 【ノード】
【ノード】
Internet
オラクル
/ 81
2.チェーン上での支払い 63
• 債券の支払いを自動化す
るようなケース。
• 適切な時期に自動で支払
いが行われ、債務不履行
にならない事を保証する。
• 投資家からすると債券は
リスクを犠牲にして高い
利回りを期待する。
• 発行者からすると新しい
事をするための資金調達。
常にブロックチェーン
に無くてはならない。
他の業務に使うことが
できない!
いつ、誰に、いくら
支払いを実行する
発行者
投資家
/ 81
3.機密データの秘匿 64
• コンソーシアムの中の二社
が取引をするような場合。
• ブロックチェーン上には全
ての情報が保存されている。
• 取引内容は即座に他の企業
が見ることができてしまう。
【企業A】 【企業B】
【企業C】
【企業D】
【企業E】
Microsoftの
「Project Bletchley」
が解決する?
/ 81
スマートコントラクトの3つの誤解
• 外部サービスとの連携
• オラクルを使って制御が必要。
• チェーン上での支払い
• リスクとリターンの関係は
ブロックチェーンでは厳しい。
• 機密データの秘匿
• 暗号化は難しく、Bletchleyに期待。
65/ 81
本日の内容
• ブロックチェーンとは?
• ブロックチェーンのこれまで
• ブロックチェーンのいま
• ブロックチェーンのこれから
66/ 81
コンサルティング
ファームの予想
/ 8167
モルガン・スタンレー・リサーチ 予想 68
2021〜2025
2017〜2020
2016〜2018
2014〜2016
Morgan	Stanley	Research	- Global	Financials	/	FinTech	- 2016	より引用
/ 81
アクセンチュア・リサーチ 予想 69/ 81
開発シーンは
どうなる?
/ 8170
クラウド化の流れ 71/ 81
クラウドサービス、続々登場 72
Blockchain	as	a	Service
/ 81
N
/ 8173経済産業省 - 平成27年度 我が国経済社会の 情報化・サービス化に係る基盤整備
(ブロックチェーン技術を利⽤したサービスに 関する国内外動向調査) 報告書概要資料 より引用
法律も変わる
/ 8174
仮想通貨法(改正資金決済法) 75
•仮想通貨が決済手段として認識
•仮想通貨の取得時は非課税
•仮想通貨交換業の定義と登録制導入
•仮想通貨交換業の業務規程の整備
〜2016年5⽉25⽇に可決〜
/ 81
あらたな脅威
/ 8176
量子コンピューターの登場 77
量子コンピューターが実用化する
と、現在利用されている多くの暗
号技術が無効化してしまう。
↓
ブロックチェーンの安全性は根底
から覆ってしまう。
/ 81
オルトプラスとしての
今後の取り組み【PR】
78 / 81
オルトプラスの事業ドメイン / 8179
ゲーム領域 非ゲーム領域
オフショア領域
ソーシャル
ゲーム
ゲーム
ファンクラブ
ゲーム
運営移管
日本酒
ものがたり
広告
事業
起業
支援
新規
サービス
オフショア
R&D
/ 79
/ 8180
オルトプラスラボの
BlockChain実証実験プロジェクト
Project: Pancakes (仮)
実際の利用シーンでの課題解決を目的
とした実証実験プロジェクトを開始し、
パートナーを募集しています。
詳細はお気軽にお問い合わせください!
81
ご清聴ありがとうございました
/ 81

ブロックチェーンの基礎を学び、未来に活かす。