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

More Related Content

What's hot

What's hot (20)

Optimistic Rollupとは何か
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何か
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
データサイエンティスト養成読本の解説+書き忘れたこと
データサイエンティスト養成読本の解説+書き忘れたことデータサイエンティスト養成読本の解説+書き忘れたこと
データサイエンティスト養成読本の解説+書き忘れたこと
 
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
 
PDCAとOODAの違いとは?
PDCAとOODAの違いとは?PDCAとOODAの違いとは?
PDCAとOODAの違いとは?
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
営業さんまで、社員全員がSQLを使う 「越境型組織」 ができるまでの3+1のポイント | リブセンス
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
 
シーズニーズ変換ワーク
シーズニーズ変換ワークシーズニーズ変換ワーク
シーズニーズ変換ワーク
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
 
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
研究法(Claimとは)
研究法(Claimとは)研究法(Claimとは)
研究法(Claimとは)
 

Viewers also liked

Viewers also liked (20)

Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆
 
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
 
ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
 
ブロックチェーンの実務応用
ブロックチェーンの実務応用ブロックチェーンの実務応用
ブロックチェーンの実務応用
 
Blockchain入門 20160416
Blockchain入門 20160416Blockchain入門 20160416
Blockchain入門 20160416
 
Bitcoinとは何か?
Bitcoinとは何か?Bitcoinとは何か?
Bitcoinとは何か?
 
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
 
正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めて正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めて
 
MyRocks introduction and production deployment
MyRocks introduction and production deploymentMyRocks introduction and production deployment
MyRocks introduction and production deployment
 
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
 
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
 
金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネス金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネス
 
加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~
 
ブロックチェーン 10から20へ
ブロックチェーン 10から20へブロックチェーン 10から20へ
ブロックチェーン 10から20へ
 
Token salesについて
Token salesについてToken salesについて
Token salesについて
 
Hyperledger Projectの概要
Hyperledger Projectの概要Hyperledger Projectの概要
Hyperledger Projectの概要
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and Kerberos
 
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 

Recently uploaded

Recently uploaded (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

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

Editor's Notes

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