从基础 TWAP 看 Crypto-Native 预言机未来

Foresight Ventures发布于2022-09-10更新于2022-09-10

文章摘要

在未来,一个完美的预言机需要完全来自链上的可验证数据源(那么就是基于 TWAP)且支持多链,以及通过 ZK 或完全链上可信计算进行数据获取和处理。

Oracle 原理与问题

区块链的数据来源有两个:一个是链上数据(如地址持有的 ETH 的数量),另一个是链下数据(如 ETH 现在在交易所的价格)。要获取后者,就需要预言机将这个数据告诉给合约。

为什么互联网也需要有 「网下」 数据,但没有预言机问题呢?因为区块链上的数据需要经过共识,因此预言机上传上来的数据也需要是可信的,而互联网 (Web2) 上的数据其实本身都是中心化的。

预言机所需要解决的是从数据源到处理到喂价的信任问题,通常不是数据本身的问题。

链下 Oracle

预言机的信任问题包含了数据源与数据获取与喂价, 针对它们分别有以下解决方案:

a) 数据源: 可信联盟 / 去中心化网络

我认为数据源可信是预言机信任问题最重要的一个点,但是这些数据很多都是链下的,链下的数据其实是无法证明是完全可信的,就像你无法证明 ETH 的价格一定是某个值一样。 无论是采用可信联盟还是去中心化预言机网络,都无法生成一个完全没有套利空间或者 OEV 的价格。

唯一能解决数据源可信问题的就是在未来如果流动性和经济活动大部分都聚集在链上,而不是交易所的时候,去完全采用链上预言机 (Uniswap TWAP),这样可以保证数据源是 「Crypto-native」 和完全可信可验证的。

b) 数据获取与喂价: 可信计算

Town Crier 使用 SGX 来保证数据的获取可信; Empiric 使用 StarkNet 上的合约来保证数据的获取和计算可信,且数据源会直接讲价格数据发送到 StarkNet 上的其他合约中,从而达到第一手数据,保证数据源的可信度; Redstone 通过 SmartWeave 智能合约让任何人都可以成为数据处理者,且使用 Arweave 存储价格数据从而保证数据可信和可以在事后被验证; Chainlink 使用 Chainlink 网络的链上聚合合约来计算出数据结果,再发送到区块链上。

任何应该上链的应用最终都会被上链,这样才能满足区块链透明化,可验证,无需准入门槛,去中心化的特点。

完全链上化的价格预言机会彻底解决数据源和数据获取与喂价问题,让 DeFi 应用给所有人带来经济活动上的自由。

TWAP(Time-Weighted Average Price)

TWAP 是 Uniswap 所推出的价格预言机。 它的数据源完全来自 Uniswap 协议自身的交易数据,数据的获取和处理也是完全在链上进行,开发者也可以直接在链上使用 Uniswap TWAP 进行代币价格计算。

TWAP 的原理是基于每个区块的最后一笔 tx 时的代币价格,结合区块时间,计算出协议整个历史中一个代币的价格总和,从而使用时可以重新计算出一个平均价格。

使用最后一笔 tx 时的价格,是为了让攻击者的攻击成本不可预测,从而增加预言机安全性。 因为就算攻击者在一个区块的最后一笔交易中控制了价格,他也无法预知下一个区块中的相关活动的排序等信息。 根据链上分析,这种跨区块的攻击还没有发生过。(剧透一下,PoS 好像就不一定,后文会说)。

加入时间的变量,是为了进一步增加攻击成本,通过牺牲对即时价格的反映,保持价格的整体稳定性和安全性。

Uniswap V2 TWAP

V2 TWAP 的使用可以是直接拿到一个时间段内的总价变化,除以设定的时间段 t,就可以得出一个平均价格,作为代币的价格。 每隔一段时间(不一定是 t,可以用滑动窗口算法,延迟就更小),则重新获取最新时间段内的价格。

对于 TWAP 来说,时间参数越长,更新越慢,但安全性越高,因为价格操纵的成本基本上就是时间区间内在每个区块上套利和发送交易的开销。

