比特币技术文档|如果说 Uniswap 不是一个好的预言机,那要如何改善?
一个匿名的中国团队给出了自己的答案,他们说预言机的报价难题有解药了。
撰文:LeftOfCenter
都说 Uniswap 是 DeFi 世界中的天然预言机基础设施,其交易对只要具有一定的规模,就会驱动相当数目的搬砖者为了套利往返于主流交易所和 Uniswap 某个交易池之间,不断将利差磨平,进而成为一个天然的预言机基础设施。
然而,一个匿名的中国团队却不同意这种观点,他们认为,Uniswap 不是一个好的预言机,其根本原因在于,Uniswap 作为预言机提取的是成交交易的价格,而你无法确认这些成交的交易价格中是否存在利差,以及多大利差,尤其是,如果出现恶意操纵,那么价格的偏离会更大。
为了解决预言机难题,这家匿名团队提出了自己的去中心化预言机解决方案「NEST」。
粗粗看去,这是一种挺类似 Uniswap 的方案——当然,NEST 的团队一定会狠狠地否定你的这种认知。在他们设计的 NEST 的系统中,存在专门向系统报价的「矿工」,这种「矿工」有点像 Uniswap 系统中流动性提供者,他们根据交易对向系统注入资产,提供可供任何人吃单的交易对报价,同时,这个报价要接受市场的套利检验,也就是说,如果矿工报价与主流交易所价格存在利差,就会被套利者吃掉,剩下的没被成交的订单报价才可被认为是准确报价。这些没有被吃单的交易价格会被 NEST 系统采用,以与 Uniswap 相反的方式逆向筛选出精准报价。
数据显示,考虑 5 分钟的延时,NEST 预言机提供的 ETH/USDT 报价与火币交易所的平均偏差在千分之 3 到千分之 4 左右。
近期 NEST 预言机链上报价与火币交易所价格数据对比图
以抵押借贷起家、上线不到半年的去中心化预言机项目 NEST,目前已取得了让我们眼前一亮的成绩:链上数据 显示最近 30 天,NEST 的交易对报价资产规模达到 77490 枚 ETH,折合 1557 万美金,这一个月中参与报价的总资产规模达到了 3115 万美金,与之对比,两个月前报价资产规模为 25240 枚 ETH。而这仅仅是处于 2.0 早期阶段、只开通的单个报价交易对(初期只支持 ETH/USTD 报价对)所达到的规模。
由于单位时间内的报价次数等于报价资产规模除以单次报价规模(10ETH),30 天的报价资产规模增长,意味着单位时间内的报价次数在增长。
这是一个让人乐观的趋势。报价次数的增长,会导致报价频率变高,报价连续性增长。这样,链上数据稳定性变强。
与此同时,NEST 的报价频率也从两个月前 50 个区块报一次价,提升到了目前 20 个区块报一次价。随着矿工的数目增长,未来报价频率可能提高到 1 个区块报一次价。随着报价频次提高,报价间隔时间也越来越短,目前大概 4 分钟左右会产生 1~2 单新的报价。
那么,NEST 实现精准预言机报价的原理是什么?存在哪些恶意风险?如何在启动之后短短半年时间实现快速增长?
更进一步,这个体系如何激励 NEST 矿工长期持有系统代币?以及 NEST 未来的增长点又是什么?
为了回答这些问题,链闻潜水 NEST 社区,和社区中匿名的开发者聊了聊,试图弄清楚这些问题背后的答案。
来,让我们一个一个回答这些问题。
1,NEST 到底是什么?
简单来说,NEST 是一个去中心化的预言机协议,其最大亮点是,用去中心化的方式提供精准且经过「验证」的加密资产报价,从而解决开放金融中的预言机难题。我们必须再次重复一下这个让人眼前一亮的数据:链上数据显示,考虑 5 分钟的延时,NEST 预言机提供 ETH/USDT 报价与主流交易所的平均偏差在千分之 3 到千分之 4 左右。
目前市面上的主流预言机,报价模式基本上都是由节点上传,并通过投票进行验证。这种机制最大的弊端在于,无法保证其上传的价格一定是正确的。因为在一个完全去托管、去信任的世界,任何一点中心化的风险,都有可能带来整个系统的崩溃。
与之对比,NEST 预言机提供的价格则是由无需许可的矿工参与报价产生:它无需允许,任何人可对目标交易对报价、套利者吃单验证,然后协议基于算法生成精准的预言机报价。
而这个设计精巧的套利验证机制,正是 NEST 保证价格真实度的核心。
具体来说,当报价矿工报出目标资产的价格后,如果价格和主流交易所的报价存在利差,会让搬砖者产生套利的动机吃单,这样一来,可激励矿工报出尽可能准确的价格。
这意味着,没有被吃单的交易就没有套利空间,是和主流交易所价格接近的报价,这些报价最终被系统基于一定算法采用,从而形成准确的报价数据。这个验证机制类似于一个筛选器,可将无套利机会的报价筛选出来,为 DeFi 开发者用于其他应用中。
作为 NEST 的核心竞争力,该报价系统可解决链上价格事实缺失的行业性问题。在即将到来的 NEST 3.0 上线后,该预言机可被多个 DeFi 产品调用,提供去中心化价格信息,并支持一系列 DeFi 产品,包括:
1)利率市场,比如:自动结算型抵押借贷;
2)交易市场,比如:闪兑、DEX 等去中心化交易;
3)保险市场,比如:保险产品;
4)衍生品市场,比如:期权、永续期权、远期、互换等;
那么,NEST 到底是如何实现安全准确的价格数据上链,进而解决区块链的预言机问题的呢?
2,NEST 预言机原理初探
回答刚才的问题,需要要从 NEST 的原理说起。
NEST 通过市场参与者对某个交易对报价生成链上事实,让任何人都可以参与报价「挖矿」,并获得系统中原生代币 NEST 奖励。
目前, NEST 支持 USDT/ ETH 单个交易对的报价。其报价的实现过程如下:
- 假如目前市场价格是 200 USDT = 1 ETH,那么,提供报价的矿工需要向报价合约单中同时转入 2000 USDT 和 10 ETH 的报价资产;
- 转入成功之后,该报价合约单会在报价市场中显示 25 个区块的时间(大约 5 分钟);
- 在这一段时间内,任何人都可以按照该矿工的报价数据进行兑换。比如,其他用户可以往报价合约中转入 2000 USDT 兑换出 10 ETH,也可以往报价合约中转入 10 ETH 兑换出 2000 USDT。
每个参与报价过程的用户,都是这个预言机系统中的「矿工」。在这种机制下,只有正确进行报价,才符合这些矿工的经济收益。
为什么这么说?
因为如果矿工的报价与市场真实价格偏离较大,那么就给其他人提供一个套利机会。一旦其他人利用矿工报价与市场真实价格之间的偏差进行套利,就会让报价矿工损失资金。通过这种套利惩罚机制,可以促使参与报价的矿工都会按照市场公允价格进行报价,从而实现向报价系统输送真正有效的价格信息。
在这里,按照该矿工的报价数据进行兑换的用户可以被称为「吃单者」,这些吃单者实际上就是「验证者」,验证报价单与市场价格之间是否有套利空间。如果有,报价数据偏离市场价格比较多,就吃单套利;如果没有,说明报价数据是真实有效的。到最后,没有被吃单的报价数据会被报价系统采用。反之,被套利者完全吃掉的报价单,其报价数据将自动舍去,不参与链上价格形成。
目前在 NEST 系统中,每一单报价在链上的生命周期为 25 个区块,大概 5 分钟左右。5 分钟过后,报价矿工可以从报价合约中取回报价资产,进行下一次的报价。
通过这种方式,NEST 的报价系统提取没被完全吃单的有效价格,进而在链上形成价格事实。
每一个系统都要考虑可能存在的恶意动机行为。在 NEST 报价系统中,有可能出现恶意吃单者,他们为了由于驱利动机会蓄意制造出偏离市场价格的报价。
为防止恶意吃单行为,NEST 系统采用了「吃单双倍报价机制」,即吃单者在吃单的同时必须要发起一笔自己的报价,且报价资金规模为吃单资金规模的 2 倍。比如,验证者吃掉了一个 10 ETH 的报价单,那么他需要再报出一个 20 ETH 规模的报价单出来,报价的价格是他自己认可的市场价。
此时,如果吃单者是恶意攻击者,要达到自己的目的,那么他在吃单时的报价数据应该是偏离市场数据的;此时,一个放大的套利机会就出现了,攻击者的恶意报价单会被市场上的套利者迅速消化掉,此时市场上的套利者会报出理性的报价单出来,进而价格数据回归正常,攻击失败。如果攻击者自己抢吃自己的单子,那么其往后的成本将几何级数增长,暴露给市场验证者的套利空间将越来越大,攻击者自己吃单成功的概率将越来越小,陷入攻击死亡螺旋,最终只能停止攻击,攻击失败。
而如果是正常的吃单套利,套利成功后的吃单者会以 2 倍于吃单资产规模报出一个与主流交易所相同的市场价,从而进行价格修正,让价格回归正常。
如果 ETH 在短时间价格出现大幅下跌,矿工报价可能会被吃单,甚至出现多条价格链,然后在经历多次吃单后将价格恢复正常。
下图链上数据显示了一次市场大幅波动时 NEST 报价系统的表现。5 月 10 日早上 8 点左右,中心化交易市场上的 ETH 价格在短时间内下跌超 10%,NEST 预言机随之也出现了 2 条价格链:A 价格链 和 B 价格链。A 价格链:初始报价 A0,在价格短时间大幅度下跌后被验证者吃单,验证者报价 A1,A1 又被其他验证者吃单,出现新报价 A2,A2 完成价格修正,回归正常。B 价格链:初始报价 B0,在价格短时间大幅度下跌后被验证者吃单,验证者报价 B1,B1 又被其他验证者吃单(部分吃单),出现新报价 B2,B2 完成价格修正,回归正常。
可以看出,此时 NEST 出现了两条价格链,这说明报价竞争激烈,并出现了多次吃单将价格恢复正常,这说明验证者很积极,资金非常充足。
目前 NEST 2.0 版本仅支持 USDT/ ETH 单个交易对的报价,而即将上线的 3.0 版本中,其报价系统将支持各种 ERC20 代币 与 ETH 交易对的直接报价。
在 NEST 报价系统中最终被采用的有效价格数据,存在于以太坊各个报价区块中,DeFi 开发者可以通过合约调用获取近期的报价序列,通过对价格序列的处理和计算,获取多种市场价格数据以及波动率数据。这些常用的预言机数据可以包括:及时价格、均价、加权均价、波动率等。
这些链上数据在 NEST 2.0 系统中仅供 NEST 开发者内部使用。NEST 的开发团队计划将在 NEST 3.0 上线后,完全将这些链上数据开放给外部开发者使用。届时,外部开发者每调用一次数据,需要支付一笔 ETH 费用,这部分手续费收入会直接进入 NEST 系统收益池,用于 NEST 代币持有者每周的 ETH 收益分配。
从这个价值捕获的体系设计来看,NEST 预言机被 DeFi 开发者调用所能产生的价值,是 NEST 预言机价值的核心体现,也是决定整个生态是否可持续发展的关键因素。
3,如何吸引早期矿工入场?
虽然 NEST 是一个以去中心化预言机用例为核心竞争力的项目,未来希望为 DeFi 生态提供价值,但在项目早期启动阶段,最大的挑战是:如何吸引矿工入场,成为预言机的报价者?原因很简单,这种通过博弈设计实现最终准确报价的系统中,如果参与者数量不足,无法进行有效博弈。
NEST 系统的设计,采用了「收益权模型」, 即为报价矿工提供以 ETH 计量的每周收益奖励。这些矿工参与周收益分配有一个条件,就是在合约中锁定其原生代币 NEST ,且占比越高,ETH 的收益分配占比就越高。
NEST 系统收益资金池共有 4 个收入来源,包括报价矿工支付的手续费、验证者吃单的手续费、DeFi 应用调用预言机所支付的费用以及 NEST 3.0 上线后闪电贷所产生的手续费。具体来说,这 4 个来源分别是:
- 报价矿工每次向系统支付的报价手续费,为 ETH 报价规模的 1%,目前最小报价规模为 10 ETH,所以每单报价手续费收入最少为 0.1 ETH;
- 验证者吃单的交易手续费,为吃单 ETH 规模的 2‰ (千分之二);
- NEST 预言机被调用产生的价值,每调用一次需要支付一笔 ETH 费用,具体收费规则将在 NEST 3.0 上线后作出详细说明;
- NEST 系统内的资金池在 NEST 3.0 后会支持闪电贷,并收取一定比例的手续费;
化名为「Bruce」的 NEST 社区成员告诉链闻,由于预言机赛道大多是使用权模型,因此在初始分发需要释放一定的代币出来,在这个背景下,NEST 以分红模型出现是必须的。这样,当 3.0 版本上线后,用户可使用 NEST 代币开启特定的 ERC20/ETH 报价交易对,每一个 ERC20/ETH 交易对都有自己的支付代币 nToken,须持有 NEST 代币以竞拍方式按需开通。
矿工报价必须支付 ETH 作为手续费,才能挖到 NEST,想要获取 ETH 系统收益分配,则必须持有 NEST。Bruce 介绍说,矿工须支付 1% 佣金的目的是希望挖矿行为不要变成比拼 Gas 的行为(高低可能差距几倍),这也是该设计的初衷,因为 Gas 是千分之一的数量级别,这样 Gas 的变化并不是成本的核心影响因素。
他说,支付 ETH 作为报价手续费的方式,有利于维护系统的安全性。因为矿工的每一次报价,都要付出真金白银,并且承担作恶的高风险成本。此外,用户想要获得更多 ETH 系统收益分配,就必须持有 NEST 代币,这会在一定程度上限制原生代币的卖盘压力,让系统更加稳定。
更重要的是,对于一个具有使用价值的项目来说,在早期下游调用还没有起来的情况下,用共识范围更广的外生资产 ETH 作为收益奖励,这会让矿工更有动力参与系统贡献,降低参与风险。因为就算是参与者长期价值期待落了空,项目的可持续业务能力没有期待中那么好,但短期来看,参与者至少可以获得一周一次的 ETH 奖励。由于 ETH 这种外生资产本身的流动性、用例场景、共识范围、影响力都比原生资产 NEST 更大,因此,可解耦矿工对原生资产价值增长的部分依赖,减少了 all-in (「全身心投入」)一个项目的风险。
最后,由于 ETH 收益奖励是按照锁仓 NEST 的比例来计算的,因此这又会让矿工更有动力赚取原生代币 NEST。
NEST 白皮书显示,NEST 收益分配合约根据每位用户持有 NEST 代币的占比来计算与之对应的 ETH 分配数量,持有 NEST 占比越高,ETH 收益分配就越多,每周进行一次系统收益分配。
4,如何赚取 NEST?
那矿工要如何赚取更多的 NEST 代币呢?首先需要了解一下 NEST 代币的释放机制。
NEST 代币是标准的 ERC20 代币,总量上限为 100 亿枚,其释放机制是 100% 通过 NEST 预言机报价挖矿的方式释放,无预留、无预挖,无 ICO、无私募。分配机制则是 矿工 80%,开发者 5%,守护者节点 15% 。举例来说明,假设这一单报价挖矿释放的 NEST 的数量是 100 枚,那么会有 80 枚分配给矿工,5 枚分配给开发者,15 枚分配给守护者节点。
根据链上数据显示,目前已经被挖出来的 NEST 总量为:13.94 亿枚,占总量的 13.94%
当前以太坊区块高度已经超过了 1000 万,由此可见,已经进行了一次衰减,目前的单位区块奖励为 360 枚 NEST 代币。
单笔交易对报价挖矿计算公式为:N = (e / E)* (M / C),其中, e 代表的是矿工支付的单笔报价手续费, E 代表的是该报价交易对的手续费之和,M 是打包报价交易的区块中包含的 NEST 挖矿奖励数量, C 是该区块中所包含的报价交易对类型数目。
其中, 打包报价交易的区块中包含的 NEST 挖矿奖励数量 M = K * 360, K 是该区块距离上一个含有报价交易的区块的高度差,而目前单位区块奖励为 360 枚 NEST 代币。这意味着,如果在一段时间内如果没有报价挖矿单出现,那么新出现的第一笔挖矿会获取之前未挖出的所有 NEST 奖励。通过这种方式,可以激励矿工进行持续报价挖矿,维持 NEST Protocol 网络的稳定与安全。
上线初期,只有 USDT / ETH 和 HT / ETH 两种报价类型(目前 HT/ETH 已关闭),所以 C 目前最大值为 1;此外,e / E 的比值意味着参与报价时矿工付出的手续费越多,挖矿奖励占比就越多。
5,经济模型颇为精巧
总结一下,对于报价矿工来说,影响 NEST 代币获取数量的因素包括:
1)参与时间:挖矿越早奖励越多,因为释放机制是递减通缩,且挖出代币总理恒定,永不增发 ;
2)报价矿工支付的手续费:矿工支付手续费占总手续费比率越高,即 e/E,获得的 NEST 越多;
3)竞争激励程度:报价频率越低,NEST 奖励越多,假设已经 30 分钟没人报价了,前面大概累积了 150 个区块的 NEST 奖励,那么此刻可挖出 150*360 枚 NEST。
其中,只有第二点「报价矿工支付的手续费」是矿工本身可以发挥主观能动性去持续改善的,即让自己支付手续费占总手续费比率越高,获得的 NEST 代币越多,客观上会导致 NEST 平台上 ETH 资产规模越来越大。
由此可得出,每周一次的 ETH 收益分配有两大决定性因素,分别是 DeFi 协议调用 NEST 预言机支付的服务费规模和持币人自己持有的 NEST 占比。
在下游效用还未发挥出来时前者并不存在。由于预言机暂未开放给外部使用,预言机提供的价值还没有转化为营收,不存在被 DeFi 协议调用的收益。但矿工对项目长期价值的预期,即相信预言机被 DeFi 调用的次数会不断增长,会成为项目的长期价值,这会增长矿工挖矿获取代币的驱动力,并增加长期持有 NEST 代币的信心。
也就是说,NEST 的价格预言机将成为 DeFi 生态中的有效解决方案,为开放金融注入可持续价值,这是作为 NEST 社区核心贡献者的报价矿工们的普遍共识同时,也是长远看中的关键点。
而后者则是一种激励手段,要挖到更多 NEST 代币的决定性因素则是不断增加自己的报价资产规模,客观上会促进平台资产规模的增加,安全性增强,同时须持有 NEST 代币才能领取系统收益分配,因此进一步减少抛售 NEST 代币的行为。
可以发现,NEST 设计者巧妙地将 ETH 收益池的价值和矿工对项目未来的期待绑定了起来,让矿工有动力不断挖矿,同时客观上促进了平台上的资产规模增长。
随着成为 DeFi 生态中基础设施的一部分,NEST 作为预言机用例的增长,会促进增长 ETH 收益池的增长,并带动 NEST 代币增值。
Bruce 告诉链闻,矿工意识到 NEST 这个代币的价值,这才是核心。
NEST 3.0 上线后,将会新增多种报价交易对,每一个交易对都有自己的代币 nToken。也就是说,NEST 3.0 上每一种 ERC20/ETH 交易对都会有自己的报价轨道,调用该轨道的预言机则需要支付特定轨道的代币 nToken,开通一个 nToken 轨道,需要进行拍卖,竞拍资金为 NEST 代币。
此外,系统中还有一种守护者节点币 NestNode,该治理代币主要用于防范代码层面的攻击,一旦出现黑客攻击影响到合约安全,可用来实现合约分叉治理。NestNode 总量恒定为 1500 个,拥有 NEST 系统的投票治理权和 15% 的 NEST 挖矿收益权,持有者可以自由进行转让和交易。
也就是说,NEST 将成为系统中其他代币的唯一交易媒介,它可以和每个交易对的特定代币 nToken 交易,也可以和守护者节点币 NestNode 交易,还可以用于系统治理,以及系统每周 ETH 收益的分配权,这就像连通其他代币的一个桥梁,将会产生越来越大的流动性。
Bruce 称,这样 NEST 就是一个完全原生的链上资产,没有任何中心化风险,这是一个系统工程。
6,匿名团队
NEST 这个项目另一个特点是,这是一个由匿名团队开发的项目,团队核心成员不提供个人信息。
NEST 1.0 由一个匿名开发团队于 2018 年 12 月 19 日发起,当时这还是一个抵押借贷的 DeFi 协议;升级后的 NEST 2.0 于 2019 年 11 月 30 号上线,这时产品方向做了调整,正式开始做 NEST 预言机。
目前,NestCore 开发者小组是一个纯技术的研发小组,其中包括区块链系统架构师、智能合约开发者、经济模型设计师、交互设计师,并无其他人员。核心开发团队拒绝接受采访,称自己是一个纯粹的开发者小组,要求小组成员身份均匿名,此举「只为 NEST Protocol 去中心化发展之路扫清障碍」。
按照 NestCore 的开发计划,NEST 将在近期上线在 NEST 3.0 版本,该版本将会支持任意的 ERC20 Token/ETH 的预言机报价。
目前 NEST 3.0 版本在 测试网已经上线,同时也将该版本的合约代码进行了开源。
综上,NEST 设计了一个履行多种功能的多代币系统,通过多代币系统寻求功能上的解耦,这会整个系统更加安全,包括解决功能代码漏洞的投票治理 NEST 代币、解决治理资产关联合约漏洞的分叉治理代币 NestNode ,以及每一个特定报价交易对的数种费用代币 nToken,而这所有代币想要交易都需与 NEST 代币挂钩,这让系统中所有流动性都嫁接到其核心资产 NEST 代币上,从而让 NEST 代币成为一种没有中心化风险的原生链上资产。
对于一个具有长期使用价值的项目来说,在早期价值还没凸显出来时,NEST 采用了「收益权模型」进行初始代币分发,同时巧妙地引入了一种共识范围更广的外生资产 ETH 作为系统收益奖励,可让矿工更有动力参与系统贡献,降低参与风险。
同时,矿工持有 NEST 才能获得 ETH 收益分配,而获得 ETH 则有赖于长期生态价值的增长和本身提供的资产规模,这可刺激资产规模的增长,并进一步提升系统的安全性,从而渐进式实现以用例支撑的预言机长期价值上,最终从「收益权模型」过渡到「使用权模型」。
从截止当前的运行效果和设计机制来看,NEST 基于一种博弈机制激励矿工在链上生成了真实有效的价格事实,解决 DeFi 所需的链上价格数据缺失的难题,该机制可防止恶意报价,真实反映链下市场中的公允价格,或者说无限接近公允价格,这可为 DeFi 生态提供价值具有可持续发展的潜力。长远来看,可为 NEST 代币的价值提供支撑。
目前来看,NEST 预言机的安全仍需要更多矿工加入。越多矿工加入,才能越好保证安全。NEST 有一个链式防攻击策略,随着验证者报价规模越大,作恶者成本会成几何级数增长,陷入攻击死亡螺旋,最终攻击失败。
但和所有无需信任的网络一样,没有百分之百的安全,既然恶意吃单对手方是整个市场矿工,那么这就意味着需要更多矿工加入,才能维持最大限度的安全,也就是说,NEST 共识越大,NEST 网络越安全。这也是 NEST 系统必须要实现网络效应,才会更具鲁棒性的原因。
声明:目前 NEST 代币未上架任何中心化或去中心化交易所。本文作者及链闻团队也未持有 NEST 代币。尽管很想持有,但是买不到。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。