Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

5分でわかるブロックチェーンの基本的な仕組み

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 47 Publicité

5分でわかるブロックチェーンの基本的な仕組み

Télécharger pour lire hors ligne

どのようにしてブロックチェーンが不正が難しい取引台帳を実現しているかという仕組みを社内勉強会で説明した資料です。

どのようにしてブロックチェーンが不正が難しい取引台帳を実現しているかという仕組みを社内勉強会で説明した資料です。

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (20)

Publicité

Plus récents (20)

5分でわかるブロックチェーンの基本的な仕組み

  1. 1. Copyright © 2016 TIS Inc. All rights reserved. 5分でわかる ブロックチェーンの基本的な仕組み 嶋村 亮 2016年2月17日 TIS株式会社 5分でわかる
  2. 2. 1自己紹介 嶋村 亮 Shimamura Ryo @cooklecurry
  3. 3. 2本日のテーマ ブロックチェーン の基本的な仕組み
  4. 4. 3ブロックチェーンとは 不正が難しい取引台帳 ブロックチェーンはどういう技術?
  5. 5. 4不正とは 取引の改竄 二重取引 A C B 10コイン 10コイン 10コイン A C B ×
  6. 6. 5ブロックチェーンの仕組み データ構造 + データの管理方法
  7. 7. 6ブロックチェーンの仕組み データ構造 + データの管理方法
  8. 8. 7データ構造 ブロック 取引:A → B 取引:C → D 取引:E → F 一定時間内に発生した取引をまとめる
  9. 9. 8データ構造 ブロック1つ前のブロック 取引:A → B ハ ッ シ ュ 取引:C → D 取引:E → F 取引:P → Q ハ ッ シ ュ 取引:R → S 取引:T → U 1つ前のブロックのハッシュも含める
  10. 10. 9データ構造 -ハッシュ- 4ec288e11f533dba63ff3d0a842d4ebe 取引:P → Q ハ ッ シ ュ 取引:R → S 取引:T → U 元のデータを要約した短いデータ
  11. 11. 10データ構造 -ハッシュ- 4ec288e11f533dba63ff3d0a842d4ebe cb32411e38910bfca6e5f0b89b0f2733 取引:P → Q ハ ッ シ ュ 取引:R → S 取引:T → U 取引:P → Q ハ ッ シ ュ 取引:R → M 取引:T → U 元のデータを変更すると変わる。
  12. 12. 11データ構造 過去 最近 各ブロックは時系列でつながっている ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引 ハ ッ シ ュ ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引
  13. 13. 12データ構造 ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引 ハ ッ シ ュ ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引 改竄 改竄するには後続ブロックも作り直し
  14. 14. 13データ構造 過去のブロックの改竄は大変
  15. 15. 14データ構造 ブロック + チェーン(鎖)のように伸びる ブロックチェーン
  16. 16. 15データ構造 1つ前の取引 新しい取引 内容:A → Bハ ッ シ ュ Bの公開鍵 Aの署名 内容:B → Cハ ッ シ ュ Cの公開鍵 Bの署名 取引データもつながっている
  17. 17. 16データ構造 -公開鍵暗号- 秘密鍵 自分だけが 知っている鍵 公開鍵 他人に 公開している鍵 対応する2つの鍵による暗号方式
  18. 18. 17データ構造 1つ前の取引 新しい取引 内容:A → Bハ ッ シ ュ Bの公開鍵 Aの署名 内容:B → Cハ ッ シ ュ Cの公開鍵 B秘密鍵で署名 新しい取引は秘密鍵の所有者が作成
  19. 19. 18疑問 データ構造を守らなければ 不正ができるのでは?
  20. 20. 19ブロックチェーンの仕組み データ構造 + データの管理方法
  21. 21. 20データの管理方法 普通のシステム ブロックチェーン データはネットワークの各参加者が管理
  22. 22. 21データの管理方法 参加者の誰かが新しいブロックを配布
  23. 23. 22データの管理方法 各参加者は検証後、各自データに追加 + + + + +
  24. 24. 23データの管理方法 大きく2つの方法 誰が新しいブロックを配布するか?
  25. 25. 24データの管理方法 Proof of Work
  26. 26. 25データの管理方法 - Proof of Work - 000000088d3a603a6dddeba052aa0af ハ ッ シ ュ 取 引 + 新しいブロックに追加すると、0から始まるハッシュ になるようなデータを求めなさい。 問題 計算を早く解いた参加者が配布
  27. 27. 26データの管理方法 - Proof of Work - 多くの電気と時間が必要
  28. 28. 27データの管理方法 Proof of Stake
  29. 29. 28データの管理方法 - Proof of Stake - A D C B コイン保有割合から選ばれた参加者が配布
  30. 30. 29 新しいブロックに 含まれる取引 A → B 過去のすべての取引 OK NG (二重取引) C → D B → P B → Q E → F ・ ・ データの管理方法 過去のすべての取引データで検証
  31. 31. 30データの管理方法 まだ確定していない
  32. 32. 31 ブロック データの管理方法 ブロック ブロック ブロック ? or ? チェーンは分岐することがある
  33. 33. 32データの管理方法 ブロック ブロック ブロック ブロック ブロックブロック ブロック ブロック 一番長いチェーンを正とする
  34. 34. 33データの管理方法 ブロック ブロック ブロック ブロック ブロックブロック ブロック ブロック 仮に3つブロックがつながったら 正しいチェーンとした場合 他の分岐したチェーンは捨てられる
  35. 35. 34データの管理方法 参加者のチェーンの様子
  36. 36. 35データの管理方法 A B C
  37. 37. 36データの管理方法 未確定データ A B C
  38. 38. 37データの管理方法 未確定データ A B C
  39. 39. 38データの管理方法 未確定データ A B C
  40. 40. 39データの管理方法 確定データ 未確定データ A B C
  41. 41. 40データの管理方法 確定データ 未確定データ A B C
  42. 42. 41データの管理方法 確定データ 未確定データ A 一時的に参加者間はデータ不整合 B C
  43. 43. 42データの管理方法 確定データ 未確定データ A 一時的に参加者間はデータ不整合 B C
  44. 44. 43データの管理方法 確定データ 未確定データ A 一時的に参加者間はデータ不整合 B C
  45. 45. 44データの管理方法 確定データ 未確定データ A 最終的に1つのデータに収束 B C
  46. 46. 45まとめ データ構造 + データの管理方法 不正が難しい取引台帳
  47. 47. THANK YOU

