作者:扎克-赫斯, Zack Hess https://github.com/zack-bitcoin/amoveo-docs/blob/master/other_blockchains/the_defence_of_pow.md
最近,很多人都在論證PoW容易受到某些類型的攻擊。本文的目的是解釋各種攻擊,並嘗試瞭解它們會或不會成功的條件。
感謝Elliot Olds幫助我解釋目前在以太坊社區討論的針對PoW的各種攻擊。Elliot可以清晰簡潔地解釋複雜的話題,他保持自己對加密貨幣的最新研究,你可以在Twitter上關注他https://twitter.com/elliot_olds。
感謝Fernando Nietom解釋了PoW的現代安全模型。https://twitter.com/fnietom
雙重花錢攻擊。 #
如果大量的歷史被重寫,每個人都可以看到一個長長的分叉的孤兒存在。我們可以凍結所有的錢包和交易所,直到我們意識到哪一方是正確的。每個人都有動力去站在正確的一邊。因此,在本文的剩餘部分,我將專注於審查制度類型的攻擊。
可信的攻擊承諾。Credible commitment to attack. #
可信的攻擊承諾(CCA)的想法是,如果一個有權勢的人或機構能夠滿足這些條件。
- 他們有一個可信的策略,花費資源來摧毀一個PoW區塊鏈。
- 他們有足夠的資源來負擔這種攻擊。
- 他們可以令人信服地承諾使用他們的資源來進行攻擊。
在這種情況下,PoW貨幣的用戶都想在攻擊發生之前把錢取出來。因此,該PoW貨幣的價格會下降,區塊獎勵的價格會下降,挖礦設備的價格會下降,因此,實施攻擊變得非常便宜。
在分析包括CCA在內的論點時,要對循環推理保持謹慎。許多人試圖解釋爲什麼PoW會失敗,他們從PoW可以被攻擊的假設開始,然後用CCA的推理來說明攻擊是可以承受的,並循環使用這種可承受性來說PoW可以被攻擊。
一個正確的論證,即PoW可以被攻擊,它需要首先證明(1)、(2)和(3),只有這樣,纔有可能使用CCA來證明攻擊是廉價的。
PoW的安全性 #
如果一個攻擊者的卡特爾開始審查某些種類的區塊,用戶可以安排一個硬分叉,將攻擊者的一個區塊列入黑名單,並建立一個不審查區塊的低淨值分叉。
即使不審查的一方擁有較低的hashhpower,但對於那些喜歡不審查的用戶來說,它仍然更有價值。
因此,攻擊者有兩種方法來應對這些硬分叉。他們可以從硬分叉高度之前建立一個新的攻擊,或者從硬分叉之後。
如果他們從之前恢復攻擊 #
每次攻擊者恢復攻擊,他們必須重建一個更長的區塊鏈來追趕防禦者。攻擊的成本增加了2^(防禦者硬分叉的次數)。維持攻擊的成本呈指數級增長,使其不可持續。
如果他們重新開始攻擊,從後 #
在這種情況下,防禦者設法得到一些非審查的區塊。所以攻擊只是減少了txs的數量,並沒有成功審查。