SlideShare a Scribd company logo
1 of 30
Bitcoinについて
2014年2月3日
九州大学大学院数理学府
修士2年 鷲見 拓哉
この発表の目的

1

*

Bitcoinを原論文に沿って理解する

* http://www.bitcoin.co.jpより引用
2

Bitcoin

1. Bitcoin: A Peer-to-Peer Electronic Cash System (原論文)
 Satoshi Nakamoto, 2008年

 2009年にオープンソースのソフトウェア実装が公開

2. P2P電子通貨
3. 政府や銀行などの中央機関が存在しない
4. 二重使用問題の解決方法が独特
電子通貨

3

B
B
B

ディジタルデータ

※以降,Bitcoinの電子通貨を「コイン」と表記
二重使用問題

4

(1) 送金

B
B
B

B
(2) ディジタルデータのコピー

B

二重使用問題
Bitcoinにおける二重使用問題の解決方法

全ての取引の順序が一意に定まるよう
ネットワーク上で合意形成,監視

5
取引の流れ

6

B

B

(1) 署名

秘密鍵
公開鍵

(2) 検証

秘密鍵

秘密鍵

公開鍵

公開鍵

※実際は,公開鍵を見てもそれが誰のものかは分からない
取引

7

公開鍵

B
ハッシュ関数

(1) 署名

秘密鍵
公開鍵

(2) 検証

ハッシュ値

秘密鍵
ディジタル署名
取引

8

B
1
取引情報
自分宛の支払い

別の取引

5
3
3

10

支払い

釣り(自分から自分への支払い)
取引の連鎖
取引1

公開鍵

9
取引2

公開鍵

取引3

公開鍵

ハッシュ関数

ハッシュ関数

ハッシュ関数

ハッシュ値

ハッシュ値

ハッシュ値

署名

署名

署名

秘密鍵

秘密鍵

秘密鍵
リアルマネーはなぜ使えるか

10

(1) 何かを買う

1万円 に価値が
あると信じている

(2) 対価として 1万円 を支払う
リアルマネーの価値

1. 信用の裏付け:中央機関
2. 中央機関が通貨の価値を維持

11
コインの価値

12

1. 信用の裏付け:計算量的な信頼
2. 取引情報

を計算量の大きな処理を経て記録

3. 取引情報

の改ざんを困難にすることで価値を維持
タイムスタンプ・サーバ

13

1. ある時点で,そのデータが存在することを証明
2. ハッシュ関数を使う
時刻T1
ハッシュ関数

データ

このハッシュ値となる
データが時刻T1に存在した

時刻T2
ハッシュ関数

データ
14

Proof-of-work

P2Pネットワーク上でタイムスタンプ・サーバを実現
ブロック

ブロック

ハッシュ値

取引0

取引1

Nonce

取引2

ハッシュ関数

ハッシュ値

取引3

取引4

Nonce

取引5

ブロックのハッシュ値が特定の値となるように Nonce を調整
15

Proof-of-work

採掘

ブロック

ハッシュ関数
(SHA-256)

00000...000001010001001...11001010111010100
ハッシュ値の先頭Xビットが0になるような Nonce を求める
Bitcoinネットワークのパラメータ
採掘が10分間で完了できるよう随時調整される
16

Proof-of-work

Bitcoinクライアントの実装
無限ループ
Nonceをインクリメントしてハッシュ値を総当り計算

https://github.com/bitcoin/bitcoin/blob/master/src/miner.cpp
17

Proof-of-work

1. 現時点で未処理の取引情報を新しいブロックへ記録
2. ハッシュ値が条件を満たすようなNonceを求める
3. 見つけた値をブロックのNonceに設定

採掘処理
を実行

4. ブロックをブロードキャスト(ここまでに約10分)
5. 1.へ戻る(この10分間に新しい取引が発生)

採掘ノード
ノードは取引情報を共有
取引6

取引9
取引8

取引7

ノード

取引6
取引7

ノード

