宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Coinw > 正文

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

作者:

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

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

一MEV机器人通过闪电贷借用1.8亿美元攻击Sashimi Swap,赚约3500美元:6月1日消息,加密情报平台Arkham监测显示,昨晚,一个 MEV 机器人(0xb2…2B96 为 MEV bot 调用合约,0xb4…0343 为单次使用的 MEV bot)通过闪电贷借用了 9.5 万枚 WETH(价值近 1.8 亿美元)以攻击 Sashimi Swap,该机器人卷走了 Sashimi 的投资合约和 slETH 合约中剩余的最后一笔钱,但仅约 3,500 美元。据悉,Sashimi Swap 曾在 2021 年 12 月遭到攻击损失了 21 万美元,随后该项目被放弃。[2023/6/1 11:52:56]

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

Cream闪电贷攻击报告:关键漏洞在于可包装代币的价格计算,损失1.3亿美元:11月1日消息,抵押借贷平台 Cream Finance 针对 10 月 27 日闪电贷攻击发布详细报告,表示正在与当局合作追踪攻击者,此次攻击损失约 1.3 亿美元,将在未来几天公布详细的还款计划。Cream 表示,此次攻击混合了经济攻击和预言机攻击,攻击者从 MakerDAO 闪电贷出 DAI 来创建大量 yUSD 代币,同时通过操纵多资产流动性池,利用价格预言机计算 yUSD 价格,yUSD 价格升高后,攻击者的 yUSD 头寸增加,创造了足够的借入限额来抵消 Cream 以太坊 v1 市场的流动性。Cream 称已暂停 Cream Finance 中以太坊 v1 市场的所有交互,关键漏洞在于可包装代币的价格计算,已经停止了所有可包装代币的供应 / 借贷,包括所有 PancakeSwap LP 代币。[2021/11/1 6:24:39]

Mable Jiang:闪电贷和多货币稳定币是DeFi两大被低估的领域:Multicoin Capital执行董事Mable Jiang发推表示,通过一些观察,其认为,闪电贷和基于多货币的稳定币是DeFi两大被低估的领域,有可能会迎来发展,比如2021年可能会在这个领域爆发出很多创业想法。[2021/1/26 13:33:20]

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

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

Warp Finance将集成Chainlink oracle以防止闪电贷攻击:金色财经报道,DeFi协议Warp Finance正准备重新启动,并将集成Chainlink oracle,以防止类似的闪电贷攻击。据悉,Warp Finance此前在发行后不久就遭受了800万美元的闪电贷攻击。[2021/1/9 15:42:04]

DeFi平台Cheese Bank遭到闪电贷攻击损失330万美元:金色财经报道,基于以太坊的DeFi平台Cheese Bank最近因黑客攻击遭受了330万美元的损失。据悉,黑客利用闪电贷漏洞即时借入、交换、存款并再次借入大量代币。因此,他们可以在单个交易所(例如Uniswap、Curve)上人为地操纵特定代币的价格。区块链安全公司PeckShield周一在博客中表示,Value DeFi和Akropolis最近遭受了类似的DeFi黑客攻击。[2020/11/17 21:00:24]

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

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

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

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

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

总结

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

标签:以太坊STATETATEDEFI以太坊币多少钱一个Chain Estate DAONintia EstateEarn DeFi Coin

Coinw热门资讯
波卡 DeFi 生态 7 大赛道一览

加入PolkaWorld社区,共建Web3.0! 随着Rococo的发展,波卡的平行链功能上线在即。在波卡本身的功能逐渐完善的同时,波卡生态的发展也日新月异.

1900/1/1 0:00:00
NFT笔记:我的加密艺术品投资逻辑

编者按:本文来自链闻ChainNews,撰文:撰文:小毛哥Mao,星球日报经授权发布。每当身边的朋友得知我一个穷小子以高价买入某些NFT艺术品时常常面露不解,常问的问题包括:「为什么这个NFT值那么多钱?」要回答这个问题,我可以选择感.

1900/1/1 0:00:00
数字化浪潮来袭 ,CBDC能否重塑世界金融格局?

在区块链技术的驱动下,全球数字货币发展速度加快,不仅各大机构开始采用BTC等数字货币,各国央行也在紧锣密鼓地部署央行数字货币(CBDC)。目前,CBDC仍处于探索发展阶段,未来发展空间较大,但也面临不小的挑战.

1900/1/1 0:00:00
知情人士:Coinbase直接上市计划将推迟至4月

本文来自Bloomberg,作者:KatieRoofOdaily星球日报译者|余顺遂据知情人士透露,美国最大加密货币交易所CoinbaseGlobalInc目前正计划在4月上市。该交易所原本打算在本月直接上市,但计划已经流产.

1900/1/1 0:00:00
唐思哲:BTC日内看冲高回落,ETH上方关注2100

  这段时间文章没有更新,一方面是因为事情比较多,再就是自从合约交割后,行情走势压根就不按套路出牌,完全不走技术面,比特币还好,特别是以太坊,明显的反转走势,但是最终走单边,操作上只能轻仓去尝试,这是近期行情的真实写照.

1900/1/1 0:00:00
对话Polkamarkets,如何破解预测市场流动性困局

预测市场服务早已是DeFi生态内不容忽视的一大类别,以Augur、Gnosis、Polymarket等为代表,这一赛道内已聚集了大量项目,然而,当前阶段似乎仍没有哪款预测市场服务能够跻身最头部DeFi项目的行列.

1900/1/1 0:00:00