TOKEN:如何通过闪电贷操纵预言机价格?_区块链

作者:知鱼|NestFans论坛描述:近期DeFi生态中发生了连续五次闪电贷操纵预言机价格的事故,这究竟是技术问题还是机制问题?正文:从今年二月份到现在,闪电贷攻击频频发生。前几日,知名白帽子SamSun在推特发文,具体阐述了DeFi为何频繁发生价格预言机操纵攻击的问题。北京时间11月15日凌晨,又一次操纵预言机价格的攻击,去中心化金融协议ValueDeFi遭遇闪电贷攻击,攻击者通过复杂的方式从Value协议的金库中转移走了大约700万美元,随后归还了200万美元,并附上了一条带有嘲讽意味的信息:“你们真的懂闪电贷吗?”。而在攻击发生前一日,ValueDeFi公开宣称自己是DeFi领域最安全的协议,并且能够抵抗闪电贷攻击。就在笔者撰文的此刻,一则新闻出现,又一次闪电贷攻击,使得去中心化共享经济协议OriginProtocol损失700万美元。仅仅三周时间,HarvestFinance、Akropolis、ValueDeFi、CheeseBank和OriginProtocol这五个DeFi协议接连遭到闪电贷攻击,均为百万美元级别以上,最终都是要投资者买单,至此,我们不得不认真去审视闪电贷操纵价格预言机的问题。闪电贷是什么?

在DeFi的世界中,闪电贷是可以让任何人无需许可、无需抵押,便可立即借出一大笔资金,在DeFi各协议之间进行操作套利,但在一个区块内必须还回去,否则交易回滚,取消此次任务的执行。这相当于,闪电贷可以让任何人在短时间拥有巨量资金从而具备操纵市场的能力,像巨鲸一样游走在各个DeFi协议之间。简单来说,就是你可以只消耗一点gas费,无需做任何抵押,便可以拥有巨额资金,并在1个区块时间内归还资金。为什么会有闪电贷?

早期在DeFi的借贷中,是需要超额质押,才能借到一笔钱,资金利用率很低。随着DeFi生态的繁荣,智能合约之间可以互相支持调用,闪电贷也由此诞生。最早讨论闪电贷的是Aave协议,第一笔flashloans也来自Aave协议。其初衷是为了提升资金利用率,确保用户无需抵押来实现快速借贷。虽然闪电贷极大的提高了加密资金的利用率,但也同时埋下了一些安全隐患。一笔链上交易可以做很多事情,使得用户可以在借款和还款间加入其它链上操作,这就存在了作恶的空间,攻击者可以恶意的利用闪电贷借入、交换、存入并再次借入大量的Token,人为地在算法定价的DEX里操纵该Token的市场价格,这就出现了目前常见的闪电贷攻击。应以区块链的视角去看待闪电贷

我们探讨闪电贷的问题,需要从本质上去探讨,从区块链的本质来探讨。在区块链的世界里,是假定每个人都是作恶者,就像中本聪创建比特币网络,连自己都假定为作恶者,才能保证系统的安全和去中心化。所以,闪电贷在某种意义上,是让每一个人都有机会成为“超级作恶者“,这是有必要的。如果这些“超级作恶者”成功作恶,直接的证明了DeFi协议的脆弱性,DeFi是不成立的,是需要进行革新和改进的。因为,这种成功也间接证明了一个真实的“巨鲸”进行此类攻击也是可以完成攻击的,如果DeFi生态连这一关都过不了,何谈系统安全性,如何去承载万亿美金市值的加密市场呢?所以面对闪电贷,DeFi科学家们需要解决的真正问题是:闪电贷到底攻击的是什么?是技术问题还是机制问题?闪电贷攻击并不是DeFi生态中真正的系统性根源风险,究其本质在于Oracle攻击,据samczsun.com网站研究人员发布的报告,在2020年,针对价格Oracle操纵行为非常多,迄今为止已导致逾3000万美元损失,而且没有放缓的迹象。该报告还指出,多年来基于可重入性的攻击已经减少,而基于价格Oracle操纵的攻击现在正在上升。这并不是简单的代码漏洞,其本质其实是机制的漏洞,换句话讲就是:遭受闪电贷攻击不是技术问题,而是底层逻辑的机制问题。关于预言机的探讨

