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

PDF
5分でわかるブロックチェーンの基本的な仕組み
PDF
ブロックチェーンの基本構造
PDF
ブロックチェーンを学ぶ 公開版
PDF
ブロックチェーン技術の基本と応用の可能性
PDF
Hyperledger Besuの動向
PDF
Hyperledger Fabric Private Chaincodeについて
PPTX
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
PDF
ブロックチェーンの解説 In.live ppt
5分でわかるブロックチェーンの基本的な仕組み
ブロックチェーンの基本構造
ブロックチェーンを学ぶ 公開版
ブロックチェーン技術の基本と応用の可能性
Hyperledger Besuの動向
Hyperledger Fabric Private Chaincodeについて
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ブロックチェーンの解説 In.live ppt

What's hot (20)

PDF
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
PPTX
ブロックチェーン基礎基本
PDF
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
PDF
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
PDF
Qu'est-ce que la blockchain ?
PDF
Optimistic Rollupとは何か
PDF
Bitcoinを技術的に理解する
PDF
暗号技術の実装と数学
PDF
今なら間に合う分散型IDとEntra Verified ID
PDF
ブロックチェーン間のインターオペラビリティ概論
PPTX
地理分散DBについて
PDF
TLS, HTTP/2演習
PDF
データベース屋がHyperledger Fabricを検証してみた
PDF
Hyperledger Fabric のプラットフォームおよびインフラ運用
PDF
MobiliteaTime #7 : Blockchain
PDF
分散システムの限界について知ろう
PDF
Hyperledger Fabric 概説
PDF
EXE #6:Hyperledger Fabric活用によるデータ流通ネットワーク
PDF
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
PDF
論文紹介: An empirical evaluation of in-memory multi-version concurrency control
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
ブロックチェーン基礎基本
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
Qu'est-ce que la blockchain ?
Optimistic Rollupとは何か
Bitcoinを技術的に理解する
暗号技術の実装と数学
今なら間に合う分散型IDとEntra Verified ID
ブロックチェーン間のインターオペラビリティ概論
地理分散DBについて
TLS, HTTP/2演習
データベース屋がHyperledger Fabricを検証してみた
Hyperledger Fabric のプラットフォームおよびインフラ運用
MobiliteaTime #7 : Blockchain
分散システムの限界について知ろう
Hyperledger Fabric 概説
EXE #6:Hyperledger Fabric活用によるデータ流通ネットワーク
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
論文紹介: An empirical evaluation of in-memory multi-version concurrency control
Ad

Viewers also liked (20)

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

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

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

More from NTT DATA OSS Professional Services (20)

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