SlideShare a Scribd company logo
1 of 24
blockchainを支える技術
@seiketkm
自己紹介
清家 巧
せいけ たくみ
tw:@seiketkm
所属 TIS株式会社
Webではこのアバターで活動してます。
話題
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない
...etc
これらの性質の技術的な源泉をかんがえます。
話題
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない
話題
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない ハッシュ関数
「ハッシュ関数」とは
A
A
Aのハッシ
ュ値
ハッシュ関数
ハッシュ関数
XXXXXXX
(1)同じ入力は同じ出力
(2)衝突しにくい
入力を自由に操作しても
任意のハッシュ値となる入力の発見が困難
(3) 「Aのハッシュ値」
から「A」は推測困難
(4)出力値は
固定長
Aのハッシ
ュ値
Aのハッシ
ュ値
ハッシュ関数
概ねこれらの性質をもつ関数
「ハッシュ関数」よくある利用
❏ ファイルの改竄/破損のチェック
❏ 取得したファイルの破損がないか
❏ 取得したファイルが正当か?
配布ファイル
配布ファイルの
ハッシュ値
ハッシュ関数
配布元 取得者
取得ファイル
取得ファイルの
ハッシュ値
ハッシュ関数
ダウンロード
比較
ハッシュ値が正しければ破損改ざんがない
「ハッシュ関数」ブロックチェーンの使いみち
取引群N-1
ハッシュ
N-1
ハッシュ関数
取引群N
ハッシュ
N
ハッシュ関数
取引群N+1
ハッシュ
N+1
ハッシュ関数
取引のハッシュ値をチェイン(連鎖)させるこ
とで過去のすべての取引内容に対して改ざんの
チェックができる。
=過去の記録は改ざん出来ない。
「ハッシュ関数」ブロックチェーンの使いみち
取引群N-1
ハッシュ
N-1
ハッシュ関数
取引群N
ハッシュ
N
ハッシュ関数
取引群N+1
ハッシュ
N+1
ハッシュ関数
取引のハッシュ値をチェイン(連鎖)させるこ
とで過去のすべての取引内容に対して改ざんの
チェックができる。
=過去の記録は改ざん出来ない。
ブロックチェーンの
「過去の記録が改ざんできない」
性質はハッシュ関数で実現されている。
話題
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない
話題
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない
電子署名
電子署名でできること
電子署名
=公開鍵暗号を利用した、本人の証明
=本人がやったことの否認防止
A
取引α:AからBに42円送る
取引αのハッシュ値
秘密鍵で署名(暗号化)
取引α:AからBに42円送る
取引αのハッシュ値
取引αへのAの電子署名 取引αへのAの電子署名
公開鍵で復号化
取引αのハッシュ値
電子署名でできること
A
取引α:AからBに42円送る
取引αのハッシュ値
秘密鍵で署名(暗号化)
取引α:AからBに42円送る
取引αのハッシュ値
取引αへのAの電子署名 取引αへのAの電子署名
公開鍵で復号化
取引αのハッシュ値
電子署名
=公開鍵暗号を利用した、本人の証明
=本人がやったことの否認防止
電子署名によって
検証者(マイナー、ハーベスタ)
が取引の正当性(本人が間違いな
くやった)を検証できる
電子署名でできること
A
取引α:AからBに42円送る
取引αのハッシュ値
秘密鍵で署名(暗号化)
取引α:AからBに42円送る
取引αのハッシュ値
取引αへのAの電子署名 取引αへのAの電子署名
公開鍵で復号化
取引αのハッシュ値
電子署名
=公開鍵暗号を利用した、本人の証明
=本人がやったことの否認防止
電子署名によって
検証者(マイナー、ハーベスタ)
が取引の正当性(本人が間違いな
くやった)を検証できる
ブロックチェーンの
「正当な記録しか保存できない」
(正当であることが検証できる)
性質は電子署名で実現されている。
blockchainの性質
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない
blockchainの性質
blockchainの性質として語られること
❏ 過去の記録は改ざんできない
❏ 正当な記録しか記録できない
❏ ※例えば人が勝手に預金移動できたりしない。
❏ ゼロダウンタイム/低コスト
❏ 管理者がいない
P2Pネットワーク
P2Pネットワークとは
P2Pとは
参加するすべてのノード(ピア)
が対等。
例:skype/torrent など
P2Pネットワークとは
P2Pネットワークとは
(コスト面の課題)
多重化、冗長化、ハイスペック化
などを行う場合が多い。
(P2Pネットワークの性質)
つながっている端末だけでサービ
スを継続する
P2Pネットワークの使いみち
blockchainはP2Pネットワークで構成されている
ためblockchainもその性質がある。
❏ゼロダウンタイム
❏ 高可用性、SPOF(単一障害点)の排除
❏低コスト
❏ 一般的な構成に必要な冗長構成/高スペックが不要
P2Pネットワークの使いみち
blockchainはP2Pネットワークで構成されている
ためblockchainもその性質がある。
❏ゼロダウンタイム
❏ 高可用性、SPOF(単一障害点)の排除
❏低コスト
❏ 一般的な構成に必要な冗長構成/高スペックが不要
ブロックチェーンの
「ゼロダウンタイム」や
「低コスト」という性質は
P2Pネットワークで実現されている。
blockchainを支える技術 まとめ
blockchainの性質の多くは既知の技術の組合せによるもの。
❏ 改ざんできない→ハッシュ関数
❏ 正当性の担保→電子署名
❏ ゼロダウンタイム/低コスト→P2Pネットワーク
❏ 管理者不在→P2Pネットワーク
blockchainを支える技術 まとめ2
blockchain特有の技術(アルゴリズム?)として
の
信頼形成の方式(PoW/PoS/PoI)については詳し
い人教えて下さい!!
ありがとうございました!

