NEST Protocol v 3.6 版本文档说明

1 条评论 , 0 次修正,848 次阅读, 最后更新于 2021年04月28日

第一章:NEST Protocol 是什么?

NEST Protocol 是一个去中心化的价格预言机网络,通过去中心化激励方案解决价格上链的问题。NEST 预言机采用市场博弈理论,通过矿工报价的方式将链下市场的价格信息同步产生于链上,并结合 NEST 挖矿机制,对报价矿工进行激励,使其成为一套逻辑闭环的分布式报价系统。

网站https://nestprotocol.org/

白皮书https://nestprotocol.org/doc/zhnestwhitepaper.pdf

GitHubhttps://github.com/NEST-Protocol

Telegram(社区)https://t.me/nest_chat

Telegram(开发者)https://t.me/nestdevs

第二章:如何在 NEST Protocol 上面开通一个价格预言机?

1. NEST Protocol 支持哪些加密资产的价格预言机?

NEST Protocol 是运行在以太坊网络上的去中心化开发协议,目前只支持 ERC20 类型的 token 资产。

2. 在 NEST Protocol 上面开通一个价格预言机需要付出什么成本?

NEST Protocol 是运行在以太坊网络上的去中心化开发协议,任何人都可以自由的发起对某个 ERC20 Token 资产价格预言机的开通操作,成本是:向 NEST DAO 系统支付 1000 枚 NEST Token。

3. 如何开通一个加密资产的价格预言机?

接口地址:https://github.com/NEST-Protocol/NEST-Oracle-V3.6/blob/main/docs/INTokenController.md#28-open-a-ntoken-for-a-token-by-anyone

第三章:矿工如何通过预言机报价获取 QP Token(报价凭证)?

1. 报价机制

核心是:报价挖矿(激励)、验证周期、价格链、beta系数。以ETH/USDT价格预言机为例:

1)任意参与者可以将自己认可的价格传入到报价合约,比如 1 ETH = 2000 USDT,1 ETH = 100000 NEST , 然后将这两种资产及 ETH 按照价格比例,同时打入到报价合约里,进行双轨报价,报价规模为 30 ETH,并收取 0.1 ETH 作为手续费,进行挖矿,获得 NEST 激励。

2)打进资产后,等待 T0 时间( T0 = 25 个区块,约 5 分钟),这个周期内任何人可以用报价者的价格买走 ETH 或者 USDT,如果 T0 内没有人成交,则该报价数据会被系统录用;如果被人完全成交则该价格无效,部分成交则部分无效。T0 时间之后,报价资产即可取回。

3)如果有人愿意与报价者成交,那么他成交的同时,也要按照上述标准报一个新的价格进去,这样就在初始报价 P0 后面形成 P1、P2 … 价格链。

4)成交者的报价规模,是他成交规模的 beta 倍,其中 beta > 1(目前 beta = 2),这意味着价格链一定会随着规模的扩大而最终终止(停机),并且作恶者的成本几何级增长,从而对抗攻击行为。

2. 挖矿算法

假设每个区块的 QP Token 挖矿奖励为 N;在同一报价轨道中,假设本次报价距离上一笔报价的区块间隔是 H。那么,矿工的本次报价可以挖到的 QP Token 数量为 M,

M = N * H

这意味着,如果在一段时间内如果没有报价单出现,那么新出现的第一笔报价会获取之前未挖出的所有区块累计的 QP Token 奖励。通过这种方式,可以有效激励矿工进行持续报价挖矿,维持 NEST 预言机网络的稳定与安全。

如果同时有 X 位矿工进行报价,并且在同一个区块报价成功,那么每位矿工可以挖到的 QP Token 数量为 M,

M = N * H / X

即每位矿工平均分配这次报价的挖矿奖励。

3. 报价挖矿 NEST Token

1)对哪些价格预言机进行报价可以挖到 NEST Token?

需要同时对 ETH/USDT 和 NEST/ETH 两个价格对进行双轨报价,才能挖到 NEST Token。

2)矿工需要准备多少报价资金?

目前报价基础规模为 30 ETH,需要准备的报价资产为:30 ETH + 价值 30 ETH 的 USDT 资产 + 30 ETH + 价值 30 ETH 的 NEST 资产,一共需要价值 120 ETH 的加密资产。

3)矿工需要准备多少 NEST 抵押资金?

