悲傷的攻擊:它們對攻擊者有利嗎?
下面的文章解釋了在兩個分片之間進行交叉分片交易時間接驗證一個塊的解決方案之一,以防止無效塊。
這篇文章將其中一種解決方案稱為“漁夫”(沒有更多關於漁夫一詞的更多詳細解釋……)
文章接著提到Fisherman(作為主導解決方案)有兩個問題,其中一個問題如下:
“挑戰協議的存在會在惡意節點向無效挑戰發送垃圾郵件時創建新的攻擊向量。解決這個問題的一個明顯方法是讓挑戰者存入一定數量的令牌,如果挑戰有效,這些令牌會返回。這只是部分**“** _ _ _ _
文章連結: https ://medium.com/nearprotocol/unsolved-problems-in-blockchain-sharding-2327d6517f43
雖然,文章說這種被稱為**“Griefing Attacks”的攻擊可能仍然對對手有利**,但在這個答案中(這裡: https ://ethereum.stackexchange.com/a/62846/23024 )說:
“這樣的攻擊對攻擊者沒有好處……”
所以,最終,
- (1) 惡意攻擊對攻擊者是否有利可圖?
- (2) 惡意攻擊的確切定義是什麼?
請注意,這個問題與我在問題中連結的另一個問題(https://ethereum.stackexchange.com/a/62846/23024 )不同。因為:(1)那個問題是:“ Griefing 是什麼意思? ”但我的問題是:“ Griefing 攻擊對攻擊者有利嗎? ”另外(2)我連結到那個問題,我在回答提到了這個問題:“這樣的攻擊不會使攻擊者受益……”,但在另一篇文章中說:“惡意攻擊可能仍然對對手有利”。所以問題是最終Griefing攻擊是否有利可圖?這可能會導致精確定義 Griefing 攻擊。
我真的不是很熟悉 griefing 攻擊,但根據定義,我會說它們可以為攻擊者帶來利潤。不是直接的,而是間接的。
我不太科學的分析基於連結答案參考中給出的範例:https ://consensys.github.io/smart-contract-best-practices/known_attacks/#insufficient-gas-griefing
這不是一個完美的例子,但至少是一個例子:想像一個契約,用於查明是否有人不同意或同意某個想法。因此,最多一個“是”和最多一個“否”就足夠了。現在由於某種原因,它需要通過這樣的 Relayer 合約來呼叫。如果攻擊者對“是”或“否”答案進行惡意攻擊,則答案不會被儲存,但由於中繼者已經阻止了該答案,因此其他人無法再給出該答案。這樣攻擊者就知道沒有人可以給出他不喜歡的答案。