SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
bitcoin
勉強会3
近畿大学
山崎重一郎
ビットコイン
一反もめん説
国立情報学研究所
岡田仁志先生より	
杉浦日向子著
百物語より抜粋	
注)この絵に描かれ
ている物語では一反
もめんではなく狢の
しわざの一つです
杉浦日向子著
百物語より抜粋	
  見える人にだけ見える
大福帳	
大福帳を管理する
銀行みたいなものは
ない
杉浦日向子著
百物語より抜粋	
 
A
送金者	
B
受領者	
AがBに50BTC
支払った
	
取引の記録
杉浦日向子著
百物語より抜粋	
 
送金者が
取引の記録
を放送	
A
送金者	
B
受領者	
放送は実際
はリレーで実
行
杉浦日向子著
百物語より抜粋	
 
マイナーが
計算競争	
A
送金者	
B
受領者
杉浦日向子著
百物語より抜粋	
 
勝利したマイナーが	
取引記録を大福帳=
ブロックに書き込み
報酬獲得
25BTC
ブロック
	
取引記録	
A
送金者	
B
受領者
杉浦日向子著
百物語より抜粋	
 
全員で取引記録を
承認
記録	
ミトドケター	
ミトドケター	
ミトドケター	
ミトドケター	
 ブロック
	
取引記録	
ミトドケター	
A
送金者	
B
受領者	
ミトドケター	
この時点で決済が完了
決済に全員が関与
杉浦日向子著
百物語より抜粋	
 
全員で取引記録を
保存
記録	
A
送金者	
B
受領者	
一反もめん=大福帳
はP2P型分散ファイル
システム
銀行はない
ブロック
	
取引記録
ビザンティン将軍問題
p 裏切り者がいるネットワークで合意する
多数決をとりたいが、失敗させられてしまう
   和睦	
攻撃	
攻撃	
攻撃	
攻撃	
和睦	
裏切り者	
裏切り者	
裏切り者
古典的解:情報交換を繰り返し、認知レベルを上げる
第1段階、相互の意見の交換
第2段階、自分が知った他の将軍たちの意見(意見ベクトル)の交換
第3段階、...(意見ベクトルのベクトル)の交換
  
和睦	
攻撃	
攻撃	
攻撃	
攻撃	
裏切り者	
裏切り者	
裏切り者	
1/3以上裏切り者がいると解が無い
和睦
サトシ・ナカモトの解
ネット上の計算資源の総量が有限
「攻撃」チーム VS 「和睦」チーム
計算競争をして勝った方の意見を採用!→ 人間の欲望を利用
  
和睦	
攻撃	
攻撃	
攻撃	
裏切り者	
裏切り者	
裏切り者	
何回戦かすると
たまたま少数派が勝つ確率は
極小になる
和睦	
マイニング	
攻撃
プルーフ・オブ・ワークと
計算難易度の調整
p 難しい計算をした証拠
ハッシュキャッシュという暗号学的に無意味な計算
p 2016ブロックの計算ごとに難易度を調整
2016☓10分=2週間
計算完了が2週間より早ければ→難しくする
計算完了が2週間より遅ければ→簡単にする
難易度の変遷
ビットコイン	
ライトコイン
取引記録の構造
input
(25 生成)	
output
(お釣 15)	
output
(10)	
input
(10)	
output
(14)	
input
(15)	
output
(お釣 5)	
output
(10)	
input
(10)	
output
(お釣 5)	
ビットコインアドレス	
ビットコインアドレス	
ビットコインアドレス	
ハッシュで結合	
ハッシュで結合	
取引記録	
 取引記録	
取引記録	
inputの和と
outputの和の
差額は手数料
になる
取引記録のデータ構造
Input:	 インプット

Previous	 tx:	 
f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6

Index:	 0

scriptSig:	 電子署名と公開鍵
304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10

90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b
241501

Output:	 アウトプット

Value:	 5000000000	 	 	 支払い金額(単位はsatoshi	 =	 1億分の1BTC)

scriptPubKey:	 OP_DUP	 OP_HASH160	 
404371705fa9bd789a2fcd52d2c580b65d35549d

OP_EQUALVERIFY	 OP_CHECKSIG ← 検証スクリプト
取引記録のデータ構造
p インプット
直前の取引のハッシュ値:直前の取引とのリンクをつくる
インデックス:     直前の取引のアウトプットの識別
p 電子署名と公開鍵
公開鍵:この取引による送金者の公開鍵
電子署名:この取引記録を単純化形式へのハッシュへの署名
p アウトプット
バリュー:支払い金額
scriptPubKey:検証スクリプトの後半部分
検証すること
input
(25 生成)	
output
(お釣 15)	
output
(10)	
input
(10)	
output
(14)	
input
(15)	
output
(お釣 5)	
output
(10)	
input
(10)	
output
(お釣 5)	
取引記録1	
 取引記録2	
