O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

11.672 visualizações

Publicada em

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

Publicada em: Engenharia
  • Want to preview some of our plans? You can get 50 Woodworking Plans and a 440-Page "The Art of Woodworking" Book... Absolutely FREE ◆◆◆ http://ishbv.com/tedsplans/pdf
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Hi there! Essay Help For Students | Discount 10% for your first order! - Check our website! https://vk.cc/80SakO
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

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

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

×