什么是闪电贷攻击?领APE 空投的套利方法

Yuga Labs 无疑是现在最著名的NFT 团队之一,过去发行的加密资产皆为NFT,但今年3 月他们也发行了ERC-20 的代币APE,并且规划了总数为150M的APE 空投给所发行之NFT 持有人们。

若以历史最高价(25.97)来算,这次的空投相当于送出了将近3.9B (39亿美金) 给NFT 的持有者们。官方这样宠粉的作法,自然会使得猴子系列的NFT 价格一直居高不下。有趣的是,在这样的送钱活动中,有位区块链玩家在「不」持有NFT 的情况下,也成功地领到了60,564 颗APE 的空投。

该位区块链玩家所用到的技巧以及概念,分别为:碎片化NFT以及闪电贷(Flash Loan),因此想借着这样的空投事件跟大家介绍:

1. 碎片化NFT
2. 闪电贷
3. APE 套利操作过程

碎片化NFT

NFT 都是独一无二的,每个都有不同的Metadata,却也导致NFT 的流动性较差.加上许多知名或是OG 级的项目都非常贵,小散户根本无法持有。NFT 碎片化就解决了这个问题,把一个NFT 切成数个ERC-20 同质代币,使得你能够只购买1/100 个CryptoPunks(如下图)。

那要怎么将NFT 进行碎片化呢?我们可以使用NFTX 平台,在上面锁定1 个NFT 便能取得vToken(vToken 是平台创造的ERC-20 代币),而当你有1 vToken 时,就能在平台上将1 vToken 烧掉去换回1 个NFT。

示意碎片化NFT.资料来源:Coinmonks

闪电贷(Flash Loan)

闪电贷是一种不需要抵押品的贷款,需要透过智能合约来进行,且借款和还款必须在同一笔交易内完成;如果在交易的最后没有还款动作,则借款的动作会被视为失败。闪电贷大多被用在套利、攻击或置换借款的抵押品。

例如:下图的用户在借款A 后到DEX 将大笔的A 换成B,导致因为流动池内两代币的比例失衡,所以DEX 上A 的价格下跌B 的价格上升.再到其他使用上述DEX 作为价格预言机的借贷平台抵押B 并借出A,因为抵押品的价格高于市场所以能借出大量低于市场价格的A.最后再将最初借的A 还给闪电贷协议,多出来的A 就是本笔交易的获利。

闪电贷的借款(第一步)和还款(第四步)在同一笔交易中.资料来源:Chainlink

领APE 空投的套利方法

APE 空投规则

先从活动规则了解起,根据官网提供的资讯,领取的资格及数量可参考下图:

APE 空投数量对照表。资料来源:ApeCoin

如果NFT 持有者拥有不只一种的NFT 则会得到更多数量的空投。这样的设计也成功活络了社群间的互动,很多只持有Kennel Club 的人会想在社群中组队,找寻拥有Bored Ape 或Mutant Ape 的玩家去组队获得额外的856 APE(至于领完后要以什么比例分配这额外的奖励就是他们自己去协商啰)。

操作步骤

先列出整体操作流程供大家有个大致的概念,下方会再逐步骤讲解操作细节。

  1. 买一只BAYC 来支付NFTX 的手续费
  2. 去NFTX 闪电贷借出5.2 个vToken 的贷款
  3. 用5.2 个vToken 赎回5 个BAYC NFT
  4. 持有NFT 即可去跟空投合约claim APE
  5. 将BAYC NFT 丢回NFTX 换出vToken 后进行贷款偿还

Step 1

因为后面步骤将使用NFTX这平台来进行闪电贷,得先准备手续费来支付给平台。

手续费规则:

  • 用vToken 赎回NFT:4%(烧掉1.04 vToken,只能赎回1 NFT)
  • 将NFT 进行碎片化变成vToken:10%(锁定1 NFT,只能获得0.9 vToken)

目标是从NFTX 中取得5 只BAYC,所以手续费会需要:0.04 * 5 (vToken -> NFT) + 0.1 * 5 (NFT -> vToken) = 0.7 vToken。所以得先在市场上(如OpenSea)购买一只BAYC,到时才付得起手续费。

Step 2

向NFTX 发出闪电贷的请求,贷款出5.2 个vToken。也就是在最后一步骤完成的瞬间,身上得至少拥有5.2 个vToken 来偿还贷款。

Step 3

如Step 1 中所介绍的手续费规则,在NFTX 上烧掉贷款借来的5.2 个vToken(5 * 1.04 = 5.2)可以让我们获得5 个Bored Ape NFT。

Step 4

接着便能去跟空投合约互动领取APE 空投了:因为空投合约只会检查呼叫合约者「当下」是否持有BAYC?所以「借入BAYC,然后等领完APE 后就立刻把BAYC 还回去」这样的操作才能奏效。

目前总共持有6 只BAYC(1 只在市场上买来当手续费的+ 5 只Step 3 里换出来的),所以互动后可以领到10,094 * 6 = 60,564 APE。

Step 5

既然领完APE 了,得开始想办法去还当初Step 1 中5.2 个vToken 的贷款了。因为身上有着6 只BAYC,所以我们能将BAYC 锁定回NFTX 去获得vToken:扣掉手续费后,将获得0.9 * 6 = 5.4 ( > 5.2) 个vToken,便有了足够的vToken 去偿还贷款。

当然,多出的0.2 个vToken 也要好好利用啊!立刻把这0.2 vToken 在NFTX 的交易对上卖回换成14.15 ETH。

利润结算

大家应该会好奇做了这么一连串的繁杂动作后,到底赚了多少钱呢?以3 月中下旬的币价进行计算,分析如下:

初始资金(在次级市场上购买BAYC):106 ETH(106 * 2,760 = 292,560)

结算资金:60,564 APE + 14.15 ETH(60,564 * 10 +14.15 * 2,760 = 644,694)

利润:644,694 — 292,567 = 352,127

也就是经过一波操作后,这位玩家在短短的几分钟内就赚了大约几十万美元。

在区块链的世界中,充斥着这样利用基本概念去获利的方式,而这项事件特别的点在于:它利用了闪电贷却没造成他人的损失。相反的,比较常听到的会是某某项目被骇客利用经济模型上的缺失,进行了闪电贷攻击获取巨额利润。在这种事件底下,因为项目方被骇客窃取了锁在智能合约里的加密资产,项目的用户往往就只能因此去承担无法赎回加密资产的损失了。

这也是我们选择介绍并分析这事件的原因:技术发展本身是良善的,我们都希望透过技术发展去带给社会更多的益处。在持续学习之余,也希望大家常保善良的心,别去恶意使用这些方便的工具!

本文链接地址:https://www.wwsww.cn/DeFi/13233.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。