Home比特币技术解析黑客如何欺骗闪电贷和套利的...

黑客如何欺骗闪电贷和套利的DeFi 项目

相关文章

自去年以来,DeFi市场发生了数十起安全事件。DeFi是一个新兴的投资行业,有很多风险,但这也意味着用户可用的空间可能很少,当用户知之甚少时,名义上的交易会让投资者感到不舒服。在一个中心化的系统中,银行必须持有一定数量的资本作为准备金,以保持稳定和现金,当用户需要的时候,用户可以随时动用自己的钱。

闪电贷款

对于DeFi抵押品来说,重要的是保证用于担保贷款的价值。当你在DeFi获得抵押贷款时,贷款是以你的存款金额作为抵押的。几乎所有的DeFi贷款交易都需要至少相当于贷款价值80%的抵押品。

闪贷是指在区块链交易结束前需要偿还的无担保贷款;如果没有偿还,智能合约将逆转交易。由于贷款的智能合约必须在与贷款相同的交易中完成,因此借款人必须在交易结束前使用其他智能合约帮助其与贷款资金进行即时交易。大多数闪电贷款攻击涉及使用大量资金操纵代币价格。

Pluto Network

Pluto是一个开放的去中心化数字资产管理协议。在这份协议中,Pluto提出了一个钥匙打开金库的概念。在Plouto平台上,资产管理者可以选择标准化投资策略,也可以制定和设计自己的协议和策略。这次袭击发生在2020年10月29日。攻击者最终通过操纵 YPool 上的 USDT 质押和 Plouto Vault 上的两笔交易(存款和取款)获利 175,669 DAI。在此攻击中,将采取以下步骤。

步骤1:攻击者从AAVE借了900万USDC的闪贷。

步骤2:攻击者使用900万USDC闪贷在YPool中交换8,212,076.282 USDT。本次交易的汇率为1 USDT = 1.0959 USDC。在此步骤中,攻击者通过大额交易操纵了YPool中的USDC/USDT代币对的存量。大量的USDC取代USDT导致了YPool中USDT存量减少。

步骤3:攻击者从UniswapV2借了200万USDT的闪贷。

步骤4:在这个步骤中,攻击者对Plouto发起了攻击。由于Plouto Vault的pUSDT铸币量是基于YPool上的USDT量,因此攻击者将第三步出借的200万USDT存入Plouto Vault,并铸了大量的pUSDT,具体金额为4221996.36。本次交易的汇率是1 USDT = 2.1109 pUSDT。

步骤5:为了使这种攻击的效果最大化,攻击者打算调整YPool中的USDT/USDC代币数量,从而提高pUSDT相对于Plouto Vault中的USDT的价格。在此交易中,攻击者将第二步得到的8,212,076.282 USDT替换为8,990,779.02 USDC,交易汇率为1 USDT = 1.0948 USDC。

步骤6:攻击者使用他拥有的4,221,996.36 pUSDT从Plouto Vault中提取2,201,031.728 USDT。基于攻击者在第五步中对YPool中的USDT/USDC代币流动性的重新调整,攻击者将在这次替换中获得额外的2010317.28 USDT。本次交易的汇率是1 USDT = 1.9181 pUSDT。攻击者在第四步中使用这一步和USDT/pUSDT汇率差来套利并获得额外的2010317.28 USDT。

步骤7:返还2,006,200 USDT闪存贷款(在UniswapV2中)。

步骤8:攻击者将UniswapV2-USDT池中的17,320 USDC替换为17,298 USDT。交换出来的USDC将用于偿还AAVE的第一笔快速贷款。

步骤9:归还9,008,100美元的USDC闪贷(在AAVE)。

步骤10:将175,669 DAI利润发送给攻击者EOA。

套利

套利是指利用不同市场之间的价格差异来产生利润。套利在不成熟的市场中很常见,比如DeFi和加密货币。随着流动性的增加和市场效率的提高,套利机会逐渐减少。

如果一个资金池被操纵(比如通过闪贷)来提供套利空间,那么流动性提供者最终可能会像Saddle Finance那样失去他们的资金。虽然这只是一种套利行为,但用户仍然会因此遭受经济损失。因为项目方无法保护他们不受套利者的影响,而这些套利者只在代码的限制内交易。漏洞经常出现在真实的代码中,这些漏洞用于在不强制操作任何东西的情况下提取资金。

这些类型的方法为黑客所熟知,因为他们只能使用已编写的代码进行操作。不管我们叫他们黑客还是黑客攻击,最终结果都是一样的。如果存在漏洞,最终会有人利用它们,没有人能够阻止这种情况的发生。

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

5 + 5 =

spot_img

热门新闻