PowerOracle ——去中心化跨链预言机

发布时间 2020年9月30日

原文链接 https://medium.com/powerpool/power-oracle-a-decentralized-cross-chain-price-oracle-b94e453f5580

翻译 totojack

译者补充 PowerOracle是Powerpool构建结构化产品的重要基础设施之一,他承担了两部分职能,一作为Powerpool协议中报告资产价格的预言机,二是Powerpool基于他构建了Poweragent网络,一个可以自动触发合约的设施(类似Gelato和Keep3r),因此借助PowerOracle,可以构建自动化的投资组合产品(如自动复投、自动清算、自动平衡等),目前PowerOracle 已经在主网上部署,并应用到Powerpool的各产品中。

预言机对于几乎所有的Defi产品都是必不可少的。最近,我们开发了自己的去中心化跨链预言机——Power Oracle。它的目的是为Defi生态提供免费和公开的价格信息。

几乎每个Defi协议都依赖于准确的资产价格跟踪。资产是波动的,价格变化极大地影响了借贷、衍生品和其他产品的可行性和安全性。

在开发PowerPool时,我们面临一个问题——市场上没有任何可信的、公开的某些GT的价格反馈。因此,我们决定开发属于我们自己的预言机,使用任何资产的可信价格源,以允许安全可靠的PowerPool运行,并为Defi生态系统的发展做出贡献。

PowerOracles是公开的,去中心化预言机,预言机会反馈以太坊主网、xDAI、Matic和BSC上某些资产集合(主要是治理代币)的价格。

我们期望它不仅可以安全、可靠地运行PowerPool(Power Index、治理代币市场和其他未来产品),而且可以大大简化其他团队开发新Defi产品的经验,特别是在L2网络上。

免责声明:本文涉及一个产品,该产品的开发仍在进行中。任何细节都可能在未来发生变化。请查看Github。

简介

很长时间以来,很多Defi协议(甚至是主要的协议,如MakerDAO或Compound)都依赖于中心化的预言机。这是一个无可奈何的办法,因为真正的去中心化的预言机还没有成熟,也不够安全。

阻碍它们实施的核心问题之一是大多数资产的价格发现是在中心化交易所(CEXes)进行的。

主要问题是,CEXes不能以无需信任的方式与智能合约整合。它需要一个可信的第三方来执行与CEX API的互动,并将这些数据传递给合约。此外,CEXes不能被用作可信的数据源。

实现真正的去中心化和安全的预言机的另一个问题是机制设计。基本问题是:如何激励独立的预言机节点(agent)诚实地、定期地上报价格?

不同的机制设计方案被用来解决这个问题。其中最流行的是引入Staking机制——只允许质押了CVP代币的节点上报价格。通用方案如下:

1.有一组质押了代币的预言机节点

2.每个预言机是独立地收集并向系统报告价格

3.系统检查所有的价格,从数据集中删除异常数据。剩余数据的平均价格成为一个最终价格,并上报给合约。

4.所有报告异常数据的节点都会受到惩罚(惩罚掉部分质押的代币)

当然,这是一个非常简化的设计方案。它包含了很多的复杂性和缺点。但是,如果行业内部将有去中心化和可靠的价格信息来源,所有这些都可以大大简化。在这种情况下,创建一个去中心化的预言机的工作就会大大简化。

DEXes的采用,如Uniswap,形成了去中心化的价格发现。如果交易对有足够的流动性,它就会成为一个去中心化的、准确的市场价格数据来源。

如果一项资产的市场价格数据源出现在生态系统中,预言机只需要吸引独立的预言机节点(agent),他们会频繁和安全地将市场价格上报给目标合约。PowerOracle的设计正好解决了这个任务。

The PowerOracle

PowerOracle是一个去中心化的跨链价格预言机,由Compound Open Price Feed代码修改和升级而成。

PowerOracle使用Uniswap V2作为时间加权平均价格(TWAPs)的主要数据源,并通过对独立的价格报告者实施经济激励来独立运作。它为Uniswap上任何具有足够流动性的资产提供相关的市场价格信息。并且,利用经济刺激手段让独立的预言机节点(agents)有偿记录价格信息。

价格不仅在以太坊主网持续记录,而且在xDAI、Matic和BSC上也持续记录。

未来,如果社区有更多需求,可以支持更多的链。

它是如何工作的?

Power Oracle是Compound Open Price Feed的一个fork,通过时间加权平均价格(TWAPs)机制直接向Uniswap请求资产价格。需要特别指出的是,它不能自动化执行能给,需要不断有人触发请求。

为了执行这样的请求,一个独立的网络代理者(我们把这个角色称为 "价格保持者"(Price keeper))需要与预言机合约互动,请求价格,记录返回的结果,并为该操作支付Gas。这看起来很简单,但至少有三个问题需要解决:

1.一套面向Price Keeper的激励方案,使其触发合约,执行所有操作,并支付Gas

2.保护预言机不报告虚假价格和任何其他相关的可能的欺诈活动的安全机制。

3.保护预言机不被误报的机制(当Price Keeper错过报告点而没有报告价格的情况)。

我们提出并实施了以下机制设计:

1.任何愿意充当Price Keeper的预言机节点都需要在合同中质押CVP代币

2.预言机优先选择质押数量最多的Price Keeper作为预言机节点

3.被选中的Price Keeper向预言机合约提交必要的请求,进行所有的交易,并最终报告价格

4.为了执行合约交易,Price Keeper需要支付ETH Gas,并根据公式获得CVP的奖励:

奖励由"当前市场价格 "+"额外奖励"组成,使这项行为有利可图。

5.合约架构能保护系统免受虚假价格报告的影响,因此要求从一个去中心化的、可信赖的来源——Uniswap来获取时间加权平均价格(TWAPs)。

如果发生虚假报告,节点质押的CVP会被部分或完全惩罚(Slash),代币会被用于奖励钓鱼者(Fisherman)和社区资金池的补充(dS)。dS的值可以在未来由社区提议设定。

预言机操作的方案如下。

结论

Power Oracle已经在Kovan测试网中开发和测试。现在我们正在为主网做准备。(译注:目前已经正式上线,并已应用至各产品中)

一旦PowerPool产品部署到以太坊主网,它将被用来跟踪所有治理代币的价格。同时,价格反馈将被报告给xDAI、Matic和BSC,支持PowerPool在L2网络的运行。

Power Oracles是开源的、公开的、去中心化的,并提供免费的价格反馈。因此,它们可以被任何外部Defi项目以无许可的形式使用。我们估计,Power Oracle将有助于满足Defi生态系统(包括L2和BSC)对预言机日益增长的需求。

Subscribe to Powerpool中文
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.