SlideShare a Scribd company logo
1 of 30
© 2017 NTT DATA Corporation
ブロックチェーンの仕組みと動向 (入門編)
@NTT Tech Conference #1
2017年1月27日 (金)
株式会社NTTデータ システム技術本部 方式技術部
北條 真史
1© 2017 NTT DATA Corporation
1. ブロックチェーンとは
2. Bitcoin を知る
3. ブロックチェーンをもう少し詳しく知る
4. ブロックチェーンのいま
本日お話する内容
© 2017 NTT DATA Corporation 2
ブロックチェーンとは
© 2017 NTT DATA Corporation 3
ブロックチェーンを一言で説明すると
“P2P ネットワーク上で台帳情報を分散管理する技術”
• P2P ネットワーク
• サービスの提供と享受の役割を同時に担うノード群の
ネットワーク
• ↔クライアント・サーバ
• 台帳情報
• 狭義的には、取引の記録
• 広義的には、追記型のデータベース
• 取引情報 (Tx) をまとめた塊 (ブロック) の連鎖 (チェーン) を
参加ノードで分散管理
© 2017 NTT DATA Corporation 4
ハッシュチェーン
• 自データから暗号学的ハッシュ函数で計算したハッシュ値を
次のデータ内に埋め込んで繋ぐデータ構造
• あるデータは、1つ前のデータの存在に依存する情報を含む
→時系列に沿ったデータの存在証明を実現するデータ構造
Hash
Hash
Hash
Data
Data
Data
© 2017 NTT DATA Corporation 5
ハッシュチェーン
• 作成済みのデータを変更すると、後続の全データに影響
……
…
後続するデータはハッシュ値を計算しなおし
© 2017 NTT DATA Corporation 6
取引情報への電子署名
• 取引には、発行者が電子署名を付与
→取引の正当性が第三者により検証可能
Tx
© 2017 NTT DATA Corporation 7
ブロックチェーンネットワーク
• 全ノードが同じブロックチェーンを持つ
• 正当性が誰にでも検証できる取引群を、ハッシュチェーンで
時系列に繋ぎ合わせて分散管理
…
© 2017 NTT DATA Corporation 8
ブロックチェーンが実現するもの
• P2P ネットワーク上で台帳管理
• 中央集権的なサーバ不要
• 高可用
• ハッシュチェーンに基づく追記型データ構造
• 時系列に沿ったデータ管理
• 過去のデータを遡って改ざんすることが困難
• 取引への電子署名
• 第三者が正当性を検証可能
© 2017 NTT DATA Corporation 9
Bitcoin を知る
© 2017 NTT DATA Corporation 10
Bitcoin とは
貨幣の発行や取引を P2P ネットワークで実現する、
電子貨幣プラットフォーム
• Satoshi Nakamoto と呼ばれる人物 (集団?) が技術文書を
公開 (2008)
“Bitcoin: A Peer-to-Peer Electronic Cash System”
• 最初のブロック生成とクライアントソフトのリリースにより、
Bitcoin の運用が開始 (2009)
• 先進国を中心に、通貨としての利用に向け
システム導入や法整備が進んでいる
https://coinmap.org/
© 2017 NTT DATA Corporation 11
Bitcoin が扱う情報
ブロックチェーンに貨幣 (貨幣単位: BTC) の取引を記録
過去の取引を全部合算して現在の残高を計算:
UTXO (unspent transaction output)
Tx
BT
C
2017/1/23 12:30 現在
(https://www.btcbox.co.jp/coin/btc/)
Tx
A→C
X 送金
Tx
B→A
Y 送金… …
Aの残高 = …-X+Y+…
© 2017 NTT DATA Corporation 12
Block
Bitcoin のブロックチェーンをつくる
• ブロックを生成する行為を“マイニング”と呼ぶ
• マイニングに成功すると、報酬が貰える
→ビットコインの採掘 = マイニング
Tx Tx Tx Tx…
Prev Hash Nonce
①ブロック生成取引
ブロック内の最初の取引は特別
無から一定金額(※)を自分に送金できる
②取引手数料
ブロックに含まれる取引の手数料を貰える
※4年で半減。現在 12.5BTC ≒ 132万JPY
© 2017 NTT DATA Corporation 13
Block
Bitcoin のマイニング
• その実際は、くじ引き
「ダイジェストが target 以下になる nonce を見つけよ」
Tx Tx Tx Tx…
Prev Hash Nonce
Hash( )≤ target
© 2017 NTT DATA Corporation 14
Block
Bitcoin のマイニング
• その実際は、くじ引き
「ダイジェストが target 以下になる nonce を見つけよ」
Tx Tx Tx Tx…
Prev Hash Nonce
Hash( )≤ target
値を変更しながら繰返し計算
© 2017 NTT DATA Corporation 15
Block
Bitcoin のマイニング
• その実際は、くじ引き
「ダイジェストが target 以下になる nonce を見つけよ」
Tx Tx Tx Tx…
Prev Hash Nonce
Hash( )≤ target
値を変更しながら繰返し計算
条件を充たす nonce を見つけたノードは、
完成したブロックをブロードキャストして承認を得る
!!!
© 2017 NTT DATA Corporation 16
ブロックチェーンの分岐
• ブロックチェーンは、ときに分岐する
• 全ノードで1本のチェーンを認めるために
コンセンサス (合意) アルゴリズムが必要
Proof of Work(作業証明)
ビットコインのコンセンサスアルゴリズムの根幹
同時期に複数のノードが
ブロック生成に成功
© 2017 NTT DATA Corporation 17
Proof of Work
最長のチェーン = 最も多くの計算資源が投入されている
PoW を認めることで:
• チェーンが分岐しても、1本の正しいチェーンを選んでマイニン
グが進められる
• 過去のブロックを改ざんするためには、主流のチェーンを
追い越さなければならない
→ネットワーク全体の 51% 以上の計算リソースが必要なので、
悪意を持って改ざんすることは実質不可能
力こそ正義
© 2017 NTT DATA Corporation 18
Bitcoin が実現したこと
• 中央集権を排除した貨幣の取引システム
• Bitcoin は、システムの仕組みそのものが価値を保証する
• Proof of Work
• 不特定多数の参加者全員で 1つのチェーンに合意できる
• 計算機リソースを投入すれば儲かる競争がシステムを強固に支える
© 2017 NTT DATA Corporation 19
Bitcoin の課題
• 強大な力を持つマイニングプールの存在
• 個人で採掘しようとしても、ちっとも儲からないので、
複数人で採掘して、報奨金を分配するマイニングプールが主流
• 1つのマイニングプールが全計算リソースの 42% に達した経験あり[3]
• 取引は、いつ確定する?
• ブロックに組み込まれた段階では、まだ早い
• 他のチェーンが主流になってブロックが解かれるかもしれない
• 幾つかチェーンが伸びてくれば、確定してもよさそう
• 慣習的に、6ブロック繋がれば、確定とみなす
• それでも、もしかしたら覆るかもしれない (過去には4ブロックで覆った)
→ビットコインの性質上、取引を確定させることは不可能
[3] http://www.coindesk.com/bitcoin-miners-ditch-ghash-io-pool-51-attack/
© 2017 NTT DATA Corporation 20
ブロックチェーンをもう少し詳しく知る
© 2017 NTT DATA Corporation 21
ビザンチン将軍問題
• 互いで通信しあうノード群で、正しい提案に合意できるか?
• ノードや通信経路が故障する可能性 (クラッシュ障害)
• ノードが悪意を持って情報操作を行う可能性
• あるノードは、嘘の情報を発信するかもしれない
• あるノードは、呼びかけても返事をしないかもしれない
ビザンチン障害 = クラッシュ障害+悪意を持って起こす障害 = 任意障害
• Bitcoin (PoW) は、参加ノードが信頼出来ない P2P 環境における
ビザンチン障害耐性へのアプローチ
ただし、ビザンチン将軍問題を解決してはいないと言われている
• ブロックチェーンが覆る可能性 ≠ 0
• あくまで最も高い確率の提案に合意する方式
© 2017 NTT DATA Corporation 22
public 型ブロックチェーンと permissioned 型ブロックチェーン
Public 型
ブロックチェーン
Permissioned 型
ブロックチェーン
不特定多数のノード 参加ノードの種類
特定の (単一/複数) 組織
内のノード
必要
インセンティブ (貨幣)
不要
難しい (不可能?) 取引の確定 可能
必須 ビザンチン障害耐性 場合によっては不要
Proof of ~
Proof of Work (PoW),
Proof of Stake (PoS),
…
合意形成
多数決系を採用可
Practical Byzantine Fault Tolerance,
Paxos, Raft,
…
© 2017 NTT DATA Corporation 23
ブロックチェーンのいま
© 2017 NTT DATA Corporation 24
ブロックチェーン技術の推移
ブロックチェーン 1.0
ブロックチェーン 2.0
ブロックチェーン 3.0
時間
Bitcoin,
Litecoin,
Dogecoin, …
Ethereum,
Hyperledger Fabric,
NEM, mijin, …
Hyperledger Iroha,
IOTA,
…
適用範囲
電子貨幣プラットフォーム
分散型アプリケーション
プラットフォーム
スマートコントラクト(契約の自動化)
多用途プラットフォーム
Fintech以外の領域への適用
© 2017 NTT DATA Corporation 25
スマートコントラクト
• ブロックチェーンネットワーク上で、貨幣の取引だけでなく
様々な「契約」を実現する仕組み
• ノード上で、契約の条件確認、履行まで自律的に実行
• 汎用的な言語 (Java, Go 等)や、独自開発の言語で
スマートコントラクトを記述し、分散環境上で実行
Block
Tx Tx Tx Tx…
Prev Hash Nonce
プログラム登録
Tx
プログラム
ID
スマートコントラクト実行
Tx
入力値
ID
プログラム ID
© 2017 NTT DATA Corporation 26
多用途ブロックチェーンの例
IOTA
• IoT のための、分散台帳基盤
• デバイス情報のリアルタイムな共有を、サーバなしで実現する
• ブロックレス分散型台帳 Tangle を採用
• Tx を追加する際、過去の幾つかの Tx を検証し、有向非巡回グラフ
(DAG) を形成
• 徐々に Tx が確定度が上がる
http://iotatoken.com/IOTA_Whitepaper.pdf
© 2017 NTT DATA Corporation 27
ブロックチェーン技術における課題
• コンセンサスアルゴリズム
• PoW は計算リソースを無駄遣いするし、取引確定できない/遅い
• Permissioned 型では多数決に近い設計が主流。
分散 DB との差はどこに?スケーラビリティがないのはどうする?
• スマートコントラクト
• 一度ブロックチェーン上にデプロイしたら、実行が取り消せない
• 全ノードで同じ処理を実行するため、1ノード以上の性能は出ない
(「“分散型”アプリ実行基盤」は誤解を生む表現かも)
• 実世界とブロックチェーンの橋渡し
• ブロックチェーンネットワークに情報をコミットする人、仕組みを
どうやって信用する?
© 2017 NTT DATA Corporation 28
まとめ
• ブロックチェーンとは
“P2P ネットワーク上で台帳情報を分散管理する技術”
• P2P ネットワーク: 全ノードで一つの台帳情報を管理
• ハッシュチェーン: 取引情報を固めたブロックを時系列に繋ぐ
• 電子署名: 第三者が情報の正当性を検証できる
• Bitcoin
“中央集権なしで実現する電子貨幣プラットフォーム”
• Proof of Work: 計算リソース量によって正しいチェーンを認める
• ブロックチェーンの変遷
• ブロックチェーン1.0: 電子貨幣プラットフォーム
• ブロックチェーン2.0: 契約の自動化、分散アプリケーション
• ブロックチェーン3.0: Fintech を超えた利活用
© 2017 NTT DATA Corporation
本資料に記載されている会社名、製品名は各社の商標または登録商標です。

More Related Content

What's hot

トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019Tokoroten Nakayama
 
データ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決するデータ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決する株式会社MonotaRO Tech Team
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜Kaoru Maeda
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版Tokoroten Nakayama
 
Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​Hyperleger Tokyo Meetup
 
Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何かSyuhei Hiya
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについてKumazaki Hiroki
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜Yuya Unno
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法nishio
 
ブロックチェーン基礎基本
ブロックチェーン基礎基本ブロックチェーン基礎基本
ブロックチェーン基礎基本RyuzoNakata1
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法Kumazaki Hiroki
 
位置データもPythonで!!!
位置データもPythonで!!!位置データもPythonで!!!
位置データもPythonで!!!hide ogawa
 
マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向Koichiro Mori
 

What's hot (20)

トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
Raft
RaftRaft
Raft
 
データ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決するデータ基盤に関わる問い合わせ対応を仕組みで解決する
データ基盤に関わる問い合わせ対応を仕組みで解決する
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
 
Paxos
PaxosPaxos
Paxos
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
 
Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​Post-quantum zk-SNARKs on Hyperledger Fabric​
Post-quantum zk-SNARKs on Hyperledger Fabric​
 
Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何か
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについて
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
 
ブロックチェーン基礎基本
ブロックチェーン基礎基本ブロックチェーン基礎基本
ブロックチェーン基礎基本
 
http2 最速実装 v2
http2 最速実装 v2 http2 最速実装 v2
http2 最速実装 v2
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
位置データもPythonで!!!
位置データもPythonで!!!位置データもPythonで!!!
位置データもPythonで!!!
 
マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向
 

Viewers also liked

図解 Blockchainの仕組み
図解 Blockchainの仕組み図解 Blockchainの仕組み
図解 Blockchainの仕組みNisei Kimura
 
高解像度スタートアップガイド Part2(Part3へ続く)
高解像度スタートアップガイド Part2(Part3へ続く)高解像度スタートアップガイド Part2(Part3へ続く)
高解像度スタートアップガイド Part2(Part3へ続く)Takahiro Yamaguchi
 
高解像度スタートアップガイド Part1(Part2/3へ続く)
高解像度スタートアップガイド Part1(Part2/3へ続く)高解像度スタートアップガイド Part1(Part2/3へ続く)
高解像度スタートアップガイド Part1(Part2/3へ続く)Takahiro Yamaguchi
 
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」Naotaka Shinogi
 
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...Insight Technology, Inc.
 
高解像度スタートアップガイド Part3
高解像度スタートアップガイド Part3高解像度スタートアップガイド Part3
高解像度スタートアップガイド Part3Takahiro Yamaguchi
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
スタートアップのためのデットファイナンス入門
スタートアップのためのデットファイナンス入門スタートアップのためのデットファイナンス入門
スタートアップのためのデットファイナンス入門Tetsuya Nakashima
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphonedena_study
 
ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617Jun Okumura
 
[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介Takeru Miyato
 
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-Takahiro Kubo
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Eiji Sekiya
 
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @DenaICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @DenaTakanori Nakai
 

Viewers also liked (20)

図解 Blockchainの仕組み
図解 Blockchainの仕組み図解 Blockchainの仕組み
図解 Blockchainの仕組み
 
高解像度スタートアップガイド Part2(Part3へ続く)
高解像度スタートアップガイド Part2(Part3へ続く)高解像度スタートアップガイド Part2(Part3へ続く)
高解像度スタートアップガイド Part2(Part3へ続く)
 
高解像度スタートアップガイド Part1(Part2/3へ続く)
高解像度スタートアップガイド Part1(Part2/3へ続く)高解像度スタートアップガイド Part1(Part2/3へ続く)
高解像度スタートアップガイド Part1(Part2/3へ続く)
 
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
 
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
 
HDFS basics from API perspective
HDFS basics from API perspectiveHDFS basics from API perspective
HDFS basics from API perspective
 
Apache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development statusApache Hadoop and YARN, current development status
Apache Hadoop and YARN, current development status
 
高解像度スタートアップガイド Part3
高解像度スタートアップガイド Part3高解像度スタートアップガイド Part3
高解像度スタートアップガイド Part3
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
スタートアップのためのデットファイナンス入門
スタートアップのためのデットファイナンス入門スタートアップのためのデットファイナンス入門
スタートアップのためのデットファイナンス入門
 
Token salesについて
Token salesについてToken salesについて
Token salesについて
 
Effective web performance tuning for smartphone
Effective web performance tuning for smartphoneEffective web performance tuning for smartphone
Effective web performance tuning for smartphone
 
(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介(2017.9.7) Neo4jご紹介
(2017.9.7) Neo4jご紹介
 
ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617ICLR読み会 奥村純 20170617
ICLR読み会 奥村純 20170617
 
[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介[ICLR2017読み会 @ DeNA] ICLR2017紹介
[ICLR2017読み会 @ DeNA] ICLR2017紹介
 
医療データ解析界隈から見たICLR2017
医療データ解析界隈から見たICLR2017医療データ解析界隈から見たICLR2017
医療データ解析界隈から見たICLR2017
 
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
 
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @DenaICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
 
170614 iclr reading-public
170614 iclr reading-public170614 iclr reading-public
170614 iclr reading-public
 

Similar to ブロックチェーンの仕組みと動向(入門編)

ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)Seiyo Nakazawa
 
ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介
ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介
ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介Yasunori Matsuoka
 
Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)
Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)
Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)blockchainexe
 
