一张100元纸币,可以做的事情非常多,买早餐,买菜,炒股,旅游,折纸飞机甚至是当壁纸贴到墙上。功能太多,反而衍生出了各种各样的不同形式的钱。比如说存放在银行卡里的数字,存放在诸如支付宝一类应用中的数字,存放在股票基金里的数字,或是借条上的一句话。闪电贷作为新型金融产品,被认为是金融领域区块链应用的一大跳跃式进步。闪电贷将借贷部分属于钱的形式功能“剥离”而出,资金可以几乎不受阻碍的从一个协议流向另一个协议,从一类资产流向另一类资产,这大大提高了单一功能的效率。然而对于用户的便利也使得它往往有空可钻,黑客使用起来简直可以称得上是“一本万利”甚至是“无本万利”。2020年,闪电贷攻击频发,成为安全事故中的“新常态”。北京时间12月17日上午,CertiK安全技术团队收到闪电贷攻击预警,发现一笔针对WarpFinance项目的闪电贷攻击。CertiK安全技术团队立即展开分析,现将技术细节分析如下:1.通过闪电贷,攻击者从uniswap和dydx处共借得5笔贷款,每笔借出的WETH和DAI数目如下:
谷燕西:Diem推出将大幅增加稳定币市场流动量,促进基于稳定币金融业务开展:12月8日,区块链和加密数字资产研究者谷燕西发表专栏文章称,互联网技术和区块链技术的应用发展正在使得未来的银行服务能够以更广泛的方式,由不同类型的提供者提供。他表示,目前市场中的数字稳定币如PAX,USDC和即将推出的Diem美元稳定币都是在不同的区块链支持的基础上运行流通的。这些数字美元稳定币都是按照同美元1:1的方式来产生。其所依据的美元储备托管在有托管机制机构当中。链上依据这些数字稳定币提供各种金融服务的实体,也就不再局限于银行。非银行机构,个人用户,甚至是互联网上的硬件都可以提供某一种银行服务。谷燕西在文中还指出,预期的Diem数字美元稳定币在2021年中的推出会大幅增加数字稳定币在市场中的流动量。基于这些数字稳定币的金融业务因此也会更多地开展起来。更为重要的是,这些新产生的数字稳定币都是在合规的前提下运作的,因此基于这些稳定币的各种应用就可以没有合规方面的顾虑。[2020/12/8 14:32:29]
谷燕西:欧洲财长们或应考虑同科技公司合作制定Libra应对策略:9月14日,区块链和加密数字资产研究者谷燕西发表专栏文章称,欧洲的财长们或许应该换个角度考虑对Libra应对的策略。他表示,欧洲的财长们应该调整其策略,允许像Libra这样的数字稳定币在一个可控的范围内运行。这样就能对数字稳定币对货币市场带来的影响有更准确的认识,也有助于其开发出更能满足市场需求的欧元CBC。从技术应用发展带来的趋势来看,科技公司在一些方面比商业银行更具有实现中央银行货币政策的优越性。因此欧洲的财长们或许应该考虑如何更好的同科技公司合作,而不是将它们作为对立面而排斥了。[2020/9/14]
表一:攻击流程中闪电贷借出的代币种类和数目2.攻击者将借贷所得代币放入uniswap的WETH-DAI流动性池中,铸造得到约94349个流动性证明LP代币,然后将所有的这些LP代币通过调用图一中位于0x13db1cb418573f4c3a2ea36486f0e421bc0d2427地址WarpVaultLP智能合约中provideCollateral()函数存入到WarpFinance的Vault中。
声音 | 谷燕西:未来非常有可能出现由全球合规券商联合成立的数字资产交易所:7月22日讯,今日,CBX研究院院长谷燕西在《Libra,对证券行业的侧击》一文中表示,未来非常有可能出现的一个数字资产交易所是由全球合规券商联合成立的一个交易所。这个交易所采用集中化撮合和分布式清算的模式进行运营,这样的交易所因此就能支持更多的数字资产在此挂牌交易和服务范围更广的交易用户,这样的一个交易所因此就能兼具目前加密数字货币交易所在全球范围内经营的优势,同时通过技术手段来保证用户的资产安全。[2019/7/22]
图一:WarpVaultLP智能合约中provideCollateral()函数3.当攻击者在WarpVaultlp合约中存入LP作为collateral之后,调用位于0xBa539B9a5C2d412Cb10e5770435f362094f9541c地址处的WarpControl智能合约中的borrowSC函数来从warp项目中借出USDC,如图二所示。
图二:WarpControl智能合约中的borrowSC()函数图二中1582行中的getBorrowLimit()函数会通过调用同一合约中的getTotalAvailableCollateralValue(),来间接调用oracle的getUnderlyingPrice()函数来获得当前攻击者存入的collateral的价格,
图三:WarpControl智能合约中调用的价格预言机地址通过查看价格预言机oracle地址的值,可以发现WarpControl智能合约调用了位于0x4A224CD0517f08B26608a2f73bF390b01a6618c8地址的UniswapLPOracleFactory智能合约作为计算质押资产的价格预言机oracle。通过调用oracle其中的getUnderlyingPrice()函数来计算价格,getUnderlyingPrice()函数如图三所示。
图四:UniswapLPOracleFactory智能合约中getUnderlyingPrice()函数getUnderlyingPrice()函数在1390和1394行执行了图5中的consult()函数并在1404行执行了图6中的_calculatePriceOfLP函数来计算价格。其中输入_calculatePriceOfLP函数的参数priceAsset1和priceAsset2来自consult函数。
图五:UniswapLPOracleFactory智能合约中consult()函数
图六:UniswapLPOracleFactory智能合约中_calculatePriceOfLP()函数从以上两图中可以看出,攻击者质押的collateral可以借出的usdc数目或者价格的计算公式为:(token0的价格*token0的数目+token1的价格*token1的数目)/当前合同中LP代币的供给量但是由于(token0的价格*token0的数目+token1的价格*token1的数目)这一部分无法正确计算出当前uniswap中对于token0-token1代币对LP的总共锁定价格,因此计算出的攻击者存入的collateral可以借得的USDC的数目比正常情况多。利用WarpFinance项目使用的oracle计算质押的LP代币资产价格错误的漏洞,最终攻击者从Warpfinance项目中获利约1462枚ETH代币,总价值约95万美元。此外,攻击者还mint了价值大约600万美元的DAI-ETHLPshare,还有约100万美元的获利流入了uniswap和sushiswap的LP中。总体来看,在本次攻击中,Warpfinance遭受的损失大约为770万美元。值得一提的是,WarpFinance提到他们能够recover大约550万美元的损失,并将recover的资金用于补偿用户。
来源:https://twitter.com/warpfinance/status/1339751977836789767CertiK安全技术团队认为这一次攻击特点在于攻击者采用了多种多次闪电贷来提供攻击所用启动资金,并利用了当前热门的预言机价格计算漏洞来进行攻击。针对此类攻击,CertiK安全验证团队建议如下:1.接入chainlink等完善的第三方价格预言机对所有代币价格提供实时价格数据2.在智能合约内部建立细致的价格监控程序,对任何可能产生巨大波动的交易进行管制或者阻止。欢迎搜索微信关注CertiK官方微信公众号,点击公众号底部对话框,留言免费获取咨询及报价!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。