?
前几天,Solana生态上的DeFi项目Mango受到黑客闪电贷攻击,损失超过1亿美金。据悉,黑客是通过操作预言机的价格来掏空了Mango协议的流动性。
那我们今天就来聊聊何为闪电贷、黑客是如何使用闪电贷来攻击DeFi协议的,以及预言机对DeFi协议的重要性。
01区块链世界的金融创新——闪电贷
闪电贷最初是由Marble银行提出,Marble宣称「闪电贷可以帮助交易者从Marble银行贷款,在一家去DEX中买币,在另一家DEX以较高价格卖出代币,一笔自动化交易就可以让您将套利收益收入囊中。」
闪电贷的原理如下:
1、用户以无抵押的方式从协议中借出大量的资金;
2、用户可以使用这笔资金进行任何对自己有利的操作;
3、最后用户需将本金和一定的利息还给协议,若这个时候用户没有足够的资金,则整个操作都会进行回滚,保证协议的资金不会受到损失。
Jindo Inu(JIND)遭闪电贷攻击,攻击者疑似利用代币销毁机制漏洞:金色财经报道,据CertiK监测,Jindo Inu (JIND) 遭到闪电贷攻击。攻击者疑似利用了代币销毁机制中存在的漏洞。[2023/6/10 21:28:44]
闪电贷的机制是由智能合约的原子性来保障的,即上述这些操作为具有原子性的事务,只能全部成功,或全部失败,不会出现一部分成功而一部分失败的情况。
因此在所有操作全部成功的情况下,整个闪电贷运行成功,协议通过借出资金并收回资金获取了利息,而用户通过各种各样的方式从这笔大资金的运作中获取了利益;而当用户在使用资金的过程中,并未获取到预期的利益,反而亏损了的话,会导致借出的资金变少而无法完成最后的还款操作,因此整个操作会失败,则除了用户损失gas外,协议的资金不会受到损失。
根据闪电贷的原理,我们可以发现为了能够使整个操作顺利地运行,关键就是用户如何在短时间内利用这笔资金进行获利。
ThreeBody项目遭受闪电贷攻击,官方社交媒体账号早已不活跃:1月12日消息,据CertiK监测,ThreeBody项目遭受一次闪电贷攻击,被盗资金总额约为3000美元。自2021年11月以来,该项目在推特上一直不活跃,官方Telegram也被删除。
BSC合约地址为0x24c78E5ddf7576F6e0bC6BE9C4Db0FB043E34624。[2023/1/12 11:08:01]
随着闪电贷的应用发展,这种无抵押瞬间获取大量资金的工具在人们进行了各种各样的尝试后,猛然发现黑客使用闪电贷的资金对DeFi协议进行攻击的方式竟然是获利最大的操作,那接下来就让我们来看看黑客是如何使用闪电贷来获利的吧。
02闪电贷如何沦为黑客获利工具
目前的区块链世界就是一片黑暗森林,隐藏着各种各样的风险,而黑客在这其中无疑是一群贪婪的猎食者,他们无时无刻不在发现有利可图的机会,或者创造这样的机会来进行获利。
慢雾:NimbusPlatform遭遇闪电贷攻击,损失278枚BNB:据慢雾安全团队情报,2022 年 12 月 14 日, BSC 链上的NimbusPlatform项目遭到攻击,攻击者获利约278枚BNB。慢雾安全团队以简讯的形式分享如下:
1. 攻击者首先在 8 天前执行了一笔交易(0x7d2d8d),把 20 枚 BNB 换成 NBU_WBNB 再换成 GNIMB 代币,然后把 GNIMB 代币转入 Staking 合约作质押,为攻击作准备;
2. 在 8 天后正式发起攻击交易(0x42f56d3),首先通过闪电贷借出 75477 枚 BNB 并换成 NBU_WBNB,然后再用这些 NBU_WBNB 代币将池子里的绝大部分 NIMB 代币兑换出;
3. 接着调用 Staking 合约的 getReward 函数进行奖励的提取,奖励的计算是和 rate 的值正相关的,而 rate 的值则取决于池子中 NIMB 代币和 GNIMB 代币的价格,由于 NIMB 代币的价格是根据上一步闪电贷中被操控的池子中的代币数量来计算的,导致其由于闪电贷兑换出大量的代币而变高,最后计算的奖励也会更多;
4. 攻击者最后将最后获得的 GNIMB 代币和拥有的 NIMB 代币换成 NBU_WBNB 代币后再换成 BNB,归还闪电贷获利;
此次攻击的主要原因在于计算奖励的时候仅取决于池子中的代币数量导致被闪电贷操控,从而获取比预期更多的奖励。慢雾安全团队建议在进行代币奖计算时应确保价格来源的安全性。[2022/12/14 21:44:29]
而闪电贷这种提供无抵押大资金的借贷工具,无疑满足了黑客需要使用低风险的大资金来进行价格操纵的需求。目前使用闪电贷对DeFi协议的攻击大多都是通过操纵价格的方式来进行的,因此我们用下面的例子来进行说明。
CertiK:pandorachainDAO项目遭受闪电贷攻击:金色财经报道,据CertiK安全团队监测,北京时间2022年6月22日19:52:57,pandorachainDAO项目遭受闪电贷攻击,导致了价值约12.8万美元的资产损失。[2022/6/23 1:25:12]
1、黑客从借贷协议中借出大量的资金;
2、在DeFi协议中埋伏相关币种的资金;
3、使用大资金在DEX中拉高相关币种的价格;
4、受操作的价格通过预言机传递给DeFi协议;
5、DeFi协议在收到预言机的喂价后,黑客按当前受操纵的价格将提前埋伏的币种进行抵押借款,从而获得大量的资金;
6、黑客将本金还给借贷协议,带着剩余资金扬长而去,从而完成了一次空手套白狼的闪电贷攻击。
我们可以看到这个过程中,比较关键的一点是DeFi协议收到了来自预言机受操纵的价格,从而导致了错误地借出资金。
Cream Finance称闪电贷攻击共导致3400万美元的AMP和ETH被盗,会分配协议费用的20%用于偿还:9月1日消息,抵押借贷平台Cream Finance在发布的闪电贷攻击事后分析报告中表示,漏掉导致共4.6亿枚AMP代币和2804枚ETH(当时价值约合3400万美元)被盗,并承诺将所有协议费用的20%用于偿还,直至全部偿还。此次安全事件有一个主要的漏洞攻击者和一个模仿者。Cream Finance会将所有相关信息转交执法机关,并在法律允许的范围内进行起诉。
Cream Finance称,在PeckShield的帮助下,确定了漏掉被利用的根本原因是Cream Finance将AMP集成到其协议中的方式存在错误。目前,Cream Finance已暂停了AMP借贷服务,并正在与审计员和技术顾问合作,已确保防范类似攻击。[2021/9/1 22:51:45]
然而DeFi协议中的价格一般都来自于预言机的喂价,因此预言机的准确喂价变成了DeFi协议的安全基石。
03Pyth——一个链上高保真预言机网络
在Mango被盗的事件中,我们发现Mango官方和其CEO都谈论到了预言机对此次事件的影响,并说明预言机的报价并无异常。
在其中我们看到了Pyth这款预言机,那这款预言机有何秘密呢?现在就让我们一起来探索一番吧。
Pyth隐藏背景
经过抽丝剥茧的信息筛选,初步锁定JumpCrypto可能就是Pyth背后的金主和建设者。JumpCrypto是高频交易巨头-JumpTrading成立的加密投资部门,参与了最近热度极高的Aptos的融资。
对于高频交易而言,及时且准确的价格信息无疑是取胜的关键要素。而Jump更是对网络速度的追求达到了变态的程度。例如在2018年,为了更快地获取不同市场的期货报价,Jump与Citadel等六家高频交易商竟联合架设了一条连接芝加哥与东京的海底光缆“GoWest”。
在JumpCrypto的官方介绍中,使用了较长的篇幅来介绍pyth,同时直接表明了Jump参与了pyth代码的编写。而且还利用自身的资源,让众多的金融交易所和币圈交易所都成为了Pyth网络的数据发布者。
Pyth运行模型
在Pyth网络中有三种角色:
发布者负责发布喂价,并获得部分数据费用作为回报。发布者通常是能够及时获取准确价格信息的市场参与者。Pyth协议根据发布者分享的新价格信息的数量,按比例对发布者进行奖励
消费者读取喂价,将数据集成智能合约或去中心化应用之中,并可以选择性地支付数据费用。消费者既可以是链上协议,也可以是链下应用
委托者质押代币,赚取数据费用,代价则是在预言机价格不准确的情况下,可能会损失其质押的代币
这些角色可以在Pyth网络中,通过如下四种机制来进行互动:
价格聚合机制将单个发布者的喂价整合为产品的单?喂价。此机制旨在生成稳定的喂价,也就是说,喂价不会受到少数发布者的显著影响
数据质押机制使委托者能够通过质押代币来获取数据费用。委托者总体上还通过质押代币的方式决定每个发布者对聚合价格的影响程度。另外,此机制还将确定委托者质押的代币是否会遭到削减。最后,此机制向消费者收取数据费用,并向委托者分配部分数据费用。余下部分将进入奖励池,用于分配给发布者
奖励分配机制决定了每个数据发布者可从奖励池中获取的奖励份额。此机制会优先奖励提供高质量喂价的发布者,并降低提供低质量信息的发布者获取奖励的可能性
治理机制决定上述三种机制的高级参数
简而言之,就是发布者向网络提供了价格数据信息,消费者可以选择以类似保险的形式保障自己获得信息的准确性,而委托者就是价格数据信息的db方,若是出现严重偏离现实情况的价格信息,则委托者需要对付费的消费者进行补偿。
同时在整个模型中,对最终价格信息的拟合以及提前防止一些作恶行为的措施,都表明了Jump倾注在pyth中的专业能力和用心程度,对详情感兴趣的小伙伴可以进一步研究Pyth的白皮书。
pyth代币分配:PYTH代币的总供应量为10,000,000,000,不会增加。85%的代币最初会在合约上锁定。这些代币有1年的锁定期,将在7年内每月线性解锁。这将随着时间的推移逐渐增加非锁定代币的供应量。余下的15%PYTH代币最初就是非锁定的状态。锁定/非锁定代币将按下图的分类进行分配。
Pyth可能存在的问题及风险
目前pyth的代币尚未发布,因此对整个经济模型的影响暂时无法体现。但就对目前pyth的整个模型来说,协议的收入来自于消费者的付费,而这个付费只是起到了一个保险的作用,消费者在不付费的情况下,依然可以获取到pyth的实时价格信息。因此到代币发布后,消费者是否愿意付费,付费的比例会是多少,就会成为协议能否盈利的关键因素。
当然pyth后续也可以限制消费者付费才能使用协议,但在这种情况下,消费者是否会转移使用其他预言机,也是一个存疑的问题。
总结
在Jump的加持下,pyth相较于其他预言机有着Jump对于高频交易的深刻理解和相关模型的经验加持,而这套模型在Web3的世界是否有效,那就需要实践出z'x了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。