月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 币赢 > 正文

AMM:深入分析 DeFi 经济攻击的常见模式:哄抬套利、操纵预言机_如何使用区块链技术

作者:

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

DeFi经济攻击的风险无法完全消除,通过添加约束条件来使套利空间大大小于攻击者期望值是一种值得探讨的方法。

2020年以来,以太坊DeFi生态中有十多起利用闪电贷的大规模攻击事件陆续被媒体曝光,而这些事件已经呈现出明显的模式化和重复性特征。有别于技术漏洞导致的攻击事件,其它几起事件呈现了对DeFi生态经济系统漏洞的攻击手法。从表面上看,其共性是主攻协议都与某些AMM协议关联,而攻击者通过操纵AMM资产池内的资产价格或者资产数量使关联协议蒙受损失,我们不妨称之为「经济攻击」。至今出现的经济攻击分为「哄抬套利」和「操纵预言机」两种手法,本文归纳发动经济攻击的必要非充分条件及一般攻击模式,从而推断出攻击者攻击DeFi系统的「命门」所在,为抵御此类安全风险提出若干警示。

表1.闪电贷攻击事件

「哄抬套利」攻击

「哄抬套利」攻击的原理与CeFi常见的Pump-and-Dump市场操纵行为或者链上交易容易碰到的「frontrunning」攻击本质上并无差异,都是先想办法借助他人的资本抬高自有资产的价格再高价卖出获利。DeFi生态中此类经济攻击事件之所以能够成功,都与至少两个核心模块——攻击目标和AMM有关,并且这两个模块通过条件一相互关联。

条件一:攻击目标与AMM之间存在资产转移关系,并能由用户自主触发相关智能合约执行资产转移。

这里的攻击目标可以是机池、借贷平台、杠杆交易平台等DeFi模块。机池是运行着一定投资策略的智能合约,可以把它类比于一个基金,为用户提供代理理财业务,用户将自有资产存入机池以期获得收益,例如Yearn、Harvest;借贷平台为出借方和贷方提供服务,赚取利息差,贷方一般要先超额抵押一部分资产,例如Compound、Aave;杠杆交易平台允许投资者抵押一定资产作为保证金进行杠杆交易,例如bZx。AMM通过一个定价函数实现自动做市商交易,用户可兑换资产或作为流动性提供商参与流动性挖矿,在此不再赘述。

吉林省法院部署2020年工作:要深入推进区块链技术创新应用:2月28日,吉林省法院召开网络安全和信息化领导小组2020年第一次会议,听取2019年全省法院网络安全和信息化建设情况汇报,研究部署2020年工作。会议要求,要以重点任务为抓手,全面加快智慧法院建设工作。深入推进区块链技术创新应用,全面加快业务场景的创新应用研发。(新浪网)[2020/2/29]

「哄抬套利」攻击的一般步骤

条件一是DeFi系统存在被「哄抬套利」攻击的必要非充分条件,实际攻击过程中还要考虑到资金量、手续费、智能合约在执行交易前设置的检查点等因素。攻击者可通过建立优化模型找到最优参数,预测其「哄抬套利」收益来决定是否采取行动。这种攻击手法的一般操作步骤如下:

图1.哄抬套利攻击的基础模型

假设AMM资产池里的流动性资产为X、Y,流动性代币为C。

第一步,准备。持有即将被哄抬的初始资产Y及用于触发攻击目标自动执行策略的初始资产A。

第二步,哄抬。将资产A发送至攻击目标的相关智能合约,获得代币B,并触发智能合约向AMM资产池投入资产X,获得资产Y或流动性代币C,并抬高AMM资产池内资产Y的价格。

第三步,套利。攻击者将步骤二中的资产Y投入AMM资产池,以抬高后的价格获得资产X或流动性代币C。需要说明的是,第二、三步中的操作对应于swap或流动性挖矿。对于三个及以上币种的AMM,这里的X或Y可视为资产组合。

第四步,收尾。攻击者根据代币B的最新净值及后续交易计划决策是否赎回资产D。

声音 | 河北辛集副市长:大力推进“区块链+智能制造”的深入融合:12月27日,河北省钢铁行业“区块链+智能制造”主题峰会在石家庄辛集市举行,峰会由河北省冶金行业协会、中国电信河北分公司、长城新媒体集团主办。辛集市副市长牛军波表示,冶金行业的发展对于辛集市的经济建设起到举足轻重的作用,目前钢铁行业的自动化、信息化的发展已具有良好的基础。大力推进“区块链+智能制造”的深入融合,可以为钢铁行业带来全面的提升,在提高企业竞争力、打造优质产品方面提供有力支持。(长城网)[2019/12/27]