Bckyoto181129
Bckyoto181129Bckyoto181129
Bckyoto181129new snow
 
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)Kindai University
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介Orb, Inc.
 
ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめHarukiKondo
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainTakahiro Hayashida
 
BlockChain Introduction
BlockChain IntroductionBlockChain Introduction
BlockChain IntroductionHikoto Iseda
 
ブロックチェーン×Io t op用
ブロックチェーン×Io t op用ブロックチェーン×Io t op用
ブロックチェーン×Io t op用Katsuhiro Ishigami
 
Japan Blockchain Conference 2019 (Jimmy Nguyen)
Japan Blockchain Conference 2019 (Jimmy Nguyen)Japan Blockchain Conference 2019 (Jimmy Nguyen)
Japan Blockchain Conference 2019 (Jimmy Nguyen)Tokyo Bitcoin Ventures
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Wataru Fukatsu
 
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日Tomoaki Sato
 
Jazug静岡勉強会資料
Jazug静岡勉強会資料Jazug静岡勉強会資料
Jazug静岡勉強会資料Shinichiro Isago
 
ブロックチェーン技術概論1 輪読
ブロックチェーン技術概論1 輪読ブロックチェーン技術概論1 輪読
ブロックチェーン技術概論1 輪読Hiroki Takemura
 