DeFi生态现在需要认清一个现实,价格预言机是DeFi生态最为重要的底层基础设施!如果预言机问题解决不了,那么代码质量再好的DeFi协议也都只是空中楼阁。如果想要在链上形成一个庞大的DeFi市场,首先第一步就是要在链上生成价格。但是区块链无法在链上自动生成价格信息,需要依赖外部设施写入价格信息,所以,“写”这个动作就至关重要,如何让价格信息以去中心化的方式直接在区块链上生成出来,便是预言机要做的事情。现在市面上的预言机大部分是间接预言机,只是数据的搬运工,把数据上传到链上,靠的是信誉节点喂价。接入各交易所API,各节点间进行验证达成某种公允价格,上传到链上供DeFi生态使用,这是非常危险的。去中心化的Oracle网络,在多个交易所中接入API存在交易量和流动性差异,本身就加大了Oracle攻击风险。而且闪电贷系统攻击也证实了,这种低成本的上传价格数据,不是在整个市场上进行验证的价格给DeFi协议使用是不负责任的。就像SamSun所讲:“如果选择使用这些解决方案,你现在已将信任委派给第三方,你的用户也只能这样做”。这不是代码技术问题,这是经济逻辑和底层逻辑的问题,“写”这个动作或者“写”进去的数据没有得到全市场验证。我们来看一下NEST预言机的解决方案

NEST预言机方案采用了逆向验证的新思路,报价矿工要拿真金白银去参与报价,而不仅仅上传价格数据到链上合约中,在承担风险以及付出报价手续费的情况下,有成本的价格输出才是值得考量的,并且需要经过市场区块验证。有关NEST预言机的具体运行机制,我们以ETH/USDT价格为例进行说明:1、任意参与者可以将自己认可的价格传入到报价合约,比如1ETH=400USDT,然后将这两种资产按照价格比例,打入到报价合约里,初始是30ETH的规模,并收取ETH规模的0.3%作为手续费,进行挖矿,获得NEST激励;2、打进去后,等待T0时间,这个时间周期内任何人可以用报价者的价格去买走ETH或者USDT,如果T0内没有人成交,则该报价被系统录用,有人成交则该价格无效。超过这一时间,资产即可取回;3、如果有人愿意与报价者成交,那么他成交的同时,也要按照上述标准报一个新的价格进去,这样就在初始报价P0后面形成p1、p2…价格链。4、成交者的报价规模,是他成交规模的beta整数倍,其中beta>1,这意味着价格链一定会随着规模的扩大而最终终止,并且作恶者的成本几何级增长,从而对抗攻击行为。5、NEST价值:挖矿手续费及使用预言机需要支付一定的ETH费用,统一到分红合约,分配给所有的流通NEST持有人。这样的NEST分布式价格事实预言机方案在具体结果上的表现为:其数据具备准确性、灵敏性、抗攻击性,而且能够对数据进行直接验证,且验证者可以是任意第三方,没有门槛限制;此外,NEST预言机网络系统是高度分布式的,任何人都可以成为报价矿工,参与报价挖矿,自由进入或退出。在NEST报价机制里面,你用真金白银去写入的价格,要交给全市场验证,只有活过25个区块的价格数据才会被NEST预言机系统录入,仅仅这一点,闪电贷攻击就无法实现,因为闪电贷必须在一个区块内及时还款,若想操控NEST预言机,几乎不可能。最后,我们对当前的预言机现状和发展趋势做一个小结:1、中心化的预言机方案必然存在着中心化系统风险,且无法摆脱。2、价格数据上链的本质不是往链上“上传”数据信息,而是要在链上形成价格事实;不管是中心化的上传价格信息,还是以去中心化的方式上传,都意味着链下价格事实先于链上产生。而真正的预言机系统,应该要做到链下价格事实同步产生于链上。3、NEST分布式价格事实预言机给出了一个开创性的预言机方案,其独特之处在于:直接在链上形成一个价格事实,而其他间接预言机系统则只是往链上传了一个价格事实,这是本质差异!4、此外,预言机价格形成的成本和信用规模,要能够支撑远超过该规模的DeFi,才是正确的预言机;NEST分布式价格事实预言机产生的每一条数据都是矿工用真金白银去验证的,且其链式结构具备高抗攻击性。希望更多的DeFi生态科学家正视预言机问题,共同参与预言机这一基础设施的建设,和维护基础设施的网络安全,促进DeFi生态繁荣发展,使其具备能够承载万亿美金市场的可能性。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-3:603ms