Peer-Discovery

比特幣客戶端如何與比特幣網路建立初始連接?

  • September 6, 2021

一旦比特幣客戶端連接到比特幣網路上的一台機器(或多台機器),它們就可以共享資訊(例如區塊鏈、其他節點的IP地址等)。我了解這種點對點架構對於節點加入/離開/崩潰以及不依賴任何中央機構的強韌性如何。

我的問題是:當我啟動我的客戶端時,它沒有關於其他節點的 IP 地址的資訊,那麼它如何知道最初連接到誰/在哪裡?如何“引導”點對點網路?

比特幣客戶端有許多資源用於在初始啟動時定位網路。按重要性排序:

1)主要機制,如果客戶端曾經在這台機器上執行過並且它的數據庫是完整的,那麼主要的機制是查看它的數據庫。它跟踪它在網路上看到的每個節點、上次看到它的時間以及它的 IP 地址。

  1. 客戶端可以使用 DNS 來定位連接到網路的節點列表。一種這樣的種子是bitseed.xf2.org。客戶端將解決此問題並獲得比特幣節點列表。

  2. 客戶端有一個編譯到其中的半永久節點列表。

4)客戶端可以連接到一個知名的IRC網路,irc.lfnet.org通過這種方式找到其他節點。(從 0.8.2 版本開始,此方法已被刪除)

  1. 它從命令行 (-addnode) 獲取 IP 地址。

引用自:https://bitcoin.stackexchange.com/questions/2027