区块链被称为是信任的机器。区块链最大的核心创新在于去中心化的解决了信任问题,我们不需要再去信任和依靠第三方机构的情况下进行价值转移。其中,智能合约起到了重要的作用。它是一套数字形式定义的合约,帮助合约参与方执行完成任务的协议,节省了时间和繁琐的步骤。


人们在与区块链智能合约进行价值交互的过程中,常常需要用到链下世界的信息,因此存在这样一个问题:我们生活在现实世界,很多经验规律和结论都是通过链下的信息所得,虽然我们在与链上世界进行交互,但仍旧要用到链下的信息来做参考和决策。而将信息从链下传递到链上则需要人来操作;在此过程中就不可避免的要面临信息上链去信任化的问题,链下信息(真实数据)的上链环节就出现了必然断层,我们把该问题称之为预言机问题。Vitalik 在《回顾区块链近 5 年经济学进展,以及新出现的问题》一文中第 16 条对预言机问题进行了强调,将重点放在了 「获取真实数据」 这一要素上来。




预言机的功能就是将链下世界的数据事实同步上传到区块链上,完成区块链与现实世界的数据同步。它允许确定的智能合约对不确定的链下世界作出反应,是智能合约与现实世界进行数据交互的唯一途径,也是区块链世界与现实世界进行数据交互的接口。


通过上面的介绍,我们已经明白了预言机问题的由来以及预言机对区块链技术发展应用的重要影响。接下来,我们将对 3 种不同类型的预言机方案进行全方位的综合对比,让大家清晰了解当前的预言机市场发展现状以及趋势。


第一类:以 MakerDAO 为代表的“联盟”预言机


MakerDAO 预言机采用 14 位矿工进行喂价。这 14 位匿名矿工背后代表着不同的实体,他们从中心化的交易所获取价格,进行平均数计算,然后上传到预言机智能合约中,之后预言机再计算出中位数。到目前为止,出于安全原因,这 14 名喂价矿工一直是不公开的,因为如果有人知道了其中一半,那么就存在被勒索改变价格的风险;因此,MakerDAO 的预言机系统具有很高的中心化风险,我们称该类预言机为中心化预言机




MakerDAO 作为以太坊上的老牌 DeFi 项目,在 2017 年其产品上线时,市场上并没有成熟可用的预言机网络,迫不得已采用了这种简单的中心化预言机方案;与此同时,为了防止预言机价格攻击事件的发生,MakerDAO 在其价格录用机制上做了一些特殊的安全限制;在有关 MakerDAO 预言机 V2 版本的计划中,其预言机方案将逐步发展为“联盟”预言机,将某些 DeFi 项目列为联盟成员,共同进行预言机喂价。




除了 MakerDAO,一些规模较小的 DeFi 项目,在其发展初期也在采用这种高度中心化的预言机方案,以牺牲产品本身的安全性来降低开发成本和周期;更有甚者,某些 DeFi 开发者团队并没有意识到这其中的安全问题…


第二类:以 Chainlink 为代表的“间接”预言机


Chainlink 预言机是通过在链上合约与链下分布式节点之间进行工单分配协作,通过奖惩机制(声誉合约,帮助评选出最匹配的预言机)和聚合模型(聚合多数据源的数据)的方式,进行数据的请求和反馈;比起 MakerDAO 预言机的中心化,Chainlink 显然更符合区块链去中心化的准则。目前,Chainlink 预言机主要向智能合约开发者提供一些简单的链下数据,如价格信息、网站 API 数据等。简单来说,Chainlink 预言机是采用往链上合约“喂数据”的方式将线下数据(价格)上传到链上,然后再反馈给数据调用者,我们称该类预言机方案为“间接”预言机。




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


除了 Chainlink 预言机,市场上的大部分预言机方案都属于“间接”预言机,如 Tellor、DOS.Network 等。


第三类:以 NEST 为代表的“价格事实”预言机


NEST 是一个分布式的价格事实预言机网络,其定义并实现了一种全新的在区块链上生成链上事实的机制,通过矿工双边资产报价的方式将链下市场的价格事实同步产生于链上,并结合 NEST 报价挖矿机制,对矿工进行激励,使其成为一套逻辑闭环的分布式报价系统,完美的将链下价格事实同步在链上生成出来,我们称 NEST 这类预言机为“价格事实”预言机




NEST 预言机方案采用了逆向验证的新思路,报价矿工要拿真金白银去参与报价,而不仅仅上传价格数据到链上合约中。有关 NEST 预言机的具体运行机制,我们以 ETH/USDT 价格为例进行说明:


  1. 任意参与者可以将自己认可的价格传入到报价合约,比如 1 ETH = 200 USDT,然后将这两种资产按照价格比例,打入到报价合约里,一般是10 - 100 ETH 的规模,并收取 ETH 规模的 1% 作为手续费,进行挖矿,获得 NEST 激励;

  2. 打进去后,等待 T0 时间(目前是 25 个区块,5 分钟左右),这个时间周期内任何人可以用报价者的价格去买走 ETH 或者 USDT,如果 T0 内没有人成交,则该报价被系统录用,有人成交则该价格无效。超过这一时间,资产即可取回;

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

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

  5. NEST 价值:挖矿手续费及使用预言机需要支付一定的 ETH 费用,统一到分红合约,分配给所有的流通 NEST。





这样的 NEST 分布式价格事实预言机方案在具体结果上的表现为:其数据具备准确性、灵敏性、抗攻击性,而且能够对数据进行直接验证,且验证者可以是任意第三方,没有门槛限制;此外,NEST 预言机网络系统是高度分布式的,任何人都可以成为报价矿工,参与报价挖矿,自由进入或退出。




最后,我们对当前的预言机现状和发展趋势做一个小结:


1)中心化的预言机方案必然存在着中心化系统风险,且无法摆脱。


2)价格数据上链的本质不是往链上“上传”数据信息,而是要在链上形成(生成)价格事实;不管是中心化的上传价格信息,还是以去中心化的方式上传,都意味着链下价格事实先于链上产生。而真正的预言机系统,应该要做到链下价格事实同步产生于链上。


3)NEST 分布式价格事实预言机给出了一个开创性的预言机方案,其独特之处在于:直接在链上形成一个价格事实,而其他间接预言机系统则只是往链上传了一个价格事实,这是本质差异!


4)此外,预言机价格形成的成本和信用规模,要能够支撑远超过该规模的 DeFi ,才是正确的预言机;NEST 分布式价格事实预言机产生的每一条数据都是矿工用真金白银去验证的,且其链式结构具备高抗攻击性。



有关整体的预言机市场发展趋势,正如 V 神在其《回顾区块链近 5 年经济学进展,以及新出现的问题》一文中第 16 条中强调的那样:要将预言机问题的重点放在「获取真实数据」这一要素上来,而 NEST 分布式价格事实预言机方案确实做到了这一点,其代表着预言机行业发展的一种新趋势,在此也希望预言机爱好者多多关注 NEST 预言机方案和其发展动态。