编者按:本文来自链闻ChainNews,星球日报经授权发布。撰文:SamSun,知名白帽,加密风投机构Paradigm研究合伙人编译:PerryWang2019年末,我发表了一篇题为《从抵押不足贷款取乐并牟利》的帖子。我在文中描述了依赖于一个或多个代币的准确价格数据,对以太坊去中心化应用DApp的一次经济攻击。当前是2020年末,不幸的是,许多项目已经出现了非常相似的错误,最近的例子是HarvestFinance遭黑客攻击事件,导致协议用户集体损失3300万美元。虽然开发者熟悉重入reentrancy等漏洞,但他们显然没有经常考虑价格预言机遭操纵的问题。相反,多年来基于reentrancy的漏洞已经下降,而基于价格预言机操纵的漏洞现在呈上升趋势。因此,我决定是时候得有人对有关这类操纵给出明确资源以提高安全意识。本文分为三个部分。对于不熟悉这个主题的读者,这是一篇关于预言机和预言机操纵介绍的科普文章。那些想要测试知识水平的读者可以直接跳到案例研究,我们回顾一下过去一些与预言机相关的漏洞和攻击事件。最后我们总结一些开发者可以应用的技术,以保护他们的项目免受价格预言机操纵途径的攻击。什么是预言机操纵事件?打个真实案例比方
2015年12月1日,星期三。你的名字叫DavidSpargo,当时正在澳大利亚悉尼观看澳洲「电音黑马」PekingDuk的音乐会。你可能想亲眼见到这支乐队,但两名安保人员挡住了你前往后台的去路,他们完全不可能让一个普通路人大摇大摆走进后台。你可能想,如果你表现得像是后台人员,保安人员会有什么反应。家庭成员肯定会被允许参观乐队后台,所以你只需要的是说服保安你是乐队成员的一个亲戚。你考虑了一下,想出了一个计划,可能被称为天才计划,也许是极为拙劣。准备妥当后,你自信地走向保安。你介绍自己叫DavidSpargo,PekingDuk的家人。当保安要求看证据时,你向他们展示无可辩驳的证据——维基百科。
BAYC:知名电竞选手Mongraal获得“吉米钥匙”,“召唤”将于3月8日开启:2月16日消息,Bored Ape Yacht Club(BAYC)在推特上宣布,知名电竞选手及主播@Mongraa在Dookey Dash游戏中获得“猴子吉米钥匙”。所有下水道通行证持有者现在可以刷新通行证上的元数据以查看最终分数。2023年3月8日,玩家将能够使用通行证召唤能量源。所有Sewer Pass持有人都可以在2月22日重新进入下水道,并有机会在奖励回合中为他们的能量源赢得伙伴特性,“我们称之为蟾蜍模式”。这将是一个单独的排行榜。更多细节即将到来。
此外,BAYC表示,在Dookey Dash游戏只有2%的分数根据审查过程进行了重置。
金色财经此前报道,BAYC表示,Dookey Dash分数非零用户可参与新篇章“召唤”,分数需提前与Sewer Pass绑定。[2023/2/16 12:09:53]
DavidSpargo修改了PekingDuk的维基百科词条,在「家庭成员」加上了自己的名字,名场面保安挥手让你通过,并让你等待。一分钟,两分钟。五分钟后,你想知道在警察露面之前是否该赶紧跑掉。当你正要离开时,乐队成员之一的ReubenStyles走过来做了自我介绍。你和他一起走到后台休息室,乐队对你的聪明才智印象深刻,最后和你一起喝了几杯啤酒。稍后他们还在Facebook页面上分享了所发生的事情。
什么是价格预言机?
价格预言机,笼统地说,是你咨询价格信息的东西。拿美剧《Office》中的剧情打个比方,当Pam向Dwight询问SchruteBuck的现金价值时,Dwight则充当了价格预言机的角色。
外媒:无公开信息证明知名英国厨师Gordon Ramsay涉足加密领域:网上有很多报道称知名英国厨师和电视名人Gordon Ramsay通过Bitcoin Revolution投资了比特币和交易员。但经CoinInsider查证,没有任何证据表明Ramsay已经使用并正在使用Bitcoin Revolution作为交易平台。任何可能暗示这一点的文章都很可能是假新闻。CoinInsider称,没有发现任何证据表明他投资了比特币或加密货币市场。他没有参与比特币的购买、交易,也没有参与任何加密货币项目。尽管他有可能投资了比特币,并将其保密,但没有任何公开的信息能够予以佐证。[2020/9/8]
在以太坊区块链中,一切都是智能合约,所以也是价格预言机。因此区分价格预言机如何获取其价格信息更有用。一种方法是只需从价格API或交易所中收集现有的链下价格数据,即可将这些数据引进到链上。另一种方法可以通过咨询链上去中心化交易所来计算瞬时价格。
两种选择各有优缺点。链下数据对波动性的反应通常较慢,根据你尝试使用它的用途,这可能是好事,也可能是坏事。不过通常需要少数特权用户将数据推送到链上,因此你必须相信他们不会变得邪恶,也不会被迫推送不良信息。链上数据不需要任何特权即可访问,并且始终是最新的,但这意味着攻击者很容易操纵它,可能导致灾难性故障。可能会出什么问题?
简单看看一些整合不良的价格预言机对DeFi项目造成严重财务损害的案例。Synthetix是一个允许用户接触到其他货币资产的衍生品平台。为了撮合此类交易,Synthetix依赖于一个自定义的链下价格馈送实现机制,其中按照一组秘密价格馈送来计算汇总价格,按固定的时间间隔在链上发布。然后允许用户以这些价格对其支持的资产做多或做空头寸。2019年6月25日,Synthetix所依赖的价格源之一误报了韩元的价格,比真实汇率高出1000倍。而由于价格预言系统其他地方的其他错误,这个价格被系统接受并发布在链上,其中一个交易机器人在SKRW市场快速进行买卖交易。
ZB 创新智库:十二月份披露区块链公开融资事件 16 起,多个知名项目完成融资:据 ZB 创新智库统计,2019 年十二月份公开披露的区块链融资事件 16 起,环比下降 33% 以上。区块链金融板块独占鳌头,发生融资 11 起;企业服务板块融资 3 起。ZB 创新智库分析师表示:区块链融资呈现出向头部知名项目显著倾斜的趋势,比如 Ripple、MakerDao、Nervos、云象区块链等先后获得注资,而初创企业和早期项目获得的资金数量或许正在大幅减少。[2020/1/2]
这个自动交易机器人最终赚取超过10亿美元的利润,虽然Synthetix团队能与交易者谈判返还了资金,取而代之给予其纠错赏金。Synthetix正确执行了预言机合同,从多个数据来源引入报价,以防止交易者在链上发布之前预测到价格变化。然而一个上游价格馈送故障的孤立案例,导致了毁灭性的攻击。这说明了使用链下数据价格预言机的风险:你不知道价格是如何计算的,因此必须仔细设计系统,以便能正确处理所有潜在的故障模式。担保不足贷款如前所述,我在2019年9月发表了一篇帖子,概述了使用链上数据的价格预言机的相关风险。虽然我强烈推荐阅读原贴,不过其中有相当多且复杂的技术细节,可能使其难以消化。因此我在这里提供一个简化的解释。假设你希望将去中心化贷款引入区块链。用户可以将资产作为抵押品存入,并借入由其存入的资产价值决定的、一定金额的其他资产。假设用户希望以ETH作为抵押品借入美元,ETH的当前价格为400美元,抵押比率为150%。如果用户存入375ETH,相当于存入15万美元的抵押品。他们可以按每抵押1.5美元借走1美元,所以他们可以从系统中借到不超过10万美元。
动态 | 推特混战升级 美国知名区块链人士John McAfee起诉Calvin Ayre 索赔8亿美元:美国知名区块链人士John McAfee三小时前发推表示将起诉Calvin Ayre赔偿8亿美元,系Calvin Ayre曾指控John McAfee谋杀。古巴是大陆法系国家John McAfee对Calvin Ayre提起诉讼较为困难。然而, John McAfee追踪到了Calvin Ayre其他国家的资产可以在其他国家提起诉讼并希望让Calvin Ayre破产。根据收集整理,这篇推特是引发自另一桩诽谤诉讼,以CalvinAyre为原告,数字货币媒体Coin River为被告。在一封道歉信中,Coin River向Calvin Ayre道歉,称其发表不实声明,并同意向Calvin Ayre支付巨额赔偿金。据此,John McAfee表示他也应向Calvin Ayre提起诽谤诉讼,获得赔偿。Calvin Ayre4月12日曾在Twitter上表示他计划向以太坊创始人V神和PeterMcCormack发出传票。4月12日的同一天,PeterMcCormack在Twitter上披露了Craig Wright的律师事务所SCA ONTIER的传票。传票建议PeterMcCormack听取法律意见,就诽谤和骚扰进行法律诉讼。[2019/4/14]
当然在区块链中,不像简单地声明1ETH价值400美元那么简单,因为恶意用户可以简单地声明1ETH价值1000美元,然后从系统偷走所有的钱。因此对于开发者来说,非常需要最近的价格预言机的界面,如Uniswap、Kyber,或其他去中心化交易所中的当前现货价格。
乍一看,这似乎是正确的做法。毕竟,每当你想购买或卖出ETH时,Uniswap的价格总是大致正确的,因为任何偏差都会被套利者迅速纠正。但是事实证明,去中心化交易所的现货价格在交易期间可能非常错误,如下例所示。考虑一下Uniswap留存资产的函数公式。其内部报价是根据储备持有的资产量计算,但随着用户在ETH和USD之间交易,储备资产不断变化。如果恶意用户在从你的平台获得贷款之前和之后执行交易,会怎么样?用户在你的平台贷款之前,他们以200万美元买入5000ETH。Uniswap交易所现在计算价格为1ETH=2600美元。现在,他们的375ETH可以作为抵押品,可以贷走高达65万美元的资产,然后他们用原来的5000ETH换回200万美元,重置Uniswap内的价格。你的贷款平台则损失了55万美元。
知名股票交易移动应用 Robinhood推出十六种数字货币免佣金交易:知名股票交易移动应用 Robinhood 推出包括比特币、以太币、比特币现金、比特币黄金、莱特币、瑞波币、以太经典、门罗币、达世币、恒星币、Zcash、NEO、Lisk、Dogecoin等16种数字货币免佣金交易。[2018/1/26]
这一案例研究说明了使用去中心化交易所作为价格预言机时最常见的错误:攻击者在交易期间几乎完全控制了价格,要想准确读取该价格,就像在物品稳定之前读取重量计的读数一样。你可能会得到错误的数字,在一定情况下,可能会让你损失惨重。SynthetixMKR操纵2019年12月,Synthetix再次遭受价格预言机操纵式攻击。值得注意的是,此次攻击突破了链上价格数据与链下价格数据之间的障碍。Reddit用户u/MusatheRedGuard观察到,攻击者正在针对sMKR和iMKR进行一些非常可疑的交易。攻击者首先通过买入sMKR而间接购买了MKR的多头头寸,然后从UniswapETH/MKR交易对购买了大量MKR。等待了一段时间后,攻击者售出其sMKR换成iMKR,然后将MKR卖回给Uniswap。然后他们重复了这个过程。在幕后,攻击者通过Uniswap进行交易,使其可以在Synthetix协议中移动MKR的价格。这可能是因为Synthetix所依赖的链下价格馈送实际上依赖于MKR的链上价格,而且没有足够的流动性使套利者推动市场回归最佳价格配置。
该事件说明了这样一个事实,即尽管你认为你使用的是链下价格数据,实际上可能仍在使用链上价格数据,并且仍然可能面临使用这些数据所涉及的复杂情况。2020年2月,bZx协议在几天内遭到两次黑客攻击,被黑客掠走约100万美元。在这里你可以看到一篇有关两次黑客攻击事件的优秀技术分析,但我们本文将只讨论第二次黑客攻击。在第二次黑客攻击中,攻击者首先使用ETH购买了Kyber协议中几乎所有的SUSD。然后攻击者从Synthetix本身购买了第二批SUSD,并存放在bZx上。攻击者使用sUSD作为抵押品,贷取了所能允许的最大金额ETH。然后他们把sUSD卖回给了Kyber。如果你一直在关注,你会认识到这基本上是相同的抵押不足贷款攻击套路,只是使用了不同的抵押品和不同的去中心化交易所。yVault漏洞2020年7月25日,我向yEarn报告了他们新推出的yVault合同中的一个协议漏洞。你可以阅读关于这一错误的官方材料,但我会在下面简要地总结一下。yVault系统允许用户存入代币并赚取收益,而无需自己管理代币。在yVault内部,金库跟踪yVault代币铸造的总量以及存入的底层代币的总金额。单个yVault代币的价值取决于铸造的代币与存入代币的比率。金库赚取的所有收益都由所有铸造的yVault代币平分。第一个yVault允许用户利用USDC向Balancer协议中的MUSD/USDC流动性池提供流动性来赚取收益。当用户向Balancer池提供流动性时,将获得BPT作为回报,该BPT可以兑换流动性池中的一部分资产。因此,yVault根据可使用BPT赎回的MUSD/USDC金额计算其持有的价值这一实施似乎正确无误,但不幸的是,我们前文提到的危险原则同样适用:交易期间Balancer流动性池的状态不稳定,其价格无法信任。在这种情况下,由于Balancer选择的联合曲线,用户从USDC交换到MUSD不会得到1:1的汇率,但实际上会在流动性池中留下一些MUSD。这意味着BPT的价值可以暂时膨胀,这给了攻击者恶意操纵价格的漏洞,然后以此抽干金库。
这一事件表明,价格预言机并不总是很方便,开发者需要警惕它们正在摄入的数据类型,并考虑这些数据是否可以被非特权用户轻松操纵。HarvestFinance黑客事件2020年10月26日,一名未知用户采用一种你可能已经可以猜到的技术入侵了HarvestFinance的流动性池:攻击者通过执行交易来打压Curve协议流动性池中的USDC价格,以降低后的价格进入Harvest流动性池,再通过逆向操作先前的交易来恢复价格,然后以更高的价格退出Harvest流动性池。这给Harvest流动性池造成超过3300万美元的损失。HarvestFinance官方事后剖析报告我该如何保护自己?
截至目前,我希望你已经学会了识别其共性:它并不总是很明显,你使用价格预言机,如果你不遵循适当的预防措施,攻击者可以过你的协议,卷走很多钱。虽然没有一劳永逸的解决方案,但下面是过去一些项目行之有效的解决方案。也许其中一个也适合你。浅水市场不要冒进就像跳水落到泳池的浅端一样,跳入浅水市场也是痛苦的,可能导致大量的开支,并永远改变你的生活。在考虑计划使用的特定价格预言机的复杂性之前,请考虑代币是否足够具有流动性,足以保证与平台集成。一鸟在手,胜过两鸟在林Uniswap上的潜在汇率可能乱花渐欲迷人眼,但在落袋为安之前,那些不过是镜中花,水中月。同样,确定两种资产之间汇率的最佳方法就是直接交换资产。这种方法很棒,因为没有回收,也没有不确定因素。但是这种做法对于需要持有原始资产的贷款平台可能不起作用。近乎去中心化的预言机依赖链上数据的预言机总结起来一个问题就是它们有点太新。如果是这样的话,为什么不人为引进一些延迟呢?编写一份智能合约,采用Uniswap等去中心化交易所的最新价格进行更新,但仅在少数特权用户请求时更新。现在即使攻击者可以操纵价格,他们也无法让你的协议来实际使用它。这种方法简单易用,而且能快速奏效,但还是有一些缺点:在区块链拥堵的时候,你可能无法按期望的速度更新价格,仍然容易受到三明治攻击。此外你的用户需要相信,你会实际保持价格更新。减速带操纵价格预言机是一个时间极为敏感的操作,因为套利者时刻在关注,并希望有机会优化任何次优市场。如果攻击者想要将风险降至最低,需要执行在单笔交易中执行操纵价格预言机所需的两笔交易,这样套利者就不可能在中间横插上一脚。作为协议开发者,如果你的系统能支持,则只需在用户进入和退出系统之间部署短至1个区块的延迟就足以阻挡。当然这可能会影响协议的可组合性,而矿工与交易者联手作恶也在不断增多。将来坏因子有可能在多个交易中执行价格预言机操纵,因为他们知道,他们合作的矿工将保证没有人可以在中间插入,从其盈利中分一杯羹。时间加权平均价格TWAPUniswapV2引入了一个TWAP预言机,供链上开发者使用。该文档详细介绍了这一预言机提供的确切安全保证,一般而言,对于长时间没有区块链拥堵的大型流动性池,TWAP预言机具有高度的抗预言机操纵攻击的能力。但是,由于其实施的本质,可能对市场波动性巨大的时刻反应不够迅速,且只适用于链上已有流动代币的资产。M-of-N报价有时他们说,如果你想做正确的事,最好自己干。如果你召集N个信任的朋友,并请他们提交他们认为正确的链上价格,而最好的M答案作为当前价格,那会如何呢?这种方法现在被当前许多大型项目采用:Maker运行一组由受信任实体操作的价格源,Compound创建OpenOracle及Coinbase这类特约报价者,Chainlink聚合来自Chainlink运营者的价格数据,并在链上公开它。请记住,如果选择使用这些解决方案之一,你现在已将信任委派给第三方,你的用户也只能这样做。要求报价者手动发布链上更新也意味着在市场波动性大和区块链拥堵期间,价格更新可能无法准时到达。总结
价格预言机对于DeFi安全性至关重要,但经常被忽视。安全地使用价格预言机是一道难题,有很多方法同时兼顾你自己和你的用户。在这篇文章中,我们介绍了曾经发生的价格预言机操纵攻击案例,并证实在交易过程中读取价格信息可能是不安全的,可能导致灾难性的财务损失。我们还讨论了其他项目用于打击价格预言机操纵的一些技术。归根结底,每一种情况都是独一无二的,你可能会发现自己不确定目前对价格预言机的使用是否正确。如果是这样的话,请随时与我们联系寻求建议。
DeFi破千上万的年化收益率,在已经过去的第三季度疯狂地拉升着Ethereum的GasPrice,从年初的20GWei,在Uniswap给大家空投iPhone12后突破1000GWei.
1900/1/1 0:00:00作者:YuriPapadin产生被动收入是去中心化资产领域最引人注目的特征之一。风险最小化和“不劳而获”的想法是几乎所有权益证明机制网络的核心,这些网络通过激励用户锁定其资产和为他们信任的验证者.
1900/1/1 0:00:00本文来自FXStreet,作者:TanyaAbrosimovaOdaily星球日报译者|余顺遂摘要:推特用户报告了Tron生态系统中的一个退出局.
1900/1/1 0:00:00yearn.finance的核心宗旨之一是减少储蓄账户的弊端。到目前为止,我们将重点放在无损策略上,尽管优势可能较小,但弊端有所缓解。但是,这给保险库提供了许多理想的机会。让我们来看一个例子.
1900/1/1 0:00:00编者按:本文来自区块律动BlockBeats,Odaily星球日报经授权转载。市场已经完全被18000美金的比特币的表演吸引了目光,一度年内新高的以太坊都几乎没有人讨论.
1900/1/1 0:00:00“跨链之王”波卡被市场期待了三年之后,市值跃至TOP5,并且生态下的众多项目也是四处开花。随着平行链等核心功能呼之欲出,波卡将开启万链互联时代,产生不可估量的化学反应.
1900/1/1 0:00:00