对于流动性充足的资产池,为了在AMM里制造可观的价格滑点,往往需要投入很大的资金量,故攻击者一般会从闪电贷借出初始资产。若闪电贷可供借贷的资产类别不满足要求,攻击者会去某些AMM或借贷平台通过swap、流动性挖矿、借贷等方式获得;也不排除攻击者直接去与攻击目标关联的AMM获取。若攻击者在第一步的准备过程中采用了闪电贷,那么在第四步就还需在同一笔攻击交易中归还闪电贷。

攻击者赢利分析

若攻击者不赎回头寸代币B,那么当初投入的资产A就是成本上限,只有当套利所得大于这一成本才能赢利,这种情况目前只在提供杠杆资金的攻击目标中成功过,攻击者以较少的保证金成本A撬动攻击目标的大量资金X为其在AMM里抬高资产Y的价格。但前提是在执行交易前攻击者要避开攻击目标对其保证金净值是否跌破清算线的检查点,表1中编号为1的攻击事件就是典型案例。

这里有两点值得注意:

这里的关键是攻击目标发行的份额代币B为攻击者的初始资产提供了隔离保护作用,攻击者往往会先操纵AMM里的价格使得其中资产X大幅贬值,牺牲攻击目标的基金资产撬动AMM内的价格滑点往有利方向偏移,使攻击者在保证自有资产不大幅贬值的情况下实现可观的套利,表1中编号为10的攻击事件就是典型案例。

动态 | 区块链等技术的叠加作用下已经深入生活各领域:据中国日报网消息,近日,“互联网新势力峰会”在杭州举办,峰会上主办方公布了最能代表2018年互联网产业新发展趋势的9大“新势力”,涵盖办公、旅游、音乐、出行、金融、社交、媒体、区块链、母婴9大场景。现场嘉宾认为,互联网经过20年发展,在大数据、人工智能、区块链等技术的叠加作用下已经深入生活各领域。时下互联网经济正处于消费互联网下半场和产业互联网上半场的转型升级期,互联网的下一个20年将深刻影响产业发展。[2019/1/23]

亏损分析

小节1.2分析了在「哄抬套利」攻击模式下攻击者获利的原理,本节进一步分析谁是亏损的「冤大头」?站在攻击目标的视角,在整个攻击过程中,其底层资产净值的变化来源于:

攻击者投入资产A获得份额;

与AMM发生资产交换的差额,即公式所示;

攻击者赎回份额。

若攻击者最终用头寸代币B赎回份额,则攻击目标资产价值变化为:

若攻击者没有赎回初始资产,则相当于攻击目标净收入资产A,公式变为,

对于AMM而言,其恒定乘积定价方程保证兑换操作前后,其资产池内资产数量乘以资产价格的总价值保持恒定;而在注入流动性的情况下,新发行流动性代币的每份额价值与原有流动代币每份额代币的价值一致。故每次攻击者或机池与之交互时,都是按AMM内部价格等额交换的。即使攻击者利用巨额资金使得AMM的价格偏离市场价格,AMM的流动性提供者只会暂时遭到价格偏差带来的无常损失,后续会有套利者将价格搬平,而套利者获得的受益来源于金融业务模块损失的一部分。

声音 | 李东荣:依托区块链研究工作组等 就国内外金融科技热点重点问题开展深入研究:据人民网报道,中国互联网金融协会会长李东荣做客人民网视频访谈表示,从四方面加强金融科技发展,其中提到: 第一,依托移动金融专委会、网络与信息安全专委会、金融科技发展与研究工作组、区块链研究工作组等,牵头组织行业研究力量,就国内外金融科技热点重点问题开展深入研究,主要包括英美及部分新兴市场国家金融科技监管最新进展,网络借贷、股权众筹等金融科技业态国际比较,监管科技、监管沙箱发展情况,大数据、云计算、人工智能、区块链等技术在金融领域的应用情况等。其次是持续加强金融科技标准化建设,提升行业标准化规范化水平。三是履行社会组织对外交往职能,不断加强金融科技国际交流合作。 第四,协会综合运用自身掌握数据,以及司法系统、科技公司等第三方合作数据,针对互联网资管、网络借贷、ICO、互联网非法外汇交易、涉嫌违法违规宣传活动等重点领域持续开展监测。[2018/12/27]

案例举例

表1中编号为1和10的事件都符合上述「哄抬套利」攻击的一般模式,且易于复刻。在Yearn机池闪电贷攻击事件中,攻击者按照前面1.1总结的做了四个步骤:

第一步,从Aave和dYdX闪电贷借出ETH,抵押到Compound获得大量DAI和USDC。一部分DAI留用,将另一部分DAI和USDC抵押至Curve的3Pool做流动性挖矿,获得流动性代币3CRV。用全部3CRV赎回USDT,这样就准备好了资产Y和资产A。

