火星链 火星链
Ctrl+D收藏火星链
首页 > 火星币 > 正文

TAT:闪电贷,秒速“实现”财务自由的原理分析

作者:

时间:1900/1/1 0:00:00

最近各种通过闪电贷攻击在区块链中套利的新闻将闪电贷送上了热门话题,2021年初,YearnFinance受到闪电贷款攻击,我们查看这个交易,发现一笔交易中,居然有如此多的骚操作,完全刷新了笔者对区块链和智能合约的认识。不禁开始思考,为什么黑客一开始可以从dYdX借款,又将借到的虚拟货币抵押到Compound,最后一系列操作完成后还款到dYdX,这期间发生了161次代币转移,这怎么的也要一杯茶的时间吧。然而事实上,闪电贷攻击快得就是这么不讲道理。这笔交易的链接:https://cn.etherscan.com/tx/0x6dc268706818d1e6503739950abc5ba2211fc6b451e54244da7b1e226b12e027接下来我们开始一步一步的分析,一笔智能合约交易是如何完成在借贷平台和中心化交易所之间的所有操作。智能合约究竟存储在哪里

Cream Finance闪电贷攻击者已将另外50万枚DAI换成ETH:金色财经报道,据CertiK监测,Cream Finance闪电贷攻击者0x70747df6AC244979A2ae9CA1e1A82899d02bbea4已将另外50万枚DAI换成ETH。Cream Finance在去年6月遭黑客攻击,损失约880万美元。[2023/3/30 13:34:51]

这里用以太坊的go语言客户端为例,以太坊客户端在收到创建智能合约的交易以后,会使用Hash算法为智能合约生成一个合约地址,在这个合约地址下存储智能合约的代码与合约中的数据。智能合约会被存储在客户端的数据库中与这个地址对应,这个数据库叫做StateDB。StateDB记录了区块链上所有的地址余额、Nonce、状态等信息。以太坊客户端可以通过合约地址,将合约的代码加载到内存中进行执行。最终这些数据会被持久化到LevelDB中,存储在以太坊客户端的磁盘上。通过StateDB实现的这些接口,客户端通过GetCode这个方法,可以获取到智能合约地址下对应的代码。

Baby Doll项目遭到闪电贷攻击:金色财经消息,据CertiK监测,Baby Doll (BABYDOLL) 项目遭到闪电贷攻击,损失25枚BNB(约7,900美元)。BSC合约地址: 0x449cfecbc8e8469eeda869fca6cccd326ece0c04a1cdd96b23d21f3b599adee2[2023/2/19 12:15:31]

客户端完成区块同步后,从以太坊创世块开始创建的所有账户地址信息与智能合约地址信息都会同步到这个StateDB中,因此一个合格的以太坊矿工客户端可以直接在本地加载所有的合约代码,是不需要跨网络和客户端进行调用的。智能合约如何执行

安全公司:MooCakeCTX项目遭受闪电贷攻击:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin?EagleEye 安全风险监控、预警与阻断平台监测显示, MooCakeCTX遭到闪电贷攻击,攻击者地址0x35700c4a7bd65048f01d6675f09d15771c0facd5,被攻击合约0x489开头地址,攻击者获利约143921美元。攻击交易0x03d开头地址,Beosin Trace追踪发现被盗资金正在逐步向多个地址转移。[2022/11/7 12:27:13]

智能合约代码是通过以太坊客户端内部的一个叫作EVM的虚拟机进行执行的,以太坊的虚拟机定义了各种的操作指令,每一个指令对应了一个处理函数,以及这个指令需要消耗的矿工费。

MakerDAO发起有关缓解闪电贷风险的执行投票:金色财经报道,据官方博客消息,治理促进者和Maker Foundation智能合约团队已将一系列执行投票纳入投票系统。其中包括:1.增加GSM暂停延迟,从12小时增加到72小时;2.取消对Oracle Freeze模块的授权;3.取消清算断路器的授权。这些更改是对闪电贷风险增加的紧急应对措施。[2020/10/31 11:16:55]

