Peer-Discovery
比特幣客戶端如何與比特幣網路建立初始連接?
一旦比特幣客戶端連接到比特幣網路上的一台機器(或多台機器),它們就可以共享資訊(例如區塊鏈、其他節點的IP地址等)。我了解這種點對點架構對於節點加入/離開/崩潰以及不依賴任何中央機構的強韌性如何。
我的問題是:當我啟動我的客戶端時,它沒有關於其他節點的 IP 地址的資訊,那麼它如何知道最初連接到誰/在哪裡?如何“引導”點對點網路?
比特幣客戶端有許多資源用於在初始啟動時定位網路。按重要性排序:
1)主要機制,如果客戶端曾經在這台機器上執行過並且它的數據庫是完整的,那麼主要的機制是查看它的數據庫。它跟踪它在網路上看到的每個節點、上次看到它的時間以及它的 IP 地址。
客戶端可以使用 DNS 來定位連接到網路的節點列表。一種這樣的種子是
bitseed.xf2.org
。客戶端將解決此問題並獲得比特幣節點列表。客戶端有一個編譯到其中的半永久節點列表。
4)客戶端可以連接到一個知名的IRC網路,
irc.lfnet.org
通過這種方式找到其他節點。(從 0.8.2 版本開始,此方法已被刪除)
- 它從命令行 (-addnode) 獲取 IP 地址。