撰文 | NESTFANS.知鱼
出品 | NEST爱好者(nestfans.com)



预言机是连接区块链世界与真实世界的桥梁,它以一种符合区块链共识机制的方式将链下世界的信息带到链上,为区块链世界引入真实有效的市场信息源。

NEST Protocol 遵守区块链世界的基本原则,以更加本质、更加符合区块链共识机制的方式,将链下世界的价格数据直接在链上生成出来,形成高度确定性的链上价格数据。

NEST 预言机采用矿工双边报价\验证者吃单验证的方式,确保每一条价格数据都得到有效验证。其验证周期为25 个以太坊区块时间(约 5 分钟),这一时间段便是验证者与报价者(或验证者与攻击者)进行博弈的过程。
 
一、NEST预言机的报价机制

在分析验证者如何在 NEST 预言机中套利之前,我们先看一下 NEST 预言机的报价原理。

报价矿工在进行报价时,需要转入报价交易对所对应的具体数额的资产,目前报价规模为 30 ETH。
 
假设当前 USDT/ETH 交易对的市场价格是 1 ETH = 600 USDT,那么报价矿工需要往报价合约单中同时转入 18000 USDT 和 30 ETH 的报价资产。转入成功之后,该报价合约单会在报价市场中显示 25 个区块的时间(约 5 分钟)。
 
在这一段时间内,任何验证者都可以按照该矿工的报价数据进行兑换;比如,验证者可以往报价合约中转入 18000 USDT 兑换出 30 ETH,我也可以往报价合约中转入 30 ETH 兑换出 18000 USDT。

这就意味着,如果报价矿工的报价数据与市场公允价格偏离较大,那么就给验证者提供了一个套利机会,任何人都可以成为验证者参与吃单套利;NEST 预言机通过这种套利惩罚机制促使报价矿工按照市场公允价格进行报价,进而通过 NEST Protocol 在链上直接生成价格数据。

二、NEST预言机的验证机制

 
如果有一个报价矿工报出了一个偏离市场价格的报价单出来,此时验证者可以进行吃单套利。

比如当前 ETH 市场价格为 600 USDT,而有位报价矿工报了一个错误的价格,他报了 300 USDT, 其打入报价合约中的报价资金规模为:30 ETH + 9000 USDT。这时候,验证者的套利机会便出现了。

验证者操作:

验证者往报价合约中转入 9000 USDT,交易走了 30 ETH;然后在市场上卖掉 30 ETH 获取 18000 USDT,最终利润为:9000 USDT(注:忽略了链上套利的gas费和中心化交易所的交易手续费)。

具体的验证规则如下:

1)验证者的吃单数量最少为 X * 30 ETH,X 是一个整数。因为最小报价规模为 30 ETH,所以吃单也必须是 30 ETH 的整数倍;