51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーションYuto Takei
 
プラットフォームとしてのブロックチェーン
プラットフォームとしてのブロックチェーンプラットフォームとしてのブロックチェーン
プラットフォームとしてのブロックチェーンHiroshi Takahashi
 

Similar to ブロックチェーンの仕組みと動向(入門編) (20)

ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)
 
ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介
ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介
ブロックチェーンの基礎及びNEM / Symbolブロックチェーンのご紹介
 
Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)
Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)
Blockchain EXE Nagoya #1:ブロックチェーンを応用したデータ流通ネットワークの取り組み(今井 悟史 / 富士通)
 
Bckyoto181129
Bckyoto181129Bckyoto181129
Bckyoto181129
 
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介
 
Orb oracle
Orb oracleOrb oracle
Orb oracle
 
ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめ
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchain
 
ブロックチェーン活用事例
ブロックチェーン活用事例ブロックチェーン活用事例
ブロックチェーン活用事例
 
BlockChain Introduction
BlockChain IntroductionBlockChain Introduction
BlockChain Introduction
 
ブロックチェーン×Io t op用
ブロックチェーン×Io t op用ブロックチェーン×Io t op用
ブロックチェーン×Io t op用
 
Japan Blockchain Conference 2019 (Jimmy Nguyen)
Japan Blockchain Conference 2019 (Jimmy Nguyen)Japan Blockchain Conference 2019 (Jimmy Nguyen)
Japan Blockchain Conference 2019 (Jimmy Nguyen)
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
 
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
 
