Bitcoin-Core
是否有可能只向一小部分誠實節點廣播新區塊?
考慮在區塊扣留攻擊(又名自私挖礦攻擊)中,攻擊者在創建一個新區塊後決定只將這個新區塊廣播到網路的一部分,這樣最終只有一部分節點會收到這個新區塊,其餘的網路將不會收到它。
在我看來,這是不可能的,因為當攻擊者向一個或一些主機節點發送新塊時,他們最終會將這個塊廣播到整個網路,這意味著最終所有誠實的節點都會收到這個新塊。我對嗎?或者這個攻擊者能夠阻止一小部分誠實節點接收這個新塊?
這通常是行不通的,因為正如你所說,如果一個誠實的節點接收到該塊,它將把它傳播給它的所有對等點,它們會做同樣的事情,依此類推。
即使攻擊者控制了網路上的大量節點,他/她也必須禁止每個誠實的節點,以保證他們不會收到塊。如果這樣做了,攻擊基本上是在他們自己的鏈上進行的。
分叉很可能是有效的,如果稍後通過更多工作廣播到網路的其餘部分,它將成為規範鏈。過去曾使用過這種預扣然後廣播的攻擊,通常作為雙花攻擊的一部分(例如最近在比特幣黃金鍊上)。
如果你想阻止廣播到誠實節點的子集,但仍然廣播到一些誠實節點,你可能不得不使用諸如BGP 重新路由之類的技術。簡而言之,攻擊者重新路由 BGP,使得兩個不同的現實世界網路無法通信。這導致每個網路中的所有節點都無法與另一個網路中的所有節點通信,無論它們是否誠實。這將導致鏈分裂,因為網路的每個部分都將繼續執行,就好像它是網路的唯一版本一樣。