More Related Content

Viewers also liked

『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
IBM Watson Explorer: Explore, analyze and interpret information for better bu...
IBM Watson Explorer: Explore, analyze and interpret information for better bu...IBM Watson Explorer: Explore, analyze and interpret information for better bu...
IBM Watson Explorer: Explore, analyze and interpret information for better bu...Virginia Fernandez
 
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!Miki Yutani
 
Blockchain Programming
Blockchain ProgrammingBlockchain Programming
Blockchain ProgrammingRhea Myers
 
The Blockchain and JavaScript
The Blockchain and JavaScriptThe Blockchain and JavaScript
The Blockchain and JavaScriptPortia Burton
 
Blockchains and Adult Education
Blockchains and Adult EducationBlockchains and Adult Education
Blockchains and Adult EducationJohn Domingue
 
Blockchains a new platform for semantically enabled transactions public
Blockchains  a new platform for semantically enabled transactions publicBlockchains  a new platform for semantically enabled transactions public
Blockchains a new platform for semantically enabled transactions publicJohn Domingue
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to BlockchainThomvest Ventures
 
Watson Explorerを使ったテキストマイニング
Watson Explorerを使ったテキストマイニングWatson Explorerを使ったテキストマイニング
Watson Explorerを使ったテキストマイニングHori Tasuku
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜Miki Yutani
 
The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin Jérôme Kehrli
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性Kenji Saito
 

Viewers also liked (16)

『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
IBM Watson Explorer: Explore, analyze and interpret information for better bu...
IBM Watson Explorer: Explore, analyze and interpret information for better bu...IBM Watson Explorer: Explore, analyze and interpret information for better bu...
IBM Watson Explorer: Explore, analyze and interpret information for better bu...
 
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
 
Blockchain Programming
Blockchain ProgrammingBlockchain Programming
Blockchain Programming
 
Blockchain
BlockchainBlockchain
Blockchain
 
The Blockchain and JavaScript
The Blockchain and JavaScriptThe Blockchain and JavaScript
The Blockchain and JavaScript
 
Blockchain in life sciences
Blockchain in life sciencesBlockchain in life sciences
Blockchain in life sciences
 
Blockchains and Adult Education
Blockchains and Adult EducationBlockchains and Adult Education
Blockchains and Adult Education
 
Blockchains a new platform for semantically enabled transactions public
Blockchains  a new platform for semantically enabled transactions publicBlockchains  a new platform for semantically enabled transactions public
Blockchains a new platform for semantically enabled transactions public
 
Blockchain for Notaries
Blockchain for NotariesBlockchain for Notaries
Blockchain for Notaries
 
An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to Blockchain
 
Watson Explorerを使ったテキストマイニング
Watson Explorerを使ったテキストマイニングWatson Explorerを使ったテキストマイニング
Watson Explorerを使ったテキストマイニング
 
Blockchain white paper
Blockchain white paperBlockchain white paper
Blockchain white paper
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
 
The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin The Blockchain - The Technology behind Bitcoin
The Blockchain - The Technology behind Bitcoin
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
 

Blockchainを支える技術

Editor's Notes

  1. 画像転載元 http://bb.watch.impress.co.jp/cda/parts/image_for_link/29415-9391-4-1.html
  2. 画像転載元 http://bb.watch.impress.co.jp/cda/parts/image_for_link/29415-9391-4-1.html
  3. spofがない 全部自分のところに来るから
  4. spofがない 全部自分のところに来るから