取引記録3	
取引記録1
のハッシュ値
が格納	
取引記録2
のハッシュ値
が格納
検証とスクリプト
p  検証すること
各インプットがそれぞれアウトプットの対応
ハッシュの一致、電子署名の正しさ
p  BitcoinはForth言語的スクリプト言語が利用可能
p  インプットを直前のアウトプットの連続性の検証
p  各インプットが参照している直前のアウトプットを
検証する
bitcoinへの攻撃方法
p  Transaction malleability(Dos攻撃)
署名可塑性、スクリプト可塑性   Mt.Goxへの攻撃?
p  51%攻撃(コインの多重使用)
マイニングプールの50%以上を支配できる場合の攻撃
p  Race攻撃(コインの多重使用)
店は10分待たないという前提。送金者が、同一のコインで、代金支払と
自分自身への送金の二つを同時に放送する。
p  Finny攻撃(コインの多重使用)
店は10分待たないという前提。マイナー自身が支払者で、こっそり自分
への支払い取引をブロックに入れる
p  ベクター76攻撃(コインの多重使用)
Race攻撃とFinny攻撃の組み合わせ
電子署名やハッシュ計算の大前提
p  ハッシュ関数
乱数を発生する関数
入力が同一なら、対応する出力も同一
しかし、入力が1ビットでも違うと、出力は全く違う
p  要件
署名対象は、通信過程で1ビットも変更されてはならない
経由するマシン、OS、プロトコルなどに依存しない
p  実現技術
ASN.1:抽象構文
DER: エンコード方法 (型、長さ、値)
Transaction malleability
署名展性、スクリプト展性
A
送金者	
B
受領者	
「放送」の中継者が
取引記録を少し修正する
中継者	
中継者	
中継者	
マイナー	
取引の記録	
中継者
署名展性
p  電子署名検証は成功状態のまま取引データを改ざんする方法
ecdsaの署名= (r,s)  という整数の組
しかし、    (r,-s (mod n))  でも署名検証は成功する
p  その結果
取引のハッシュが違うので、ブロックに組み込まれ、承認されると
正統な取引の連鎖が途絶え、そのコインがそれ以降使えなくなる
スクリプト展性
p 取引には Forth言語に似たスクリプト
言語が記述されている
p スクリプト部分は署名対象の外部
p スクリプトを変更できてしまう
典型的対処方法
p  悪意のリレーノードを見つけるのは容易
(r,-s (mod n)) を出してきたノード見つければいい
p  接続する相手を選ぶ
交換所のような有名な送金者ノードは、中継ノードをなくし
て、直接信頼できる有力なマイナーと接続すればよい
opensslのECDSA署名を試す
ビットコインの電子署名は、ECDSA Secp256k1 を利用しています。
■openssl version 1.0.1e以上を使う	
●プライベート鍵の生成(ランダムに生成されます)	
openssl ecparam -genkey -name secp256k1 -out privkey.pem
●プライベート鍵から公開鍵の生成	
openssl ec -in privkey.pem -pubout -out pubkey.pem
■Ruby opensslを利用 (require 'openssl')	
●ECDSA署名	
skey = OpenSSL::PKey::EC.new(File.read('./privkey.pem'))
hash = OpenSSL::Digest::SHA256.digest('abc12345')
sign = skey.dsa_sign_asn1(hash)
●ECDSAの署名検証	
pkey = OpenSSL::PKey::EC.new(File.read('./pubkey.pem'))
pkey.dsa_verify_asn1(hash, sign)
Bitcoinの匿名性について
p  anonymityとpseudonymity
匿名(意図的)と仮名(ID切り離し)で明確に区別される
p  ビットコインアドレスは仮名
全ての取引記録が、ビットコインアドレスで追跡可能
例:Mt.Goxのビットコインアドレスに匿名性は無い
p  ビットコインを匿名化するサービスも存在する
ミクシングサービスを経由させると追跡が難しくなる

Mais conteúdo relacionado

Mais de Kindai University

福岡ブロックチェーン・エコノミー勉強会公開版
福岡ブロックチェーン・エコノミー勉強会公開版福岡ブロックチェーン・エコノミー勉強会公開版
福岡ブロックチェーン・エコノミー勉強会公開版Kindai University
 
