最近各種通過閃電貸攻擊在區塊鏈中套利的新聞將閃電貸送上了熱門話題,2021年初,YearnFinance受到閃電貸款攻擊,我們查看這個交易,發現一筆交易中,居然有如此多的騷操作,完全刷新了筆者對區塊鏈和智能合約的認識。不禁開始思考,為什么黑客一開始可以從dYdX借款,又將借到的虛擬貨幣抵押到Compound,最后一系列操作完成后還款到dYdX,這期間發生了161次代幣轉移,這怎么的也要一杯茶的時間吧。然而事實上,閃電貸攻擊快得就是這么不講道理。這筆交易的鏈接:https://cn.etherscan.com/tx/0x6dc268706818d1e6503739950abc5ba2211fc6b451e54244da7b1e226b12e027接下來我們開始一步一步的分析,一筆智能合約交易是如何完成在借貸平臺和中心化交易所之間的所有操作。智能合約究竟存儲在哪里
CertiK:EFVault的代理合約ENF ETHLEV經歷了一次閃電貸攻擊:金色財經報道,據CertiK官方推特發布消息稱,EFVault的代理合約ENF_ETHLEV經歷了一次閃電貸攻擊。據悉,攻擊者進行了多筆利用攻擊,獲利528,000美元。[2023/8/9 21:34:23]
這里用以太坊的go語言客戶端為例,以太坊客戶端在收到創建智能合約的交易以后,會使用Hash算法為智能合約生成一個合約地址,在這個合約地址下存儲智能合約的代碼與合約中的數據。智能合約會被存儲在客戶端的數據庫中與這個地址對應,這個數據庫叫做StateDB。StateDB記錄了區塊鏈上所有的地址余額、Nonce、狀態等信息。以太坊客戶端可以通過合約地址,將合約的代碼加載到內存中進行執行。最終這些數據會被持久化到LevelDB中,存儲在以太坊客戶端的磁盤上。通過StateDB實現的這些接口,客戶端通過GetCode這個方法,可以獲取到智能合約地址下對應的代碼。
Cream Finance閃電貸攻擊者已將另外50萬枚DAI換成ETH:金色財經報道,據CertiK監測,Cream Finance閃電貸攻擊者0x70747df6AC244979A2ae9CA1e1A82899d02bbea4已將另外50萬枚DAI換成ETH。Cream Finance在去年6月遭黑客攻擊,損失約880萬美元。[2023/3/30 13:34:51]
客戶端完成區塊同步后,從以太坊創世塊開始創建的所有賬戶地址信息與智能合約地址信息都會同步到這個StateDB中,因此一個合格的以太坊礦工客戶端可以直接在本地加載所有的合約代碼,是不需要跨網絡和客戶端進行調用的。智能合約如何執行
DeFi平臺Cheese Bank遭到閃電貸攻擊損失330萬美元:金色財經報道,基于以太坊的DeFi平臺Cheese Bank最近因黑客攻擊遭受了330萬美元的損失。據悉,黑客利用閃電貸漏洞即時借入、交換、存款并再次借入大量代幣。因此,他們可以在單個交易所(例如Uniswap、Curve)上人為地操縱特定代幣的價格。區塊鏈安全公司PeckShield周一在博客中表示,Value DeFi和Akropolis最近遭受了類似的DeFi黑客攻擊。[2020/11/17 21:00:24]
智能合約代碼是通過以太坊客戶端內部的一個叫作EVM的虛擬機進行執行的,以太坊的虛擬機定義了各種的操作指令,每一個指令對應了一個處理函數,以及這個指令需要消耗的礦工費。
DeBank工作人員:Balancer再次遭到閃電貸攻擊:金色財經報道,DeBank轉發其工作人員的推文稱,黑客再次利用dYdX的閃電貸進行攻擊,并將多個Balancer礦池中無人認領的COMP抽走,在此過程中獲利10.8ETH。[2020/6/30]
以太坊智能合約是按照實際指令執行的消耗來計算gas的,不同復雜度的指令消耗的gas也有差別,越復雜的智能合約指令,消耗的gas越多。查看這筆交易,我們發現礦工費高達3**.**37117716ETH,消耗了8644044gas,占據一個區塊容量的74.3%。夢想著可以靠閃電貸空手套白狼的朋友們,還是先算一算礦工費要緊。智能合約中是如何調用另一個智能合約的
在智能合約中,我們調用另一個合約的代碼,最終會被編譯成一個叫作CALL的EVM虛擬機指令,它的基礎gas費用是40gas,實際產生的礦工費根據另一個合約執行的指令來計費。
查看opCall這個方法的實現,發現,調用另一個智能合約與當前智能合約同樣都是通過EVM虛擬機的Call方法完成的。
因此,我們可以發現,其實智能合約的執行,以及智能合約之間的調用,都是在礦工的客戶端執行的,并沒有進行跨客戶端與網絡調用,交易失敗也是在礦工的客戶端進行回滾,因此閃電貸攻擊才可以如此快的在一筆交易中完成所有的操作。智能合約某一步執行失敗會怎么樣
StateDB提供了兩個方法,分別是Snapshot與RevertToSnapshot,一個用于對StateDB進行快照,另一個用于恢復快照。在執行交易前,StateDB會調用Snapshot方法進行快照,如果交易執行到某一步發現錯誤,則會調用RevertToSnapshot進行回滾。因此閃電貸攻擊可以實現如果在任何一步出現錯誤,就當從來沒有從借貸平臺借過一樣,所有狀態回滾到交易執行之前,當然交易失敗時消耗的礦工費還是得出。
總結
閃電貸之所以能夠在一筆交易中完成各種虛擬資產的交易,實際上都是通過調用去中心化交易所和各種去中心化借貸平臺的智能合約來完成的,這些調用只需要在礦工客戶端本地即可完成。這筆交易會在收到交易廣播的所有具備打包資格的以太坊客戶端中執行,誰先執行完成,并打包到下一個區塊中,誰就能贏得這筆礦工費。
編者按:本文來自區塊律動BlockBeats,Odaily星球日報經授權轉載。在市場博弈中的人們總是會不厭其煩地從各個角度對市場進行分析和剖析,正如廣為流傳那句「Historydoesn’tre.
1900/1/1 0:00:00\n\n終于到了3月份最后一天,比特幣在歷史上的三月多數情況下走勢不好,但比特幣在今年三月份表現得依舊搶眼,目前月漲幅30%,震幅37%,報59000美元.
1900/1/1 0:00:00來自:大橙子&小同的干貨鋪千呼萬喚之后,Uniswapv3目標在5月5日啟動L1以太坊主網,不久之后還將在Optimism上進行L2部署.
1900/1/1 0:00:00頭條 美聯儲主席鮑威爾:央行數字貨幣的工作并不是由比特幣等推動美聯儲主席鮑威爾稱央行數字貨幣有好處,但也有很大的風險。央行數字貨幣的工作并不是由比特幣等其他發展中的私營部門貨幣推動的.
1900/1/1 0:00:00近日,波場創始人兼BitTorrentCEO孫宇晨通過推文宣布,由其創辦的JUSTNFT基金在倫敦佳士得20世紀藝術晚拍以2000萬美元和200萬美元的價格.
1900/1/1 0:00:00編者按:本文來自區塊律動BlockBeats,Odaily星球日報經授權轉載。如何參與DoraFactory的IDO和LBP直通車2021年03月19日22:15DoraFactory將于202.
1900/1/1 0:00:00