医療におけるブロックチェーン利用
医療におけるブロックチェーン利用医療におけるブロックチェーン利用
医療におけるブロックチェーン利用
 
Jazug静岡勉強会資料
Jazug静岡勉強会資料Jazug静岡勉強会資料
Jazug静岡勉強会資料
 
ブロックチェーン技術概論1 輪読
ブロックチェーン技術概論1 輪読ブロックチェーン技術概論1 輪読
ブロックチェーン技術概論1 輪読
 
51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション51% 攻撃の原理とシミュレーション
51% 攻撃の原理とシミュレーション
 
プラットフォームとしてのブロックチェーン
プラットフォームとしてのブロックチェーンプラットフォームとしてのブロックチェーン
プラットフォームとしてのブロックチェーン
 

More from NTT DATA OSS Professional Services

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力NTT DATA OSS Professional Services
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのことNTT DATA OSS Professional Services
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~NTT DATA OSS Professional Services
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)NTT DATA OSS Professional Services
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 

More from NTT DATA OSS Professional Services (20)

Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力Global Top 5 を目指す NTT DATA の確かで意外な技術力
Global Top 5 を目指す NTT DATA の確かで意外な技術力
 
Spark SQL - The internal -
Spark SQL - The internal -Spark SQL - The internal -
Spark SQL - The internal -
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Hadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返りHadoopエコシステムのデータストア振り返り
Hadoopエコシステムのデータストア振り返り
 
