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

Ryo Shimamura
Ryo ShimamuraTIS株式会社
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
1 von 47

Recomendados

ブロックチェーンの仕組みと動向(入門編) von
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)NTT DATA OSS Professional Services
14.1K views30 Folien
ブロックチェーンを学ぶ 公開版 von
ブロックチェーンを学ぶ 公開版ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版YamashitaKatsushi
876 views47 Folien
ブロックチェーンの解説 In.live ppt von
ブロックチェーンの解説 In.live pptブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptAsteria Corporation
2.1K views21 Folien
ブロックチェーンの基本構造 von
ブロックチェーンの基本構造ブロックチェーンの基本構造
ブロックチェーンの基本構造Soichiro Takagi
7.5K views33 Folien
ビットコインとブロックチェーンを初めからていねいに(超基礎編) von
ビットコインとブロックチェーンを初めからていねいに(超基礎編)ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)dcubeio
4.1K views85 Folien
ブロックチェーン技術の基本と応用の可能性 von
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性Kenji Saito
63.5K views45 Folien

Más contenido relacionado

Was ist angesagt?

分散システムについて語らせてくれ von
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
119.4K views45 Folien
Googleログインから学ぶ OAuth von
Googleログインから学ぶ OAuthGoogleログインから学ぶ OAuth
Googleログインから学ぶ OAuthKazuma Kimura
4.1K views50 Folien
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 von
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
148.6K views45 Folien
ふつうのRailsアプリケーション開発 von
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
30.8K views90 Folien
目grep入門 +解説 von
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
89.3K views83 Folien
何となく勉強した気分になれるパーサ入門 von
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
35.8K views43 Folien

Was ist angesagt?(20)

分散システムについて語らせてくれ von Kumazaki Hiroki
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki119.4K views
Googleログインから学ぶ OAuth von Kazuma Kimura
Googleログインから学ぶ OAuthGoogleログインから学ぶ OAuth
Googleログインから学ぶ OAuth
Kazuma Kimura4.1K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 von Takuto Wada
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada148.6K views
ふつうのRailsアプリケーション開発 von Takafumi ONAKA
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA30.8K views
目grep入門 +解説 von murachue
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue89.3K views
何となく勉強した気分になれるパーサ入門 von masayoshi takahashi
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi35.8K views
エンジニアの個人ブランディングと技術組織 von Takafumi ONAKA
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA23.3K views
「速」を落とさないコードレビュー von Takafumi ONAKA
「速」を落とさないコードレビュー「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA55.5K views
トピックモデルの評価指標 Perplexity とは何なのか? von hoxo_m
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m44.5K views
モデルではなく、データセットを蒸留する von Takahiro Kubo
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
Takahiro Kubo7.8K views
ソフトウェア開発における『知の高速道路』 von Yoshitaka Kawashima
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
Yoshitaka Kawashima20.2K views
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive von Tokoroten Nakayama
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama122.2K views
トランザクションの並行実行制御 rev.2 von Takashi Hoshino
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
Takashi Hoshino6.3K views
(2017.6.9) Neo4jの可視化ライブラリまとめ von Mitsutoshi Kiuchi
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi9.5K views
フロー効率性とリソース効率性について #xpjug von Itsuki Kuroda
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda106.1K views
Optimistic Rollupとは何か von Syuhei Hiya
Optimistic Rollupとは何かOptimistic Rollupとは何か
Optimistic Rollupとは何か
Syuhei Hiya1.2K views
マイクロにしすぎた結果がこれだよ! von mosa siru
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru132.6K views
Transformerを多層にする際の勾配消失問題と解決法について von Sho Takase
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase4.8K views

Destacado

