http://www.dfagri.com/

但这并不代表着预言机的发展会制约区块链的发展

NESTProtocol是基于以太坊网络开发的去中心化价格预言机网络。NEST定义并实现了一种全新的在区块链上生成链上价格的方案。其采用市场博弈理论,通过矿工双向报价的方式将链下市场的价格同步产生于链上,并结合NEST报价挖矿机制,对矿工进行激励,使其成为一套逻辑闭环的分布式报价系统,完美的将链下价格同步在链上生成出来,形成NEST价格预言机。

比如,购买者的合约是一个10万美元的DeFi市场,那么可能需要选择5个预言机节点来组成网络;如果该合约增长为一个100万美元的市场,可能就需要选择15个预言机节点。可以认为,Chainlink的工作方式是根据用户需求为其提供一个定制的动态的预言机网络。

不难发现,这种预言机的设计思路与区块链的分布式思想是一致的,因此它不会给区块链上的应用添加新的信任类型;而不添加新的信任类型,事情的复杂度就不会变高。但这种方法也有局限性,比如它是相对昂贵的,因为要给众多的参与者付钱;它是需要网络规模的,参与者的数量和质量与数据的可信程度是相关的。

 2. 由分布式的节点提供数据

这样一来,当我们去观察预言机项目时,重要的关注点可以落在它是如何生产信任的,以及它提供的信任能否满足它所服务的应用场景的需求。

这样看来,预言机非常重要,如果没有它,区块链的发展就局限在只能使用链上的那一点点资产数据的范围内,这显然不符合我们对它的期待。但是,重要的东西并不一定是影响系统发展的关键东西,比如氧气对于人类而言也许是最重要的,但它几乎不会构成困扰我们的问题。

不妨用互联网与区块链做对比。显而易见,互联网的数据来源也几乎只有「网外」(对应链外),它同样有数据的「上网」(对应上链)问题,但它为什么没有遇到预言机问题?

究其根源,原因在于传统互联网是中心化结构的,在这种系统中,用户选择该中心化机构,就得相信这个机构提供的数据,对数据的信任问题转移为对中心的信任问题,数据的「上网」是由中心化的服务器自己来完成的。当然,用户也可以选择不信任。

如果某个应用或某类应用对链外数据有高频的、高质量的需求,而市场上的预言机无法满足需求时,比如安全性不够高、性价比不够好,这些应用可能需要一个专门为自己的特殊需求服务的预言机,而由可信联盟提供数据的方式是一种适合该场景的设计思路。

在文章的最后,必须指出,预言机是区块链重要的基础设施,但这并不代表着预言机的发展会制约区块链的发展,反而,也许区块链的发展状况对预言机的发展影响更大。只有当链上合约对链下数据有广泛的、迫切的需求,并能为数据付费的时候,预言机才有可能真正的、全面的发展起来。

相比之前的两类预言机,这类预言机的信任组成是相对复杂的,包括对系统的机制设计的信任;对节点的信任,这很大程度上源于节点本身的利益相关者身份以及节点本身的机构声誉;对选择节点的Maker和Maker本身机制的信任。

不同的应用场景对信任的需求是不一样的。并不是所有的数据都要在最高程度的可信保障下上链,这涉及到信任的成本问题,也与数据可信的重要性、数据造假的动机等等维度相关。

由可信的中心提供数据,比Provable(原Oraclize)。

当区块链需要某个权威机构(比如国家机构、银行等等)的某类数据时,由该机构自己构建预言机来提供数据也许是很好的方式。这个时候重要的不是预言机的技术,而是数据源本身是否愿意开放接口。信任的来源也不是预言机的设计,而是该机构本身。

让我们从信任的来源入手,了解一下不同类型预言机的具体实现。

预言机的作用不是提供「真实的数据」,而是提供「可信的数据」。「真实」是一个主观的概念,也是一个难以评估的概念,世界上或许没有任何工具能保证输出「真实」,而让预言机去完成这样的功能也并不现实。我们无法设计一套机制来确保真实,但可以设计机制来提高可信程度。如果要求预言机提供真实,就容易陷入预言机无用论与区块链无用论之中,因为它们确实无法满足我们对真实的要求。

3. 由可信的联盟提供数据

数据来源有两种,一种本身就在区块链上,比如一个帐户中 ETH 的数量;一种本身没在区块链上,比如 ETH 的价格。区块链系统如何获得自身之外的数据?可以通过预言机(Oracle):当合约需要某个链外的数据时,它去找预言机要,预言机就去链下获得这个数据,然后把数据告诉给该合约。

所以,预言机的设计追求的是可用性与实用性:它只为需求服务,不为愿景服务。最容易理解的一点就是:它要追求性价比。

在Chainlink中,预言机服务的购买者先指定自己的服务级别,再由Chainlink为其匹配预言机节点,包括节点的质量和数量。

Chainlink是这一类型的预言机。如下图所示,分布式的预言机节点/预言机服务提供商从分散的数据源获取数据,并将数据提交给 Chainlink的链上聚合合约(中长期战略中将改为链下聚合以节约gas费成本),该合约经由算法计算出数据结果,并将结果发送给提出数据需求的区块链应用。

由分布式的节点提供数据,比如Chainlink。

这是一种把链下的信任继承到链上的方式,它相信的是由传统的信任生产机制带来的信任。虽然高度中心化,但至少在相当长的历史时期内是有积极且重要的意义的,比如在借贷、商业借贷的场景中。记住,区块链并不是要否定其他一切产生信任的方式。

原因并不在于互联网上的应用可以从网外读取数据,而区块链上的应用出于共识需求,必须通过预言机来读入一个一致的链外数据——实际上,任何链上的应用都可以轻松地给自己写一个预言机作为链外数据的接口。关键的问题在于,用户是否相信这个预言机提供的数据。

这个人如果是自己去看大钟的时间然后告诉盲人,我们称这种方式为由可信的中心提供数据。在这种情况下,盲人们选择这个人的前提是要能够相信这个人不会欺骗他们,所以这个人需要证明自己是值得信任的。

预言机的具体实现

虽然是中心化的存在,但由于这类预言机是商业化的,它们做而且只做提供数据的工作,数据的安全性与其自身的发展是直接相关的,所以它们不作为和作恶动机是比较小的。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读