Security
在 51% 攻擊中誰會接受無效交易的確認?
我的理解是誠實節點在最長的有效區塊鏈上工作。
假設一個不誠實的節點確認了一個無效交易。如果該節點設法繼續以略高於網路其餘部分的速率產生確認,例如在 51% 攻擊中,他們可能會成功維持最長的區塊鏈。然而,既然那個區塊鍊是無效的,這有什麼關係呢?
也就是說,如果所有誠實的礦工都只接受有效的確認,那麼如果一個 rouge 礦工辛勤地在一條無效的鏈上進行雜湊運算,這有多麻煩?
你猜想,即使有 51% 的網路雜湊率,攻擊者仍然無法從無效交易中受益。但是,51% 攻擊的通常想法不是創建無效交易,而是刪除有效交易,就好像它們從未發生過一樣。
例如,如果 Sam 向 XYZ 公司進行了有效的付款交易,然後收到了他們支付的物品或服務,則擁有 51% 的網路雜湊率可以讓他們在付款之前回到區塊並創建區塊類似於現有區塊但不包括該付款。如果他們繼續生產有效塊直到他們的鏈最長,那麼網路的其餘部分將使用這條鏈並繼續向它添加塊。這意味著除了提供物品或服務的 XYZ 公司之外,世界上其他所有人都可以毫無問題地看到區塊鏈的正確餘額。那家公司現在會發現自己沒有付款,因為它現在似乎從一開始就沒有付款。
編輯:正如下面 dchapes 的評論中所解釋的,原始交易可能仍由其他節點持有,一旦攻擊結束,他們只需將其添加到稍後的塊中(因此 XYZ 公司會看到付款消失,但稍後會重新出現) . 為了防止這種情況發生,Sam 必須包含一項新交易,該交易將(至少一部分)錢花在其他地方。如果輸入地址的金額少於驗證舊交易所需的金額,舊交易將被網路拒絕,XYZ 公司將永遠不會收到付款。