【摘要】 什么是预言机区块链技术正在受到全世界的广泛关注。区块链的去中心化、无须信任、防篡改的特点使得区块链成为了信任和价值交换的基石。智能合约更大的意义在于⾃动化执⾏,将合约置于
什么是预言机
区块链技术正在受到全世界的广泛关注。区块链的去中心化、无须信任、防篡改的特点使得区块链成为了信任和价值交换的基石。智能合约更大的意义在于⾃动化执⾏,将合约置于一个可信的执行环境中,在这个安全的环境中对数据做出处理。我们正在web2.0 这个旧世界里搭建起来基于区块链、智能合约的去中心应用,这些去中心应用包括 分布式云存储、保险、游戏、市场预测等。
不过,区块链无法主动获取现实世界的数据,既不能直接引入互联网数据,也不能自发调用外部网络API,而任何商业应用都不可避免地要与现实世界交互,特别是与互联网数据交互。
这就是预言机(oracle)诞生的理由。
如何在一个可信的环境引入一个外部数据源呢,这个数据源如何做到可信呢?
目前市场上的预言机:
•Oraclize 是一个为以太坊提供中心化数据传输预言机服务的项目,其依托亚马逊 AWS 服务和 TLSNotary 证明技术,提供预言机的服务。它是中心化的,而且TLSNotary要花费很多的Gas,这笔消耗最终还有要由用户买单。
•Chainlink 是以太坊区块链上第一个被提出的去中心化预言机解决方案。比起 Oraclize 的中心化,Chainlink 更符合区块链去中心化的准则。Chainlink 主要提供用于帮助智能合约访问关键链外资源、网站 API 和传统银行账户支付的预言机服务。
Chainlink 也拥有一个对节点的信誉评价体系,信息需求方可以选择特定信誉级别的节点,每次信息反馈之后也会更新每个节点的信誉评分。但它有几个缺点,其中最大的缺点是过多的Gas费用消耗——区块链中的交易数量正比于参与每轮共识的预言机客户端数量。
在Chainlink的长期规划中,它将来会探索支持链下聚合的法。同时,它的协议和签名方案是交互式的,涉及多轮消息交流,在最糟糕的情况下,它需要大多数链下客户端的参与,因此Chainlink的性能和可扩展性一般。
•DOS Network 是一个提供去中心化的预言机服务的网络。它不但提供预言机功能,同时也为区块链提供无限的且可验证的计算力。
Dos Network 在链上监测用户数据请求,链下监控和接收数据请求,再通过链下随机选一组节点来提供数据,一旦收集来的数据通过组内 51% 节点共识被视为「正确答案」,最后链下再将获取的答案反馈给链上信息请求方。 但是不能避免第三方故障点。比如说 CoinMarketCap 或 CryptoCompare 出现故障, 就不能提供服务了。
Band Protocol 预言机
Band Protocol 是一个安全且可扩展的去中心化预言机(oracle),以 Layer 2 的形式为公链扩容。它允许去中心化应用将互联网上的现有数据进行利用,而无需可信任的中介。与现有的其他协议相比,Band Protocol 提供了更便宜,更快速的解决方案,并且不会影响安全性。使用 Band 协议的开发者将能够构建更广泛的去中心化应用,并集成到链下财务数据。
•能直观的查询和处理数据请求,只要对⼀个智能合约做简单的函数调⽤,就能接收真实世界。通过使用接口提供的 queryPrice 函数,可以直接调取外部数据。

•没有第三方故障点
一个数据集可以由多个第三方数据提供,然后Band做整合,一个点失效了,还有其他数据提供点。数据来源可以使⽤平均值、中位数或多数进行聚合, 并且可以从多个来源(如中⼼化外部数据来源或链上数据聚合器)进行聚合。
•而且每种数据类型有专用的Token进行支付,比如说 金融数据集 使用 A Token 消费,彩票数据集使用 B Token 进行消费
为什么这么设计呢?有 2 个优点
1.当代币的价值直接与该组中管理的特定数据集绑定,那整理真实数据将完全带给代币持有者直接好处。反过来说,如果全网只有⼀个代币,则无法知道哪种数据的贡献是否有显著的价值。因此,数据的安全性和可靠性模型较弱。这很容易导致公地悲剧(Tragedy of the Commons)和数据分歧。
2.反面来说,如果全⽹仅有⼀个Token,⼀个错误的数据集可能不会导致代币的价值显著下降。因此,贿赂代币持有者来操作⼀个数据集的可能性比⼀个 数据集有⼀个代币的情况更可能发生。因此在个别数据集个别代币这种情况下,代币持有者的损失将大于数据集的品质下降,更可防范贿赂的情况发⽣。
数据集治理
由于每种数据集都有自己的Token,Token的供应量如何确定呢?Band Protocol 会发行 BAND Token作为基础 Token, 然后 每个数据集的 Token的 通过一种联合曲线(bonding curve)的函数映射方式,与BAND Token确定 供应量与价格。这种函数映射方式是在智能合约里执行。
下面是 Band Protocol与其他预言机的详细对比

Band Protocol 支持的数据类型

目前 Band Protocol 已经支持某些金融 、体育 、彩票的数据,还可以通过 Web Oracle API 获取数据, 大家可以去 https://app.kovan.bandprotocol.com 体验下, 数据的获取方式很直观自然, 而且快速,消耗的 gas 更少。
对于开发者
开发者可以通过 Band Protocol 开发文档[1],为自己的 Dapp 提供可靠的预言机支持。如有相关问题,请加入Band中文开发群,请加微信 ivyair1995 并备注 Band 开发。(Rebase)