Dao

為什麼沒有人利用 DAO 合約?

  • August 17, 2021

DAO 合約 (at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413) 在 2016 年被黑客入侵,但仍在執行,目前持有超過 43 個乙太幣:

https://etherscan.io/address/0xbb9bc244d798123fde783fcc1c72d3bb8c189413

此外,它仍然經常進行交易,平均每週幾次。為什麼 DAO 不再被利用?在硬分叉期間進行了更改,以便splitDAO無法再呼叫合約中的易受攻擊的功能?

我研究了一點 DAO hack 的細節。鑑於這篇論文(DOI:10.1109/ICSAI.2017.8248566),黑客利用該splitDao功能(第 945 行)通過重入技巧來提取所有資金。

拆分 DAO 時,newDao 合約得到fundsToBeMoved(第 986 行),它使用actualBalance()- 在 Etherscan 上呼叫時似乎下溢,現在等於一個非常大的數字。因此,由於合約中沒有足夠的資金可以發送,交易就會拋出,從而阻止任何重入。

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