以太坊智能合约是按照实际指令执行的消耗来计算gas的,不同复杂度的指令消耗的gas也有差别,越复杂的智能合约指令,消耗的gas越多。查看这笔交易,我们发现矿工费高达3**.**37117716ETH,消耗了8644044gas,占据一个区块容量的74.3%。梦想着可以靠闪电贷空手套白狼的朋友们,还是先算一算矿工费要紧。智能合约中是如何调用另一个智能合约的

在智能合约中,我们调用另一个合约的代码,最终会被编译成一个叫作CALL的EVM虚拟机指令,它的基础gas费用是40gas,实际产生的矿工费根据另一个合约执行的指令来计费。

查看opCall这个方法的实现,发现,调用另一个智能合约与当前智能合约同样都是通过EVM虚拟机的Call方法完成的。

因此,我们可以发现,其实智能合约的执行,以及智能合约之间的调用,都是在矿工的客户端执行的,并没有进行跨客户端与网络调用,交易失败也是在矿工的客户端进行回滚,因此闪电贷攻击才可以如此快的在一笔交易中完成所有的操作。智能合约某一步执行失败会怎么样

StateDB提供了两个方法,分别是Snapshot与RevertToSnapshot,一个用于对StateDB进行快照,另一个用于恢复快照。在执行交易前,StateDB会调用Snapshot方法进行快照,如果交易执行到某一步发现错误,则会调用RevertToSnapshot进行回滚。因此闪电贷攻击可以实现如果在任何一步出现错误,就当从来没有从借贷平台借过一样,所有状态回滚到交易执行之前,当然交易失败时消耗的矿工费还是得出。

总结

闪电贷之所以能够在一笔交易中完成各种虚拟资产的交易,实际上都是通过调用去中心化交易所和各种去中心化借贷平台的智能合约来完成的,这些调用只需要在矿工客户端本地即可完成。这笔交易会在收到交易广播的所有具备打包资格的以太坊客户端中执行,谁先执行完成,并打包到下一个区块中,谁就能赢得这笔矿工费。

标签:以太坊TEDTATETAT以太坊币今日价格行情非小号teddy币总量STATE价格Wrapped Statera

火星币热门资讯
BEE:欧易OKEx研究院:谁缔造了NFT繁荣神话?

3月11日晚,世界知名艺术品拍卖行佳士得首次拍卖以NFT形式呈现的纯数字艺术品---Beeple的《每一天:前5000天》.

1900/1/1 0:00:00
USE:Clubhouse 是一场隐私灾难

Clubhouse是一个嵌入式语音聊天平台,席卷了处于疫情中的整个世界。它提供的简单而诱人的语音聊天方式使Clubhouse的下载量超过了1000万,但这种成功是建立在很多妥协的基础上的.

1900/1/1 0:00:00
DEFI:DeFi观察:26亿美金流动性的Fei将走向何方

吴说作者|谈叔本期编辑|ColinWu1.不稳定的稳定币3月31号,算法稳定币项目fei开始募资,并于4月4日结束.

1900/1/1 0:00:00
SAM:波卡官方公布 Kusama 网络插槽拍卖细则

加入PolkaWorld社区,共建Web3.0! Kusama可扩展的多链体系结构的关键是,平行链通过无需许可的拍卖在中继链上租用一个槽来连接网络.

1900/1/1 0:00:00
BTC:BTC破64000,三层面为你解读上涨逻辑

据Bitcoinwin数字货币平台行情显示,比特币在昨日午后放量上攻突破62000一线压力位,直冲至目前最高的64500,目前行情运行在62700附近.

1900/1/1 0:00:00
DEF:欧易OKEx投研|有惊无险,比特币再一次于53000一线企稳

市场情绪:根据来自非小号的数据显示,截止发稿前24小时全市场主要虚拟币上涨家数占比55.28%,大幅于下跌家数的44.72%,市场短期情绪相比昨天出现明显修复.

1900/1/1 0:00:00