Submit Search
Upload
5分でわかるブロックチェーンの基本的な仕組み
•
502 likes
•
307,194 views
Ryo Shimamura
Follow
どのようにしてブロックチェーンが不正が難しい取引台帳を実現しているかという仕組みを社内勉強会で説明した資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 47
Download now
Download to read offline
Recommended
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
NTT DATA OSS Professional Services
ブロックチェーンの基本構造
ブロックチェーンの基本構造
Soichiro Takagi
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
Kazuho Oku
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
Kenji Saito
ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版
YamashitaKatsushi
協調フィルタリング入門
協調フィルタリング入門
hoxo_m
Web3 School
Web3 School
Taiki Narita
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
Recommended
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
NTT DATA OSS Professional Services
ブロックチェーンの基本構造
ブロックチェーンの基本構造
Soichiro Takagi
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
Kazuho Oku
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
Kenji Saito
ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版
YamashitaKatsushi
協調フィルタリング入門
協調フィルタリング入門
hoxo_m
Web3 School
Web3 School
Taiki Narita
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
Bitcoinを技術的に理解する
Bitcoinを技術的に理解する
Kenji Urushima
Optimistic Rollupとは何か
Optimistic Rollupとは何か
Syuhei Hiya
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022
Teruyuki Sakaue
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
しくみ製作所
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
マイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャ
ota42y
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆
Toshio Taki
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
健一 茂木
More Related Content
What's hot
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
Bitcoinを技術的に理解する
Bitcoinを技術的に理解する
Kenji Urushima
Optimistic Rollupとは何か
Optimistic Rollupとは何か
Syuhei Hiya
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
Yusuke Uchida
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
Tokoroten Nakayama
実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022
Teruyuki Sakaue
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
しくみ製作所
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
マイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャ
ota42y
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
What's hot
(20)
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Bitcoinを技術的に理解する
Bitcoinを技術的に理解する
Optimistic Rollupとは何か
Optimistic Rollupとは何か
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
分散システムについて語らせてくれ
分散システムについて語らせてくれ
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
暗号技術の実装と数学
暗号技術の実装と数学
マイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャ
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Redisの特徴と活用方法について
Redisの特徴と活用方法について
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Viewers also liked
Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆
Toshio Taki
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
健一 茂木
ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015
Yoshimitsu Homma
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
Miki Yutani
ブロックチェーンの実務応用
ブロックチェーンの実務応用
Masakazu Masujima
Blockchain入門 20160416
Blockchain入門 20160416
Tsuyoshi Hirayama
Bitcoinとは何か?
Bitcoinとは何か?
Toshihiro Kaseda
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
Kindai University
正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めて
Ryoma Sin'ya
MyRocks introduction and production deployment
MyRocks introduction and production deployment
Yoshinori Matsunobu
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
健一 茂木
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネス
Hiroshi Shimo
加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~
Hiromu Ochiai
ブロックチェーン 10から20へ
ブロックチェーン 10から20へ
Soichiro Takagi
Token salesについて
Token salesについて
Masakazu Masujima
Hyperledger Projectの概要
Hyperledger Projectの概要
Hyperleger Tokyo Meetup
Hadoop and Kerberos
Hadoop and Kerberos
Yuta Imai
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
Hyperleger Tokyo Meetup
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
Hyperleger Tokyo Meetup
Viewers also liked
(20)
Fintechベンチャーがもたらす日本市場への示唆
Fintechベンチャーがもたらす日本市場への示唆
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
ブロックチェーンの整理 27 sep2015
ブロックチェーンの整理 27 sep2015
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーンの実務応用
ブロックチェーンの実務応用
Blockchain入門 20160416
Blockchain入門 20160416
Bitcoinとは何か?
Bitcoinとは何か?
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
正規表現入門 星の高さを求めて
正規表現入門 星の高さを求めて
MyRocks introduction and production deployment
MyRocks introduction and production deployment
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
金融機関向けブロックチェーン・ビジネス
金融機関向けブロックチェーン・ビジネス
加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~
ブロックチェーン 10から20へ
ブロックチェーン 10から20へ
Token salesについて
Token salesについて
Hyperledger Projectの概要
Hyperledger Projectの概要
Hadoop and Kerberos
Hadoop and Kerberos
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
Recently uploaded
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(9)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
5分でわかるブロックチェーンの基本的な仕組み
1.
Copyright © 2016
TIS Inc. All rights reserved. 5分でわかる ブロックチェーンの基本的な仕組み 嶋村 亮 2016年2月17日 TIS株式会社 5分でわかる
2.
1自己紹介 嶋村 亮 Shimamura Ryo @cooklecurry
3.
2本日のテーマ ブロックチェーン の基本的な仕組み
4.
3ブロックチェーンとは 不正が難しい取引台帳 ブロックチェーンはどういう技術?
5.
4不正とは 取引の改竄 二重取引 A C B 10コイン 10コイン 10コイン A C B ×
6.
5ブロックチェーンの仕組み データ構造 + データの管理方法
7.
6ブロックチェーンの仕組み データ構造 + データの管理方法
8.
7データ構造 ブロック 取引:A → B 取引:C
→ D 取引:E → F 一定時間内に発生した取引をまとめる
9.
8データ構造 ブロック1つ前のブロック 取引:A → B ハ ッ シ ュ 取引:C
→ D 取引:E → F 取引:P → Q ハ ッ シ ュ 取引:R → S 取引:T → U 1つ前のブロックのハッシュも含める
10.
9データ構造 -ハッシュ- 4ec288e11f533dba63ff3d0a842d4ebe 取引:P →
Q ハ ッ シ ュ 取引:R → S 取引:T → U 元のデータを要約した短いデータ
11.
10データ構造 -ハッシュ- 4ec288e11f533dba63ff3d0a842d4ebe cb32411e38910bfca6e5f0b89b0f2733 取引:P →
Q ハ ッ シ ュ 取引:R → S 取引:T → U 取引:P → Q ハ ッ シ ュ 取引:R → M 取引:T → U 元のデータを変更すると変わる。
12.
11データ構造 過去 最近 各ブロックは時系列でつながっている ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引 ハ ッ シ ュ ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引
13.
12データ構造 ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引 ハ ッ シ ュ ハ ッ シ ュ 取 引 ハ ッ シ ュ 取 引 改竄 改竄するには後続ブロックも作り直し
14.
13データ構造 過去のブロックの改竄は大変
15.
14データ構造 ブロック + チェーン(鎖)のように伸びる ブロックチェーン
16.
15データ構造 1つ前の取引 新しい取引 内容:A →
Bハ ッ シ ュ Bの公開鍵 Aの署名 内容:B → Cハ ッ シ ュ Cの公開鍵 Bの署名 取引データもつながっている
17.
16データ構造 -公開鍵暗号- 秘密鍵 自分だけが 知っている鍵 公開鍵 他人に 公開している鍵 対応する2つの鍵による暗号方式
18.
17データ構造 1つ前の取引 新しい取引 内容:A →
Bハ ッ シ ュ Bの公開鍵 Aの署名 内容:B → Cハ ッ シ ュ Cの公開鍵 B秘密鍵で署名 新しい取引は秘密鍵の所有者が作成
19.
18疑問 データ構造を守らなければ 不正ができるのでは?
20.
19ブロックチェーンの仕組み データ構造 + データの管理方法
21.
20データの管理方法 普通のシステム ブロックチェーン データはネットワークの各参加者が管理
22.
21データの管理方法 参加者の誰かが新しいブロックを配布
23.
22データの管理方法 各参加者は検証後、各自データに追加 + + + + +
24.
23データの管理方法 大きく2つの方法 誰が新しいブロックを配布するか?
25.
24データの管理方法 Proof of Work
26.
25データの管理方法 - Proof
of Work - 000000088d3a603a6dddeba052aa0af ハ ッ シ ュ 取 引 + 新しいブロックに追加すると、0から始まるハッシュ になるようなデータを求めなさい。 問題 計算を早く解いた参加者が配布
27.
26データの管理方法 - Proof
of Work - 多くの電気と時間が必要
28.
27データの管理方法 Proof of Stake
29.
28データの管理方法 - Proof
of Stake - A D C B コイン保有割合から選ばれた参加者が配布
30.
29 新しいブロックに 含まれる取引 A → B 過去のすべての取引 OK NG (二重取引) C
→ D B → P B → Q E → F ・ ・ データの管理方法 過去のすべての取引データで検証
31.
30データの管理方法 まだ確定していない
32.
31 ブロック データの管理方法 ブロック ブロック ブロック ? or ? チェーンは分岐することがある
33.
32データの管理方法 ブロック ブロック ブロック ブロック
ブロックブロック ブロック ブロック 一番長いチェーンを正とする
34.
33データの管理方法 ブロック ブロック ブロック ブロック
ブロックブロック ブロック ブロック 仮に3つブロックがつながったら 正しいチェーンとした場合 他の分岐したチェーンは捨てられる
35.
34データの管理方法 参加者のチェーンの様子
36.
35データの管理方法 A B C
37.
36データの管理方法 未確定データ A B C
38.
37データの管理方法 未確定データ A B C
39.
38データの管理方法 未確定データ A B C
40.
39データの管理方法 確定データ 未確定データ A B C
41.
40データの管理方法 確定データ 未確定データ A B C
42.
41データの管理方法 確定データ 未確定データ A 一時的に参加者間はデータ不整合 B C
43.
42データの管理方法 確定データ 未確定データ A 一時的に参加者間はデータ不整合 B C
44.
43データの管理方法 確定データ 未確定データ A 一時的に参加者間はデータ不整合 B C
45.
44データの管理方法 確定データ 未確定データ A 最終的に1つのデータに収束 B C
46.
45まとめ データ構造 + データの管理方法 不正が難しい取引台帳
47.
THANK YOU
Editor's Notes
それでは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)
Download now