我该用现货价格作为预言机吗?
不!
因为,你可以试试下面几个预言机。
Uniswap TWAP 预言机适用于任何在 Uniswap V2 或 V3 上有交易对的代币,帮助用户在一定条件下计算相关数字资产特定时间段内的平均价格。
如果您的代币已经在 Uniswap V2 或 V3 上线,并且具有足够的交易者活动和流动性,那么请使用 Uniswap TWAP 预言机。换句话说,正常情况下,如果有套利机会,交易者会快速捕获价格信息以重新平衡流动性资金池。如果情况并非如此,可能是「攻击者」在扭曲价格,你也只能耐心等待 TWAP 更新喂价信息。
使用 Uniswap TWAP 必须选择使用时间间隔,这可能是个很棘手的问题。因为:
如果将时间间隔设置更短,意味着您可以更快看到喂价数据更新,但也降低了操纵预言机的攻击成本(the cost of attack)。
沃伦提出旨在打击俄罗斯的加密货币制裁法案:金色财经报道,随着俄罗斯继续入侵乌克兰,美国参议员伊丽莎白·沃伦提出了一项新法案,将加强和扩大对俄罗斯、其实体和个人的制裁,特别是在使用加密货币方面。今天,马萨诸塞州参议员在参议院银行委员会听证会上提出了《2022年数字资产制裁合规强化法案》。该法案强化了美国总统拜登(JoeBiden)和美国政府对使用俄罗斯地址进行交易的交易所采取行动的能力,以及其他条款。该提案将赋予美国财政部长珍妮特·耶伦“明确的权力”,阻止美国加密货币交易所和支付运营商为已知或有理由相信位于俄罗斯境外的钱包提供交易便利。此外,该法案赋予拜登对通过加密货币帮助俄罗斯个人和实体逃避制裁的俄罗斯行为者实施二级制裁的能力。(decrypt)[2022/3/18 14:04:45]
如果将时间间隔设置更长,意味着操纵平均价格变得更加困难,但也意味着您将无法对市场的波动及时做出反应。
对于 Uniswap V2,可以参阅 GitHub 以获取 24 小时 TWAP 预言机的示例实现。
Chainlink专项支持Protofire项目将Chainlink预言机集成到IoTeX主网:据官方消息,近日,ChainlinK赞助Protofire 开发团队一笔开发资金,专项支持Protofire项目将 Chainlink 预言机集成到 IoTeX主网,助力IoTeX即将上线的机器金融#MachineFi。
借助 Chainlink 的去中心化预言机技术,IoTeX 开发人员将能够构建更高阶的混合智能合约应用程序,这些应用程序可以访问现实世界的数据和链下计算。 很快,开发人员将能够使用 Chainlink Price Feeds 保护 DeFi 产品,使用来自 Chainlink VRF 的安全随机数生成器 (RNG) 构建区块链游戏应用程序,并通过Chainlink Keepers 使用链外输入自动化智能合约。
IoTeX作为硅谷开源项目成立于2017年,以链接现实世界和数字世界为愿景,是与以太坊全兼容的高性能公有区块链。[2021/11/6 6:35:09]
对于 Uniswap V3,可以参阅 GitHub 以获取可以集成到项目中的代码库。
HECO首个DAO治理方案,在FilDA社区链上投票通过:2月5日20:00,FilDA 社区以400多万赞成票投票通过 FilDA DAO,这意味着此后FilDA平台的重要决策都将通过DAO治理流程由社区成员投票决定。
DAO Pool针对路线图进行投票及重大事项的投票,FilDA持有者将FilDA质押到DAO Pool后,即可获得DAO治理的投票权,并仍将获得原保险池的FilDA激励。
据了解,FilDA作为HECO上的借贷项目,目前平台存借款总额高峰值突破3.7亿美元,FilDA LP超过585万美金,位居HECO项目前三甲。[2021/2/5 19:00:38]
Curve 流动性池提供了一种功能,能够用「抵御」闪电贷的方式计算出单个 LP 代币的价格。
如果您需要计算 Curve LP 代币的价格,可以使用 get_virtual_price 函数。
除了 Curve 流动性池支持的每个代币存在依赖风险(dependency risk)之外,没有其他风险。
如果你想了解更多相关信息,请参阅 Curve 文档。
Maker 运营着自己的喂价网络,他们会将数据公开给链上白名单合约(whitelisted contracts on-chain),其他项目可以通过治理流程向 Maker 申请访问价格数据。
如果您认为可以通过治理流程,并且希望将你的预言机风险转移给 Maker 预言机团队,那么可以使用 Maker 的 Price Feed。
您需要信任 Maker 团队和匿名喂价数据才能正确运行、使用 Price Feed,然而,鉴于 Maker 本身依赖于这些预言机,因此在实践中的风险其实很低。此外,由于喂价数据运营商需要手动提交链上价格,因此在链上拥堵非常严重的时期,价格数据更新可能会出现延迟。
向 Maker Governance 提交 MIP10c9 子提案
Chainlink 在以太坊主网上支持超过 100 个代币的喂价,主要用于 ETH 交易对和美元交易对,开发人员只需在需要时查询智能合约,即可免费访问这些数据。
对于 Maker 或 Uniswap 不支持的加密资产而言,如果您需要了解这些资产的定价数据,或者你的项目无法接受 TWAP 预言机延迟,那么可以使用 Chainlink。
与 Maker 类似,您需要信任 Chainlink 团队和节点运营商才能正确运行、使用 Chainlink。 Chainlink 还要求节点运营者在链上操作,因此在链上拥堵比较严重的时期也可能会出现延迟。
如果你想了解如何从 Chainlink 聚合器智能合约获取价格的示例,请参阅 Chainlink 文档。
1. 为什么我不能直接使用现货价格?
这取决于您使用现货价格的目的,您可能想用它来计算某些用户存入平台的资产价格,这意味着要确保用户不能就资产的真正价值向您撒谎——这点至关重要。
不幸的是,根据定义,只要有人买卖资产,现货价格就会发生变化。这意味着攻击者可以轻松地使资产的表观价值(apparent value)远高于或远低于资产的真实价值。对于使用现货价格来计算用户借贷能力的协议而言,如果作为抵押品存入的资产价值被人为夸大,意味着整个协议可能(并且将会,正如许多黑客所表明的那样)最终被榨干。
2. 如何判断我是否使用现货价格?
事实证明,如果您使用现货价格,效果可能不会被立即显现出来。
举个例子,如果您想找到 WBTC 兑 ETH 的价格。一个看似简单的解决方案是使用 Uniswap V2 里的 ETH/WBTC 交易对,抓取 ETH 和 WBTC 的储备金余额,然后将两者分开。但是,由于你计算的其实是现货价格,因此攻击者可以通过在流动性池内买入或卖出资产,这样交易对价格就能轻松被操纵了。
当然,这看起来相当简单,如果你真的想计算单个 ETH/WBTC 流动性池的 LP 代币价格时,又该怎么办呢?当你想要计算 ETH/WBTC 流动性池的美元总价值时,一个简单的做法是分别计算 ETH 和 WBTC 的美元价值。但是,这样做,本质上其实已经在考虑现货价格了,因为你仍然依赖于流动性池的准备金余额。这是一个极其微妙的细节,但许多项目可能都采用这种计算方式。如果您想了解更多这方面的信息,可以参阅这篇 文章。
最后要说的是,你可能正在使用一个没有在本文中列出的预言机,实际上,本文提到的这四个预言机并没有覆盖市场上的全部预言机,也不意味着它们是市场上最好的四个预言机。
撰文:Samczsun,著名安全专家、区块链投资机构 Paradigm 研究合伙人翻译:卢江飞
来源链接:shouldiusespotpriceasmyoracle.com
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。