2019年末,我发表了一篇题为「Takingundercollateralizedloansforfunandforprofit」的文章。在这篇文章中,我描述了对依赖于一个或多个代币准确价格数据的以太坊dApps的经济攻击。现在是2020年底,不幸的是,许多项目已经犯了非常类似的错误,最近的例子是HarvestFinance黑客套利攻击,导致协议用户集体损失3300万美元。
尽管开发人员熟悉可重入性等漏洞,但很明显,人们并不经常考虑对预言机价格的操纵。相反,基于可重入性的漏洞开发数量近年来有所下降,而基于价格操纵的漏洞开发数量正在上升。因此,我认为是时候有人出版一本关于价格操纵的权威资源了。
这篇文章分为三个部分。对于那些不熟悉这个主题的人,有一个关于喂价预言机和预言机操纵的介绍。那些想要测试知识的人可以直接跳到案例研究部分,在那里我们回顾了过去与预言机相关的漏洞和利用事件。最后,我们总结了一些方法,开发人员可以应用到保护他们的项目免受预言机的价格操纵。
现实生活中的喂价预言机操纵
2015年12月1日,星期三。你的名字是大卫·斯巴格,你正在澳大利亚墨尔本的PekingDuk音乐会上。你想亲自见乐队,但在你和后台通道之间隔着两个保安,他们不可能让这些普通人走进去。
你知道,如果你表现得好像你属于这里,保安会怎么反应。家庭成员肯定会被允许参观后台,所以你所要做的就是让保安相信你是他们的亲戚。你想了一会儿,然后想出了一个只能用天才或者疯子来形容的计划。
标准普尔:现实世界资产的DeFi证券化带来信用风险和机遇:金色财经报道,根据信用评级机构标准普尔全球评级的一份新研究报告,随着新协议试图支持现实世界资产(RWA)的证券化,未来几年DeFi在传统金融中的用例可能会增长。
标准普尔在一份题为“证券化的DeFi协议:信用风险视角”的报告中表示,现实世界资产的融资可能会成为DeFi协议向前发展的一个关键重点领域。尽管该行业仍处于起步阶段,但标准普尔强调了DeFi可以为证券化带来的几个好处,包括降低交易成本、提高资产池的透明度、降低交易对手风险以及为投资者加快支付结算速度。
然而, DeFi证券化并非没有风险。标准普尔确定了与其发行相关的法律和运营风险,以及法定货币计价资产与数字货币负债之间不匹配的可能性。(Cointelegraph)[2023/2/9 11:55:57]
在迅速安排好一切后,你自信地走向保安。你自我介绍说你叫大卫·斯巴戈,PekingDuk的家人。当警卫要求证据时,你给他们看无可辩驳的证据——维基百科。
警卫挥手让你过去,让你等着。一分钟过去了,两分钟过去了。五分钟后,你在迟疑否应该在执法部门出现之前逃跑。当你准备「越狱」之时,ReubenStyles?走过来介绍了自己。你和他一起走到演员休息室,那里的乐队对你的聪明才智印象深刻,最后你们一起喝了几杯啤酒。之后,他们会在自己的Facebook页面上分享所发生的事情。
什么是喂价预言机?
喂价预言机,总的来说,就是任何你咨询的价格信息。当Pam向Dwight询问SchruteBuck的现金价值时,Dwight就是在预测价格。
DeFi收益管理框架Stone宣布Immunefi上推出漏洞赏金计划:9月28日消息,DeFi收益管理框架Stone宣布Immunefi上推出漏洞赏金计划,最高奖励30,000 STN。[2021/9/28 17:13:13]
在以太坊网络中,一切都是智能合约,喂价预言机也是如此。因此,区分喂价预言机是如何获得其价格信息的更有用。在一种方法中,您可以简单地从价格api或交易平台中获取现有的链外价格数据,然后将其引入链中。在另一种情况下,您可以通过查询在链上的去中心化交易所来计算瞬时价格。
这两种选择各有优缺点。离链数据对波动性的反应通常较慢,波动性的好坏取决于您试图将其用于何处。它通常需要少数特权用户将数据推送到链上,因此您必须相信他们不会作恶,也不会被迫推送奇怪的更新。链上数据不需要任何特权访问,并且总是最新的,但这意味着它很容易被攻击者操纵,从而导致灾难性的故障。
还能出什么岔子呢?
让我们来看一些例子,在这些例子中,集成不良的喂价预言机导致DeFi项目遭受重大资金损失。
SynthetixsKRW预言机故障
Synthetix是一个衍生品平台,允许用户将资产质押为其他资产。为了促进这一点,Synthetix(当时)依赖于一个定制的离链价格供应源来实现,其中一个由一组秘密的价格供应源计算出来的总价格以一个固定的间隔发布在链上。然后,这些价格允许用户对平台支持的资产持有多头或空头头寸。
DeFi 概念板块今日平均涨幅为1.36%:金色财经行情显示,DeFi 概念板块今日平均涨幅为1.36%。47个币种中25个上涨,22个下跌,其中领涨币种为:REP(+52.75%)、AKRO(+11.84%)、BZRX(+8.85%)。领跌币种为:NEST(-10.60%)、SUSHI(-6.20%)、CRV(-5.28%)。[2021/7/25 1:14:11]
2019年6月25日,Synthetix依赖的一个价格反馈错误地报告了韩元的价格比实际价格高出1000倍。由于喂价预言机系统的其他地方出现了额外的错误,这个价格被系统接受并发布在链上,在链上交易机器人可以快速进出sKRW市场。
尽管Synthetix团队能够与这个交易者谈判,以bug奖金的形式交换回损失资金。但理论上的来说,机器人本次能够获得超过10亿美元的利润。
Synthetix正确地执行了预言机合约,并从多个来源下调了价格,以防止交易商在价格变化发布之前预测价格变化。然而,一个上游价格源故障的案例导致了毁灭性的打击。这说明了使用离链数据的喂价预言机的风险:您不知道如何计算价格,因此您的系统必须仔细设计,以便所有潜在的故障模式都得到正确处理。
低担保贷款
如前所述,我在2019年9月发表了一篇文章,概述了使用依赖于链上数据的喂价预言机所带来的风险。虽然我强烈推荐阅读原文,但是这篇文章篇幅很长,技术细节很多,可能很难理解。因此,我将在这里提供一个简单的解释。
中币(ZB)DeFi挖矿播报:DeFi挖矿总锁仓量约3434万美元:根据中币(ZB)平台数据,今日DeFi挖矿总锁仓量约为3434万美元。其中存QFIL挖矿和存ZB挖矿的锁仓量小幅上涨;存USDT挖矿和存QC挖矿的锁仓量小幅下降;存ETH挖矿的锁仓量不变。[2020/11/14 20:48:40]
想象一下,你使用去中心化的借贷平台。用户可以将资产作为抵押品存入平台,也可以借入其他资产,但最高金额取决于他们存入的资产的价值。让我们假设一个用户想用ETH作为抵押品借入美元,ETH的当前价格是400美元,抵押比率是150%。
如果用户存款375ETH,意味着存入了150,000美元的抵押品。他们可以每1.5美元的抵押品借入1美元,所以他们可以从系统借入最多100,000美元。
但是当然,在区块链上它不是简单的声明1ETH值400美元,因为恶意用户可以简单的声明1ETH值1000美元,然后从系统中拿走所有的钱。因此,对于开发者来说,寻找最适合的喂价预言机是很诱人的,比如当前Uniswap、Kyber的现货价格,或者另一个去中心化的交易平台。
乍一看,这似乎是正确的做法。毕竟,只要你想买进或卖出ETH,Uniswap的价格总是大致正确的,因为任何偏离都会被套利者迅速纠正。然而,事实证明,去中心化交易平台的现货价格在交易过程中可能严重不正确,如下面的例子所示。
想想Uniswap储备系统是如何运作的。价格是根据储备金持有的资产数量计算的,但储备金持有的资产随着用户在ETH和USD之间的交易而变化。如果恶意用户在从你的平台贷款之前和之后进行交易会怎么样?
币赢CoinW 已在DeFi专区上线BOND:据官方消息,币赢CoinW于10月26日11:00在DeFi专区上线Bond,并开通BOND/USDT交易对。上线后涨幅达34.48%,目前价格约94.13USDT。
据悉,BarnBridge是一个波动导数协议。BOND令牌将是系统的管理令牌,使BOND持有人有权对平台的更新进行投票。结合治理机制和激励持有人,它将作为使系统中不同利益相关者保持一致的一种手段。BOND也将用作安全和策略管理介质。DeFi协议成功的关键在于分散激励的自动化治理,以激励参与者并实现安全性,可持续性和参与者福利。[2020/10/26]
在用户申请贷款之前,他们需要花费200万美元购买5000个ETH。Uniswap交易所现在计算的价格是1ETH=2,600美元。那么现在,他们的375ETH可以作为抵押品,抵押价值高达650,000美元的资产。最后,他们用200万美元换回原来的5000ETH,这将重新调整价格至正常状态。结果是,贷款平台损失了550,000美元。
这个案例研究说明了在使用去中心化的交易作为喂价预言机时最常见的错误——攻击者在交易过程中几乎完全控制价格,并试图准确地操纵价格就像在天平安定下来之前读出秤上的重量。这样的话,你可能会得到错误的号码,并根据情况它可能会造成很大的损失。
SynthetixMKR操纵
2019年12月,Synthetix因为预言机价格操纵而再次遭受攻击。值得注意的是,它跨越了链上价格数据和链外价格数据之间的障碍。
Reddit用户u/MusaTheRedGuard注意到,一个攻击者正在对sMKR和iMKR(反MKR)进行一些非常可疑的交易。攻击者首先购买了MKR上的一个多头仓位,然后从Uniswapeth/MKR对购买了大量MKR。等了一段时间后,攻击者以iMKR的价格卖掉了他们的MKR,并把它们卖回了Uniswap。然后他们重复了这个过程。
在幕后,攻击者通过Uniswap进行的交易允许他们随意调整Synthetix上MKR的价格。这可能是因为Synthetix所依赖的非链式价格源实际上依赖于MKR的链上价格,而且没有足够的流动性让套利者将市场重新调整到最佳状态。
这个事件说明了一个事实,即使你认为你使用的是链外价格数据,实际上你可能仍然在使用链上价格数据,而且你可能仍然暴露在使用这些数据所涉及的复杂性中。
我该如何保护自己?
到目前为止,我希望你已经学会了识别共同的线索-它并不总是明显的,你正在使用一个喂价预言机,如果你没有遵循适当的预防措施,攻击者可以你的协议,把你所有的钱寄给他们。虽然没有可以规定的一刀切解决方案,但是这里有一些解决方案在过去曾经对其他项目起过作用。也许其中一个也适用于你。
浅水市场,不要潜水
就像一头扎进游泳池的浅水区一样,一头扎进没有流动性的市场是痛苦的,而且可能会导致永远改变你的生活的巨大开销。在您考虑计划使用复杂的特定价格预言机之前,请考虑该标记是否具有足够的流动性以保证与平台集成。
一鸟在手胜过两鸟在林
看到Uniswap的潜在代币汇率可能会让人着迷,但只有当你真正点击交易并且交易成功后代币在你的钱包里的时候,才是最终的结果。同样,要确定两种资产之间的汇率,最好的方法就是直接进行资产互换。这种方法很好,因为没有后悔和假设。然而,它可能不适用于那些要求持有原始资产协议,如贷款平台。
几乎去中心化的预言机
总结依赖于链上数据的预言机模型的问题的一种方法是,它们有点太新了。如果是这样的话,为什么不人为地推迟一下呢?编写一份合约,在Uniswap这样的去中心化交易平台上用最新的价格更新自己,但只有在一小群特权用户提出要求时才这样做。现在,即使攻击者可以操纵价格,他们也不能让你的协议真正使用它。
这种方法实现起来非常简单,而且速度快,但也有一些缺点——在链上拥堵的时候,你可能无法按照自己的意愿快速更新价格,而且仍然容易受到内外夹击。此外,现在你的用户需要相信,你实际上会保持价格更新。
减速带
操纵价格预言是一个时间敏感的操作,因为套利者总是在观望,并且喜欢优化任何次优市场的机会。如果攻击者想要最小化风险,他们会想要在一个交易中操纵一个喂价预言机,这样套利者就不可能在中间跳跃。作为一个协议开发人员,如果系统支持它,那么在用户进入和退出系统之间实现短至1区块的延迟就足够了。
当然,这可能会影响可组合性,而且矿商与交易员的合作正在增加。在未来,坏的参与者可能会在多次交易中操纵价格,因为他们知道与他们合作的矿商将保证没有人能跳到中间,从他们的收益中分一杯羹。
时间加权平均价格Time-WeightedAveragePrice(TWAP)
UniswapV2为链上开发人员引入了TWAP预言机。文档对预言机提供的确切安全保证进行了更详细的描述,但是一般来说,对于长时间的大型交易池,没有区块拥塞的情况下,TWAP预言机对预言机操纵攻击具有很强的抵抗力。然而,由于其实施的性质,它可能无法对市场高度波动的时刻作出足够迅速的反应,而且只适用于已经具有流动性的资产。
M-of-N记者
如今许多大型项目都采用这种方法:Maker运行一系列由可信实体操作的价格信息提要,Compound创建了Open预言机,并提供Coinbase等记者功能,Chainlink收集来自Chainlink运营商的价格数据,并在链上发布。请记住,如果您选择使用这些解决方案之一,那么您现在已经将信任委托给了第三方,您的用户也必须这样做。要求记者手动在网上发布最新消息也意味着,在市场高度波动和链上拥堵的时候,价格可能无法及时更新。
总结
喂价预言机是一个至关重要的,但经常被忽视的组成DeFi安全的部分。安全地使用喂价预言机是困难的,有很多方法可以把你自己和你的用户都搞砸了。在这篇文章中,我们讨论了过去的价格预言者操纵的例子,并且确定在交易过程中阅读价格信息可能是不安全的,并且可能导致灾难性的金融损失。我们还讨论了其他项目过去用于打击价格Oracle操纵的一些技术。不过最终,每种情况都是独一无二的,你可能会发现自己不确定是否正确地使用了喂价预言机。如果是这样的话,尽管去寻求建议吧!
原文标题:《Soyouwanttouseapriceoracle》
原文来源:SAMCZSUN
标签:EFIDEFIDEFETHMy Defi Legendsdefi币价格涨跌原理Defiskeletonstogetherbnb黄油场景
区块链的圈子,有颜、有趣、有料,有一堆乐事儿,你知道圈子里的那些乐事儿吗?你想知道的趣事,币虎为你安排~正值币虎三周年庆典,为感谢合作伙伴和用户的长期支持,币虎跨界联名脱口秀,11月14日在北京798邀大家一起吃喝玩乐.
1900/1/1 0:00:00印度指出,过去一年加密货币用户有所增加。加密用户的激增主要归因于Supre法院决定取消中央银行的通函,该通函要求在2018年禁止对加密交易的银行业务。这一判决也暂时影响了用户对该国加密货币的看法,并且现在越来越多的人加入加密货币潮流.
1900/1/1 0:00:00各位币友大家下午好,下面老李跟大家分享下11.11日上午给出的全网公开单情况:11.11上午给出BTC操作建议如下:MetaStar Strikers项目Discord服务器已被入侵:金色财经消息,据CertiK监测.
1900/1/1 0:00:00尊敬的社区用户: 霍比特交易所现已恢复ETC的充值。暂停期间给您带来的不便,敬请谅解!风险提示:数字资产是创新的投资产品,价格波动较大,请您理性判断自己的投资能力,审慎做出投资决策.
1900/1/1 0:00:00通过积极参与国际标准制定,致力于建立一个规范、统一、互利的国际规范,从而保障国际金融体系在数字货币时代稳定有序。近日,深圳开展数字货币研究与移动支付等创新应用引发广泛关注,数字货币特别是央行主权数字货币发展情况成为热议焦点.
1900/1/1 0:00:00随着信息技术的不断推进,全球正式迈入了数字化时代,数字化在、经济、社会治理、群众生活等方面发挥了重要影响,不断重塑着现代社会的发展格局。而在司法诉讼中,为人熟知的证据类型也在经历着变革,电子证据开始逐渐应用于司法实践中.
1900/1/1 0:00:00