取引8

ノード
18

Proof-of-work
(1) 各ノードは常に新しい取引情報をブロードキャスト
(2) 採掘ノードは常に採掘処理を実行
採掘ノード

(3) ブロックをブロードキャスト

取引9

採掘ノード

取引6

ハッシュ値

取引8
取引7

ノード

Nonce
取引6

ノード

取引7

取引5

ネットワーク全体で取引の正しさを監視

取引8

ノード

ノード
(4) 各ノードはブロックを検証

取引3

取引4
採掘

19

1. 採掘ノードの役割:採掘+ブロックのブロードキャスト
2. ある採掘ノードが採掘に成功 =
当該ブロックを初めてブロードキャスト
3. 採掘処理には高性能計算機と電力が必要

採掘ノードのモチベーションとは
採掘のインセンティブ(参加動機,報奨金)

1. 採掘処理に成功した採掘ノードには報奨金
 2009年当初は1採掘あたり50コイン

 現在は1採掘あたり25コイン(4年毎に半減)
 2014年2月現在では1コイン≒8万円

2. 採掘は競争的プロセス
 使用する計算機の性能がどんどん上がる
 今までの流れ:一般的なパソコン → 並列GPU → FPGA
 最近は採掘処理のみを行う専用ハードウェア(ASIC)が登場

20
21

Bitcoinネットワークへの攻撃

1. ブロックに含まれる取引は正しいとみなす
 正しい

=

そのコインの使用が初めて

2. ブロックが続くほど取引の改ざんが困難
ブロック0

ブロック1

ブロック2

ブロック3

後方のブロックにハッシュ値が含まれるため改ざんが困難
ブロック1に含まれる取引を改ざんするには,2と3の改ざんも必要
Bitcoinネットワークへの攻撃

22

1. 善良な採掘ノード達は次々とブロックをブロードキャスト
2. 攻撃者が↑のブロック生成速度に勝てば取引を改ざんできる

3. 善良な採掘ノード達よりも高性能な計算機が必要
4. 高性能な計算機を準備できたとしても,改ざんが明るみに出ると

Bitcoinネットワークが崩壊
 改ざんして得たコインが無価値に

5. その計算機を使って,普通に採掘して報奨金を得る方が得策
6. 誰も改ざんしようとは思わない
ハッシュ木(マークル木)
各要素がハッシュ値の二分木

23
ルートハッシュ

ハッシュ01

ハッシュ23

ハッシュ0

ハッシュ1

ハッシュ2

ハッシュ3

取引0

取引1

取引2

取引3
ブロックの構造

24

ブロック

ブロックヘッダ

ハッシュ値
ハッシュ計算の
対象はブロック
ヘッダのみ

ルートハッシュ

Nonce

ハッシュ01

ハッシュ23

ハッシュ0

ハッシュ1

ハッシュ2

ハッシュ3

取引0

取引1

取引2

取引3
ディスク容量の節約

25

ブロック

ブロックヘッダ

ハッシュ値
Nonce

ハッシュ01
不必要な情報を
削除できる

ルートハッシュ

ハッシュ23

ハッシュ2

ハッシュ3

取引3
取引の検証

26

最長のproof-of-workチェイン
ブロックヘッダ

ハッシュ値

ブロックヘッダ

ハッシュ値

Nonce

ルートハッシュ

ハッシュ2

ハッシュ値

Nonce

ルートハッシュ

ハッシュ01

ハッシュ01

ブロックヘッダ

取引3

ルートハッシュ

ハッシュ23

ハッシュ2

ハッシュ3

を用いて構成したハッシュ木の
ルートハッシュがブロックヘッダに含まれる

は正しい
(ネットワークに承認されている)
取引3

Nonce

取引3
プライバシ

27

従来のプライバシ・モデル
取引

信用できる仲介者
(銀行等)

取引

Bitcoinのプライバシ・モデル
取引

取引
取引

取引

取引

オープン
1. 取引情報から個人を特定できない

