Go-Ethereum

TheDAO 通過垃圾郵件反擊實際上做了什麼?(斯蒂芬·圖爾建議)

  • April 22, 2018

TheDAO 目前正受到攻擊,Stephan Tual 建議使用垃圾郵件進行反擊https://blog.slock.it/dao-security-advisory-live-updates-2a0a42a2d07b#.r3wg8cxlw

這段程式碼實際上做了什麼?

for (var i = 0; i < 100; i++) { 
   eth.sendTransaction({from: eth.accounts[0], gas: 2300000,
     gasPrice: web3.toWei(20, “shannon”), 
     data: “0x5b620186a05a131560135760016020526000565b600080601f600039601f565b6000f3”}) }
}

我認為它從賬戶 0 發送了 100 筆交易,其中包含一些數據。但這些數據是什麼?它如何幫助 DAO 避免被耗盡?

攻擊源於您可以在帳戶中使用相同餘額兩次呼叫函式。只有在執行函式呼叫後,您的錢才會被扣除。所以垃圾郵件有助於贏得時間,這樣錢就不會花兩次。更多資訊:http: //vessenes.com/deconstructing-thedao-attack-a-brief-code-tour/


這些交易創建了許多空合約。通過這樣做,垃圾郵件發送者獲得了競爭。空合約創建。*他們競爭什麼?*對於塊氣體限制

塊也有一個稱為氣體限制的欄位。它定義了整個區塊中所有交易允許消耗的最大氣體量。類似於比特幣中的最大塊大小(以字節為單位),其目的是保持塊傳播和處理時間較短,從而允許足夠分散的網路。

因此攻擊無法執行重入呼叫,因為合約創建達到了塊氣體限制,這具有成為昂貴操作碼的優勢。

引用自:https://ethereum.stackexchange.com/questions/6169