Oracle原理与问题
区块链的数据来源有两个:一个是链上数据(如地址持有的ETH的数量),,另一个是链下数据(如ETH现在在交易所的价格)。要获取后者,就需要预言机将这个数据告诉给合约。
为什么互联网也需要有“网下”数据,但没有预言机问题呢?因为区块链上的数据需要经过共识,因此预言机上传上来的数据也需要是可信的,而互联网(Web2)上的数据其实本身都是中心化的.
预言机所需要解决的是从数据源到处理到喂价的信任问题,通常不是数据本身的问题.
链下Oracle
预言机的信任问题包含了数据源与数据获取与喂价,针对它们分别有以下解决方案:
a)数据源:可信联盟/去中心化网络
我认为数据源可信是预言机信任问题最重要的一个点,但是这些数据很多都是链下的,链下的数据其实是无法证明是完全可信的,就像你无法证明ETH的价格一定是某个值一样.无论是采用可信联盟还是去中心化预言机网络,都无法生成一个完全没有套利空间或者OEV的价格.
数据:zkSync跨链桥TVL突破100万枚ETH,约合19.4亿美元:7月15日消息,据Dune数据显示,以太坊Layer2扩容解决方案zkSync跨链桥TVL已突破100万枚ETH,现为1,001,896枚ETH(约合19.4亿美元),跨链桥地址总量为1,780,975个。其他以太坊Layer2扩容解决方案TVL方面,当前Arbitrum跨链桥TVL为2,654,917枚ETH、Optimism为558,882枚ETH、StarkNet为113,434枚ETH。[2023/7/16 10:57:33]
唯一能解决数据源可信问题的就是在未来如果流动性和经济活动大部分都聚集在链上,而不是交易所的时候,去完全采用链上预言机(UniswapTWAP),这样可以保证数据源是“Crypto-native”和完全可信可验证的.
b)数据获取与喂价:可信计算
TownCrier使用SGX来保证数据的获取可信;Empiric使用StarkNet上的合约来保证数据的获取和计算可信,且数据源会直接讲价格数据发送到StarkNet上的其他合约中,从而达到第一手数据,保证数据源的可信度;Redstone通过SmartWeave智能合约让任何人都可以成为数据处理者,且使用Arweave存储价格数据从而保证数据可信和可以在事后被验证;Chainlink使用Chainlink网络的链上聚合合约来计算出数据结果,再发送到区块链上.
第165次以太坊核心开发者执行会议:EIP-6466和EIP-6406是代码更改,不影响升级:金色财经报道,7月6日,在ACDE #165上,以太坊开发人员讨论了:对EIP-6466和6406的影响分析;Cancun/Deneb测试工作的进展;将构建器覆盖标志包含到引擎API中;以及EIP-4788规范中包含两个环形缓冲区。
首先,EIP-6466和EIP-6406是代码更改,将两个区块头字段transactions_root和receipts_root中的数据编码从RLP更新到SSZ。安全审计公司Dedaub对EIP-6466与EIP-6406的影响分析是为了确定这些代码更改对以太坊上已部署和积极使用的智能合约的影响。分析发现,SSZ更新将影响三个主要项目:LayerZero、zkBridge(跨链桥)和预言机。尽管这些应用程序受到影响,Dedaub总监Neville Grech表示,所有三个应用程序都可以升级,以适应通过EIP-6466和6406实施的代码更改。
关于Cancun/Deneb测试,以太坊基金会的DevOps工程师Parithosh Jayanthi表示,Devnet #7Cancun/Deneb升级已于6月30日星期五成功启动。测试网络正在顺利完成,并且已经发现了客户端实施中的一些问题。Jayanthi表示,一旦客户团队修复了未解决的问题,他将尝试在更长的时间内向网络发送Blob交易,以了解网络如何处理3个目标Blob/块的负载(从2个Blob的目标增加) /block在最后一个测试网期间。
关于将构建器覆盖标志包含到引擎API中,Teku (CL) 开发人员Mikhail Kalinin询问EL客户团队是否愿意接受坎昆升级中引擎API的更改。Kalinin要求客户团队在GitHub上审查构建器标志Engine API更改,如果他们反对在7月10日星期一之前将其纳入坎昆,请大声说出来。如果没有人反对这一更改,Kalinin表示他将合并必要的更改纳入引擎API规范,以便包含在Cancun/Deneb升级中,对引擎API的更改不会记录为EIP。
此外,EIP-4788引入一种新的预编译,这是一种具有成本效益的智能合约操作,它将在EL上公开有关CL的信息,以防止通过代码更改过度使用存储空间。此功能将解锁去中心化应用程序的许多用例,例如质押池和重新质押协议,这些应用程序将受益于对CL状态的信任最小化访问。以太坊基金会研究员Alex Stokes表示,该修改将合并到最终的EIP-4788规范中,以便在坎昆尽快实施。[2023/7/9 22:27:15]
任何应该上链的应用最终都会被上链,这样才能满足区块链透明化,可验证,无需准入门槛,去中心化的特点.
Sui生态域名服务Sui Name Service宣布已开启域名拍卖:金色财经报道,据官方消息,Sui生态域名服务Sui Name Service(SuiNS)宣布拍卖会正式开始,已经报名参加第一天的NFT空投的用户,敬请期待,将很快宣布空投日期。[2023/5/31 11:49:55]
完全链上化的价格预言机会彻底解决数据源和数据获取与喂价问题,让DeFi应用给所有人带来经济活动上的自由.
TWAP(Time-WeightedAveragePrice)
TWAP是Uniswap所推出的价格预言机.它的数据源完全来自Uniswap协议自身的交易数据,数据的获取和处理也是完全在链上进行,开发者也可以直接在链上使用UniswapTWAP进行代币价格计算.
TWAP的原理是基于每个区块的最后一笔tx时的代币价格,结合区块时间,计算出协议整个历史中一个代币的价格总和,从而使用时可以重新计算出一个平均价格.
数据:2022年加密投资产品AUM下降55%:金色财经报道,根据研究公司CryptoCompare的数据,2022年数字资产投资工具的资管规模(AUM)相比年初的峰值损失了55%以上。由于FTX崩盘和Binance可能存在问题的传言,数字资产投资工具的平均每周净流出量在12月达到近千万美元,这是自2022年6月以来的最高水平。其中,比特币和以太坊投资工具的资管规模分别较2022年3月和2022年4月的峰值下降了61%和62.1%。此外,交易员对ETF形式的加密投资产品最感兴趣。2022年12月,以ETF为代表的AUM增长5.96%至17.8亿美元,占总市场份额的9.11%。[2022/12/28 22:12:11]
使用最后一笔tx时的价格,是为了让攻击者的攻击成本不可预测,从而增加预言机安全性.因为就算攻击者在一个区块的最后一笔交易中控制了价格,他也无法预知下一个区块中的相关活动的排序等信息.根据链上分析,这种跨区块的攻击还没有发生过.(剧透一下,PoS好像就不一定,后文会说).
加入时间的变量,是为了进一步增加攻击成本,通过牺牲对即时价格的反映,保持价格的整体稳定性和安全性.
UniswapV2TWAP
V2TWAP的使用可以是直接拿到一个时间段内的总价变化,除以设定的时间段t,就可以得出一个平均价格,作为代币的价格.每隔一段时间(不一定是t,可以用滑动窗口算法,延迟就更小),则重新获取最新时间段内的价格.
关于Uniswap V3新增部署至Gnosis与Moonbeam链相关提案已开启投票:5月17日消息,Uniswap创始人Haydenz Adams在社交媒体发文表示,在Gnosis与Moonbeam链上部署Uniswap v3的提案现已开启投票。如果在Gnosis 与Moonbeam链部署Uniswap v3的提案均获通过,届时Uniswap v3将部署在7条链上。[2022/5/17 3:21:38]
对于TWAP来说,时间参数越长,更新越慢,但安全性越高,因为价格操纵的成本基本上就是时间区间内在每个区块上套利和发送交易的开销.
UniswapV3TWAP
V2TWAP是用时间段内的总价(price*time),V3是时间段内的总tick(tick*time).
V2中我们提到了要每隔一段时间去重新获取价格,这可能就需要Keeper的参与,UniswapV3解决了这个问题.
V3直接通过一个可定义长度(视需求和网络时间戳行为不同而定)的数组来存储区块时间戳和总tick,当合约产生Swap等交互时,这个数组就会被更新,无需Keeper的主动触发.
除此之外,使用时还需要把tick转换成价格,稍微比V2难用一点.
TWAP的限制
既然TWAP那么好用,那么可信且可验证,完全去中心化,那为什么Chainlink被如此广泛采用呢?
写本文的动机其实就是看到了推特上有人说,EulerFinance从TWAP切换到Chainlink是一种升级(注意此人ID…==).
他称TWAP是非常不安全的,因为PoS之后可以进行多区块的预言机操控,这个其实是可以完全被解决的.
相比之下,我认为TWAP完全去中心化和完全链上操作的优点会比Chainlink好很多,在长期看来,如果没有显著的需求上的差别(比如你要把天气数据搬到链上),那么最好的选择还是TWAP.
TWAP和Chainlink的对比如下:
TWAP被全面碾压,但我个人认为,去中心化和安全性是1,而其他的因素是0,完全链上化是一种趋势.任何人都可以做一条比以太坊快非常多,便宜非常多,支持更多语言的智能合约平台,但却无法杀死以太坊.
PoS后TWAP的风险
ChainLinkGod所说的PoS网络中对TWAP预言机的攻击问题,EulerFinance的工程师自己就知道潜在解决方案,Uniswap的工程师也考虑到了.
PoS后,因为出块者可预测了,所以更容易结合以下方式进行多区块攻击:
大Validator可能被连续分配区块
通过Flashbot来发送Privatetx
Multi-blockbundle
PoW和PoS的不同情况下,针对V3ETH/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机制?)
数据的跨链获取与喂价,多链场景中链上数据的可信传输
数据源多样性(比如只用UniswapV2或者V3不太好)
可信环境下执行的Keeper(如果需要的话)
我相信在未来,越来越多的经济活动会发生在链上,越来越多的价格数据和交易对会存在于DEX上,Uniswap也就可以提供更好的TWAP,也就会有其他方案能基于TWAP实现我设想中的完美预言机,最终达成一个100%去中心化的金融系统.
作者:msfew@ForesightVentures
原文标题:《ForesightVentures:Crypto-Native预言机的基础TWAP》
来源:DeFi之道
来源:金色财经
DeFi协议的真实情况可能并不像表面数据那样光鲜亮丽。DeFi协议的真实情况可能并不像表面数据那样光鲜亮丽.
1900/1/1 0:00:00概览:Crypto头部量化机构梳理 B2C2简介背景:2015年在英国成立,隶属于日本SBIHoldings?.
1900/1/1 0:00:009.18BTC行情分析 赵长鹏:推特的机器人账号无处不在,应该考虑优先解决:9月8日消息,赵长鹏发推称,推特的机器人账号无处不在,考虑到马斯克的推特收购案纠纷,推特应该考虑优先解决这个问题.
1900/1/1 0:00:009.17BTC行情分析 数据:持有0.1枚以上ETH的地址数量创3个月新高:金色财经报道,据Glassnode数据显示,目前持有0.1枚以上ETH的地址数量达到6,287,272个.
1900/1/1 0:00:00近期,Cosmos?动作频繁,先是衍生品巨头dYdX宣布脱离以太坊迁移至Cosmos,后有能够让CosmosHub与其他区块链共享安全性的Interchainsecurityv0.1预版本上线.
1900/1/1 0:00:00我从见市场中出现过如此多不受控的潜在威胁。——DavidWagner,Aptos投资组合经理David的说法虽然直白,但却非常符合大多投资者的心境,他们心中必然有很多疑问.
1900/1/1 0:00:00