Vulnerability

沒有“轉移”的代幣合約中的錯誤會影響某人的“真實”資產嗎?

  • August 4, 2021

我想知道沒有transfer(或sendcall)的代幣合約是否會影響某人的“真實”資產(而不是代幣)。

例如合約來自: https ://etherscan.io/address/0xc5d105e63711398af9bbff092d4b67​​69c82f793d#code

已知在第 261 行存在整數溢出漏洞:(CVE-2018-10299:https ://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10299 )

但是,該合約沒有將乙太幣發送到某些合約的程式碼。

在這種情況下,錯誤如何對某人的真錢產生不良影響?

通常,如果契約不打算處理乙太幣,人們不會向它發送乙太幣。如果他們這樣做了,那是個意外,然後乙太幣通常會永遠卡在那裡,因為沒有辦法將乙太幣從合約中轉移出去。然後,乙太被認為永遠失去了。

如果合約旨在處理乙太幣,它應該具有將其也轉移出去的所有必要功能,並具有一定的邏輯。這種邏輯當然可能存在錯誤,這可能意味著乙太幣卡在合約中,或者不受歡迎的一方可以訪問乙太幣

但是,如果我們談論的是中心化交易所,它們會以不同的方式處理資產。當您在中心化交易所進行交易時,標的資產根本不會在區塊鏈內轉移——它們只會在交易所的數據庫內轉移。只有當您請求提取資產時,才會創建真實交易並將資產發送到您想要的錢包地址。因此,中心化交易所內的資產交易不依賴於代幣的編碼傳輸功能,因此代幣程式碼中可能存在的錯誤也無關緊要——直到代幣從交易所撤出。

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