SlideShare a Scribd company logo
© 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 (20)

PDF
ブロックチェーンの基本構造
Soichiro Takagi
 
PPTX
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
NTT DATA Technology & Innovation
 
PDF
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
LFDT Tokyo Meetup
 
PDF
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
LFDT Tokyo Meetup
 
PPTX
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
 
PDF
普通の人でもわかる Paxos
tyonekura
 
PPTX
ビットコイン~原理からソースまで~
bitbank, Inc. Tokyo, Japan
 
PDF
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
PPTX
分散システムについて語らせてくれ
Kumazaki Hiroki
 
PDF
DockerとPodmanの比較
Akihiro Suda
 
PPTX
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
 
PPTX
地理分散DBについて
Kumazaki Hiroki
 
PDF
トランザクションの並行実行制御 rev.2
Takashi Hoshino
 
PDF
TiDBのトランザクション
Akio Mitobe
 
PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
 
PPTX
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
 
PDF
各種データベースの特徴とパフォーマンス比較
株式会社オプト 仙台ラボラトリ
 
PPTX
トランクベース開発を活用して爆速に開発した話
Tier_IV
 
PDF
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
オラクルエンジニア通信
 
PDF
分散システムの限界について知ろう
Shingo Omura
 
ブロックチェーンの基本構造
Soichiro Takagi
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
NTT DATA Technology & Innovation
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
LFDT Tokyo Meetup
 
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
LFDT Tokyo Meetup
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
 
普通の人でもわかる Paxos
tyonekura
 
ビットコイン~原理からソースまで~
bitbank, Inc. Tokyo, Japan
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
分散システムについて語らせてくれ
Kumazaki Hiroki
 
DockerとPodmanの比較
Akihiro Suda
 
トランザクションをSerializableにする4つの方法
Kumazaki Hiroki
 
地理分散DBについて
Kumazaki Hiroki
 
トランザクションの並行実行制御 rev.2
Takashi Hoshino
 
TiDBのトランザクション
Akio Mitobe
 
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
NTT DATA Technology & Innovation
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
 
各種データベースの特徴とパフォーマンス比較
株式会社オプト 仙台ラボラトリ
 
トランクベース開発を活用して爆速に開発した話
Tier_IV
 
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
オラクルエンジニア通信
 
分散システムの限界について知ろう
Shingo Omura
 

Viewers also liked (20)

PPTX
図解 Blockchainの仕組み
Nisei Kimura
 
PDF
高解像度スタートアップガイド Part2(Part3へ続く)
Takahiro Yamaguchi
 
PDF
高解像度スタートアップガイド Part1(Part2/3へ続く)
Takahiro Yamaguchi
 
PPTX
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
Naotaka Shinogi
 
PDF
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
Insight Technology, Inc.
 
PDF
HDFS basics from API perspective
NTT DATA OSS Professional Services
 
PDF
Apache Hadoop and YARN, current development status
NTT DATA OSS Professional Services
 
PDF
高解像度スタートアップガイド Part3
Takahiro Yamaguchi
 
PDF
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 
PDF
スタートアップのためのデットファイナンス入門
Tetsuya Nakashima
 
PPTX
Token salesについて
Masakazu Masujima
 
PDF
Effective web performance tuning for smartphone
dena_study
 
PPTX
(2017.9.7) Neo4jご紹介
Mitsutoshi Kiuchi
 
PDF
ICLR読み会 奥村純 20170617
Jun Okumura
 
PDF
[ICLR2017読み会 @ DeNA] ICLR2017紹介
Takeru Miyato
 
PPTX
医療データ解析界隈から見たICLR2017
RIKEN, Medical Sciences Innovation Hub Program (MIH)
 
PDF
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
Takahiro Kubo
 
PDF
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Eiji Sekiya
 
PDF
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
Takanori Nakai
 
PDF
170614 iclr reading-public
Katsuhiko Ishiguro
 
図解 Blockchainの仕組み
Nisei Kimura
 
高解像度スタートアップガイド Part2(Part3へ続く)
Takahiro Yamaguchi
 
高解像度スタートアップガイド Part1(Part2/3へ続く)
Takahiro Yamaguchi
 
DB tech showcase Tokyo 2017「住民情報システムにおけるOracleStandardEditionでの取り組み」
Naotaka Shinogi
 
