币非凡 - 区块链|交易所导航 www.bifeifan.com
当前位置:网站首页 > 新闻 > 正文

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

admin 2021-03-24 1362 浏览

最近各种通过闪电贷攻击在区块链中套利的新闻将闪电贷(Flash Loans)送上了热门话题,2021 年初,Yearn Finance 受到闪电贷款攻击,我们查看这个交易,发现一笔交易中,居然有如此多的骚操作,完全刷新了笔者对区块链和智能合约的认识。不禁开始思考,为什么黑客一开始可以从 dYdX 借款,又将借到的虚拟货币抵押到 Compound,最后一系列操作完成后还款到 dYdX,这期间发生了 161 次代币转移,这怎么的也要一杯茶的时间吧。然而事实上,闪电贷攻击快得就是这么不讲道理。

这笔交易的链接:https://cn.etherscan.com/tx/0x6dc268706818d1e6503739950abc5ba2211fc6b451e54244da7b1e226b12e027

接下来我们开始一步一步的分析,一笔智能合约交易是如何完成在借贷平台中心交易所之间的所有操作。

智能合约究竟存储在哪里

这里用以太坊的 go 语言客户端为例,以太坊客户端在收到创建智能合约的交易以后,会使用 Hash 算法为智能合约生成一个合约地址,在这个合约地址下存储智能合约的代码与合约中的数据。智能合约会被存储在客户端的数据库中与这个地址对应,这个数据库叫做 StateDB。StateDB 记录了区块链上所有的地址(包含智能合约)余额、Nonce、状态等信息。以太坊客户端可以通过合约地址,将合约的代码加载到内存中进行执行。最终这些数据会被持久化到 LevelDB 中,存储在以太坊客户端的磁盘上。通过 StateDB 实现的这些接口(如下图),客户端通过 GetCode 这个方法,可以获取到智能合约地址下对应的代码。闪电贷,秒速“实现”财务自由的原理分析 自由 财务 原理 闪电 KCS合约平台 KCS KCS虚拟币是真是假 新闻  第1张

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

智能合约如何执行

智能合约代码是通过以太坊客户端内部的一个叫作 EVM 的虚拟机进行执行的,以太坊的虚拟机定义了各种的操作指令,每一个指令对应了一个处理函数,以及这个指令需要消耗的矿工费。闪电贷,秒速“实现”财务自由的原理分析 自由 财务 原理 闪电 KCS合约平台 KCS KCS虚拟币是真是假 新闻  第2张以太坊智能合约是按照实际指令执行的消耗来计算 gas (燃料)的,不同复杂度的指令消耗的 gas 也有差别,越复杂的智能合约指令,消耗的 gas 越多。查看这笔交易,我们发现矿工费高达 3**.**37117716 ETH,消耗了 8644044 gas,占据一个区块容量的 74.3%。梦想着可以靠闪电贷空手套白狼的朋友们,还是先算一算矿工费要紧。

智能合约中是如何调用另一个智能合约的

在智能合约中,我们调用另一个合约的代码,最终会被编译成一个叫作 CALL 的 EVM 虚拟机指令,它的基础 gas 费用 是 40 gas,实际产生的矿工费根据另一个合约执行的指令来计费。闪电贷,秒速“实现”财务自由的原理分析 自由 财务 原理 闪电 KCS合约平台 KCS KCS虚拟币是真是假 新闻  第3张

查看 opCall 这个方法的实现,发现,调用另一个智能合约与当前智能合约同样都是通过 EVM 虚拟机的 Call 方法完成的。闪电贷,秒速“实现”财务自由的原理分析 自由 财务 原理 闪电 KCS合约平台 KCS KCS虚拟币是真是假 新闻  第4张

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

智能合约某一步执行失败会怎么样

StateDB 提供了两个方法,分别是 Snapshot 与 RevertToSnapshot,一个用于对 StateDB 进行快照,另一个用于恢复快照。在执行交易前,StateDB 会调用 Snapshot 方法进行快照,如果交易执行到某一步发现错误,则会调用 RevertToSnapshot 进行回滚。因此闪电贷攻击可以实现如果在任何一步出现错误,就当从来没有从借贷平台借过一样,所有状态回滚到交易执行之前,当然交易失败时消耗的矿工费还是得出。闪电贷,秒速“实现”财务自由的原理分析 自由 财务 原理 闪电 KCS合约平台 KCS KCS虚拟币是真是假 新闻  第5张

