什么是预言机?
预言机是提供特定问题答案的外部数据源,例如:“过去24小时纽约的温度是多少”。
预言机的一个子集是价格订阅,例如:“ETH和wBTC的兑换价格是多少”。?
为什么我们需要预言机?
并非所有的数据都可以在链上提供,如果可以在链上提供,那么也并不是所有的数据都是可信的,举两个例子:
Bob和Alice就掷硬币的结果打,Bob说是正面,Alice说是反面。下注时他们都锁定了他们的ETH。如果Bob是这个对结果的预言机,Bob在合约中输入“heads”,Bob赢了,但Alice会相信这个结果吗?拥有外在的、安全的预言机是很重要的。?
Bob同意卖给Alice1个ETH,Bob创建了一个智能合约,从Alice那里获得DAI,并根据Uniswap上ETH兑DAI的价格给她1ETH。目前的价格是400DAI=1ETH,当Alice调起合约时,合约要求从Alice那里转出4000DAI,因为Bob在合约中增加了一笔闪电贷,以提高ETH的成本。因此,拥有防篡改的预言机是很重要的。
什么是Uniquote预言机?
不同的最终结果需要不同的产品,如果你正在使用高可用资产(如ETH,BTC...),并需要最佳的安全性,你应该使用Chainlink预言机。?
这里有一些限制:
资产的可用性
ETH价格时效性与交易时效性
成本
对于像yearn.finance的UniswapLP非永久性损失对冲产品,或者year.finance的Uniswap借贷,我们需要一个具有以下特点的解决方案:?
接受Uniswap的任何资产交易
安全与数据时效性?
你可以在这里阅读更多完整文档,你可以在这里查看可用的喂价源。
欲了解最新价格,你可以在合约中直接调取:?
Uniquote.current(WETH,1e18,WBTC);?
虽然上述调用具有较高的数据时效性,但安全性较低,开发者只需操作2个数据点就可以影响喂价,因此为了更高的安全性,你可以使用:?
Uniquote.consult(WETH,1e18,WBTC,granularity);?
granularity就是读数量,所以granularity=48就是过去24小时的平均价格,更安全,但数据的时效是24小时。?
原文标题:Keep3rNetwork:On-chainOraclepricefeeds
作者:AndreCronje
翻译:Typto
翻译机构:DAOSquare
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。