ブロックチェーンによるデータガバナンスと社会基盤の再構築
ブロックチェーンによるデータガバナンスと社会基盤の再構築ブロックチェーンによるデータガバナンスと社会基盤の再構築
ブロックチェーンによるデータガバナンスと社会基盤の再構築Kindai University
 
やっぱりブロックチェインより仮想通貨
やっぱりブロックチェインより仮想通貨やっぱりブロックチェインより仮想通貨
やっぱりブロックチェインより仮想通貨Kindai University
 
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像FinTechと金融サービスの将来像
FinTechと金融サービスの将来像Kindai University
 
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTechKindai University
 
ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題Kindai University
 
ブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolKindai University
 
電気マネーでエネルギー問題解決
電気マネーでエネルギー問題解決電気マネーでエネルギー問題解決
電気マネーでエネルギー問題解決Kindai University
 
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)Kindai University
 
薬院サルー仮想通貨プロジェクト
薬院サルー仮想通貨プロジェクト薬院サルー仮想通貨プロジェクト
薬院サルー仮想通貨プロジェクトKindai University
 
明星和楽 Bitcoin の概要
明星和楽 Bitcoin の概要明星和楽 Bitcoin の概要
明星和楽 Bitcoin の概要Kindai University
 
仮想通貨の薬院サルー実験
仮想通貨の薬院サルー実験仮想通貨の薬院サルー実験
仮想通貨の薬院サルー実験Kindai University
 
Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想Kindai University
 
Nerusi ruby メタプログラミング
Nerusi ruby メタプログラミングNerusi ruby メタプログラミング
Nerusi ruby メタプログラミングKindai University
 

Mais de Kindai University (20)

福岡ブロックチェーン・エコノミー勉強会公開版
福岡ブロックチェーン・エコノミー勉強会公開版福岡ブロックチェーン・エコノミー勉強会公開版
福岡ブロックチェーン・エコノミー勉強会公開版
 
ブロックチェーンによるデータガバナンスと社会基盤の再構築
ブロックチェーンによるデータガバナンスと社会基盤の再構築ブロックチェーンによるデータガバナンスと社会基盤の再構築
ブロックチェーンによるデータガバナンスと社会基盤の再構築
 
やっぱりブロックチェインより仮想通貨
やっぱりブロックチェインより仮想通貨やっぱりブロックチェインより仮想通貨
やっぱりブロックチェインより仮想通貨
 
FinTechと金融サービスの将来像
FinTechと金融サービスの将来像FinTechと金融サービスの将来像
FinTechと金融サービスの将来像
 
Congre chain説明資料
Congre chain説明資料Congre chain説明資料
Congre chain説明資料
 
仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech仮想通貨のブロックチェイン技術によるFinTech
仮想通貨のブロックチェイン技術によるFinTech
 
ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題
 
ブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocolブロックチェインとOpen asset protocol
ブロックチェインとOpen asset protocol
 
Open fintech and Kachatter
Open fintech and KachatterOpen fintech and Kachatter
Open fintech and Kachatter
 
電気マネーでエネルギー問題解決
電気マネーでエネルギー問題解決電気マネーでエネルギー問題解決
電気マネーでエネルギー問題解決
 
仮想通貨実験計画
仮想通貨実験計画仮想通貨実験計画
仮想通貨実験計画
 
Bit Nexus
Bit NexusBit Nexus
Bit Nexus
 
電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)電子情報通信学会グローバル社会とビットコイン(山崎)
電子情報通信学会グローバル社会とビットコイン(山崎)
 
薬院サルー仮想通貨プロジェクト
薬院サルー仮想通貨プロジェクト薬院サルー仮想通貨プロジェクト
薬院サルー仮想通貨プロジェクト
 
明星和楽 Bitcoin の概要
明星和楽 Bitcoin の概要明星和楽 Bitcoin の概要
明星和楽 Bitcoin の概要
 
仮想通貨の薬院サルー実験
仮想通貨の薬院サルー実験仮想通貨の薬院サルー実験
仮想通貨の薬院サルー実験
 
Bitcoinの技術
Bitcoinの技術Bitcoinの技術
Bitcoinの技術
 
Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想Bitcoinのしくみと設計思想
Bitcoinのしくみと設計思想
 
Nerusi ruby メタプログラミング
Nerusi ruby メタプログラミングNerusi ruby メタプログラミング
Nerusi ruby メタプログラミング
 
Bitcoin 4
Bitcoin 4Bitcoin 4
Bitcoin 4
 

Último

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Último (12)

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

Bitcoin 3