总结

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

相关推荐

【分析师看后市】“Old Money”的进场可能是加密市场下一个巨大的推动力
【分析师看后市】“Old Money”的进场可能是加密市场下一个巨大的推动力

非常感谢大家对币世界研究院原创栏目【分析师看后市】的喜爱,现已推出同名深度系列原创栏目。如果你有喜欢的分析师,请在快讯、深度文章、B圈进行留言,点名你喜欢的分析...

2小时前 admin

波卡周报 | Rococo 升级成功,目前每个测试平行链增加至 17 个验证人
波卡周报 | Rococo 升级成功,目前每个测试平行链增加至 17 个验证人

加入PolkaWorld社区,共建Web3.0!波卡波卡联合创始人Robert发推,在Rococo网络上的最后12个小时中(重启前),拥有...

2小时前 admin

比特币从本周起进入新牛市阶段,期待爆发行情来临
比特币从本周起进入新牛市阶段,期待爆发行情来临

诸葛币谈周末时间比特币如期上冲至6万美元关口上方,一直围绕着6万美元关口徘徊,本周成为4月重要拐点,只要本周时间比特币价格能企稳6万美元上方,将会正式打开新的上...

2小时前 admin

Paradigm:随着 IBC 推出,重新理解 Cosmos 的价值

随着Cosmos的IBC推出,跨链真正崛起了。撰文:CharlieNoyes 和DanRobinson,分别为区块链投资机构Paradigm的合伙人与研究合伙人编译:PerryWa...

价格发现的艺术:当联合曲线遇到NFT
  • 价格发现的艺术:当联合曲线遇到NFT
  • 价格发现的艺术:当联合曲线遇到NFT
  • 价格发现的艺术:当联合曲线遇到NFT
  • 价格发现的艺术:当联合曲线遇到NFT
Sushi 周报:AMM V3亮点预告,第一批解锁开始,Fantom & Polygon 挖矿即将启动
  • Sushi 周报:AMM V3亮点预告,第一批解锁开始,Fantom & Polygon 挖矿即将启动
  • Sushi 周报:AMM V3亮点预告,第一批解锁开始,Fantom & Polygon 挖矿即将启动
  • Sushi 周报:AMM V3亮点预告,第一批解锁开始,Fantom & Polygon 挖矿即将启动
  • Sushi 周报:AMM V3亮点预告,第一批解锁开始,Fantom & Polygon 挖矿即将启动
全景式解读去中心化交易所发展现状:AMM、订单薄与聚合器

...

对话SushiSwap成员Jiro Ono:有太多即将上线的新产品让人期待

...

【项目面对面】ETHA:用户友好的收益优化器

互联网有一句经典名句“得屌丝者得天下”。从产品层面来说,一个伟大的应用未必一定是黑科技的,但它一定要好用、易用,才有可能被亿万民众广泛接受。区块链技术发展到今天,也开始逐步进入规模化应用。区块链的探索...

Coinbase上市和比特币ETF引发的新一轮行情
  • Coinbase上市和比特币ETF引发的新一轮行情
  • Coinbase上市和比特币ETF引发的新一轮行情
  • Coinbase上市和比特币ETF引发的新一轮行情
  • Coinbase上市和比特币ETF引发的新一轮行情
王川:为什么优质 NFT 潜力远大于实体收藏品 (一)
王川:为什么优质 NFT 潜力远大于实体收藏品 (一)

原创 硅谷王川 investguru 今天1/ 2021年三月十二日,在全球两千两百万直播观众的注视下,著名艺术品拍卖行佳士得(Christie's)把八零...

4小时前 admin

全景式解读DEX行业格局与发展趋势
  • 全景式解读DEX行业格局与发展趋势
  • 全景式解读DEX行业格局与发展趋势
  • 全景式解读DEX行业格局与发展趋势
  • 全景式解读DEX行业格局与发展趋势
资深交易员:以太坊可能在2021年达到1万美元,表现优于比特币

...

详细拆解黄金过去50年的走势,这对比特币的发展有何启发?

...

【分析师看后市】3月交易所流量分化严重,资本逐利明显

非常感谢大家对币世界研究院原创栏目【分析师看后市】的喜爱,现已推出同名深度系列原创栏目。如果你有喜欢的分析师,请在快讯、深度文章、B圈进行留言,点名你喜欢的分析师。今天【分析师看后市】为大家请到的分析...