NEST Protocol NEST
$0.0538 -8.70%
NEST预言机:博弈中的价值输出
牛币圈
来自玉竹

否存在一种对价格进行直接验证的预言机,能保证价格准确、及时,且攻击成本极高?同时,该方案是分布式的,不存在中心化的风险呢?


大部分DeFi协议都需要价格数据,特别像稳定币、期货等合约资产,需要价格进行清算,因此,价格是DeFi的核心风险。目前DeFi常用的价格预言机,一般由“可信”节点采纳中心化交易所的价格,以数据的形式上传到链上,供DeFi调用。此方案存在一个根本性的问题,即价格没有进行有效验证。


那么,是否存在一种对价格进行直接验证的预言机,能保证价格准确、及时,且攻击成本极高?同时,该方案是分布式的,不存在中心化的风险呢?你想要的答案,在NEST上或许能够找到。


8月19日晚,“玉·言”第六期,邀请到NestFans论坛发起人之一、NEST预言机职业矿工拾二,以及NestFans论坛紫龙,为大家全面剖析NEST预言机的原理及特点,以及nToken代币系统的价值和投资机会。


以下为直播全程回顾:

DeFi预言机发展现状及NEST介绍


玉竹:今天我们请到的是NestFans论坛发起人、NestPool矿池创始人、NEST预言机职业矿工拾二,以及NEST爱好者、矿工紫龙,欢迎二位,那么首先有请拾二和紫龙来做个自我介绍。


拾二:大家好,我NestFans论坛_拾二,现在主要做 NestFans论坛和 NestPool 矿池(NEST挖矿);今天很高兴跟玉竹好朋友一起分享交流 NEST Oracle,还有老矿工紫龙。


紫龙:大家好,我是 NestFans_紫龙,是早期的NEST爱好者、矿工,很高兴今天能来到《玉·言》和大家一起分享交流NEST预言机。


玉竹:那么首先有请拾二给大家简单介绍一下,DeFi预言机现阶段都存在哪些问题和弊端?对DeFi生态有哪些影响?


拾二:市场上比较常见的预言机多为“间接”预言机,他们的喂价节点只是价格数据的搬运工,把链下价格数据传递到链上合约里面。


间接预言机存在一个根本性的问题,即数据的验证并不是直接的,而是通过对上传者进行验证的方式间接保证了数据的真实有效。


另一个问题是:上传数据的节点的信用风险决定了该预言机数据的攻击成本。如果基于该预言机提供的价格衍生了 1 万亿美金的资产,则预言机节点的信用也应当与之匹配,这在现实中显然是不可能的,无论采用怎样的节点随机性都无法保证,这是本质问题,不是技术问题,因此间接预言机只能用于小规模的、非金融属性的场景。


简单总结:间接预言机无法对价格数据进行有效验证。


因为预言机为下游 DEFI 提供全局变量,是大部分DeFi的基础,如果预言机遭遇攻击或者出现停摆,则下游DeFi会陷入崩溃。前几个月在 bZx 上面发生的套利攻击,就是利用了 Uniswap 预言机价格操纵成本低的问题。所以预言机未来的发展方向就是提高「抗攻击性」和「价格精准」这两个要素上来,这也是当前预言机的发展瓶颈。


玉竹:那么针对这些弊端,NEST预言机有哪些创新和改进呢?介绍一下NEST的工作原理,以及都有哪些特征吧。

拾二:大家可能只是听说过 NEST ,但还不太了解 NEST 做了什么,以及做的怎么样。接下来,我就跟大家介绍一下 NEST 预言机方案,希望群友们能够对 NEST 预言机有一个基础的了解和认知。


下面,我着重介绍一下 NEST 预言机方案的核心运行原理:


以 ETH/USDT 预言机价格为例


NEST预言机的矿工在进行报价时,需要往链上报价合约中同时转入报价交易对所对应的双边资产,最小报价单位为 10 ETH;假设当前 ETH / USDT 交易对的市场价格是 1 ETH = 200 U,那么报价矿工需要往报价合约单中同时转入 10 ETH 和 2000 U的报价资产。