2. 取引ごとに鍵ペアを使い分けることで更なる匿名性を確保
まとめ

28

1. Bitcoinは中央機関に依存しない電子通貨
2. 二重使用問題の解決方法が独特
 Proof-of-workを用いてP2Pネットワーク上で取引履歴を記録
 取引履歴は計算量的に改ざんが困難

3. ノードはいつでも離脱/参加できる
 最長のproof-of-workチェインを信頼することで,離脱期間中の
取引を承認
参考文献
1.

Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, 2008,
https://bitcoin.org/bitcoin.pdf

2.

Bitcoinクライアント実装, https://github.com/bitcoin

3.

斉藤 賢爾, “ビットコイン-人間不在のデジタル巨石貨幣”, WIDE Technical-Report, 2013,
http://member.wide.ad.jp/tr/wide-tr-ideon-bitcoin2013-00.pdf

4.

山崎重一郎, “bitcoin勉強会1”, 2013, http://www.slideshare.net/11ro_yamasaki/bitcoin27954024

5.

山崎重一郎, “bitcoin勉強会2”, 2013, http://www.slideshare.net/11ro_yamasaki/bitcoin2

6.

須賀祐治, “BitcoinのECDSA署名生成時にポカしたら現金搾取される”, 2014年暗号と情報
セキュリティシンポジウム, SCIS 2014, 4A1-3, 2014

29

More Related Content

What's hot

What's hot (20)

電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)
 
ビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンドビットコインの基礎知識と世界的なトレンド
ビットコインの基礎知識と世界的なトレンド
 
Entry for Bitcoin (For Japanese)
Entry for Bitcoin (For Japanese)Entry for Bitcoin (For Japanese)
Entry for Bitcoin (For Japanese)
 
ネット仮想通貨の論点 - 楠正憲
ネット仮想通貨の論点 - 楠正憲ネット仮想通貨の論点 - 楠正憲
ネット仮想通貨の論点 - 楠正憲
 
Congre chain説明資料
Congre chain説明資料Congre chain説明資料
Congre chain説明資料
 
ビットコイン・ブロックチェーン入門#1
ビットコイン・ブロックチェーン入門#1ビットコイン・ブロックチェーン入門#1
ビットコイン・ブロックチェーン入門#1
 
(旧)ビットコインとブロックチェーン入門
(旧)ビットコインとブロックチェーン入門(旧)ビットコインとブロックチェーン入門
(旧)ビットコインとブロックチェーン入門
 
ブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocol
 
Bitcoin 4
Bitcoin 4Bitcoin 4
Bitcoin 4
 
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
 
ビットコインとブロックチェーン入門
ビットコインとブロックチェーン入門ビットコインとブロックチェーン入門
ビットコインとブロックチェーン入門
 
ブロックチェーン基礎基本
ブロックチェーン基礎基本ブロックチェーン基礎基本
ブロックチェーン基礎基本
 
EXE #7:Private Blockchainの現状と未来
EXE #7:Private Blockchainの現状と未来EXE #7:Private Blockchainの現状と未来
EXE #7:Private Blockchainの現状と未来
 
IOTAの量子コンピュータ耐性
IOTAの量子コンピュータ耐性IOTAの量子コンピュータ耐性
IOTAの量子コンピュータ耐性
 
EXE #6:Lightning Network入門
EXE #6:Lightning Network入門EXE #6:Lightning Network入門
EXE #6:Lightning Network入門
 
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
 
ブロックチェーンの基本構造
ブロックチェーンの基本構造ブロックチェーンの基本構造
ブロックチェーンの基本構造
 
Bitcoinの概要と論点
Bitcoinの概要と論点Bitcoinの概要と論点
Bitcoinの概要と論点
 
EXE Lite #1:ビットコインとブロックチェーン入門
EXE Lite #1:ビットコインとブロックチェーン入門EXE Lite #1:ビットコインとブロックチェーン入門
EXE Lite #1:ビットコインとブロックチェーン入門
 
