閃電網路會不會因為消息氾濫而受到 DoS 攻擊?
在閃電網路協議(c-lightning、eclair 和 lnd)的目前實現中,是否有任何檢查可以阻止 channel_announcement、mode_announcement 或 channel_update 消息的垃圾郵件/氾濫?假設這些消息是有效且可證明的。
該協議是有目的地建構的,可以減輕和減少 DoS 攻擊的影響。每個都
channel_announcement
包含對資金交易的引用,並且每個節點都會驗證該資金交易是否與公告中的資訊匹配。這使得創建一個channel_announcement
非免費的,並且綁定了潛在攻擊者的一些資源,並且一個頻道可能只被宣布一次。channel_update
s 僅在它們前面有匹配項時才有效,channel_announcement
使它們也非自由。對於node_announcement
s 也是如此,它必須在至少一個channel_announcement
宣布該節點的通道之前。雖然s 是唯一的,但對於s 和s
channel_announcement
來說並非如此,它們可以更新通道/節點的參數。為了減輕潛在的更新氾濫,協議規定必須使用交錯廣播,它緩衝傳入的八卦消息並在轉發它們之前等待 60 秒以進行記憶體中的替換。這會將同一通道或節點的多個更新合併為一條消息,然後實際廣播。因此,如果您嘗試廣播大量更新,它們將在第一跳聚合,並且只會轉發最新的更新。channel_update``node_announcement
這將節點可以廣播的消息數量減少到
channel_announcement
每個通道 1 個,node_announcement
每個節點每 60 秒 1 個,channel_update
每個通道每 60 秒 1 個。(免責聲明:我是規範作者之一,也是交錯廣播提案的作者)