Bitcoin-Core-Development
當攻擊者發布更長的鏈時,Bitcoin Core 會發出警告嗎?
我昨天試著回答了一個關於多數攻擊者改變區塊鏈的權力的問題。
有一件事我還沒有搞清楚:
當一個以前未知的至少 7 個區塊長度的鏈分叉被發佈時,比特幣核心會如何反應?
main.h:CheckForkWarningConditions似乎發出警告,指出“鏈狀態數據庫可能損壞”。
如果它的工作量最大,Bitcoin Core 會接受鏈分叉嗎?對使用者的警告有多突出?Bitcoin Core 是否需要人工干預來決定接受哪個分叉?
當發布至少 7 個區塊長度的先前未知的鏈分叉時,Bitcoin Core 會如何反應?
它重組到該鏈,任何失去的交易都將返回到節點記憶體池。
如果它的工作量最大,Bitcoin Core 會接受鏈分叉嗎?
任何工作量最大的有效鏈都將被重組為。
對使用者的警告有多突出?
該警告不會在重組中顯示給使用者。當存在有效工作證明但內容無效的鏈明顯高於他們時,或者當軟分叉的塊版本號高於其客戶所知道的時,使用者會收到警告。當通過警報系統向使用者顯示警告時,它要麼在
alerts
RPC 輸出欄位中,要麼在 GUI 客戶端中的黃色小條中。Bitcoin Core 是否需要人工干預來決定接受哪個分叉?
程式碼有規則,如果使用者自己決定什麼是“有效”,網路就會分裂。沒有“邪惡”鏈條或“攻擊”鏈條的概念,只有最好的鏈條。