SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
Devsumi 2018summer
Devsumi 2018summerDevsumi 2018summer
Devsumi 2018summer
 
実践イカパケット解析α
実践イカパケット解析α実践イカパケット解析α
実践イカパケット解析α
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
MICの解説
MICの解説MICの解説
MICの解説
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
トップエンジニアが実践する思考整理法~テクニカルライティングを用いた課題解決の基本
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしないPyMCがあれば,ベイズ推定でもう泣いたりなんかしない
PyMCがあれば,ベイズ推定でもう泣いたりなんかしない
 
大規模データ時代に求められる自然言語処理
大規模データ時代に求められる自然言語処理大規模データ時代に求められる自然言語処理
大規模データ時代に求められる自然言語処理
 

Destacado

Destacado (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を技術的に理解する
 
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
 

Último

Último (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: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
 
論文紹介: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...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

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

Notas del editor

  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)