Uniswap V3 TWAP

V2 TWAP 是用时间段内的总价 (price * time),V3 是时间段内的总 tick (tick * time)。

V2 中我们提到了要每隔一段时间去重新获取价格,这可能就需要 Keeper 的参与,Uniswap V3 解决了这个问题。

V3 直接通过一个可定义长度(视需求和网络时间戳行为不同而定)的数组来存储区块时间戳和总 tick,当合约产生 Swap 等交互时,这个数组就会被更新,无需 Keeper 的主动触发。

除此之外,使用时还需要把 tick 转换成价格,稍微比 V2 难用一点。

TWAP 的限制

既然 TWAP 那么好用,那么可信且可验证,完全去中心化,那为什么 Chainlink 被如此广泛采用呢?

写本文的动机其实就是看到了推特上有人说,Euler Finance 从 TWAP 切换到 Chainlink 是一种升级(注意此人 ID… = =)。

他称 TWAP 是非常不安全的,因为 PoS 之后可以进行多区块的预言机操控,这个其实是可以完全被解决的。

相比之下,我认为 TWAP 完全去中心化和完全链上操作的优点会比 Chainlink 好很多,在长期看来,如果没有显著的需求上的差别(比如你要把天气数据搬到链上),那么最好的选择还是 TWAP。

TWAP 和 Chainlink 的对比如下:

TWAP 被全面碾压,但我个人认为,去中心化和安全性是 1,而其他的因素是 0,完全链上化是一种趋势。 任何人都可以做一条比以太坊快非常多,便宜非常多,支持更多语言的智能合约平台,但却无法杀死以太坊。

PoS 后 TWAP 的风险

ChainLinkGod 所说的 PoS 网络中对 TWAP 预言机的攻击问题,Euler Finance 的工程师自己就知道潜在解决方案,Uniswap 的工程师也考虑到了。

PoS 后,因为出块者可预测了,所以更容易结合以下方式进行多区块攻击:

大 Validator 可能被连续分配区块

通过 Flashbot 来发送 Private tx

Multi-block bundle

PoW 和 PoS 的不同情况下,针对 V3 ETH/USDC 交易对的 30 分钟时间窗口 (144 个区块)的 TWAP,要操纵价格造成 30% 的波动,需要以下成本:

PoW: 23.7 万亿美元

PoS(连续控制窗口内 2 个区块情况下): 23.7 万亿美元

PoS(连续控制窗口内 3 个区块情况下): 95 亿美元

PoS(连续控制窗口内 5 个区块情况下): 1.03 亿美元

控制越多区块,操纵的成本就显著地越低,那么解决方案是啥呢?

暂时性解决 PoS 后 TWAP 的操纵风险的方法是:

选择更大的时间窗口

选择流动性更好的池子。

完全解决 PoS 后 TWAP 的操纵风险的方法是:

用 Median 而不是 Average。

这样操纵者就需要控制超过半数的区块,才能操纵价格,对比上面的情况,就需要控制 73 个区块,这个数字应该大到无法表述了。

未来的预言机

我认为在未来,一个完美的 预言机」 需要:

完全来自链上的可验证数据源(那么就是基于 TWAP),且支持多链。

通过 ZK 或完全链上可信计算进行数据获取和处理。

但是这些可能就需要处理以下几个现存或将会出现的小问题:

满足种类,精度,时效性需求的链上数据(当然 Chainlink 等一样有价格延迟的问题,而且本身就是为了数据安全性而牺牲时效性)

彻底解决 TWAP 数据源价格操纵(更深的池子,更大的窗口,使用中位数而不是平均数)

整个预言机信任短板的消除(多签?网络去中心化程度?不靠谱的 Fisherman 机制?)

数据的跨链获取与喂价,多链场景中链上数据的可信传输

数据源多样性(比如只用 Uniswap V2 或者 V3 不太好)

可信环境下执行的 Keeper(如果需要的话)