转入成功之后,该报价合约单会在链上生效 25 个以太坊区块的时间(大约 5 分钟);在这一段时间内,验证者可以按照该矿工的报价数据进行交易;比如,任意验证者都可以往报价合约中转入 2000 U 兑换出 10 ETH,也可以往报价合约中转入 10 ETH 兑换出 2000 USDT。


这就意味着,如果矿工的报价与市场真实价格偏离较大,那么就给验证者提供了一个套利机会,任何人都可以成为验证者;通过这种套利惩罚机制促使报价矿工按照市场公允价格进行报价,进而向 NEST系统输送真正有效的价格信息。


最终,通过验证者验证之后_未被成交的报价单,会参与NEST预言机价格生成;而被完全成交掉的报价单会被系统舍弃。


NEST预言机方案的创新之处在于:每一条生效的价格数据都是经过市场验证者共识过的价格,符合区块链共识机制;而其他预言机方案无法对价格数据做有效验证,只能信任那些喂价节点。这是 NEST 预言机与其他预言机方案的本质区别。


NEST预言机的创新型解决方案


玉竹:NEST预言机的报价挖矿机制是什么样的,脚本挖矿需要做哪些准备?矿工如何进行报价?


紫龙:(1)、NEST预言机 是基于以太坊网络构建的一个去中心化的预言机系统。是一个以去中心化的方式实现了价格事实同步上链的分布式报价系统。NEST预言机 定义并实现了一种全新的在区块链网络上生成链上事实的机制。其采用市场博弈理论,通过矿工报价的方式将链下市场的价格事实同步产生于链上,并结合 NEST 报价挖矿机制,对矿工进行激励,使其成为一套逻辑闭环的分布式报价系统,完美的将链下价格事实同步在链上生成出来,形成 NEST-Price。


(2)、首先要搭建以太坊节点,也可以使用第三方的(Infura是开放以太坊节点,它提供了标准的RPC API可供开发者调用),但是第三方会有一些局限性,主要表现在稳定性不可控、数据延迟等方面;比如数据延迟,由于服务器在海外,可能有时获取到的数据延迟达10几秒之多。个人建议如果想成为专业的NEST矿工,可以自己搭建以太坊全节点,这样一来可以自己定义接口,相对更加灵活,当然了这样会有服务器费用支出等成本。


其次需要找到找到合适的价格接口(论坛上开源的脚本采用的是火币的API),如果第三方价格接口错误会导致报价错误,使得被吃单验证损失资产;或者接口出现异常,价格获取不到导致矿机宕机。建议可以在价格获取异常的时候,尝试调用备用的接口避免这类情况发生。


另外就是在代码选择上,个人觉得可以使用python和java,可以选择在社区开源的报价脚本(java)上进行修改、优化,在这之前需要仔细研究熟悉一下整个报价流程以及NEST产出机制;刚上手最好是先切换到测试网在本地环境进行调试,全部OK之后再部署到服务器上启动服务。


https://github.com/NEST-Protocol/NEST-oracle-V3


下面文档里有,ropsten地址就是测试网地址。


最后提一下需要注意的几个点,块差比较小的时候要尽可能防止撞块和追尾,降低挖矿成本;在价格偏差过大的时候,如果发现自己的价格可能异常,需要做好策略,这些逻辑都是需要在代码中实现。


(3)、矿工在进行报价时,需要转入报价交易对所对应的具体数额的资产,最小单位为 10 ETH。假设当前 USDT / ETH 交易对的市场价格是 420 USDT = 1 ETH,那么报价矿工需要往报价合约单中同时转入 4200 USDT 和 10 ETH 的报价资产。转入成功之后,该报价合约单会在报价市场中显示 25 个区块的时间(大约 5 分钟);在这一段时间内,任何人都可以按照该矿工的报价数据进行兑换;比如,我可以往报价合约中转入 4200 USDT 兑换出 10 ETH,我也可以往报价合约中转入 10 ETH 兑换出 4200 USDT。这就意味着,如果矿工的报价与市场真实价格偏离较大,那么就给他人提供了一个套利机会,任何人都可以参与套利;通过这种套利惩罚机制促使报价矿工都会按照市场公允价格进行报价,进而向报价系统输送真正有效的价格信息。


