我该用现货价格作为预言机吗?
不!
因为,你可以试试下面几个预言机。
Uniswap?TWAP
概述
UniswapTWAP预言机适用于任何在UniswapV2或V3上有交易对的代币,帮助用户在一定条件下计算相关数字资产特定时间段内的平均价格。
何时使用
如果您的代币已经在UniswapV2或V3上线,并且具有足够的交易者活动和流动性,那么请使用UniswapTWAP预言机。换句话说,正常情况下,如果有套利机会,交易者会快速捕获价格信息以重新平衡流动性资金池。如果情况并非如此,可能是「攻击者」在扭曲价格,你也只能耐心等待TWAP更新喂价信息。
潜在风险
使用UniswapTWAP必须选择使用时间间隔,这可能是个很棘手的问题。因为:
Kusama或将通过议会提案,在本轮插槽竞拍中新增一个槽位:据Kusama官方推特,有社区成员提交了在本轮插槽竞拍中新增一个槽位的提案,目前议会成员正在讨论该提案的可行性,如果投票通过,则将在本轮插槽竞拍结束时(10月6日)立即开启一个新的插槽竞拍。
目前正在争夺最后一个插槽的项目为Heiko(Parallel先行网)与 Kintsugi(Interlay先行网),KSM持有者可以通过Polkadot JS直接参与竞拍或者通过Bifrost SALP以vsKSM衍生品的方式参与竞拍,此外,Bifrost已于9月29日22时推出vsKSM Farming功能。[2021/9/30 17:18:13]
如果将时间间隔设置更短,意味着您可以更快看到喂价数据更新,但也降低了操纵预言机的攻击成本。
如果将时间间隔设置更长,意味着操纵平均价格变得更加困难,但也意味着您将无法对市场的波动及时做出反应。
首批Kusama插槽竞拍奖励已发放:北京时间6月16日15:00,Crust发放了Kusama插槽竞拍首批奖励,对支持Crust Shadow的4610.44159个KSM总共发放奖励322.73091个CRU和64546.18236个CSM。Crust Shadow 于6月9日启动众贷,北京时间6月16日14:00进行快照,在此时间前完成KSM锁仓均可获得奖励,每个KSM可获得0.07个CRU和14个CSM奖励。
在Crust Shadow的竞拍奖励机制中,众贷期间奖励采用定时快照的形式每周发放,无论竞拍是否成功支持者都可获得奖励。
Crust下次奖励的快照时间为北京时间6月23日14:00,奖励将于当日发放。[2021/6/16 23:40:41]
示例实现
对于UniswapV2,可以参阅?GitHub?以获取24小时TWAP预言机的示例实现。
TokenPocket钱包正式发布Polkadot、Kusama版本:据官方消息,12月25日,TokenPocket钱包正式发布Polkadot、Kusama版本。更新版本后,用户即可在TP钱包进行Polkadot、Kusama账号注册、交易转账、提案投票,质押,生态治理等基础功能。
同时,所有基于Substrate框架开发的平行链TokenPocket都能做到快捷支持,无需发布新版本,即可实现“一键支持平行链”,满足该链的交易转账,提案,治理等核心功能。平行链竞拍开启后,不论项目方或用户都可以使用TokenPocket进行DOT/KSM质押,参与插槽拍卖。
多链数字资产钱包TokenPocket已为全球近千万用户提供可信赖的数字资产管理服务,用户遍布全球一百多个国家和地区,日活用户超过20万。TokenPocket已成为BTC、ETH、TRON 、EOS 、BSC、HECO等公链上具备竞争力的钱包。TokenPocket内置DApp应用商店,支持UniSwap、JustSwap、MakerDAO、Organix等上千款去中心化金融(DeFi)。[2020/12/26 16:34:37]
对于UniswapV3,可以参阅?GitHub?以获取可以集成到项目中的代码库。
动态 | 波卡实验网络Kusama将在下星期四由PoA转为PoS:Web 3已经向申请并通过KSM Grant的团队发放KSM。波卡实验网络Kusama将会在下星期四从PoA转PoS。波卡的v0.6.3 版本也会将在下周一或二发布。[2019/10/20]
Curve?VirtualPrice
概述
Curve流动性池提供了一种功能,能够用「抵御」闪电贷的方式计算出单个LP代币的价格。
何时使用
如果您需要计算CurveLP代币的价格,可以使用get_virtual_price函数。
潜在风险
除了Curve流动性池支持的每个代币存在依赖风险之外,没有其他风险。
示例实现
如果你想了解更多相关信息,请参阅?Curve文档。
Maker?PriceFeed
概述
Maker运营着自己的喂价网络,他们会将数据公开给链上白名单合约,其他项目可以通过治理流程向Maker申请访问价格数据。
何时使用
如果您认为可以通过治理流程,并且希望将你的预言机风险转移给Maker预言机团队,那么可以使用Maker的PriceFeed。
潜在风险
您需要信任Maker团队和匿名喂价数据才能正确运行、使用PriceFeed,然而,鉴于Maker本身依赖于这些预言机,因此在实践中的风险其实很低。此外,由于喂价数据运营商需要手动提交链上价格,因此在链上拥堵非常严重的时期,价格数据更新可能会出现延迟。
示例实现
向?MakerGovernance?提交?MIP10c9?子提案
Chainlink
概述
Chainlink在以太坊主网上支持超过100个代币的喂价,主要用于ETH交易对和美元交易对,开发人员只需在需要时查询智能合约,即可免费访问这些数据。
何时使用
对于Maker或Uniswap不支持的加密资产而言,如果您需要了解这些资产的定价数据,或者你的项目无法接受TWAP预言机延迟,那么可以使用Chainlink。
潜在风险
与Maker类似,您需要信任Chainlink团队和节点运营商才能正确运行、使用Chainlink。Chainlink还要求节点运营者在链上操作,因此在链上拥堵比较严重的时期也可能会出现延迟。
示例实现
如果你想了解如何从Chainlink聚合器智能合约获取价格的示例,请参阅?Chainlink文档。
关于该话题的关键问题
1.为什么我不能直接使用现货价格?
这取决于您使用现货价格的目的,您可能想用它来计算某些用户存入平台的资产价格,这意味着要确保用户不能就资产的真正价值向您撒谎——这点至关重要。
不幸的是,根据定义,只要有人买卖资产,现货价格就会发生变化。这意味着攻击者可以轻松地使资产的表观价值远高于或远低于资产的真实价值。对于使用现货价格来计算用户借贷能力的协议而言,如果作为抵押品存入的资产价值被人为夸大,意味着整个协议可能最终被榨干。
2.如何判断我是否使用现货价格?
事实证明,如果您使用现货价格,效果可能不会被立即显现出来。
举个例子,如果您想找到WBTC兑ETH的价格。一个看似简单的解决方案是使用UniswapV2里的ETH/WBTC交易对,抓取ETH和WBTC的储备金余额,然后将两者分开。但是,由于你计算的其实是现货价格,因此攻击者可以通过在流动性池内买入或卖出资产,这样交易对价格就能轻松被操纵了。
当然,这看起来相当简单,如果你真的想计算单个ETH/WBTC流动性池的LP代币价格时,又该怎么办呢?当你想要计算ETH/WBTC流动性池的美元总价值时,一个简单的做法是分别计算ETH和WBTC的美元价值。但是,这样做,本质上其实已经在考虑现货价格了,因为你仍然依赖于流动性池的准备金余额。这是一个极其微妙的细节,但许多项目可能都采用这种计算方式。如果您想了解更多这方面的信息,可以参阅这篇?文章。
最后要说的是,你可能正在使用一个没有在本文中列出的预言机,实际上,本文提到的这四个预言机并没有覆盖市场上的全部预言机,也不意味着它们是市场上最好的四个预言机。
撰文:Samczsun,著名安全专家、区块链投资机构Paradigm研究合伙人翻译:卢江飞
来源链接:shouldiusespotpriceasmyoracle.com
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。