面向所有人 / 价格与现实世界资产

原生预言机

大多数链把价格当作应用自行获取的东西。Pickle 在协议中发布它们:AAPL 或黄金的价格作为区块生产的一部分到达,位于一个规范地址,并遵守市场交易时段。

它是什么

链上的应用常常需要知道某样东西此刻值多少钱:ETH、黄金或一只股票的价格。通常每个应用都得 自己去某处获取并为此付费。在 Pickle 上,链本身把价格写进每个区块,放在一个已知的位置, 所以每个应用在同一时刻读到的是同一个数字。代价是,运行这条链的那台计算机也正是写入价格的 那一台,所以你在两件事上都在信任它。

创世时放置在规范地址上的两个合约持有价格:一个注册表保存每个价格源的最新答案,一个适配器 以大多数现有借贷与衍生品代码已经在使用的接口把它们暴露出来。每个区块一笔系统 交易发布这一批价格。这就是与外部预言机的结构性区别:价格不是一笔争夺被打包、 支付 gas 的第三方交易,而是区块的一部分,由排序器在为交易排序的同时一并产出。答案带八位 小数,发布交易带有标记,使消费者能区分系统价格与用户交易。

创世在规范地址预部署一个价格注册表和一个适配器。每个区块一笔带标记的系统交易以八位小数 写入这一批价格。读取接口是 JSON-RPC 上的一个批量方法和一个按价格源的方法,外加一个按 价格源的 HTTP 端点。一个不持有任何签名密钥的独立聚合服务组装这一批价格;排序器通过内部 接口轮询它,获取一批以共享密钥认证的价格,在区块生产期间发布,该服务再从链上读回自己的 结果。这种分工意味着攻破价格服务本身并不能让任何人签署任何东西。

它覆盖什么

类别数量
股票9 个价格源AAPL、MSFT、NVDA、AMZN、GOOGL、META、TSLA、SPY、JPM
外汇5 个价格源EUR/USD、GBP/USD、USD/JPY、USD/CHF、USD/CNH
能源3 个价格源布伦特原油、天然气,以及一个宽基石油指数
金属2 个价格源黄金、白银
加密资产14 个价格源ETH、BTC、SOL、XRP、DOGE、LINK、ADA、XLM、BCH、TRX、BNB、HYPE、ZEC、XMR

33 个价格源,其中 19 个是现实世界资产。现实世界这一组才是重点:加密资产预言机是一个已经 解决的问题,而一条能发布一只股票或黄金的价格、并遵守市场开盘时间的链,则不是。

价格如何形成

两套策略,因为两类资产的失效方式不同。

  • 加密资产从五个公开现货交易所聚合:Coinbase、Kraken、Bitstamp、Gemini 和 Bitfinex。每个交易所的新鲜度按单调递增的接收时钟而非交易所时间戳判断,异常值被丢弃,答案 取余下值的中位数,且每个价格源都声明一个最低来源数,低于该数时宁可不发布,也不发布单薄的 价格。
  • 其他一切,即股票、外汇、能源和金属,来自一个经认证的第三方聚合商,每次 更新都做完整性检查,并固定指数,使刻度变化不能悄然通过。

市场交易时段

市场交易时段是一个一等概念,也正是这部分让这一层对现实世界资产可用,而不只是对加密资产可用。 每个非加密价格源都携带一份日程,依据真实的时区数据库解析,使夏令时切换得到处理而非近似; 每个答案都附带一个市场状态;一道重开闸门防止收盘后的第一个报价被当作连续交易价格。加密 资产预言机不需要这些。股票价格没有这些则毫无意义。

信任边界

发布者是排序器

一个价格所继承的,恰好就是已经支配着排序的那个受信任运营者假设,不多不少:不诚实或被攻破 的排序器可以发布虚假价格,而链上没有任何东西仲裁它。任何消费这些价格源的应用也继承了这一 假设,并且应当向自己的用户说明。

第三方依赖是承重的。没有上游聚合商的有效凭证,所有来自它的价格源都会报告为未授权。那是 33 个 中的 20 个,也就是整个现实世界资产组,外加一个没有自己公开交易所的加密资产价格源。其余 13 个 加密资产价格源来自公开交易所,继续运作。基于这些价格 构建了什么,见 RWA 层页面。