[db tech showcase Tokyo 2017] D33: Deep Learningや、Analyticsのワークロードを加速するには-Ten...
Insight Technology, Inc.
 
HDFS basics from API perspective
NTT DATA OSS Professional Services
 
Apache Hadoop and YARN, current development status
NTT DATA OSS Professional Services
 
高解像度スタートアップガイド Part3
Takahiro Yamaguchi
 
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 
スタートアップのためのデットファイナンス入門
Tetsuya Nakashima
 
Token salesについて
Masakazu Masujima
 
Effective web performance tuning for smartphone
dena_study
 
(2017.9.7) Neo4jご紹介
Mitsutoshi Kiuchi
 
ICLR読み会 奥村純 20170617
Jun Okumura
 
[ICLR2017読み会 @ DeNA] ICLR2017紹介
Takeru Miyato
 
医療データ解析界隈から見たICLR2017
RIKEN, Medical Sciences Innovation Hub Program (MIH)
 
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
Takahiro Kubo
 
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Eiji Sekiya
 
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
Takanori Nakai
 
170614 iclr reading-public
Katsuhiko Ishiguro
 
Ad

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

PDF
Blockchain入門
YUSHI MATSUDA
 
PDF
ブロックチェーン技術概論1 輪読
Hiroki Takemura
 
PDF
Blockchain innovation
Yuto Takei
 
PPTX
筑波大学 Blockchain meetup 第一回
Takuya Fujita
 
PDF
51% 攻撃の原理とシミュレーション
Yuto Takei
 
PDF
ブロックチェーン技術の基本と応用の可能性
Kenji Saito
 
PPTX
170301 いまさら聞けないブロックチェーン①
勇太 荒瀬
 
PPTX
Bitcoinの個人的勉強ノート 第1版(2014年4月15日)
pizyumi
 
PDF
電子情報通信学会グローバル社会とビットコイン(山崎)
Kindai University
 
PDF
(インテージテクノスフィア)FY20_技術探究委員会_ブロックチェーン分科会活動報告
INTAGEGROUP
 
PPTX
チュートリアル: ブロックチェーンの計算モデル
Shin Saito
 
PDF
Bckyoto181129
new snow
 
PDF
Blockchain and formal verification (Japanese)
Jun Furuse
 
PDF
Deconstruction of Serverless and blockchain
Takahiro Hayashida
 
PDF
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
dcubeio
 
PPTX
Blockchainベーシック
Kondo Hitoshi
 
PPTX
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
Tomoaki Sato
 
PDF
ブロックチェーン技術の課題と社会応用
Yuto Takei
 
PDF
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
KAYATO SAITO
 
PPTX
170301 いまさら聞けないブロックチェーン②
勇太 荒瀬
 
Blockchain入門
YUSHI MATSUDA
 
ブロックチェーン技術概論1 輪読
Hiroki Takemura
 
Blockchain innovation
Yuto Takei
 
筑波大学 Blockchain meetup 第一回
Takuya Fujita
 
51% 攻撃の原理とシミュレーション
Yuto Takei
 
ブロックチェーン技術の基本と応用の可能性
Kenji Saito
 
170301 いまさら聞けないブロックチェーン①
勇太 荒瀬
 
Bitcoinの個人的勉強ノート 第1版(2014年4月15日)
pizyumi
 
電子情報通信学会グローバル社会とビットコイン(山崎)
Kindai University
 
(インテージテクノスフィア)FY20_技術探究委員会_ブロックチェーン分科会活動報告
INTAGEGROUP
 
チュートリアル: ブロックチェーンの計算モデル
Shin Saito
 
Bckyoto181129
new snow
 
Blockchain and formal verification (Japanese)
Jun Furuse
 
Deconstruction of Serverless and blockchain
Takahiro Hayashida
 
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
dcubeio
 
Blockchainベーシック
Kondo Hitoshi
 
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
Tomoaki Sato
 
ブロックチェーン技術の課題と社会応用
Yuto Takei
 
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
KAYATO SAITO
 
170301 いまさら聞けないブロックチェーン②
勇太 荒瀬
 
Ad

More from NTT DATA OSS Professional Services (20)

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

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

  • 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 本資料に記載されている会社名、製品名は各社の商標または登録商標です。