SlideShare a Scribd company logo
Submit Search
Upload
5分でわかるブロックチェーンの基本的な仕組み
Report
Ryo Shimamura
TIS株式会社
Follow
•
502 likes
•
307,000 views
1
of
47
5分でわかるブロックチェーンの基本的な仕組み
•
502 likes
•
307,000 views
Download Now
Download to read offline
Report
Technology
どのようにしてブロックチェーンが不正が難しい取引台帳を実現しているかという仕組みを社内勉強会で説明した資料です。
Read more
Ryo Shimamura
TIS株式会社
Follow
Recommended
ブロックチェーンの仕組みと動向(入門編)
NTT DATA OSS Professional Services
14K views
•
30 slides
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
dcubeio
4.1K views
•
85 slides
ブロックチェーンを学ぶ 公開版
YamashitaKatsushi
875 views
•
47 slides
ブロックチェーン技術の基本と応用の可能性
Kenji Saito
63.5K views
•
45 slides
ブロックチェーンの基本構造
Soichiro Takagi
7.5K views
•
33 slides
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
106K views
•
62 slides
More Related Content
What's hot
Cache-Oblivious データ構造入門 @DSIRNLP#5
Takuya Akiba
17.5K views
•
54 slides
ビジネスパーソンのためのDX入門講座エッセンス版
Tokoroten Nakayama
52.6K views
•
26 slides
AHC-Lab M1勉強会 論文の読み方・書き方
Shinagawa Seitaro
47.5K views
•
65 slides
暗号技術の実装と数学
MITSUNARI Shigeo
9.6K views
•
35 slides
情報抽出入門 〜非構造化データを構造化させる技術〜
Yuya Unno
37.9K views
•
52 slides
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
Deep Learning JP
36.2K views
•
30 slides
What's hot
(20)
Cache-Oblivious データ構造入門 @DSIRNLP#5
Takuya Akiba
•
17.5K views
ビジネスパーソンのためのDX入門講座エッセンス版
Tokoroten Nakayama
•
52.6K views
AHC-Lab M1勉強会 論文の読み方・書き方
Shinagawa Seitaro
•
47.5K views
暗号技術の実装と数学
MITSUNARI Shigeo
•
9.6K views
情報抽出入門 〜非構造化データを構造化させる技術〜
Yuya Unno
•
37.9K views
[DLHacks LT] PytorchのDataLoader -torchtextのソースコードを読んでみた-
Deep Learning JP
•
36.2K views
老害について
Ken SASAKI
•
86.6K views
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
•
3.5K views
SAT/SMTソルバの仕組み
Masahiro Sakai
•
36.6K views
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
諒介 荒木
•
4.7K views
推薦アルゴリズムの今までとこれから
cyberagent
•
29.7K views
解説!30分で分かるLEAN ANALYTICS
しくみ製作所
•
7.2K views
最適化超入門
Takami Sato
•
174.5K views
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
•
16.4K views
全力解説!Transformer
Arithmer Inc.
•
9.5K views
エンジニアも知っておきたいAI倫理のはなし
Yasunori Nihei
•
2.3K views
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
Takuya Akiba
•
57.7K views
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
•
32.3K views
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
•
11.4K views
機械学習チュートリアル@Jubatus Casual Talks
Yuya Unno
•
735.8K views
Viewers also liked
Fintechベンチャーがもたらす日本市場への示唆
Toshio Taki
33.8K views
•
39 slides
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
健一 茂木
4.8K views
•
33 slides
ブロックチェーンの整理 27 sep2015
Yoshimitsu Homma
10.5K views
•
21 slides
ブロックチェーン入門〜ただしFinTechを除く〜
Miki Yutani
22.7K views
•
60 slides
ブロックチェーンの実務応用
Masakazu Masujima
9.5K views
•
10 slides
Blockchain入門 20160416
Tsuyoshi Hirayama
10.7K views
•
27 slides
Viewers also liked
(20)
Fintechベンチャーがもたらす日本市場への示唆
Toshio Taki
•
33.8K views
自分だけの仮想通貨を作ってブロックチェーンを理解するハンズオン
健一 茂木
•
4.8K views
ブロックチェーンの整理 27 sep2015
Yoshimitsu Homma
•
10.5K views
ブロックチェーン入門〜ただしFinTechを除く〜
Miki Yutani
•
22.7K views
ブロックチェーンの実務応用
Masakazu Masujima
•
9.5K views
Blockchain入門 20160416
Tsuyoshi Hirayama
•
10.7K views
Bitcoinを技術的に理解する
Kenji Urushima
•
131.7K views
Bitcoinとは何か?
Toshihiro Kaseda
•
3K views
仮想通貨のブロックチェイン技術によるFinTech
Kindai University
•
21.6K views
正規表現入門 星の高さを求めて
Ryoma Sin'ya
•
33.9K views
MyRocks introduction and production deployment
Yoshinori Matsunobu
•
3.2K views
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
健一 茂木
•
8.3K views
ネットワークでなぜ遅延が生じるのか
Jun Kato
•
60.9K views
金融機関向けブロックチェーン・ビジネス
Hiroshi Shimo
•
11.3K views
加賀さんと僕 ~艦これウィジェットの紹介と説明~
Hiromu Ochiai
•
234.6K views
ブロックチェーン 10から20へ
Soichiro Takagi
•
3.2K views
Token salesについて
Masakazu Masujima
•
63.4K views
Hyperledger Projectの概要
Hyperleger Tokyo Meetup
•
5K views
Hadoop and Kerberos
Yuta Imai
•
9.4K views
Hyperledger Fabric 1.0 概要
Hyperleger Tokyo Meetup
•
19.5K views
Recently uploaded
DLゼミ: MobileOne: An Improved One millisecond Mobile Backbone
harmonylab
38 views
•
30 slides
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
119 views
•
63 slides
さくらのひやおろし2023
法林浩之
24 views
•
58 slides
01Booster Studio ご紹介資料
ssusere7a2172
186 views
•
19 slides
概念モデリングワークショップ 設計編
Knowledge & Experience
10 views
•
37 slides
JJUG CCC.pptx
Kanta Sasaki
6 views
•
14 slides
Recently uploaded
(10)
DLゼミ: MobileOne: An Improved One millisecond Mobile Backbone
harmonylab
•
38 views
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
119 views
さくらのひやおろし2023
法林浩之
•
24 views
01Booster Studio ご紹介資料
ssusere7a2172
•
186 views
概念モデリングワークショップ 設計編
Knowledge & Experience
•
10 views
JJUG CCC.pptx
Kanta Sasaki
•
6 views
「概念モデリング自動化に向けた第一歩」 ~ ChatGPT・Open AI 活用による開発対象のモデル化
Knowledge & Experience
•
6 views
テストコードってすごい.pptx
cistb220msudou
•
71 views
概念モデリングワークショップ 基礎編
Knowledge & Experience
•
18 views
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
197 views
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)