一、Chainlink 预言机数据调研
以 BTC/USD 数据聚合器为例,如图所示:
该聚合器的官方说明如下:
聚合器合约地址:0xF5fff180082d6017036B771bA883025c654BC935
当前有 21 个 Chainlink 节点在提供往预言机合约上传数据;
至少采用了其中 9 个节点的数据,通过一个快速选择算法得出一个值得信赖的价格,写入聚合器合约中;
当链下价格波动超过 1% 时,预言机节点会主动向预言机提交新的价格数据,进而更新聚合器合约中的数据;
每隔 3600 秒(1小时),聚合器合约就会主动调用预言机来获得新的价格数据;
每个数据的聚合器至少需要 9 个预言机节点响应才能计算可信答案;
接下来我们来查看 BTC/USD 聚合器的链上数据:
打开Etherscan 浏览器:
https://cn.etherscan.com/address/0xf5fff180082d6017036b771ba883025c654bc935
通过链上合约交易记录,我们可以看到每 60 分钟会有一笔聚合器合约触发的交易产生。
查看其中一笔交易详情:
https://cn.etherscan.com/tx/0x0be039690d263302ce5efbfdcf11bc3e333ed65c4d32dcc8f6a7633f7a8e30e1
可以看到,这笔交易内一共包含了 21 笔 LINK 转账交易,向 21 个节点进行预言机费用支付,每个节点支付 1 LINK。
从聚合器合约的 ERC20 交易记录中也可以看到这些交易记录:
正常情况下,预言机节点奖励的 LINK 费用应该由 Chainlink 预言机调用者去支付,但不知这里发生了什么,产生了确定性的周期性支付。简单计算,单独只是 BTC/USD 这一项数据,每天需要向 Chainlink 预言机节点支付:24*3*21*1 = 1512 LINK。
除了 BTC/USD 这项数据外,我们还查看了 ETH/USD 聚合器的相关链上数据,也是每隔 20 分钟进行一次数据聚合,参与聚合的节点也是 21 个,不同的是每次每个节点奖励是 0.333 LINK,每天需要向 Chainlink 预言机节点支付:24*3*21*0.333 = 504 LINK。像 BTC/USD 这样的数据项,在 Chainlink 节点内置的核心聚合器中至少有27 个,每天向节点支付的 LINK 费用可想而知是个不小的数字。疑问 :谁在为此买单?
除了官方节点默认的核心聚合器外,Chainlink 预言机还支持第三方开发者自定义创建自己需要的数据聚合器,目前暂无该类聚合器的链上数据。
经过我们上面的分析,可以看到 Chainlink 节点每天都能获得大量的 LINK 奖励,那么怎么才能成为节点呢?
(Chainlink 官方认证节点)
按照 Chainlink 官方给出的说明,任何人都可以运行一台服务器去成为预言机节点,参与预言机链下数据聚合。但实际情况并非如此,由于 Chainlink 预言机节点还没有上线 LINK 抵押机制和声誉系统,所以要想成为节点,必须通过官方的商务渠道进行申请;而且只有机构才有资格参与,不接受个人申请。(这一点与“去中心化预言机”本质相悖)
二、NEST 预言机数据调研
有别于 Chainlink 信誉节点喂数据的预言机方案,NEST 预言机定义并实现了一种全新的在区块链网络上生成链上价格事实的机制;其采用市场博弈理论,通过矿工报价的方式将链下市场的价格事实同步产生于链上,并结合 NEST 挖矿机制,对报价矿工进行激励,使其成为一套逻辑闭环的分布式报价系统,完美的将链下价格事实同步在链上生成出来,形成 NEST 预言机价格数据。
以 USDT/ETH 价格数据为例:
报价合约地址:0x4f391c202a906eed9e2b63fdd387f28e952782e2
报价矿工报价:USDT/ ETH 市场价格为 P
最小报价规模:10 ETH + (10 * P)USDT
报价合约生命周期:25 个以太坊区块(5分钟左右)
报价矿工:分布式的 NEST 预言机报价参与者
当前报价频率:40 个区块一次(每隔 40 个区块左右会有一笔或者多笔报价交易产生)
接下来我们来查看 USDT/ETH 报价合约的的链上数据:
打开Etherscan 浏览器:
https://cn.etherscan.com/address/0x4f391c202a906eed9e2b63fdd387f28e952782e2
通过链上合约交易记录,我们可以看到每隔 7~10 分钟会有一笔或多笔报价交易产生。
我们查看其中一笔交易详情:
https://cn.etherscan.com/tx/0xafd7462a77259bc959f4f3067d54f837cb60ac7fd211473af580e6d56f71e805
我们可以看到这笔报价交易中涉及到的报价资产有:10.1 ETH 和 1410.09 USDT,其中 0.1 ETH 是报价挖矿手续费。我们可以计算出这位报价矿工给出的 USDT/ ETH 市场报价为:141.009 USDT (报价时间:2020.03.24 16:30)
我们查看一下这位报价矿工“取回报价资产”的交易详情:
https://cn.etherscan.com/tx/0x877275c158ee2c171d49a6b098700a13204775a19426b56ed1fa27d86561f38f
这位 NEST 预言机报价矿工在 25 个区块之后,成功取回了自己报价资产:10 ETH + 1410.09 USDT,顺利完成报价。(没有被吃单,说明该报价能够代表市场公允价格)
通过 NEST DAPP(前端报价工具)可以参与 NEST 预言机的报价操作:
(任何人都可以参与 NEST 预言机报价)
此外,这笔报价挖出了 16200 NEST,其中这位报价矿工得:16200 * 80% = 12960 NEST。(这就是 NEST 预言机报价挖矿奖励机制)
通过 NEST DAPP(前端报价工具),我们可以看到 NEST 预言机输出的 USDT / ETH 历史价格走势:
通过对 NEST 预言机链上价格数据的分析,我们得到了一张描绘 NEST 预言机报价频率的走势图:
Y 轴为报价交易之间的区块间隔数量,我们可以发现当前的 NEST 预言机报价间隔区块大概为 40 个区块左右(8.5分钟)。
三、总结分析
从链上数据来看,NEST 预言机表现更好;在抗攻击性层面,由于 Chainlink 还未上线声誉系统和 LINK 抵押机制,所以在这个方面是有缺失的,而 NEST 预言机的报价验证机制具备天然的抗攻击性;就市场影响力来看,Chainlink 合作伙伴更多,知名度更大。
作为 Oracle 赛道已经落地应用的预言机项目,无论是 Chainlink 还是 NEST 预言机,都正处在一个高速发展的阶段,推动着 DeFi 产业的大规模商业化应用。Chainlink 团队背景宏大,擅长市场 PR 与合作;而 NEST 预言机则立足本质,坚守去中心化基本原则;虽然它们刚刚经历一场加密货币价格闪崩的大考,但真正的市场历练才刚刚开始…