Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

10,811 views

Published on

2017年1月27日に開催されたNTT Tech Conference #1での講演資料です。

Published in: Engineering
  • Hi there! Essay Help For Students | Discount 10% for your first order! - Check our website! https://vk.cc/80SakO
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

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

×