買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > AAVE > Info

以太坊:閃電貸,秒速“實現”財務自由的原理分析_mobileradiostation

Author:

Time:1900/1/1 0:00:00

最近各種通過閃電貸攻擊在區塊鏈中套利的新聞將閃電貸送上了熱門話題,2021年初,YearnFinance受到閃電貸款攻擊,我們查看這個交易,發現一筆交易中,居然有如此多的騷操作,完全刷新了筆者對區塊鏈和智能合約的認識。不禁開始思考,為什么黑客一開始可以從dYdX借款,又將借到的虛擬貨幣抵押到Compound,最后一系列操作完成后還款到dYdX,這期間發生了161次代幣轉移,這怎么的也要一杯茶的時間吧。然而事實上,閃電貸攻擊快得就是這么不講道理。這筆交易的鏈接:https://cn.etherscan.com/tx/0x6dc268706818d1e6503739950abc5ba2211fc6b451e54244da7b1e226b12e027接下來我們開始一步一步的分析,一筆智能合約交易是如何完成在借貸平臺和中心化交易所之間的所有操作。智能合約究竟存儲在哪里

成都鏈安:Discover項目正在持續遭到閃電貸攻擊:6月6日消息,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,Discover項目正在持續遭到閃電貸攻擊,攻擊者通過閃電貸使用BSC-USD大量重復兌換Discover代幣,其中一個攻擊者0x446...BA277獲利約49BNB已轉入龍卷風,攻擊交易:0x1dd4989052f69cd388f4dfbeb1690a3f3a323ebb73df816e5ef2466dc98fa4a4,攻擊合約:0xfa9c2157cf3d8cbfd54f6bef7388fbcd7dc90bd6

攻擊者地址:0x446247bb10B77D1BCa4D4A396E014526D1ABA277[2022/6/6 4:05:40]

這里用以太坊的go語言客戶端為例,以太坊客戶端在收到創建智能合約的交易以后,會使用Hash算法為智能合約生成一個合約地址,在這個合約地址下存儲智能合約的代碼與合約中的數據。智能合約會被存儲在客戶端的數據庫中與這個地址對應,這個數據庫叫做StateDB。StateDB記錄了區塊鏈上所有的地址余額、Nonce、狀態等信息。以太坊客戶端可以通過合約地址,將合約的代碼加載到內存中進行執行。最終這些數據會被持久化到LevelDB中,存儲在以太坊客戶端的磁盤上。通過StateDB實現的這些接口,客戶端通過GetCode這個方法,可以獲取到智能合約地址下對應的代碼。

閃電貸平臺Equalizer Finance將在Optimism上部署協議:3月15日消息,閃電貸平臺 Equalizer Finance 宣布將在以太坊二層解決方案 Optimism 上部署閃電貸協議,這是繼其 1 月在 Polygon 上完成閃電貸協議部署后的第二次集成。[2022/3/15 13:57:03]

客戶端完成區塊同步后,從以太坊創世塊開始創建的所有賬戶地址信息與智能合約地址信息都會同步到這個StateDB中,因此一個合格的以太坊礦工客戶端可以直接在本地加載所有的合約代碼,是不需要跨網絡和客戶端進行調用的。智能合約如何執行

PancakeBunny更新代碼以防止此前類似閃電貸攻擊再次發生:官方消息,PancakeBunny針對此前閃電貸攻擊表示,已更改代碼,以防止類似閃電貸攻擊再次發生,主要包括:1. 函數[PriceCalculatorBSC.sol]已更新,因此代幣價格預言機可以使用Chainlink合約;2. 更新代碼以便如果Bunny minter的貨幣對合約中存在不平衡的貨幣對,協議將對其進行檢查,消除過多的不規則(灰塵)并無縫地消除流動性。PancakeBunny已經對該策略進行了回測,并確認它可以阻止潛在的閃電貸攻擊。[2021/5/21 22:29:07]

智能合約代碼是通過以太坊客戶端內部的一個叫作EVM的虛擬機進行執行的,以太坊的虛擬機定義了各種的操作指令,每一個指令對應了一個處理函數,以及這個指令需要消耗的礦工費。

去中心化借貸平臺Ruler Protocol支持閃電貸功能:3月8日消息,去中心化借貸平臺 Ruler Protocol 官方表示,平臺將支持閃電貸,單筆執行費用為 0.085%。[2021/3/8 18:25:19]