目前,每个预言机报价轨道,需要抵押 10 万 NEST Token,双轨报价需要抵押 20 万 NEST Token。所以,矿工需要准备 20 万 NEST Token 抵押资产。

4)每次报价的成本都有哪些?

报价成本:基础 ETH 报价规模 * 报价手续费费率 + 2 笔交易的 gas 费(报价交易+取回资产交易)。

目前是:30ETH * 0.33% + 2 笔交易的 gas 费,也就是 0.09 ETH + 2 笔交易的 gas 费。

5)每次报价可以挖出来多少枚 NEST Token?

目前每个区块奖励 204 枚 NEST Token,假设本次报价距离上一笔报价的区块间隔是 H,那么本次报价可以挖到:204 * H 枚 NEST Token。

6)NEST Token 挖矿奖励的分配机制

挖矿算法与出矿机制并无变化,只是将 3.5 版本未出矿总量划分到三个地址,能够更清晰的在链上展示未挖出 NEST Token 的具体流向,如图:

交易hash: 0xcc7ce182456922b936e17f551d4f23b11e216b3c1d2f9bc916d276c9caf46eeb

交易截图:

目前是:NEST 挖矿合约未产出数量全部由 NEST 矿工报价释放 ;NestNode 独立挖矿,NN挖矿合约未产出数量全部由 NN 持有者领取释放;NEST DAO 将 3.5 版本未出矿总量的 5%(原本激励 NEST Core 开发小组的奖励) 一次性划入 DAO,加上回购的 NEST Token,不再释放,若要释放需所有持有 NEST Token 的爱好者发起投票治理。

7)报价挖矿交互工具

脚本报价挖矿,可以参考 3.6 版本开源脚本:https://github.com/NEST-Protocol/NEST-Oracle-V3.6-minner

4. 报价挖矿其他 QP Token

1)QP Token 是什么?

QP Token 的全称为 Quote Pool token,中文译为「报价凭证」,即各个预言机报价轨道所对应的挖矿凭证。比如:ETH/USDT 价格预言机的报价凭证为 NEST Token,YFI/ETH 价格预言机的报价凭证为 nYFI,HBTC/ETH 价格预言机的报价凭证为 nHBTC 等。 无论是 NEST Token 还是 nYFI Token,都是 NEST Protocol 网络上的报价凭证,就像以太坊网络上发行的各种各样的 ERC20 Token 一样。

2)挖其他 QP Token,矿工需要准备多少报价资金?

情况1:当 QP Token 的流通量 < 500 万枚时,矿工可以选择单轨道报价。

在 3.6 版本中,nToken 预言机轨道的报价基础规模都统一为 10 ETH,对于某个 token/ETH 预言机的报价,需要准备的报价资产为:10 ETH + 价值 10 ETH 的 token 资产,一共需要价值 20 ETH 的加密资产。

情况2:当 QP Token 的流通量 > 500 万枚时,矿工必须进行双轨道报价。

在 3.6 版本中,nToken 预言机轨道的报价基础规模都统一为 10 ETH,对于某个 token/ETH 预言机的报价,需要准备的报价资产为:10 ETH + 价值 10 ETH 的 token 资产 + 10 ETH + 价值 10 ETH 的 nToken 资产,一共需要价值 40 ETH 的加密资产。

3)矿工需要准备多少 NEST 抵押资金?

情况1:当 QP Token 的流通量 < 500 万枚时,矿工可以选择单轨道报价,需要抵押 10 万 NEST Token 。

情况2:当 QP Token 的流通量 > 500 万枚时,矿工可以必须进行双轨道报价,需要抵押 20 万 NEST Token 。

4)每次报价的成本都有哪些?

报价成本:挖取 NEST Token 的报价手续费为 0.1 ETH ,挖取 nToken 的报价手续费为 0.05 ETH 。

5)每次报价可以挖出来多少枚QP Token?

目前每个区块奖励 4 枚 QP Token,假设本次报价距离上一笔报价的区块间隔是 H,那么本次报价可以挖到:4* H 枚 QP Token。

6)其他 QP Token 挖矿奖励的分配机制

NEST 3.6 版本之前开通的预言机:矿工 95%,预言机轨道中标者 5%;

NEST 3.6 版本,新开通的预言机:矿工 100%。

7)报价挖矿交互工具

脚本报价挖矿,可以参考 3.6 版本开源脚本:https://github.com/NEST-Protocol/NEST-Oracle-V3.6-minner