第二步,将DAI抵押至Yearn的yDAIVault,获得yDAI。这个合约会自动触发将DAI投入到Curve3Pool的流动性挖矿投资策略,获得3CRV。由于3CRV中DAI的数量变多,根据定价函数更新后DAI发生贬值,USDT增值。

现场 | 姜海:密码学将随着黎曼猜想等理论研究的深入迎来大发展:金色财经现场报道,今日,2018可信区块链峰会在北京召开。在主题为“区块链安全焦点关注”的区块链安全论坛上,丁牛科技有限公司CEO姜海结合最近黎曼猜想被证明引起了密码学界的高度关注,分析了黎曼猜想与区块链密码安全。他提出,尽管黎曼猜想的证明对于传统密码安全有极大的冲击,但是区块链技术的安全建立在SHA-256、椭圆曲线、算法校验等基础之上,在使用过程中能够极大地抵抗密码攻击。尽管最近有很多的安全事件发生,而其根本原因在于程序的违规操作。未来随着随机发生器、量子计算机以及黎曼几个等基础理论的研究,密码学将会有更大的发展空间。[2018/10/10]

第三步,将步骤一准备好的USDT投入Curve3Pool,高价换出流动性代币3CRV。这时候攻击者持有3CRV数量大于步骤一中的初始数量,套利成功。

第四步,用步骤二中的yDAI赎回DAI。虽然yDAI的净值有所下降,但这部分亏损小于套利所得。攻击者在一笔闪电贷交易中重复上述步骤10次,归还闪电贷,最终累计得到大量3CRV和USDT,编号为1的bZx攻击事件中,攻击者从闪电贷借出ETH,先抵押一部分至Compound借出WBTC,再抵押一部分ETH至bZx触发其5倍杠杆做空ETH交易,获得代表杠杆头寸的sETHwBTC5x。bZx合约为其提供杠杆资金向Uniswap卖出大量ETH获得WBTC,将WBTC价格抬升3倍。攻击者卖出WBTC,得ETH,一部分归还闪电贷,另一部分用于赎回Compound里的抵押物,而没有赎回杠杆头寸sETHwBTC5x,因为此时早已触发清算线,而攻击者发现合约漏洞避开了检查点。

编号为3的攻击事件利用了Balancer支持的一种利用销毁自身代币的方式来替代收取手续费行为的「通缩型」代币STA,通过反复交易STA来使得其数量不断减少,从而价格不断抬升,属于特定条件下的案例,不易复刻。

「操纵预言机」攻击

「操纵语言机」攻击可以认为是「哄抬套利」攻击的一种对称操作,其必要条件为:

条件二:攻击目标依赖AMM提供的信息对其内部资产进行定价。

图2.操纵预言机攻击的基础模型

这种情况下攻击者虽然无法利用攻击目标内的资产去哄抬AMM内某资产的价格,但可以考察AMM模块作为预言机能否被操纵,从而哄抬攻击目标内的资产。

攻击目标依赖AMM提供信息的主要目的有两种:

对抵押物进行估值;

对头寸代币进行定价。

我们也可将其视为「净值计算」,而攻击者则专门寻找在净值计算中与实际情况出现偏差的合约进行操纵。

表1中编号为5和9的事件中攻击者利用了同一种预言机漏洞。CheeseBank和WarpFinance这两个机池都允许用户超额抵押Uniswap的流动性代币UNI-V2来借出稳定币,而抵押品UNI-V2的价值通过一个自行编写的预言机合约来计算。该合约利用相应Uniswap流动性池的资产数量、资产价格及UNI-V2的发行量计算,但资产数量和资产价格是从两个不关联的渠道获取——资产数量直接从Uniswap流动性池余额获取,而资产价格从Uniswap官方提供的一个时间加权平均预言机获取。这使得攻击者能够通过改变Uniswap流动性的资产数量,在资产价格维持不变的情况下提高抵押品UNI-V2的名义价值从而借出更多的稳定币。这种类型的攻击主要时因为预言机合约设计不够严谨导致的,但仍然重复发生两次,足以引起DeFi项目的警惕。

表1中编号为2的事件中,攻击者通过操纵bZx为抵押物sUSD估值的预言机,抬高sUSD的价格,从而借出更多ETH。

表1中编号为3、7的事件则通过操纵预言机报价,提高机池内份额代币的净值,从而兑换出更多资产,重复多次累计收益。

「操纵预言机」攻击的一般步骤为:

第一步,准备。获得用于操纵AMM预言机的资产Y及准备存入攻击目标的资产A。

第二步,抵押。将资产A抵押至攻击目标,获得代表抵押物的头寸代币B,有些情况下,不发放头寸代币B,只在智能合约内部记账。

