Protocol

比特幣網路如何處理不良行為者?

  • November 15, 2018

有人可以從高層次上解釋網路如何處理不良行為者(有意的(即攻擊者)或無意的(即配置錯誤的節點或執行過時程式碼的節點、分叉程式碼等))?

在不太了解比特幣的底層內部結構的情況下,我假設在數據流經網路程式碼時會進行例行檢查,以測試協議是否得到遵守;並且超出預期協議的任何內容都會被拒絕或標記。我假設這些檢查基本上都是專門針對預期的“數據模型”進行檢查的,因為顯然不可能直接分析在獨立礦工/節點上執行的程式碼。

因此,如果我在這裡錯了,請糾正我,或者進一步詳細說明以補充更多資訊。

其次,我想知道 - 對於已知的敵對礦工/節點(或在較小程度上,已知的過時或配置錯誤的網路參與者) - 其他使用者或礦工可以使用哪些資源來“報告”或列入黑名單或避免受影響的節點或交易?

即,是否有用於報告違反協議的內置功能(可以在攻擊者的系統上執行或通過網路中的其他參與者辨識所述攻擊者)?

感謝您的澄清,謝謝!

假設有一個礦工將無效交易放入一個區塊:

首先,這個礦工必須找到一個非常高難度的雜湊來使區塊有效。

僅此一項就極不可能,因為它試圖比數十萬誠實的礦工更快地找到雜湊值。誠實的礦工可能會找到有效、誠實塊的正確雜湊,這比不誠實的礦工完成他的腐敗塊要快得多。

其次,如果礦工可以找到一個雜湊,並成功發布這個損壞/無效的塊,任何接收到這個無效塊的節點都會檢查數據並將其辨識為無效。當他們看到一個無效的區塊時,他們會拒絕將其添加到他們的區塊鏈中,拒絕與其他節點共享,並可能將發送給他們的節點列入黑名單。

腐敗的礦工將花費大量時間和精力尋找雜湊,卻發現自己很快被列入黑名單並被忽略。

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