目前报价挖NEST可以通过脚本来挖,也可以使用NEST DAPP人工报价;两者都需要观察链上的一些报价情况,知彼知已再做出合理的策略,才能有更高的挖矿效率。


NEST3.0综述:

https://www.nestfans.com/wiki/nest_oracle_v3

NEST 预言机报价脚本:

https://github.com/NestFans/NestMiner

NEST 预言机验证脚本:

https://github.com/NestFans/NestEatOffer

NEST报价合约地址:https://cn.etherscan.com/address/0xc83e009c7794e8f6d1954dc13c23a35fc4d039f6

nToken报价合约地址:

https://cn.etherscan.com/address/0xc40d7b9ca90eaca4a6e067b6ec689fd29f4a8b3c

nToken手挖图文教程链接:

https://nestfans.com/topics/336;


玉竹:NEST在数据验证方面做了哪些改进?验证者如何验证NEST的报价单?


拾二:NEST预言机的矿工在进行报价时,需要往链上报价合约中同时转入报价交易对所对应的双边资产,最小报价单位为 10 ETH;假设当前 ETH / USDT 交易对的市场价格是 1 ETH = 200 U,那么报价矿工需要往报价合约单中同时转入 10 ETH 和 2000 U的报价资产。


转入成功之后,该报价合约单会在链上生效 25 个以太坊区块的时间(大约 5 分钟);在这一段时间内,验证者可以按照该矿工的报价数据进行交易;比如,任意验证者都可以往报价合约中转入 2000 U 兑换出 10 ETH,也可以往报价合约中转入 10 ETH 兑换出 2000 USDT。


这就意味着,如果矿工的报价与市场真实价格偏离较大,那么就给验证者提供了一个套利机会,任何人都可以成为验证者;通过这种套利惩罚机制促使报价矿工按照市场公允价格进行报价,进而向 NEST系统输送真正有效的价格信息。


玉竹:在价格验证之时,NEST预言机又采取了哪些手段,来防范可能出现的攻击呢?是否有什么特别的算法?


拾二:是的。主要有2点:


1)验证者在吃单的同时,需要留下一个新的报价,并且报价规模为吃单 ETH 规模的 2 倍;


2)NEST 系统设置有价格偏离防御机制:如果本次报价相对于上次生效报价偏离超过10%,则本次报价规模为 10 ETH * 10 (规模扩大10倍)


主要通过这2点,来防范可能出现的预言机攻击。


玉竹:NEST预言机都采取了哪些激励措施来调动矿工们的积极性?


紫龙:矿工可以既是报价矿工,又可以是验证矿工,在发现有套利机会就可以进行验证套利,同样也维护了系统的稳定;


此外除了套利机会,在奖励层面:

1、价格预言机调用 ETH 收益分配:矿工占比为 20%;


2、当 NEST Token 出矿总量达到 20 亿枚时取消该部分奖励,矿工占比为 85%,第一点是下游平台调用分配奖励,第二点是这是NEST产出分配的调整奖励。


这几方面都能大大调动矿工的积级性。


nToken系统和nToken代币


玉竹:听说7月份更新的NEST 3.0新增了nToken系统,可否介绍一下nToken的设计初衷以及特点,这个系统是如何运行的?


紫龙:nToken 是 NEST 系统中 ERC20 Token/ETH 价格预言机的权益通证,也是基于以太坊网络发行的 ERC20 Token。每开通一个 ERC20 Token/ETH 的价格预言机,就会有一种 nToken 被创建出来,它可能是 nDAI,也可能是 nHBTC。


单一的价格对是无法满足现有DeFi市场要求的。同样的nToken系统也有一群矿工与验证者在参与报价与套利,维护系统的稳定。


玉竹:nToken代币的价值是什么,都有哪些用途?如何捕捉nToken代币的价值?


紫龙:有了 nToken 系统,每一个以太坊上的资产都可以有自己的价格预言机轨道,有自己的下游生态和价值来源。