我相信在未来,越来越多的经济活动会发生在链上,越来越多的价格数据和交易对会存在于 DEX 上,Uniswap 也就可以提供更好的 TWAP,也就会有其他方案能基于 TWAP 实现我设想中的完美预言机,最终达成一个 100% 去中心化的金融系统。

你可能也喜欢

美光让空头闭嘴,也让印度「巴菲特」后悔:过早清仓,少赚20亿美元

印度知名价值投资人莫尼什·帕伯莱在访谈中复盘了自己最痛心的投资错误。他曾在2017年建仓美光科技,持有六年后于2023年9月清仓,仅获利约一倍。然而清仓后两年内,受人工智能热潮带动HBM(高带宽内存)需求爆发,美光股价暴涨超过15倍,帕伯莱因此错失了约20亿美元的潜在利润。他同样过早卖出了SK海力士的持仓。 帕伯莱表示,他当初深入研究过内存行业,认为三星、SK海力士和美光将形成稳固的寡头格局,利润可期,并就此逻辑请教过巴菲特和芒格。但2023年三星宣布扩产后,他误判行业供给逻辑被破坏而选择卖出,违反了“持有好公司应近乎永远”的原则。他对当前持有韩国半导体股票的投资者建议:“如果你已经持有,别卖。派对才刚刚开始。” 作为巴菲特的忠实信徒,帕伯莱分享了他的投资原则:绝对避免使用杠杆;关注企业护城河的持久性而非仅仅存在;审视管理层是热爱事业还是贪图金钱。但他也指出,对于超过99%的普通人而言,最好的投资方式就是购买指数基金。 最后,帕伯莱谈及自己的财富观,他认为财富超过一定限度后便失去实际意义,自己只是在“玩一场游戏”。他引述了一句格言:“财富失去了,什么都没失去;健康失去了,失去了一些;品格失去了,一切都失去了。”

marsbit3分钟前

美光让空头闭嘴,也让印度「巴菲特」后悔:过早清仓,少赚20亿美元

marsbit3分钟前

21shares 年中重磅报告:BTC 四年周期未破,稳定币与代币化成新增长引擎

21shares年中报告回顾了年初对2026年加密行业的十大预测,并评估其半年进展。总体认为行业从叙事驱动转向基本面驱动的方向正确,但进展不一。 核心结论包括: 1. **BTC四年周期未破**:价格走势仍遵循历史减半后模式,但市场结构更成熟,跌幅收窄,年末预期回升至10万美元附近。 2. **加密ETP规模下降**:受价格影响,全球资产管理规模(AUM)从1720亿降至约1400亿美元,但产品创新与机构采纳仍在推进。 3. **稳定币增长稳健**:总供应量约3200亿美元,持续创新高,显示需求不再依赖市场周期,但万亿美元目标达成需更长时间。 4. **DeFi增长受安全事件拖累**:总锁仓价值(TVL)维持在约1400亿美元,未达预期,主要因频繁安全事件打击信心,资金向有真实收入的协议集中。 5. **企业加密国库整合加速**:持仓BTC总量超128万枚,但总价值约1000亿美元。弱者正被淘汰,强者通过收购整合。 6. **预测市场超额完成**:半年交易量已达575亿美元,超全年千亿目标半数,下半年重大事件有望推动再创新高。 7. **AI代理经济仍处早期**:基础设施就绪,但大规模应用和交易量(千万美元级)尚未爆发,属于打基础阶段。 8. **以太坊L2集中化加剧**:前5大L2占据近90%日活用户,多数小规模扩展方案正被淘汰,整合持续。 9. **合规代币发行平台就绪**:基础设施完善,标杆案例出现,但融资规模受传统股市高回报分流影响,尚未成为主流渠道。 10. **代币化资产快速增长**:公链分发价值约310亿美元,但机构内部“表示”上链的资产价值更高。核心市场基础设施(如DTCC)开始行动,为未来增长铺路。

marsbit1小时前

21shares 年中重磅报告:BTC 四年周期未破,稳定币与代币化成新增长引擎

marsbit1小时前

交易

现货
合约
活动图片