第四章:验证者如何对每一单报价进行有效验证?

1. NEST 预言机价格验证机制

报价矿工在往报价合约中转入双边报价资产成功之后,该报价单会在链上生效 20 个区块时间(约 5 分钟);在这一段时间内,任何人(验证者)都可以按照该矿工的报价数据进行成交,同时发起一笔新的报价进行价格修正,并且报价规模为成交规模的 2 倍。

如果有报价矿工报出了一个偏离市场价格的报价单出来,此时验证者可以进行成交套利。为了方便大家理解,这里进行举例说明,以 ETH/USDT 价格预言机为例:

假设,此时 ETH 市场价格为: 1 ETH = 1000 USDT;

该矿工的报价单价格为 900 USDT,报价资金为:30 ETH + 27000 USDT

900 USDT 的报价相对于市场价格是有偏差的,此时验证者可以进行验证成交。

验证者操作

验证者可以往报价合约中转入 27000 USDT,兑换走 30 ETH;然后在市场上出售掉 30 ETH 换回来 30000 USDT,利润为:3000 USDT。

验证者在成交的同时,需要发起一笔新的报价,由于成交规模为 30 ETH,所以新的报价规模为:60 ETH + XXX USDT(按照新的价格进行报价)。

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

NEST 上的每一单报价都会经过全市场验证者的验证,成功度过验证周期存活下来的报价数据,才会参与 NEST 预言机链上区块价格的生成。所以,NEST 是最符合区块链共识机制的预言机方案,其每一个生效的区块价格数据都是经过全市场共识过的。是先验证,再生效!这也是 NEST 预言机与其他预言机的本质区别。

验证规则

1)基础报价规模为 30 ETH 的情况下,验证者的成交规模至少为 X * 30 ETH,X 是一个整数;

2)验证者每一次参与验证,进行修正报价时,除了报价规模 X2 之外,还需要抵押 NEST 资产 X2;以 ETH/USDT 价格预言机轨道为例,进行解释说明。

假设报价矿工的报价是:30 ETH + 15000 USDT,抵押 10 万枚 NEST;

验证者 V1 在进行验证时需要进行新报价,则其报价是:60 ETH + XXX USDT,抵押 20 万枚 NEST;

如果验证者 V1 的新报价仍旧有问题,验证者 V2 对 V1 的报价进行验证,在验证过程中有 2 种成交情况。

情况1:验证者 V2 选择全部成交 V1 的报价资产,新报价为 120 ETH + XXX USDT,需要抵押 40 万枚 NEST;

情况2:如果验证者 V2 选择成交 V1 报价资金中的 30 ETH,则其新报价为 60 ETH + XXX USDT,并且需要抵押 20 万枚 NEST;即新报价 ETH 规模为具体吃单规模的 2 倍;而新报价需要抵押的 NEST 数量为:(新报价规模/30 ETH)* 10 万 NEST。

依次进行下去...   如果一个价格链持续产生 4 次验证,后续其报价规模不再 X2,但是抵押的 NEST 资产会持续 X2,并且无上限。也就是说,480 ETH 是最大的报价规模。

3)验证者发起的新报价没有报价手续费,同时也不参与 QP Token 的挖矿;

4)任何人都可以成为验证者,无需审查。

2. 验证者需要准备的基础资金

1)一部分 NEST Token 作为验证报价时的抵押资产;
2)一部分 ETH 资金用于验证、支付gas费等;
3)如果是参与 A token/ETH 价格预言机的验证,需要准备一部分 A token 资产用于验证操作。

3. 验证者吃单套利的交互工具

脚本验证,可以参考 3.6 开源验证脚本:https://github.com/NEST-Protocol/NEST-oracle-V3.6-verifier

第五章:QP Token 的经济模型和释放机制

1. NEST Token

2. 其他 QP Token

第六章:持有 QP Token 有什么用途?

1. NEST Token

1)NEST Token 是什么?

NEST Token 是去中心化协议 NEST Protocol 基于以太坊网络发行的 ERC20 Token。

NEST Token 总量上限:100 亿枚,目前已挖出来 20% 左右,根据算法,需要 70 年才能全部释放。

释放机制:全部通过 ETH/USDT 和 NEST/ETH 这两个价格预言机的报价挖矿进行释放。

NEST Token 合约地址:0x04abeda201850ac0124161f037efd70c74ddc74c

