Network(同期編)
3.Initaial Block Downroad(IBD)
ネットワークに接続後に最新のブロックまでブロックチェーンのデータのダウンロードを開始する。
https://gyazo.com/c7b994c1aaeb585b8104f0398b7ae496
図3:初期ブロックダウンロード
getheaderメッセージではそのペイロードにどの時点から(Header Hashes)どの時点までのブロックを要求するか(Stopping Hash)セットしますがIBDではHeader Hashesにローカルノードが保持する最新ブロック(この場合はジェネシスブロック)のハッシュをStopping Hashに0x00...00をセットして送信する。
getheaderによるブロックヘッダの取得とgetaddによるブロックデータの取得は並行して行われる。
4.ブロックのブロードキャスト
マイナーによるブロードキャストは二種類の方法に分けられる。
https://gyazo.com/9ee37b15aa5d605a23a0a714b45b7bd4
図4:ブロックのブロードキャスト
フルノードに対するブロックリレーとSPVノードに対するブロックリレーは方法が異なる。
新しいブロックを受信したフルノードはブロックの検証を行い問題がなければ上記の方法でブロックをリレーする。