Bitcoin-Core

將地址條目添加到新表時發生衝突

  • October 14, 2022

向新表添加地址時,比特幣協議如何處理衝突?

如果新表中的地址發生衝突,現有地址通常會保留(並且沒有任何變化) - 除非

  • 現有條目已經存在於新表中的其他位置(一個地址最多可以同時位於 8 個不同的桶/位置中),或者
  • 如果現有條目質量差(“糟糕”)

在這兩種情況下,現有條目將被新條目替換。有幾個標準可以粗略地判斷一個節點是否糟糕:

  • 如果它的時間戳在未來太遠或過去與目前時間太遠。
  • 如果我們過去經常嘗試連接它但沒有成功

有關詳細資訊/確切限制,請參閱Addrman::IsTerrible()。值得一提的是,在嘗試表中發生衝突時的行為與此非常不同(“驅逐前的測試”)。

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