BITCOIN NETWORK 後
半
鈴木雄登
Agenda
SPVノード
BloomFilter
トランザクションプール
アラートメッセージ
おさらい
ネットワークノードには4つの機能
Wallet
Miner
Blockchain
Network Routing
SPVノード
SPVノード
Simplified Payment Verification
日本語だと「簡単決済認証」
一般的なウォレットはSPVノード
SPVノードとフルノードの違
い
ブロックヘッダのみでトランザクションはDLして
いない
結果1/1000の容量になる
使用可能な全てのUTXOは分からない
SPVノードとフルノードの違
い
SPVノード
全てのブロックチェーン
SPVノードに関係あるトランザクション
フルノード
完全に検証されたブロックチェーン
全トランザクション
SPVノードの構成(おさらい
)
Wallet
Bitcoinアドレスと秘密鍵を格納す
るソフトウェア
SPVノードの構成(おさら
い)
StratumでもSPVノードはある
Stratum
・Bitcoin P2Pプロトコルとは
別のプロトコル
Stratumサーバ
・Stratumノードと
BitcoinP2Pノードの橋渡し
SPVノードの
トランザクションの確認
1. 代理ノードに対してmerkle path証明を要求
2.ブロックチェーンにあるPoWを検証
merkle path
merkle treeという二分木を使った経路探索
葉ノードはトランザクションデータをハッシュ化
詳しくはブロックチェーンの章で
SPVノードの
ブロックヘッダ同期
トランザクションの場合
request: getdata
response: tx
2000個以内の
headerを送る
プライバシー問題
SPVノードは特定のbitcoinアドレスに関するTXを要求
漏れてしまうので、特定されないようにする必要
BloomFilterを利用
BLOOM FILTER
Bloom Filterとは?
簡単に言うと、枝刈りの手法
考案は1970年
bitcoinの機能だけでなく、DBの探索などでも利用
される
BloomFilterでできること
ある要素が集合のメンバーであるかどうかを見る
ただし偽陽性がある
要素があるかは不確実
要素がないことは確実
アルゴリズム
アルゴリズム
アルゴリズム
アルゴリズム
1 1
再度同じPatternAが来ても全てのbitが立っているので存在と判定できる
BloomFilterに似てるもの
ビット配列(入力が数値なら)
ハッシュテーブル(ハッシュ関数の数が1の場合
と同じ。ただし衝突を考慮する必要あり)
SPVノードでは?
ウォレットに含んでいるBTCアドレスをハッシュ化
Node A Node B
filterload
getdata
merkleblock
tx
tx
filteradd
filterclear
bloom filter
の送信
トランザクション
の取得
パターンの
追加
Bloom filterの
再作成
トランザクションプール
トランザクションプール
未検証トランザクションの一時リスト
ブロックチェーンに含まれていないTX
Orphanプールもある
TXプールはノード単位で持ってるので、ノードが
落ちれば消えてしまう
UTXOプール
全ての未使用アウトプットの集合
常に開始当時からの全UTXOを保持
BTCネットワーク内で検証済みのもの
アラートメッセージ
機能
今まで数回しか使われたことがない
alertというメッセージで全BTCユーザに通知できる
GUIのクライアントではPUSH通知
すでに廃止された模様
フィールド一覧
ID :アラートを一意に指定するID
Expiration : アラートが失効するまでの時間
RelayUntil : アラートが中継されなくなるまでの時間
MinVer, MaxVer :アラートが適用されるBitcoinプロトコルバージョンの範囲
subVer : アラートが適用されるクライアントバージョン
Priority : アラートの優先レベル、現在使用されていない

More Related Content

PPTX
170916 nem introduction
PPTX
Visualizenetworktraffic 20181108
PDF
Gnuk flyer-osc2015
PDF
BCJ2018 Tezos
PDF
Bug for Install Linux on Atom Z8700 Portabook ポータブックのLinuxインストールバグ対策 2018 #東海道らぐ
PPTX
Introduction to Bitcoin
PDF
Payment channel入門
PPTX
【ビットコインとか勉強会#1】トランザクションを読み解く
170916 nem introduction
Visualizenetworktraffic 20181108
Gnuk flyer-osc2015
BCJ2018 Tezos
Bug for Install Linux on Atom Z8700 Portabook ポータブックのLinuxインストールバグ対策 2018 #東海道らぐ
Introduction to Bitcoin
Payment channel入門
【ビットコインとか勉強会#1】トランザクションを読み解く

Similar to Mastering Bitcoin ~network~ (20)

PPTX
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
PPTX
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
PPTX
はじめてのWeb of Things
PPTX
VPP事始め
PPTX
Domino v12の新機能 - 多要素認証対応 (TOTP) -
PDF
EXE #6:Lightning Network入門
PDF
月刊NDEF 2013年3月号(卒業号)
PDF
Lightning Network入門
PDF
Bitcoinを技術的に理解する
PPTX
みんなのブログ紹介
PDF
秋の夜長のトランスポート
PDF
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
PDF
Ns2240series users manual_07
PDF
OpenFlow
PDF
Tezos 008 Edo protocol
PPTX
2014 1018 OSC-Fall Tokyo NETMF
PDF
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
PPTX
Androidとfpgaを高速fifo通信させちゃう
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
PPTX
はじめてのWeb of Things
OpenID Bizday #9 - 山崎重一郎氏 プレゼン資料
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
はじめてのWeb of Things
VPP事始め
Domino v12の新機能 - 多要素認証対応 (TOTP) -
EXE #6:Lightning Network入門
月刊NDEF 2013年3月号(卒業号)
Lightning Network入門
Bitcoinを技術的に理解する
みんなのブログ紹介
秋の夜長のトランスポート
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
Ns2240series users manual_07
OpenFlow
Tezos 008 Edo protocol
2014 1018 OSC-Fall Tokyo NETMF
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
Androidとfpgaを高速fifo通信させちゃう
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
はじめてのWeb of Things
Ad

More from Yuto Suzuki (20)

PPTX
5xx解消への道のり
PPTX
MySQLのインデックス入門
PPTX
Ad vol.2
PPTX
広告勉強会
PPTX
Aerospike基本のき
PPTX
いまさらAkkaStream
PPTX
Introduction of View Through Tracking
PPTX
エンジニアのためのマーケティング
PPTX
How to Build a Team
PPTX
プロダクトにおけるScala
PPTX
Do you like scala
PPTX
Re invent
PPTX
Slackから始めるChatOps
PPTX
大学の時の研究の話
PPTX
F.O.Xを支える技術
PPTX
Scala戦士を増やせ
PPTX
Recommend scala
PDF
スクラムに学ぶ開発の回し方
PDF
Breezeで始めるデータ分析
PDF
進撃のSbt
5xx解消への道のり
MySQLのインデックス入門
Ad vol.2
広告勉強会
Aerospike基本のき
いまさらAkkaStream
Introduction of View Through Tracking
エンジニアのためのマーケティング
How to Build a Team
プロダクトにおけるScala
Do you like scala
Re invent
Slackから始めるChatOps
大学の時の研究の話
F.O.Xを支える技術
Scala戦士を増やせ
Recommend scala
スクラムに学ぶ開発の回し方
Breezeで始めるデータ分析
進撃のSbt
Ad

Recently uploaded (7)

PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PDF
AIシステムのセキュリティ:脅威となりつつあるAIの現状と課題 [English] Security of AI Systems: The Current...
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
AIシステムのセキュリティ:脅威となりつつあるAIの現状と課題 [English] Security of AI Systems: The Current...
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Working as an OSS Developer at Ruby Association Activity Report 2025
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)

Mastering Bitcoin ~network~