同样的nToken代币具有该预言机系统的收益权,持有它可以每周收益系统收益(ETH);优质的nToken未来可能会上交易市场。


玉竹:目前值得期待的ntoken有哪些?普通人是否还有投资机会?


紫龙:近日火币发起了全球DeFi联盟,联合Maker、Compound、NEST社区、dYdX共同成立,共同推动DeFi发展。霍比特HBTC.com 正式成立【霍比特DeFi Labs】将投入千万美金DeFi专项资金。可以看出越来越多的平台、机构开始专注于DeFi项目研究、投资与孵化及生态建设。


我个人目前比较看好的几个nToken:

nHBTC、nWBTC

大多数DeFi应用都活跃在以太坊公链上,而在加密世界中,比特币资产才是绝对的王者,HBTC与WBTC等比特币的锚定币,作为一座桥梁,使得用户可以便捷无缝地使用比特币参与以太坊上DeFi市场的运作。


WBTC活跃地址数、大额交易量与平均余额的激增可以看出,越来越多的新机构和大型参与者也在通过 WBTC 来参与 DeFi 市场。


HBTC预言机从激活到现在,区块密度已来到了10个区块间隔,从链上数据来据,NEST矿工绝对是目前HBTC上最活跃的那一份子。


比特币赛道的DeFi正缺像 NEST 这样的价格预言机,来解决链上价格信息缺失的问题。

所以,我个人是非常看好比特币资产在DEFI应用场景,自己也一直参与HBTC,WBTC等nToken的报价。

nToken 报价是7月中升级3.0后开放的,目前竞争还不是很大,是介入报价的较好时机。准备好资产,在NEST DAPP就可以直接参与报价挖nToken。非常期待和欢迎越来越多的矿工参与到NEST生态中来。


NEST预言机未来展望


玉竹:NEST-Price是否也存在某些风险?这些风险我们应当如何面对,或者说有哪些解决的办法?


拾二:我就直接引用 NEST 白皮书中有关 NEST-Price 风险描述:

NEST-Price 的引用风险和一切金融产品或者金融服务一样,NEST-Price 不可能没有风险,这里对 NEST-Price 的引用风险做出 简单的描述,当然可能存在其它未被描述到或者认知到的风险:


1)由于最小套利空间的存在,对于价差精度要求极高的金融服务,在使用 NEST-Price 时,可能会 出现一些风险,在设计上需要做出一定的补偿。


2)市场套利机制的深度不够,即套利者不充分,明明存在巨大的机会,却没有人理会。这是需要市 场接受度和认知度的,是行业发展深化的问题。


3)虽然无法攻击价格,但可以通过攻击 NEST 来间接攻击价格机制,比如占有 51% 以上的 NEST, 然后对重要参数进行修改,使得报价机制失效。这一问题可以通过对关键参数限定来防范,同时提升 NEST 市场规模,使得 51% 攻击难以实现。


4)代码漏洞或外部重大变化的风险,如果以太坊底层代码、NEST 系统代码出现漏洞,或者外部环 境发生较大变化,会对价格调用者造成影响,这可以通过链上治理及合约分叉来修正。


第1点,任何预言机都会存在这个问题,这也是预言机性能表现的关键指标之一;

第2 和第3点属于 NEST 市场问题,如果 NEST 共识足够强,参与者足够丰富,这些问题自然就解决了;

第4点的话,属于代码质量问题,可以让更多人的白帽子和安全审计机构参与进来,对 NEST 协议层代码进行反复敲打。目前 NEST 协议层代码安全审计工作由安比实验室提供。


玉竹:NEST预言机和NestPool矿池接下来都有哪些计划?


拾二:NestFans论坛的话,我会跟紫龙等老矿工一起,继续做好 NEST 预言机方案的科普和推广工作,让更多人了解 NEST 预言机。


NestPool 矿池方面,除了继续参与 ETH/USDT 和 BTC/ETH 的报价外,会拓展更多优质 Token/ETH 的报价,供下游 DEFI 使用。

谢谢。


2020年08月20日 09:32图文分享