2)NEST Token 有什么用?

收益权:体现在 NEST DAO 收益上

NEST 系统收益来源和分配机制介绍

A. 报价手续费的 100% 进入 NEST DAO 系统用于回购;

B. 其他预言机轨道贡献的 20% 报价手续费,直接进入 NEST DAO 系统用于回购;

C. ETH/USDT 和 NEST/ETH 价格预言机产生的调用收入全部进入 NEST DAO 系统用于回购。

投票权:NEST Token 持有人可以参与 NEST Protocol 网络的治理, 1 NEST Token = 1 票。

使用权:发起开通某个 token/ETH 价格预言机时需要向系统支付一定数量的 NEST Token(目前是 1000 枚)。

2. 其他 QP Token

1)其他 QP Token 是什么?

其他 QP Token 是指除了 NEST Token 外其他的报价凭证。比如:HBTC/ETH 价格预言机的报价凭证为 nHBTC,YFI/ETH 价格预言机的报价凭证为 nYFI。

释放机制:全部通过 token/ETH 价格预言机的报价挖矿进行释放。

QP Token 的总量:总量无上限,根据挖矿算法,最近 5 年的释放量最多为 3200 万枚,20 年的释放量最多为 5200 万枚,逐年衰减的经济模型。

QP Token 合约地址:每个 QP Token 都有自己的 token 合约地址,可以通过区块浏览器进行查询。

2)QP Token 有什么用?

收益权:每个 QP Token 所对应的价格预言机的系统收益会用来分配给 QP Token 持有人,分配形式有直接分红和回购两种方式。

各 QP Token 对应的系统收益来源和分配机制介绍:

A. 各自预言机轨道的报价手续费的 80% 进入各自的 DAO 系统用于回购,20% 进入 NEST DAO 系统;

B. 每个 QP Token 所对应的价格预言机产生的调用收入全部进入各自的 DAO 系统用于回购。

第七章:各价格预言机系统收益 DAO

1. 系统收益 DAO 是什么?

系统收益 DAO 是指各 token/ETH 价格预言机系统的收益合约,专门用来进行系统收益分配。

2. 系统收益 DAO 资金构成

1)NEST Token 对应的系统收益 DAO,资金由 NEST Token 和 ETH 资产构成,归 NEST Token 持有人共有。

2)其他 QP Token 所对应的各自的系统收益 DAO,资金由 QP Token 自身和 ETH 资产构成,归该 QP Token 持有人共有。

3. 系统收益 DAO 中的回购机制

有关回购机制的具体描述,GitHub 链接:https://github.com/NEST-Protocol/Nest-Improvement-Proposals/issues/16

有关回购机制的社区解读:https://www.nestfans.com/topics/458

第八章:NEST Protocol 治理机制

3.6 版本将通过投票的方式删除系统维护账号,开发者权限下放社区,协议任何修改都需经过 51% 投票通过;

将DAO 分为账本和 DAO 应用两个部分(目前只有一个应用:回购,将来可能会有更多的 DAO应用)。

修改范围

保持不变的:NEST 代币合约、nToken 代币合约、映射合约、账本合约

可以修改的:逻辑实现部分,都允许修改,包括挖矿合约、DAO合约、NN挖矿合约、nToken开通合约

投票方式

采用 NEST 抵押合约投票,票数达到流通数量(扣除DAO、矿池、销毁)51%即可生效,达到51%后任何人触发即可生效

投票周期

投票周期 5 天,5 天内任何时刻达到 51% 即可生效

生效周期

触发后立刻生效

投票治理功能的上线,意味着 NEST Protocol 彻底进入社区治理,通过投票删除开发者权限,相当于最后一次对投票进行验证,避免出现投票存在 bug 导致删除管理员后,系统无法治理;

投票接口说明: https://github.com/NEST-Protocol/NEST-Oracle-V3.6/tree/main/docs#52-vote--nestvote

投票接口文档: https://github.com/NEST-Protocol/NEST-Oracle-V3.6/blob/main/docs/INestVote.md

第十章:开发者如何调用 NEST Protocol 链上数据?

接口文档:https://github.com/NEST-Protocol/NEST-Oracle-V3.6/blob/main/docs/INestPriceFacade.md

调用说明: https://github.com/NEST-Protocol/NEST-Oracle-V3.6/tree/main/docs#53-price-is-called

时间:2021年 4 月 28 号