第三步,操纵。将资产Y投入AMM兑换资产X,改变AMM流动性池内资产的比例从而改变报价,更新攻击目标合约内资产A或头寸代币B的定价;第三步,收尾。若为借贷业务,则通过抬高的抵押物估值借出更多资产并不再归还;若为机池业务,则通过抬高价格后的头寸代币B赎回资产,获得增值收益。

讨论与启示

本文总结了DeFi系统遭受经济攻击的一般模式和命名所在,发现「哄抬套利」和「操纵预言机」攻击模式本质上都是对净值计算环节的利用和操纵行为。故而在设计DeFi系统的时候,妥善处理这一环节至关重要。最根本的预防措施就是取消用户自动触发交易策略链式执行或更新净值的权限,从根本上阻断攻击者完成一整套连贯的操纵行为。

例如针对「哄抬套利」的攻击策略,具体的做法可能是通过一个智能机器人识别用户的投资行为,按固定时间段批量计算净值及分配资金至策略池。但这种方法打破了原有原子交易的优势,可能会引发用户体验不佳、成本抬高、机器人发送的交易被控制等新问题。另一方面,目前出现的DeFi组合模型大部分还停留在简单的A->B模式,而生态内已经出现了C->A->B的多层嵌套关联,这些关联关系可能无法避免涉及到智能合约之间的自动触发,仍然可能存在系统性的经济漏洞。

针对「操纵预言机」所描述的攻击风险,目前一些机池设置了滑点限制,约束被报价资产的价格变动范围。但即便如此,攻击者还是能找到一些超过成本的套利空间并通过多次实施来累积套利总额。

闪电贷在整个攻击环节中属于锦上添花的角色,可为攻击者提供大量初始资金及试错成本仅为交易gas费的攻击机会。不过近期随着ETH价格的增长,构建如此复杂的攻击策略的智能合约所需花费的交易gas费已经非常昂贵,最近发生的yearn机池的单笔闪电贷攻击交易就耗费了攻击者1.933个ETH。

综上所述,这些经济攻击事件表明,AMM的设计机制很容易被攻击者利用来对关联产品进行攻击,并且具备特定的攻击模式。通过破除攻击模式依赖的必要条件可能会引发新的问题,还没有一种万全的策略完全消除此类风险。通过添加一定的约束条件来使得套利空间大大小于攻击者的期望值,或许是一种值得探讨的方法,这需要项目方对自己及关联协议的经济系统有全面且深入的研究。

原文标题:《DeFi经济攻击的一般模式分析》

撰文:曹一新,就职于HashKeyCapitalResearch

审核:邹传伟,万向区块链首席经济学家

标签:AMM区块链EFIDEFBDAMM如何使用区块链技术DeFiatoPINETWORKDEFI价格

币赢热门资讯
数字人:“数字人民币”升级 如何防范?_数字货币

移动支付网讯:近日,数字人民币试点活动相继在深圳、苏州、北京、成都等地展开,在当地用户踊跃报名参与之下,数字人民币带来了群众热度、引发了行业的关注,但同时也成为了投机者和犯罪团伙的手段.

1900/1/1 0:00:00
BIKI:关于BiKi余币宝将于03月09日开启第十期USDT机池理财的公告 (0308)_USDT

尊敬的用户:BiKi余币宝将于03月09日10:00开启第十期USDT机池理财,预期年化收益20%.

1900/1/1 0:00:00
Magi:币安将上线 COTI 1-25倍 U本位永续合约_magic币发行量

亲爱的用户:币安将于香港时间2021年03月10日15:00上线COTIUSDT1-25倍U本位永续合约。注意:COTIU本位合约是正向合约,即稳定币合约,采用稳定币作为保证金.

1900/1/1 0:00:00
ALPHA:关于WBF即将上线RB的公告_ALPH

尊敬的用户:WBF即将在开放区上线RB/USDT交易对,具体上线时间请关注官方公告。项目介绍:RB是基于整个迷迭香产业链价值的链改通证,特邀中国国内知名链改企业33复杂美负责搭建RB的区块链底层.

1900/1/1 0:00:00
比特币:元宵“大跌周”链上数据复盘:哪些数据增幅明显?哪家交易所从中受益?_比特币是什么时候诞生的

最近,比特币价格再度掀起了新的涨势,毕竟数次冲上50000美元,人们仿佛已经忘记了就此此前一周时间,币价曾经的一波强势跳水,以及创纪录的爆仓.

1900/1/1 0:00:00
DEF:一文读懂主流DeFi项目收入:收入来源与分配方式_THE

许多DeFi协议都成功获得了可观收入。不过,虽然DeFi行业出现了流动性挖矿等一系列新举措,但大部分收入仍然流向协议供应方.

1900/1/1 0:00:00