Blockchain innovation
Blockchain innovationBlockchain innovation
Blockchain innovation
 

Viewers also liked

マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点
Masanori Kusunoki
 

Viewers also liked (17)

5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
ビットコインとは何か~暗号貨幣の法的性質と法律実務に与える影響
 
「通貨」と「信頼」 Bitcoinとはそもそも何か
「通貨」と「信頼」 Bitcoinとはそもそも何か「通貨」と「信頼」 Bitcoinとはそもそも何か
「通貨」と「信頼」 Bitcoinとはそもそも何か
 
ビットコインとgoxと円天と
ビットコインとgoxと円天とビットコインとgoxと円天と
ビットコインとgoxと円天と
 
ビットコイン ~ トランザクション展性について
ビットコイン ~ トランザクション展性についてビットコイン ~ トランザクション展性について
ビットコイン ~ トランザクション展性について
 
【ビットコインとか勉強会#1】トランザクションを読み解く
【ビットコインとか勉強会#1】トランザクションを読み解く【ビットコインとか勉強会#1】トランザクションを読み解く
【ビットコインとか勉強会#1】トランザクションを読み解く
 
マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点マルレク特別編:Bitcoinの概要と今後の論点
マルレク特別編:Bitcoinの概要と今後の論点
 
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
Bitcoinの個人的勉強ノート 第3版(2015年1月4日)
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
 
Blockchain - Future Sync Vol5 Slide
Blockchain   -   Future Sync Vol5 SlideBlockchain   -   Future Sync Vol5 Slide
Blockchain - Future Sync Vol5 Slide
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
 
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
 
ビットコインの仕組み
ビットコインの仕組みビットコインの仕組み
ビットコインの仕組み
 
ブロックチェーン連続講義 第3回 ビットコインの技術
ブロックチェーン連続講義 第3回 ビットコインの技術ブロックチェーン連続講義 第3回 ビットコインの技術
ブロックチェーン連続講義 第3回 ビットコインの技術
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
0528 kanntigai ui_ux
0528 kanntigai ui_ux0528 kanntigai ui_ux
0528 kanntigai ui_ux
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
 

Similar to Bitcoinについて

Similar to Bitcoinについて (14)

20200218_Event
20200218_Event20200218_Event
20200218_Event
 
ビットコインからの
ビットコインからのビットコインからの
ビットコインからの
 
Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17Summary of Crypto currency2018 02-17
Summary of Crypto currency2018 02-17
 
ブロックチェーン技術概論1 輪読
ブロックチェーン技術概論1 輪読ブロックチェーン技術概論1 輪読
ブロックチェーン技術概論1 輪読
 
ビットコイナー的ブロックチェーン批判
ビットコイナー的ブロックチェーン批判ビットコイナー的ブロックチェーン批判
ビットコイナー的ブロックチェーン批判
 
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
 
Bitcoinについて 2014年3月7日
Bitcoinについて 2014年3月7日Bitcoinについて 2014年3月7日
Bitcoinについて 2014年3月7日
 
Lightning Network入門
Lightning Network入門Lightning Network入門
Lightning Network入門
 
ブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live ppt
 
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
悪性Botnet包囲網におけるP2P通信検知の試み@ipsj Iot 42, 6/28, 2018
 
ビットコイン送金の基礎と「Mt.Gox事件」を知る
ビットコイン送金の基礎と「Mt.Gox事件」を知るビットコイン送金の基礎と「Mt.Gox事件」を知る
ビットコイン送金の基礎と「Mt.Gox事件」を知る
 
Smart property
Smart propertySmart property
Smart property
 
暗号資産の基礎
暗号資産の基礎暗号資産の基礎
暗号資産の基礎
 
Introduction to Bitcoin
Introduction to BitcoinIntroduction to Bitcoin
Introduction to Bitcoin
 

Recently uploaded

Recently uploaded (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

Bitcoinについて