Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ビットコインの技術
ブロックチェーン連続講義 第 3 回
慶應義塾大学 SFC 研究所 上席所員
斉藤 賢爾
ks91@sfc.wide.ad.jp
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p....
今回のテーマ
ビットコインの技術
ビットコイン・ブロックチェーンの仕組み、データ構造の特
徴、Proof of Work とマイニングの意味、スクリプト、通信プ
ロトコル、参照ソフトウェア、API、考えうる脆弱性と対策な
どについて解説し、
ま...
ビットコインの技術
1. ビットコインとは?
2. ビットコインのシステム
3. 基礎技術
4. ビットコインの技術 - 概要
5. ビットコインの技術 - 詳細
6. オルトコイン
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 ...
1. ビットコインとは?
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.4/47
郵便の電子化 vs. 貨幣の電子化
日本郵便の電子系郵便サービス
レタックス (電子郵便)
http://www.post.japanpost.jp/service/letax/index.html
電子内容証明郵便サービス
http://en...
ビットコインとは?
「必要なのは、信用ではなく暗号学的証明に
もとづいた電子的支払いシステムである」
Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic
Cash System”, 200...
2. ビットコインのシステム
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.7/47
ビーカーモデルの世界(1)
2,100 万 cm3
の、人類にとっ
て無価値な液体がある
タンクに入っている
1 億分の 1cm3
まで計量できる
ビーカーを各自がいくつでも
持てる
平均 10 分おきに選ばれた人だ
けが、自分のビーカーに今な...
ビーカーモデルの世界(2)
ビーカーの間で比較的自由に
液体のやり取りができる
先の「選ばれた人」は、やり取
りを「監査」し、台帳に記録を
残す「追記人」でもある
やり取りのおこぼれも
もらえる
ときどき、ビーカーを割って
しまう人がいる
そん...
「通貨と見なしてみた」
貨幣・通貨に、見なしを必要としない「ホンモノ」は
存在しない
通貨 = 通用している貨幣 or 貨幣の流通面
すべての貨幣・通貨は、それを「貨幣・通貨と
見なす」ことにより存在する
例 : 日本銀行が発行する券を通貨と見...
3. 基礎技術
詳しくは第 4 回「暗号技術のリテラシー」(3/18) で
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.11/47
基礎技術 - 暗号学的ハッシュ関数
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.12/47
基礎技術 - デジタル署名
本人が送ったものであり改竄されていないことが証明できる
RSA, DSA, ECDSA (楕円曲線 DSA) 等
取引はデジタル署名されるが、ビットコインでは PKI は用いない
ブロックチェーン連続講義 第 3 回...
4. ビットコインの技術 - 概要
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.14/47
ビットコインのシステムの概要
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.15/47
取引とデジタル署名(1)
参照済みの出力 (=コイン) は消費済み → 二重消費されない
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.16/47
取引とデジタル署名(2)
M から A に 60BTC 送る例
条件や署名は実際にはスクリプトのかたちで記述される
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.17/47
ウォレットは何をしているか
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.18/47
ブロックチェーンの維持
1. 各マイナーは、過去 10 分ほどの間に収集した取引データを
ブロックに格納し、マイニング (くじ引き) を行う
2. 成功したらネットワーク内にブロードキャストする
3. 各マイナーは、それをチェインの新しい末尾と...
取引の連鎖
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.20/47
量の限界
21 万ブロック毎 (約 4 年毎) に、マイナーへの報酬 (手数料除く) は
半減する
このことにより 2,100 万 BTC という極限値が求まる
1 億分の 1 BTC が最小単位なので、2140 年頃、手数料を除く報酬
はゼロ...
マイニング
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.22/47
マイナーの振る舞い
効率を追求する
専用ハードウェアの出現
マイニングには (電力) コストがかかる
もし、期待される利益がコストよりも大きければ、
より多くのマイナーが参入しハードウェアに投資
する
もし、期待される利益がコストよりも小さけれ...
ターゲットの調整
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.24/47
POW による保護
取引は改ざんできないが削除は可能 (ブロックは改ざんできる)
Proof Of Work を課すことで改ざんを抑止するというが . . .
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04...
過去2年間のハッシュレートの推移
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.26/47
コインの状態遷移
希ではあるが、後戻りの可能性をもつ
そして確率には頼れない
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.27/47
5. ビットコインの技術 - 詳細
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.28/47
Transaction Data Structure
Field Description Size (bytes)
Version Currently 1 4
# of inputs Positive var-int 1∼9
List of i...
Output Data Structure
Field Description Size (bytes)
Amount Value in 10−8BTC 8
Script length Positive var-int 1∼9
Script V...
Input Data Structure
Field Description Size (bytes)
Referred TX Double SHA-256 value 32
Referred output Index of the outpu...
Major Script Operators
Operator Code Description
OP_0 0 Push 0 byte
N/A 1∼0x4b Push # bytes
OP_PUSHDATA1 0x4c Push length ...
Script (General)
Output:
OP_DUP OP_HASH160
OP_PUSHDATA* <Public-key digest>
OP_EQUALVERIFY OP_CHECKSIG
Input:
OP_PUSHDATA*...
Script Processing
Concatinates scripts: input → output
Stack-based processing
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 –...
Script (Generation)
Output:
OP_PUSHDATA* <Public key> OP_CHECKSIG
Input:
OP_PUSHDATA* <Signature>
Gen. TX otuput and refer...
Block Data Structure
Field Description Size (bytes)
Block header 6 items 80
# of TXs Positive var-int 1∼9
List of TXs Vari...
Block Header Data Structure
Field Description Size (bytes)
Version 4
Digest Double SHA-256 value 32
Merkle root Double SHA...
Merkle Tree
Digest = double SHA-256 value
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.38/47
Networking
No structure
All TCP, default port number: 8333
IPv6 supported since v0.7 of reference
implementation (v0.9.4 a...
Major Messages
Category Name Function
Connection version Sends version and block #
verack Acknowledges version
addr (addre...
Message Structure
Field Description Size (bytes)
Magic number 0xd9b4bef9 4
Command Message name (ASCII string) 12
Payload ...
DNS Seed
seed.bitcoin.sipa.be
dnsseed.bluematt.me
dnsseed.bitcoin.dashjr.org
seed.bitcoinstats.com
seed.bitnodes.io
bitsee...
Transfer Protocol
block message is handled in the same manner
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.43/47
For more detail, see
https://bitcoin.org/en/developer-reference
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.44/47
6. オルトコイン
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.45/47
主要なコインと特徴
BTC (ビットコイン)
「ザ・ブロックチェーン」通貨
LTC (ライトコイン)
ビットコインを改良する目的で作られ、多くの
オルトコインのフォーク元に
DOGE (ドージコイン)
ジョークとして生まれ、チップ感覚で手軽に
...
ご質問や議論を
ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.47/47
Upcoming SlideShare
Loading in …5
×

ブロックチェーン連続講義 第3回 ビットコインの技術

2,478 views

Published on

ブロックチェーンハブ主催で開催しているブロックチェーン連続講義の第3回「ビットコインの技術」のスライドです。2016年3月4日(金) に使用しました。次回は「暗号技術のリテラシー」(3月18日(金)) です。

SlideShare 上ではスライドの中の日本語が表示されないように見えますが、ダウンロードしたものについては正しく表示されます。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ブロックチェーン連続講義 第3回 ビットコインの技術

  1. 1. ビットコインの技術 ブロックチェーン連続講義 第 3 回 慶應義塾大学 SFC 研究所 上席所員 斉藤 賢爾 ks91@sfc.wide.ad.jp ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.1/47
  2. 2. 今回のテーマ ビットコインの技術 ビットコイン・ブロックチェーンの仕組み、データ構造の特 徴、Proof of Work とマイニングの意味、スクリプト、通信プ ロトコル、参照ソフトウェア、API、考えうる脆弱性と対策な どについて解説し、 また、ビットコインに追従し乱立したいわゆるオルトコインに ついても、主要なものについて、それぞれの特徴を解説します ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.2/47
  3. 3. ビットコインの技術 1. ビットコインとは? 2. ビットコインのシステム 3. 基礎技術 4. ビットコインの技術 - 概要 5. ビットコインの技術 - 詳細 6. オルトコイン ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.3/47
  4. 4. 1. ビットコインとは? ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.4/47
  5. 5. 郵便の電子化 vs. 貨幣の電子化 日本郵便の電子系郵便サービス レタックス (電子郵便) http://www.post.japanpost.jp/service/letax/index.html 電子内容証明郵便サービス http://enaiyo.post.japanpost.jp/mpt/ これらが「電子メール」だと言われたら? 自分で「ポストオフィス」を立てられない 従量課金されるし手続きが煩雑 現在の「電子マネー」のレベルとは? 自分で「バンク」を立てられない (中央) 銀行の手のひらから逃れていない ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.5/47
  6. 6. ビットコインとは? 「必要なのは、信用ではなく暗号学的証明に もとづいた電子的支払いシステムである」 Satoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, 2008 最初のボタンをかけ違えている? その信念にもとづいて開発された P2P デジタル通貨 http://bitcoin.org/ 設計の随所にインフレーションへの敵意が見られる 単位は BTC (ISO 標準に基づき、コードは XBT となるか) 商品として売買されている 2013 年 11 月末、1BTC の価格が 10 万円を超え、騒ぎに ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.6/47
  7. 7. 2. ビットコインのシステム ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.7/47
  8. 8. ビーカーモデルの世界(1) 2,100 万 cm3 の、人類にとっ て無価値な液体がある タンクに入っている 1 億分の 1cm3 まで計量できる ビーカーを各自がいくつでも 持てる 平均 10 分おきに選ばれた人だ けが、自分のビーカーに今な ら 25cm3 くみ出せる 特殊なくじ引きで選ぶ 当たりくじは、各自の箱 の中にあり、それぞれが 全力でくじを引きまくる ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.8/47
  9. 9. ビーカーモデルの世界(2) ビーカーの間で比較的自由に 液体のやり取りができる 先の「選ばれた人」は、やり取 りを「監査」し、台帳に記録を 残す「追記人」でもある やり取りのおこぼれも もらえる ときどき、ビーカーを割って しまう人がいる そんな仕組みをデジタルでつ くり、通貨と見なしてみた → ビットコイン ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.9/47
  10. 10. 「通貨と見なしてみた」 貨幣・通貨に、見なしを必要としない「ホンモノ」は 存在しない 通貨 = 通用している貨幣 or 貨幣の流通面 すべての貨幣・通貨は、それを「貨幣・通貨と 見なす」ことにより存在する 例 : 日本銀行が発行する券を通貨と見なしてみた → 日本円 したがって、すべての通貨は仮想的な存在なので、 「仮想通貨」という言葉は、ある意味ナンセンス 日本円は別に「実通貨」ではない ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.10/47
  11. 11. 3. 基礎技術 詳しくは第 4 回「暗号技術のリテラシー」(3/18) で ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.11/47
  12. 12. 基礎技術 - 暗号学的ハッシュ関数 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.12/47
  13. 13. 基礎技術 - デジタル署名 本人が送ったものであり改竄されていないことが証明できる RSA, DSA, ECDSA (楕円曲線 DSA) 等 取引はデジタル署名されるが、ビットコインでは PKI は用いない ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.13/47
  14. 14. 4. ビットコインの技術 - 概要 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.14/47
  15. 15. ビットコインのシステムの概要 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.15/47
  16. 16. 取引とデジタル署名(1) 参照済みの出力 (=コイン) は消費済み → 二重消費されない ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.16/47
  17. 17. 取引とデジタル署名(2) M から A に 60BTC 送る例 条件や署名は実際にはスクリプトのかたちで記述される ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.17/47
  18. 18. ウォレットは何をしているか ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.18/47
  19. 19. ブロックチェーンの維持 1. 各マイナーは、過去 10 分ほどの間に収集した取引データを ブロックに格納し、マイニング (くじ引き) を行う 2. 成功したらネットワーク内にブロードキャストする 3. 各マイナーは、それをチェインの新しい末尾と認めるなら、 その後ろにブロックを繋げるべく 1 に戻る ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.19/47
  20. 20. 取引の連鎖 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.20/47
  21. 21. 量の限界 21 万ブロック毎 (約 4 年毎) に、マイナーへの報酬 (手数料除く) は 半減する このことにより 2,100 万 BTC という極限値が求まる 1 億分の 1 BTC が最小単位なので、2140 年頃、手数料を除く報酬 はゼロになる 20,999,999.9769 BTC を「採掘」し終える ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.21/47
  22. 22. マイニング ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.22/47
  23. 23. マイナーの振る舞い 効率を追求する 専用ハードウェアの出現 マイニングには (電力) コストがかかる もし、期待される利益がコストよりも大きければ、 より多くのマイナーが参入しハードウェアに投資 する もし、期待される利益がコストよりも小さければ、 マイナーは撤退する マイニングは集団的になり、サービスになる 個人がより簡単に参入し撤退しやすくなる ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.23/47
  24. 24. ターゲットの調整 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.24/47
  25. 25. POW による保護 取引は改ざんできないが削除は可能 (ブロックは改ざんできる) Proof Of Work を課すことで改ざんを抑止するというが . . . ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.25/47
  26. 26. 過去2年間のハッシュレートの推移 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.26/47
  27. 27. コインの状態遷移 希ではあるが、後戻りの可能性をもつ そして確率には頼れない ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.27/47
  28. 28. 5. ビットコインの技術 - 詳細 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.28/47
  29. 29. Transaction Data Structure Field Description Size (bytes) Version Currently 1 4 # of inputs Positive var-int 1∼9 List of inputs Variable # of outputs Positive var-int 1∼9 List of outputs Variable Lock time 4 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.29/47
  30. 30. Output Data Structure Field Description Size (bytes) Amount Value in 10−8BTC 8 Script length Positive var-int 1∼9 Script Variable ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.30/47
  31. 31. Input Data Structure Field Description Size (bytes) Referred TX Double SHA-256 value 32 Referred output Index of the output 4 Script length Positive var-int 1∼9 Script Variable Sequence # 4 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.31/47
  32. 32. Major Script Operators Operator Code Description OP_0 0 Push 0 byte N/A 1∼0x4b Push # bytes OP_PUSHDATA1 0x4c Push length specified by 1-byte suffix OP_PUSHDATA2 0x4d Push length specified by 2-byte suffix OP_PUSHDATA4 0x4e Push length specified by 4-byte suffix OP_NOP 0x61 Do nothing OP_VERIFY 0x69 TX invalid if not true OP_DUP 0x76 Copy 1 item OP_EQUAL 0x87 If 2 items match OP_EQUALVERIFY 0x88 OP_EQUAL → OP_VERIFY OP_HASH160 0xa9 Apply SHA-256→RIPEMD-160 OP_CHECKSIG 0xac If signature for TX verified OP_CHECKMULTISIG 0xae If multiple signatures for TX verified Script is a stack-oriented language with postfix notation ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.32/47
  33. 33. Script (General) Output: OP_DUP OP_HASH160 OP_PUSHDATA* <Public-key digest> OP_EQUALVERIFY OP_CHECKSIG Input: OP_PUSHDATA* <Signature> OP_PUSHDATA* <Public key> TX output addressed to a public-key digest and referring input ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.33/47
  34. 34. Script Processing Concatinates scripts: input → output Stack-based processing ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.34/47
  35. 35. Script (Generation) Output: OP_PUSHDATA* <Public key> OP_CHECKSIG Input: OP_PUSHDATA* <Signature> Gen. TX otuput and referring input No need to specify public key by its digest Can avoid compromising security down to 160bit ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.35/47
  36. 36. Block Data Structure Field Description Size (bytes) Block header 6 items 80 # of TXs Positive var-int 1∼9 List of TXs Variable ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.36/47
  37. 37. Block Header Data Structure Field Description Size (bytes) Version 4 Digest Double SHA-256 value 32 Merkle root Double SHA-256 value 32 Time Seconds (since 1970-01-01T00:00 UTC) 4 Target Compressed format 4 Nonce Appropriate value 4 Merkle root is the digest of all TXs ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.37/47
  38. 38. Merkle Tree Digest = double SHA-256 value ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.38/47
  39. 39. Networking No structure All TCP, default port number: 8333 IPv6 supported since v0.7 of reference implementation (v0.9.4 as of Jan. 2015) Can use IPv4, IPv6 or Tor In reference implementation Max # of outbound connections : 8 Max # of all connections : 125 (by default) Only one outbound connection to an address group High 16bit in IPv4 High 32bit in IPv6 ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.39/47
  40. 40. Major Messages Category Name Function Connection version Sends version and block # verack Acknowledges version addr (address) Sends list of IP address/port # getaddr Requests addr Data inv (inventory) Sends (new) blocks and/or txs transfer getblocks Requests inv for all blocks within range getdata Requests block/tx by the digest block Sends block replying to getdata tx (transaction) Sends tx replying to getdata Header getheaders Requests headers for all blocks within range transfer headers Sends block headers up to 2,000 Others alert Broadcasts alert ping Confirms connection pong Acknowledges ping ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.40/47
  41. 41. Message Structure Field Description Size (bytes) Magic number 0xd9b4bef9 4 Command Message name (ASCII string) 12 Payload length Size of payload in bytes 4 Checksum Double SHA-256 value of payload First 4 Payload Message data Variable All integers are encoded in Little Endian except IP address and port # We’ve just seen the payloads for block and tx messages ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.41/47
  42. 42. DNS Seed seed.bitcoin.sipa.be dnsseed.bluematt.me dnsseed.bitcoin.dashjr.org seed.bitcoinstats.com seed.bitnodes.io bitseed.xf2.org Maintained by volunteers None of these uses DNSSEC ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.42/47
  43. 43. Transfer Protocol block message is handled in the same manner ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.43/47
  44. 44. For more detail, see https://bitcoin.org/en/developer-reference ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.44/47
  45. 45. 6. オルトコイン ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.45/47
  46. 46. 主要なコインと特徴 BTC (ビットコイン) 「ザ・ブロックチェーン」通貨 LTC (ライトコイン) ビットコインを改良する目的で作られ、多くの オルトコインのフォーク元に DOGE (ドージコイン) ジョークとして生まれ、チップ感覚で手軽に 使える通貨 ETH (イーサリアム) 汎用のブロックチェーンエンジンであり、その 「燃料」としての通貨 詳しくは第 7 回「スマートコントラクト」(4/8) で ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.46/47
  47. 47. ご質問や議論を ブロックチェーン連続講義 第 3 回「ビットコインの技術」 — 2016-03-04 – p.47/47

×