HDFS Router-based federation
HDFS Router-based federationHDFS Router-based federation
HDFS Router-based federation
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
 
Distributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystemDistributed data stores in Hadoop ecosystem
Distributed data stores in Hadoop ecosystem
 
Structured Streaming - The Internal -
Structured Streaming - The Internal -Structured Streaming - The Internal -
Structured Streaming - The Internal -
 
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
 
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
 
20170303 java9 hadoop
20170303 java9 hadoop20170303 java9 hadoop
20170303 java9 hadoop
 
Application of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jpApplication of postgre sql to large social infrastructure jp
Application of postgre sql to large social infrastructure jp
 
Application of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructureApplication of postgre sql to large social infrastructure
Application of postgre sql to large social infrastructure
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
 
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 

ブロックチェーンの仕組みと動向(入門編)

  • 1. © 2017 NTT DATA Corporation ブロックチェーンの仕組みと動向 (入門編) @NTT Tech Conference #1 2017年1月27日 (金) 株式会社NTTデータ システム技術本部 方式技術部 北條 真史
  • 2. 1© 2017 NTT DATA Corporation 1. ブロックチェーンとは 2. Bitcoin を知る 3. ブロックチェーンをもう少し詳しく知る 4. ブロックチェーンのいま 本日お話する内容
  • 3. © 2017 NTT DATA Corporation 2 ブロックチェーンとは
  • 4. © 2017 NTT DATA Corporation 3 ブロックチェーンを一言で説明すると “P2P ネットワーク上で台帳情報を分散管理する技術” • P2P ネットワーク • サービスの提供と享受の役割を同時に担うノード群の ネットワーク • ↔クライアント・サーバ • 台帳情報 • 狭義的には、取引の記録 • 広義的には、追記型のデータベース • 取引情報 (Tx) をまとめた塊 (ブロック) の連鎖 (チェーン) を 参加ノードで分散管理
  • 5. © 2017 NTT DATA Corporation 4 ハッシュチェーン • 自データから暗号学的ハッシュ函数で計算したハッシュ値を 次のデータ内に埋め込んで繋ぐデータ構造 • あるデータは、1つ前のデータの存在に依存する情報を含む →時系列に沿ったデータの存在証明を実現するデータ構造 Hash Hash Hash Data Data Data
  • 6. © 2017 NTT DATA Corporation 5 ハッシュチェーン • 作成済みのデータを変更すると、後続の全データに影響 …… … 後続するデータはハッシュ値を計算しなおし
  • 7. © 2017 NTT DATA Corporation 6 取引情報への電子署名 • 取引には、発行者が電子署名を付与 →取引の正当性が第三者により検証可能 Tx
  • 8. © 2017 NTT DATA Corporation 7 ブロックチェーンネットワーク • 全ノードが同じブロックチェーンを持つ • 正当性が誰にでも検証できる取引群を、ハッシュチェーンで 時系列に繋ぎ合わせて分散管理 …
  • 9. © 2017 NTT DATA Corporation 8 ブロックチェーンが実現するもの • P2P ネットワーク上で台帳管理 • 中央集権的なサーバ不要 • 高可用 • ハッシュチェーンに基づく追記型データ構造 • 時系列に沿ったデータ管理 • 過去のデータを遡って改ざんすることが困難 • 取引への電子署名 • 第三者が正当性を検証可能
  • 10. © 2017 NTT DATA Corporation 9 Bitcoin を知る
  • 11. © 2017 NTT DATA Corporation 10 Bitcoin とは 貨幣の発行や取引を P2P ネットワークで実現する、 電子貨幣プラットフォーム • Satoshi Nakamoto と呼ばれる人物 (集団?) が技術文書を 公開 (2008) “Bitcoin: A Peer-to-Peer Electronic Cash System” • 最初のブロック生成とクライアントソフトのリリースにより、 Bitcoin の運用が開始 (2009) • 先進国を中心に、通貨としての利用に向け システム導入や法整備が進んでいる https://coinmap.org/
  • 12. © 2017 NTT DATA Corporation 11 Bitcoin が扱う情報 ブロックチェーンに貨幣 (貨幣単位: BTC) の取引を記録 過去の取引を全部合算して現在の残高を計算: UTXO (unspent transaction output) Tx BT C 2017/1/23 12:30 現在 (https://www.btcbox.co.jp/coin/btc/) Tx A→C X 送金 Tx B→A Y 送金… … Aの残高 = …-X+Y+…
  • 13. © 2017 NTT DATA Corporation 12 Block Bitcoin のブロックチェーンをつくる • ブロックを生成する行為を“マイニング”と呼ぶ • マイニングに成功すると、報酬が貰える →ビットコインの採掘 = マイニング Tx Tx Tx Tx… Prev Hash Nonce ①ブロック生成取引 ブロック内の最初の取引は特別 無から一定金額(※)を自分に送金できる ②取引手数料 ブロックに含まれる取引の手数料を貰える ※4年で半減。現在 12.5BTC ≒ 132万JPY
  • 14. © 2017 NTT DATA Corporation 13 Block Bitcoin のマイニング • その実際は、くじ引き 「ダイジェストが target 以下になる nonce を見つけよ」 Tx Tx Tx Tx… Prev Hash Nonce Hash( )≤ target
  • 15. © 2017 NTT DATA Corporation 14 Block Bitcoin のマイニング • その実際は、くじ引き 「ダイジェストが target 以下になる nonce を見つけよ」 Tx Tx Tx Tx… Prev Hash Nonce Hash( )≤ target 値を変更しながら繰返し計算
  • 16. © 2017 NTT DATA Corporation 15 Block Bitcoin のマイニング • その実際は、くじ引き 「ダイジェストが target 以下になる nonce を見つけよ」 Tx Tx Tx Tx… Prev Hash Nonce Hash( )≤ target 値を変更しながら繰返し計算 条件を充たす nonce を見つけたノードは、 完成したブロックをブロードキャストして承認を得る !!!
  • 17. © 2017 NTT DATA Corporation 16 ブロックチェーンの分岐 • ブロックチェーンは、ときに分岐する • 全ノードで1本のチェーンを認めるために コンセンサス (合意) アルゴリズムが必要 Proof of Work(作業証明) ビットコインのコンセンサスアルゴリズムの根幹 同時期に複数のノードが ブロック生成に成功
  • 18. © 2017 NTT DATA Corporation 17 Proof of Work 最長のチェーン = 最も多くの計算資源が投入されている PoW を認めることで: • チェーンが分岐しても、1本の正しいチェーンを選んでマイニン グが進められる • 過去のブロックを改ざんするためには、主流のチェーンを 追い越さなければならない →ネットワーク全体の 51% 以上の計算リソースが必要なので、 悪意を持って改ざんすることは実質不可能 力こそ正義
  • 19. © 2017 NTT DATA Corporation 18 Bitcoin が実現したこと • 中央集権を排除した貨幣の取引システム • Bitcoin は、システムの仕組みそのものが価値を保証する • Proof of Work • 不特定多数の参加者全員で 1つのチェーンに合意できる • 計算機リソースを投入すれば儲かる競争がシステムを強固に支える
  • 20. © 2017 NTT DATA Corporation 19 Bitcoin の課題 • 強大な力を持つマイニングプールの存在 • 個人で採掘しようとしても、ちっとも儲からないので、 複数人で採掘して、報奨金を分配するマイニングプールが主流 • 1つのマイニングプールが全計算リソースの 42% に達した経験あり[3] • 取引は、いつ確定する? • ブロックに組み込まれた段階では、まだ早い • 他のチェーンが主流になってブロックが解かれるかもしれない • 幾つかチェーンが伸びてくれば、確定してもよさそう • 慣習的に、6ブロック繋がれば、確定とみなす • それでも、もしかしたら覆るかもしれない (過去には4ブロックで覆った) →ビットコインの性質上、取引を確定させることは不可能 [3] http://www.coindesk.com/bitcoin-miners-ditch-ghash-io-pool-51-attack/
  • 21. © 2017 NTT DATA Corporation 20 ブロックチェーンをもう少し詳しく知る
  • 22. © 2017 NTT DATA Corporation 21 ビザンチン将軍問題 • 互いで通信しあうノード群で、正しい提案に合意できるか? • ノードや通信経路が故障する可能性 (クラッシュ障害) • ノードが悪意を持って情報操作を行う可能性 • あるノードは、嘘の情報を発信するかもしれない • あるノードは、呼びかけても返事をしないかもしれない ビザンチン障害 = クラッシュ障害+悪意を持って起こす障害 = 任意障害 • Bitcoin (PoW) は、参加ノードが信頼出来ない P2P 環境における ビザンチン障害耐性へのアプローチ ただし、ビザンチン将軍問題を解決してはいないと言われている • ブロックチェーンが覆る可能性 ≠ 0 • あくまで最も高い確率の提案に合意する方式
  • 23. © 2017 NTT DATA Corporation 22 public 型ブロックチェーンと permissioned 型ブロックチェーン Public 型 ブロックチェーン Permissioned 型 ブロックチェーン 不特定多数のノード 参加ノードの種類 特定の (単一/複数) 組織 内のノード 必要 インセンティブ (貨幣) 不要 難しい (不可能?) 取引の確定 可能 必須 ビザンチン障害耐性 場合によっては不要 Proof of ~ Proof of Work (PoW), Proof of Stake (PoS), … 合意形成 多数決系を採用可 Practical Byzantine Fault Tolerance, Paxos, Raft, …
  • 24. © 2017 NTT DATA Corporation 23 ブロックチェーンのいま
  • 25. © 2017 NTT DATA Corporation 24 ブロックチェーン技術の推移 ブロックチェーン 1.0 ブロックチェーン 2.0 ブロックチェーン 3.0 時間 Bitcoin, Litecoin, Dogecoin, … Ethereum, Hyperledger Fabric, NEM, mijin, … Hyperledger Iroha, IOTA, … 適用範囲 電子貨幣プラットフォーム 分散型アプリケーション プラットフォーム スマートコントラクト(契約の自動化) 多用途プラットフォーム Fintech以外の領域への適用
  • 26. © 2017 NTT DATA Corporation 25 スマートコントラクト • ブロックチェーンネットワーク上で、貨幣の取引だけでなく 様々な「契約」を実現する仕組み • ノード上で、契約の条件確認、履行まで自律的に実行 • 汎用的な言語 (Java, Go 等)や、独自開発の言語で スマートコントラクトを記述し、分散環境上で実行 Block Tx Tx Tx Tx… Prev Hash Nonce プログラム登録 Tx プログラム ID スマートコントラクト実行 Tx 入力値 ID プログラム ID
  • 27. © 2017 NTT DATA Corporation 26 多用途ブロックチェーンの例 IOTA • IoT のための、分散台帳基盤 • デバイス情報のリアルタイムな共有を、サーバなしで実現する • ブロックレス分散型台帳 Tangle を採用 • Tx を追加する際、過去の幾つかの Tx を検証し、有向非巡回グラフ (DAG) を形成 • 徐々に Tx が確定度が上がる http://iotatoken.com/IOTA_Whitepaper.pdf
  • 28. © 2017 NTT DATA Corporation 27 ブロックチェーン技術における課題 • コンセンサスアルゴリズム • PoW は計算リソースを無駄遣いするし、取引確定できない/遅い • Permissioned 型では多数決に近い設計が主流。 分散 DB との差はどこに?スケーラビリティがないのはどうする? • スマートコントラクト • 一度ブロックチェーン上にデプロイしたら、実行が取り消せない • 全ノードで同じ処理を実行するため、1ノード以上の性能は出ない (「“分散型”アプリ実行基盤」は誤解を生む表現かも) • 実世界とブロックチェーンの橋渡し • ブロックチェーンネットワークに情報をコミットする人、仕組みを どうやって信用する?
  • 29. © 2017 NTT DATA Corporation 28 まとめ • ブロックチェーンとは “P2P ネットワーク上で台帳情報を分散管理する技術” • P2P ネットワーク: 全ノードで一つの台帳情報を管理 • ハッシュチェーン: 取引情報を固めたブロックを時系列に繋ぐ • 電子署名: 第三者が情報の正当性を検証できる • Bitcoin “中央集権なしで実現する電子貨幣プラットフォーム” • Proof of Work: 計算リソース量によって正しいチェーンを認める • ブロックチェーンの変遷 • ブロックチェーン1.0: 電子貨幣プラットフォーム • ブロックチェーン2.0: 契約の自動化、分散アプリケーション • ブロックチェーン3.0: Fintech を超えた利活用
  • 30. © 2017 NTT DATA Corporation 本資料に記載されている会社名、製品名は各社の商標または登録商標です。