Client
比特幣節點如何知道將新交易和區塊發送到哪裡?
我正在研究比特幣;我找不到太多關於 P2P 網路本身如何運作的資訊。例如,BitTorrent 使用 DHT 協議,該協議允許節點發現和計算節點之間的距離等。
因此,如果比特幣客戶端想要進行交易,它如何知道要連接到哪個 IP 地址才能宣布它呢?
以及交易被發送的節點如何知道它需要連接到哪些其他節點,等等?
比特幣是所謂的八卦網路。他們向所有對等方宣布任何新對象(只是數據的雜湊)。如果對等方還不知道該對象,它會請求完整的對象。所以它肯定不是一個 DHT 或任何智能的數據組織:每個(完整)節點(最終)都了解每個塊和交易。他們必須這樣做,否則沒有其他方法可以驗證歷史。
至於客戶端如何發現對等點,請參閱比特幣客戶端如何找到彼此?