Notes de l'éditeur

  • それでは5分でわかるブロックチェーンの基本的な仕組みについて発表したいと思います(next)
  • F営1の嶋村です。(next)
  • さっそく本題に入ります。(next)
  • ブロックチェーンとはどういう技術かというと不正が難しい取引台帳を実現する技術になります。使い方によっては誰にとっても不正が難しい取引台帳になりますのでビットコインのような仮想通貨の取引に使われています。(next)
  • ここでいう不正とは「取引の改竄」と「二重取引」になります。(next)
  • では、どのようにして不正が難しい取引台帳を実現しているかというとデータ構造とデータの管理方法で実現しています。(next)
  • まずはデータ構造から見ていきます。(next)
  • ブロックチェーンでは一定時間内に発生した取引データをまとめてブロックにします。(next)
  • このブロックには時系列で1つ前のブロックのハッシュも含めます。(next)
  • ハッシュというのは元のデータを要約した短いデータです。(next)
  • 元のデータを少しでも変更すると、ハッシュも変わるという特徴があります。(next)
  • この特徴によって 各ブロックは時系列で1つ前のブロックとつながっていますので、(next)
  • 改竄するには すべての後続ブロックの作り直しが必要になります。(next)
  • 過去のブロックになるほど改竄は大変になります。(next)
  • このようにブロックがつながって鎖(チェーン)のように伸びていくのでブロックチェーンと言われています。(next)
  • さきほどのブロックに含まれていた取引データもつながっています。(next)
  • 取引データにはハッシュに加えて公開鍵暗号という技術が使われています。これは 秘密鍵で暗号化したデータは 対応する公開鍵でしか複合化できない という特徴があります。(next)
  • この特徴を用いて 新しい取引は 既存の取引に含まれる公開鍵に対応する秘密鍵を持っている人しかできない とすることで 新しい取引が有効かどうか確認ができます。(next)
  • ですが、データ構造をまもらなければ不正ができるのではないか、という疑問がでてきます。(next)
  • そこで次にデータの管理方法を見ていきます。(next)
  • ブロックチェーンでは管理者がデータを一元管理しているわけではなくて、ネットワークの参加者が各自管理しています。そのため改竄するには各参加者のデータを改竄する必要があるため不正が難しくなっています。(next)
  • 新しい取引の登録には参加者の誰かが新しいブロックを配布して、(next)
  • 各参加者はブロックを検証後、問題がなければ各自データに追加します。(next)
  • では、誰が新しいブロックを配布するのかというと、大きく2つの方法があります。(next)
  • 1つは Proof of Work と呼ばれます。(next)
  • この方法では新しいブロックに関する計算を早く解いた参加者が配布します。Bitcoinで使われています。(next)
  • この方法は権利を得る計算のためだけに 多くの電気と時間が必要になる という問題があります。(next)
  • その問題点の改善のために考えられたのが Proof of Stake になります。(next)
  • この方法では「ブロックチェーンで取引されるコインの保有割合に応じて選ばれた参加者」が配布します。このようにして誰が配布するか決定します。(next)
  • さて、新しいブロックが配布されると 各参加者は検証をします。 各参加者は過去のすべての取引データを持っていますので、新しいブロックに含まれる取引の検証ができます。二重取引もここで検知できます。検証に問題がなければ 各自、新しいブロックを登録します。(next)
  • ですが まだデータが確定したわけではありません。(next)
  • なぜかというと、複数の参加者が同時に計算が終わるなどによって 新しいブロックが同時に配布されることがあります。
    各参加者はどちらのブロックが正しいか判断できません。
    そのため、先に受け取ったほうを正とするものの両方のブロックを登録し チェーンが分岐します。(next)
  • その後、あとに続くブロックが一番長いチェーンを正とします。(next)
  • 正しいチェーンを決めたら ほかの分岐したチェーンは捨てられます。
    仮にブロックのあとに3つブロックがつながったら正とする場合、下のチェーンが残ります。(next)
  • このようなブロックの管理を各参加者が実施しています。
    例えば3人の参加者のチェーンの様子を見てみるとこんなイメージです。(next)
  • (next)
  • ブロックが配布されてきます。(next)
  • (next)
  • (next)
  • 3つブロックが続きましたので 1つ目のブロックは確定データになります。(next)
  • 同様に、2つ目のブロックは緑のブロックが正になり、紫のチェーンは捨てられます。(next)
  • 一時的に(next)
  • 参加者間のデータ不整合は(next)
  • ありますが(next)
  • 最終的に1つのデータに収束していきます。(next)
  • まとめるとブロックチェーンではこれらの仕組みで 不正が難しい取引台帳を実現しています。(next)
  • 以上、簡単ですが ブロックチェーンの基本的な仕組みでした。(next)

×