"区块链预言机(Blockchain Oracles)"概念的提出主要是为了解决区块链协议自身存在的局限性:(区块链)这种去中心化的网络(包括在其上构建的应用/ 智能合约)不能与外部内容进行交互。随着区块链应用变得越来越复杂,迫切需要解决“围墙花园”的限制。
当区块链预言机第一次被提出时,这种系统已经有了许多不同的实现版本,它们都是为了能够在不破坏区块链两个最大优势(安全性和无需第三方机构就可以开放信任)的情况下,实现将去中心化应用程序与现实世界间的链接。之前有不少实现预言机网络的尝试(最著名的是 Orisi),用网络中大量的用户作为一个区块链预言机提交来自外部世界的数据,但最终却失败了。此外,许多公司共同提出要么选择一种中心化的方式并信任数据载体(即 Thomson Reuters),要么选择在提高安全等级的情况下,采用认证技术来尽量降低信任程度。
Oraclize 是在2015年第一次提出的,上述第二种方式的实现系统。从那以后,其他玩家(最著名的是微软)采用了类似的方式验证这个项目。Oraclize 作为世界上最广泛应用的区块链预言机服务,每天为测试(从2015年投入使用以来,共处理数百万个请求)和产品(从2015年投入使用以来,共处理超过40万个请求)环境按需提供数据。
对于任何接触智能合约的人来说,“去中心化预言机” 一直是一个热议的话题。虽说这种解决方案如果能不破坏区块链平台的安全模型的话,是最理想的,然而,实际上这种设计是不可能实现的。
不能使用去中心化系统修复去中心化的局限性。
区块链协议已经有许多不同的实现版本,然而没有任何一个能够原生支持 oracle 特性。如果能够开发出来一个预言机去中心化架构,那么将不再需要第三方服务提供方,因为之后将会由区块链直接提供链接服务。
去中心化系统与分布式系统有一些重大的不同。区块链预言机的分布式架构并不是理想的解决方案,但其帮助减少了可攻击表面,并避免单点故障(SPOF)(而且实际上,它是可以实现的!)。
我们对于 Oraclize 的目标是提升我们的区块链预言机系统,以寻找实现突破 “围墙花园” 限制的最佳解决方案。以下是 Oraclize 解决方案的主要部分的简要概述:
按需数据 —— 为 DApps (去中心化应用程序)提供数据,并且尽量避免网络中不必要的垃圾数据。(已实现)
访问任何 Web 网站的 API —— 使得智能合约能够判断哪个数据源是可信的。Oraclize 希望通过提供一个数据传输的安全连接,而不是为数据质量提供保证。(因为我们无法检查因特网中每个可用数据生成器的数据质量)(已实现)
真实性证明 —— 加密保证数据没有被篡改。基于各种认证技术使得系统由信任数据载体转移到信任“证明人”(也就是认证技术的提供者和/或制造商,其真实性证明就是基于此的)。(已实现)
多种技术(和证明人) —— 由于真实性证明基于各种认证技术(不同技术 + 不同技术提供者),使得系统整体安全性得到提高,并且不存在单点故障。(已实现)
链上真实性验证 —— 使得智能合约在使用某一数据之前能够验证其真实性,并最终避免因使用该数据而导致的妥协的情况。(第一版已实现)
分布式架构 —— 通过多方提供节点来提供区块链预言机服务,并减少表面攻击。Oraclize 已经开发出了一种内部分布式架构,并且正运行在公开可用的节点上。(即将完成)
本文由作者授权 EthFans 翻译及再出版。
Oraclize 的 GitHub 项目:https://github.com/oraclize
Oraclize 的官方网站:http://www.oraclize.it/
下面是一份关于“智能合约开发的现状及挑战”的问卷调查,
我们始终相信,
每一次的热情投入,
都会让这个世界变得更好一点点,
期待你的参与哦 ~
领取专属 10元无门槛券
私享最新 技术干货