最近各種通過閃電貸攻擊在區塊鏈中套利的新聞將閃電貸送上了熱門話題,2021年初,YearnFinance受到閃電貸款攻擊,我們查看這個交易,發現一筆交易中,居然有如此多的騷操作,完全刷新了筆者對區塊鏈和智能合約的認識。不禁開始思考,為什么黑客一開始可以從dYdX借款,又將借到的虛擬貨幣抵押到Compound,最后一系列操作完成后還款到dYdX,這期間發生了161次代幣轉移,這怎么的也要一杯茶的時間吧。然而事實上,閃電貸攻擊快得就是這么不講道理。這筆交易的鏈接:https://cn.etherscan.com/tx/0x6dc268706818d1e6503739950abc5ba2211fc6b451e54244da7b1e226b12e027接下來我們開始一步一步的分析,一筆智能合約交易是如何完成在借貸平臺和中心化交易所之間的所有操作。智能合約究竟存儲在哪里
Jimbos協議與美國國土安全部合作以幫助從閃電貸漏洞中收回資金:金色財經報道,基于Arbitrum的應用程序Jimbos Protocol的開發人員周三表示,他們已與美國國土安全部紐約分部立案,以逮捕上周末利用該協議獲利數百萬美元的攻擊者。除了與美國的執法部門合作外,該團隊目前還在其他司法管轄區立案,并向公眾提供價值約80萬美元的10%賞金,獎勵任何提供信息以抓獲剝削者和資金的人。[2023/6/1 11:51:30]
這里用以太坊的go語言客戶端為例,以太坊客戶端在收到創建智能合約的交易以后,會使用Hash算法為智能合約生成一個合約地址,在這個合約地址下存儲智能合約的代碼與合約中的數據。智能合約會被存儲在客戶端的數據庫中與這個地址對應,這個數據庫叫做StateDB。StateDB記錄了區塊鏈上所有的地址余額、Nonce、狀態等信息。以太坊客戶端可以通過合約地址,將合約的代碼加載到內存中進行執行。最終這些數據會被持久化到LevelDB中,存儲在以太坊客戶端的磁盤上。通過StateDB實現的這些接口,客戶端通過GetCode這個方法,可以獲取到智能合約地址下對應的代碼。
Chainlink聯合創始人:最近的DeFi攻擊不應歸咎于閃電貸:金色財經報道,Chainlink聯合創始人Sergery Nazarov表示,將最近的DeFi攻擊定性為閃電貸攻擊可能不太公平。Nazarov表示,真正的問題在于構造糟糕的DeFi項目。盡管許多人試圖將這種攻擊描述為“閃電貸”的結果,但大多數此類行為都可能是由任何一個資本充足的行動者實施的。[2020/11/19 21:17:34]
客戶端完成區塊同步后,從以太坊創世塊開始創建的所有賬戶地址信息與智能合約地址信息都會同步到這個StateDB中,因此一個合格的以太坊礦工客戶端可以直接在本地加載所有的合約代碼,是不需要跨網絡和客戶端進行調用的。智能合約如何執行
閃電貸套利機器人在巨鯨交易中花費約4ETH套利8萬多USDC:8月11日消息,監控套利空間的閃電貸機器人花費約4ETH 的gas費從Uniswap上套利8 萬多USDC。由于有“巨鯨”在Uniswap上用約1800萬美金USDT一次性購買約40,000ETH (相關閱讀:以太坊巨鯨在Uniswap上將ETH價格推高至450美元),造成了Uniswap上ETH超10% 的溢價;閃電貸機器人監控到該套利空間,花費約4ETH的gas費從中套利8 萬多USDC。
該筆交易哈希為0x01afae47b0c98731b5d20c776e58bd8ce5c2c89ed4bd3f8727fad3ebf32e9481。從Etherscan顯示的交易細節可看出,該筆交易包含了包括借款和還款在內的6步操作,共發生了15筆代幣轉移。(PANews)[2020/8/11]
智能合約代碼是通過以太坊客戶端內部的一個叫作EVM的虛擬機進行執行的,以太坊的虛擬機定義了各種的操作指令,每一個指令對應了一個處理函數,以及這個指令需要消耗的礦工費。
動態 | 0x研發人員提出將閃電貸集成到代幣合約中的方法:去中心化交易所協議0x的研發人員RemcoBloemen提出將閃電貸直接集成到代幣合約中的方法,他把這種擴展了ERC-20的合約稱之為FlashERC20。他表示,讓我們直接在代幣的合約中創建免費無限的閃電貸款,這就是FlashERC20。有人評論到,這將是對ERC-20和ERC-777的擴展,讓我們把它標準化吧。RemcoBloemen在評論中討論是將該邏輯優先支持DAI或wETH。[2020/2/17]
以太坊智能合約是按照實際指令執行的消耗來計算gas的,不同復雜度的指令消耗的gas也有差別,越復雜的智能合約指令,消耗的gas越多。查看這筆交易,我們發現礦工費高達3**.**37117716ETH,消耗了8644044gas,占據一個區塊容量的74.3%。夢想著可以靠閃電貸空手套白狼的朋友們,還是先算一算礦工費要緊。智能合約中是如何調用另一個智能合約的
在智能合約中,我們調用另一個合約的代碼,最終會被編譯成一個叫作CALL的EVM虛擬機指令,它的基礎gas費用是40gas,實際產生的礦工費根據另一個合約執行的指令來計費。
查看opCall這個方法的實現,發現,調用另一個智能合約與當前智能合約同樣都是通過EVM虛擬機的Call方法完成的。
因此,我們可以發現,其實智能合約的執行,以及智能合約之間的調用,都是在礦工的客戶端執行的,并沒有進行跨客戶端與網絡調用,交易失敗也是在礦工的客戶端進行回滾,因此閃電貸攻擊才可以如此快的在一筆交易中完成所有的操作。智能合約某一步執行失敗會怎么樣
StateDB提供了兩個方法,分別是Snapshot與RevertToSnapshot,一個用于對StateDB進行快照,另一個用于恢復快照。在執行交易前,StateDB會調用Snapshot方法進行快照,如果交易執行到某一步發現錯誤,則會調用RevertToSnapshot進行回滾。因此閃電貸攻擊可以實現如果在任何一步出現錯誤,就當從來沒有從借貸平臺借過一樣,所有狀態回滾到交易執行之前,當然交易失敗時消耗的礦工費還是得出。
總結
閃電貸之所以能夠在一筆交易中完成各種虛擬資產的交易,實際上都是通過調用去中心化交易所和各種去中心化借貸平臺的智能合約來完成的,這些調用只需要在礦工客戶端本地即可完成。這筆交易會在收到交易廣播的所有具備打包資格的以太坊客戶端中執行,誰先執行完成,并打包到下一個區塊中,誰就能贏得這筆礦工費。
Tags:以太坊ETHGASSTATE以太坊幣最新價格美元行情togetherbnb黃油場景PegasCoinWrapped Statera
編者按:本文來自新浪財經3月24日,特斯拉(662.16,-7.84,-1.17%)美國官網支持使用比特幣進行支付.
1900/1/1 0:00:00編者按:本文來自鏈新,作者:AshwinNaphade,編譯:陳一鳴近年來,全球醫療保健行業的價值呈指數級增長,2018年達到逾8.45萬億美元.
1900/1/1 0:00:00林子昊:從區塊鏈投資角度,周期性很明顯。基本一個周期是3-4年,上次高點是2017年,這次是2020年開始,所以第一個問題想請問下各位投資人對于投資周期這個問題怎么看,你們的投資策略是否在牛熊之.
1900/1/1 0:00:00又又又又又雙叒叕,比特幣挖礦難度又創歷史新高了!據btc.com數據顯示,北京時間今早10點,比特幣挖礦難度上調至23.14T,增長幅度為5.82%,這是今年1月9日以來幅度最大的一次難度上調.
1900/1/1 0:00:00北京時間3月26日17:00,加密貨幣借記卡公司Crypto.com推出的NFT平臺正式上線了第一批產品——阿斯頓·馬丁高知特F1車隊NFT.
1900/1/1 0:00:00截止目前,去中心化金融的總鎖倉量(TVL)保持在2700億。現在的市場,有越來越多的投資者開始涌入DeFi,從宏觀的角度來說這是好事.
1900/1/1 0:00:00