以太坊智能合約是按照實際指令執行的消耗來計算gas的,不同復雜度的指令消耗的gas也有差別,越復雜的智能合約指令,消耗的gas越多。查看這筆交易,我們發現礦工費高達3**.**37117716ETH,消耗了8644044gas,占據一個區塊容量的74.3%。夢想著可以靠閃電貸空手套白狼的朋友們,還是先算一算礦工費要緊。智能合約中是如何調用另一個智能合約的

在智能合約中,我們調用另一個合約的代碼,最終會被編譯成一個叫作CALL的EVM虛擬機指令,它的基礎gas費用是40gas,實際產生的礦工費根據另一個合約執行的指令來計費。

查看opCall這個方法的實現,發現,調用另一個智能合約與當前智能合約同樣都是通過EVM虛擬機的Call方法完成的。

因此,我們可以發現,其實智能合約的執行,以及智能合約之間的調用,都是在礦工的客戶端執行的,并沒有進行跨客戶端與網絡調用,交易失敗也是在礦工的客戶端進行回滾,因此閃電貸攻擊才可以如此快的在一筆交易中完成所有的操作。智能合約某一步執行失敗會怎么樣

StateDB提供了兩個方法,分別是Snapshot與RevertToSnapshot,一個用于對StateDB進行快照,另一個用于恢復快照。在執行交易前,StateDB會調用Snapshot方法進行快照,如果交易執行到某一步發現錯誤,則會調用RevertToSnapshot進行回滾。因此閃電貸攻擊可以實現如果在任何一步出現錯誤,就當從來沒有從借貸平臺借過一樣,所有狀態回滾到交易執行之前,當然交易失敗時消耗的礦工費還是得出。

總結

閃電貸之所以能夠在一筆交易中完成各種虛擬資產的交易,實際上都是通過調用去中心化交易所和各種去中心化借貸平臺的智能合約來完成的,這些調用只需要在礦工客戶端本地即可完成。這筆交易會在收到交易廣播的所有具備打包資格的以太坊客戶端中執行,誰先執行完成,并打包到下一個區塊中,誰就能贏得這筆礦工費。

Tags:以太坊STATESTASTAT以太坊交易Future Real Estate TokenFuture Star Coinmobileradiostation

AAVE
SRM:詳解央行數字貨幣應用的前提條件_數字貨幣詐騙平臺案告破

社會的技術結構,始終決定著貨幣的形式和支付系統的配置。金屬的加工,塑造了鑄錠和硬幣。中國發明的造紙術,導致了轉讓票據和紙幣的出現.

1900/1/1 0:00:00
比特幣:如果熊市來臨,比特幣跌幅能達到多少?_SWAP

有讀者問,隨著機構越來越多入場,比特幣、以太坊的價格越來越穩定、波動率越來越小,是否數字貨幣的牛市會變為慢牛?當我們談到波動率時.

1900/1/1 0:00:00
DAO:為什么我說DAO是繼NFT之后的Web3下一站_UNI

從NFTs到DAOs 你或許對比特幣、以太坊、DeFi和NFT不陌生。然而,你可能不知道DAO到底是什么。如今DAO重新出現,帶來了多樣化的用例集、不斷增長的軟件工具包以及新的治理和激勵模型.

1900/1/1 0:00:00
MIX:今天,我們來深挖一位鏈游和NFT界的「隱藏大佬」_Alchemix ETH

作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 提起初代區塊鏈游戲,你還能想到哪些?老玩家通常會給出兩個答案:加密貓、云斗龍.

1900/1/1 0:00:00
買比特幣:全球主權基金開始布局比特幣_買比特幣被派出所約談

在前陣子的文章中,我寫過華爾街重量級投資家霍華德·馬克思近來改變了對比特幣的負面看法。近日又傳出一家重量級基金開始涉入比特幣,這就是由金融大鱷喬治·索羅斯創立的投資基金---索羅斯基金管理公司.

1900/1/1 0:00:00
穩定幣:上線4天一路跌至0.77美元的算法穩定幣Fei,究竟怎么了?_OIN

4月4日,算法穩定幣Fei項目的創世期結束。據項目官網顯示,為期三天的募資活動共籌集到了價值9.6億美元的ETH,數額驚人.

1900/1/1 0:00:00
ads