Fintechベンチャーがもたらす日本市場への示唆 von
Fintechベンチャーがもたらす日本市場への示唆Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆Toshio Taki
33.8K views39 Folien
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン von
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン健一 茂木
4.8K views33 Folien
ブロックチェーンの整理 27 sep2015 von
ブロックチェーンの整理 27 sep2015ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015Yoshimitsu Homma
10.5K views21 Folien
ブロックチェーン入門〜ただしFinTechを除く〜 von
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜Miki Yutani
22.7K views60 Folien
ブロックチェーンの実務応用 von
ブロックチェーンの実務応用ブロックチェーンの実務応用
ブロックチェーンの実務応用Masakazu Masujima
9.5K views10 Folien
Blockchain入門 20160416 von
Blockchain入門 20160416Blockchain入門 20160416
Blockchain入門 20160416Tsuyoshi Hirayama
10.7K views27 Folien

Destacado(20)

Fintechベンチャーがもたらす日本市場への示唆 von Toshio Taki
Fintechベンチャーがもたらす日本市場への示唆Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆
Toshio Taki33.8K views
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン von 健一 茂木
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
健一 茂木4.8K views
ブロックチェーンの整理 27 sep2015 von Yoshimitsu Homma
ブロックチェーンの整理 27 sep2015ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015
Yoshimitsu Homma10.5K views
ブロックチェーン入門〜ただしFinTechを除く〜 von Miki Yutani
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
Miki Yutani22.7K views
ブロックチェーンの実務応用 von Masakazu Masujima
ブロックチェーンの実務応用ブロックチェーンの実務応用
ブロックチェーンの実務応用
Masakazu Masujima9.5K views
仮想通貨のブロックチェイン技術によるFinTech von Kindai University
仮想通貨のブロックチェイン技術によるFinTech仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
Kindai University21.6K views
正規表現入門 星の高さを求めて von Ryoma Sin'ya
正規表現入門 星の高さを求めて正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めて
Ryoma Sin'ya33.9K views
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et... von 健一 茂木
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
健一 茂木8.3K views
ネットワークでなぜ遅延が生じるのか von Jun Kato
ネットワークでなぜ遅延が生じるのかネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato60.9K views
金融機関向けブロックチェーン・ビジネス von Hiroshi Shimo
金融機関向けブロックチェーン・ビジネス金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネス
Hiroshi Shimo11.3K views
加賀さんと僕 ~艦これウィジェットの紹介と説明~ von Hiromu Ochiai
加賀さんと僕 ~艦これウィジェットの紹介と説明~加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~
Hiromu Ochiai234.6K views
ブロックチェーン 10から20へ von Soichiro Takagi
ブロックチェーン 10から20へブロックチェーン 10から20へ
ブロックチェーン 10から20へ
Soichiro Takagi3.2K views
Hadoop and Kerberos von Yuta Imai
Hadoop and KerberosHadoop and Kerberos
Hadoop and Kerberos
Yuta Imai9.4K views
データベース屋がHyperledger Fabricを検証してみた von Hyperleger Tokyo Meetup
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた

Último

01Booster Studio ご紹介資料 von
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料ssusere7a2172
300 views19 Folien
SNMPセキュリティ超入門 von
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
175 views15 Folien
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) von
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
233 views63 Folien
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
13 views38 Folien
The Things Stack説明資料 by The Things Industries von
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
41 views29 Folien
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 von
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化Knowledge & Experience
8 views34 Folien

Último(12)

01Booster Studio ご紹介資料 von ssusere7a2172
01Booster Studio ご紹介資料01Booster Studio ご紹介資料
01Booster Studio ご紹介資料
ssusere7a2172300 views
SNMPセキュリティ超入門 von mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda175 views
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料) von NTT DATA Technology & Innovation
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) von NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
The Things Stack説明資料 by The Things Industries von CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.41 views
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化 von Knowledge & Experience
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Web3 Career_クレデン資料 .pdf von nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo14 views
SSH応用編_20231129.pdf von icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4172 views
さくらのひやおろし2023 von 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之91 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... von NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
Windows 11 information that can be used at the development site von Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka71 views

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

Hinweis der Redaktion

  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)