Bitcoin-Core
將地址條目添加到新表時發生衝突
向新表添加地址時,比特幣協議如何處理衝突?
如果新表中的地址發生衝突,現有地址通常會保留(並且沒有任何變化) - 除非
- 現有條目已經存在於新表中的其他位置(一個地址最多可以同時位於 8 個不同的桶/位置中),或者
- 如果現有條目質量差(“糟糕”)
在這兩種情況下,現有條目將被新條目替換。有幾個標準可以粗略地判斷一個節點是否糟糕:
- 如果它的時間戳在未來太遠或過去與目前時間太遠。
- 如果我們過去經常嘗試連接它但沒有成功
有關詳細資訊/確切限制,請參閱Addrman::IsTerrible()。值得一提的是,在嘗試表中發生衝突時的行為與此非常不同(“驅逐前的測試”)。