Chainlink 有多个产品,并不是所有的产品都有多个链下数据源,从而需要达成一致。
你问的应该是 Chainlink DataFeed,也就是喂价这个产品。 Data Feed 这个产品的流程是这样的:Chainlink 本身是一个预言机网络,预言机网络中有多个预言机节点,每一个预言机节点都会从自身的数据提供商获取数据,而数据提供商会从多个数据源获取数据,比如说各大交易所和第三方机构。
预言机节点在接收到数据以后,会经过一个叫 OCR off-chain reporting 的共识机制,对数据进行聚合,生成一个 Report,目前对于价格的共识是将所有的预言机节点价格取一个中位数。
最后将聚合以后的数据,发送给 Chainlink 部署在区块链上的智能合约,这样用户就可以从 Chainlink 部署的智能合约中获取价格数据了。