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

ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版YamashitaKatsushi
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
知らなかった! Bitcoinとethereumの違い
知らなかった! Bitcoinとethereumの違い知らなかった! Bitcoinとethereumの違い
知らなかった! Bitcoinとethereumの違いShinji Ayanami
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料SECCON Beginners
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...joisino
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)Naohiro Fujie
 
2023-03-23_Spiral.AI
2023-03-23_Spiral.AI2023-03-23_Spiral.AI
2023-03-23_Spiral.AISasakiYuichi1
 
CRC-32
CRC-32CRC-32
CRC-327shi
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 

What's hot (20)

ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
知らなかった! Bitcoinとethereumの違い
知らなかった! Bitcoinとethereumの違い知らなかった! Bitcoinとethereumの違い
知らなかった! Bitcoinとethereumの違い
 
WayOfNoTrouble.pptx
WayOfNoTrouble.pptxWayOfNoTrouble.pptx
WayOfNoTrouble.pptx
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料CTF for ビギナーズ ネットワーク講習資料
CTF for ビギナーズ ネットワーク講習資料
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
 
2023-03-23_Spiral.AI
2023-03-23_Spiral.AI2023-03-23_Spiral.AI
2023-03-23_Spiral.AI
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
CRC-32
CRC-32CRC-32
CRC-32
 
Raft
RaftRaft
Raft
 
Web3 School
Web3 SchoolWeb3 School
Web3 School
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 

Viewers also liked

Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆Toshio Taki
 
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン健一 茂木
 
ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015Yoshimitsu Homma
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜Miki Yutani
 
ブロックチェーンの実務応用
ブロックチェーンの実務応用ブロックチェーンの実務応用
ブロックチェーンの実務応用Masakazu Masujima
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTechKindai University
 
正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めて正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めてRyoma Sin'ya
 
MyRocks introduction and production deployment
MyRocks introduction and production deploymentMyRocks introduction and production deployment
MyRocks introduction and production deploymentYoshinori Matsunobu
 
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...健一 茂木
 
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのかJun Kato
 
金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネス金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネスHiroshi Shimo
 
加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~Hiromu Ochiai
 
ブロックチェーン 10から20へ
ブロックチェーン 10から20へブロックチェーン 10から20へ
ブロックチェーン 10から20へSoichiro Takagi
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and KerberosYuta Imai
 

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

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

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)