这次聊聊Uniswap的预言机,上次我们介绍的Chainlink属于通用预言机。

在Uniswap项目中,内置了一个预言机功能,算是专用吧,具有一定的特殊性。

Uniswap

Uniswap最近一年非常的火热,算是Defi的基石项目了。随着其V3版本的发布,

会吸引越来越多的做市商。这里介绍一个Blog。可以作为Uniswap的入门资料。

Uniswap的Oracle

之前讲的Chainlink的预言机,使用者大多关注当前价格,少量场景也需要历史价格。

Uniswap的Oracle是提供时间加权平均价,并且可以随意指定周期。设计出这样的Oracle,

主要是为了抵御价格操纵闪电贷之类的攻击。在目前的Defi项目中,这类需求还是比较普遍的。

我个人觉得Uniswap的Oracle时间加权思路是不错的,但不适合普及使用。比如标的非常有限、

存储数据的精度问题等等。但是提供的按照时间二分查找的功能是Chainlink所缺少的。

通用化EMA指标预言机

在清算类的业务中,一般使用指数类的价格,比如MA、EMA。期货合约的清算逻辑,

用来计算是否强制平仓的价格,就不会使用现货的当前价格,一般是EMA(5min)之类的。

主要是为了削弱价格剧烈波动导致的连锁爆仓反应。

如果提供一种类似EMA计算的指标价格预言机,我相信会对清算类的业务非常友好。

可以沿用现有预言机的大部分接口,没有数据精度问题,可轻松获取历史轨迹,作为独立

计算存储的合约,不与其他项目绑定,可重复利用现有“共识”预言机的结果,保证准确。

当然这样的方案相对Uniswap的Oracle会缺少一个周期的灵活性,但我个人认为这个不是

十分重要,大多数项目需要的周期都是可以协调的,而且固定。

最后

预言机的话题就告一段落,这个领域也算是刚刚起步,Chainlink也在快速发展中,希望能够

有更开放的社区,可以有更多的协作模式,让开发者参与共建。