P2p
為什麼節點在重啟時不恢復所有現有的出站連接?
根據作者的說法, Erebus 攻擊可以通過讓受害節點在適當的時候重新啟動來加速。這是因為節點將從受到攻擊的列表中選擇新的出站對等點。
節點不經常將其目前出站對等點儲存到磁碟並在重新啟動時重新連接的原因是什麼?
*通過導致它崩潰,盡可能多地加固哪些節點
首先,讓我澄清一下,Erebus 攻擊不需要重啟受害者。它只是為了加快攻擊過程。攻擊者可以耐心等待現有的合法連接過期並佔用它們。
回到您的問題,我猜您建議優先在所有嘗試過的 IP 中重新連接*目前的出站對等點。*它實際上並沒有太大幫助,因為:1)受害者可能重新連接到攻擊者控制的影子 IP;2)再次,攻擊者可以等待合法連接到期。
這裡的底線是,因為比特幣是未經許可的,你可能無法知道哪些是好的對等點和哪些是壞的對等點重新連接。如果一個節點強烈信任某些對等點,它可以簡單地將它們列入白名單。但整體白名單不利於去中心化。
他們確實嘗試重新連接到以前的對等方。每個節點都在它所看到的所有對等點的文件中維護一個數據庫
peers.dat
,以及它們是否可靠。一旦連接到一些對等點(無論是通過重新連接到以前看到的對等點,還是來自 dnsseeds 的對等點),節點也會不斷地與其他對等點交換對等點資訊,以便他們可以在出現時發現其他新/未見過的節點。