去中心化预言机有助于使链下外部数据和 API 与区块链相连接。换句话说,预言机为智能合约提供了一个框架,用于访问具有不确定性、或无法从该链上信息中获取的数据。这些数据可以是任何内容,如从价格信息到天气报告。通过这种方式,预言机充当了区块链与链外世界的桥梁。
为什么需要预言机
智能合约提供了一种创建新的去中心化应用程序 (DApp) 的新方法。但是,智能合约通常无法访问现实世界中的信息,例如网络上的数据、或需要通过 API 获取的任何数据。
这是整个 DApp 大规模应用的主要障碍,因为几乎所有技术方面都需要数据。例如,去中心化交易所 (DEX) 在访问不到相关资产价格的情况下,无法正确计算杠杆交易所需的抵押品数量。
预言机如何工作
预言机充当数据集和区块链之间的中间件。预言机与其相连的区块链对外部资源进行查询,然后预言机通过其内部安全框架验证所需的数据,并将其中继到发出请求的区块链客户端。这些数据实际上是通过外部交易的方式被区块链所接收,这样可以保证连接到链的所有节点共享此信息以验证下一笔交易。
预言机存在的问题
任何智能合约执行的决策都在很大程度上取决于预言机提供的数据质量,这使得数据源的安全性对链的安全性至关重要,这也是预言机至今仍未被解决的主要问题。然而,善用不同类型的区块链预言机可以显着降低该风险。
预言机可以是中心化的,也可以是去中心化的。前一种类型的本质特征是从中心化数据库中导入数据,一个典型的例子是从 AWS 服务器上运行的网站查询实时数据。这种方法通常会抵消区块链的技术优势,因为单个实体将控制提供给智能合约的数据。但是,在某些用例中,尤其是围绕来自真实世界数据的信息,中心化预言机的使用是不可避免的。
去中心化预言机显着降低了风险,其智能合约不是依赖单个实体来提供数据来源,而是查询多个预言机以保证数据的有效性和准确性。每个预言机在去中心化网络中自主运行,共同将链下数据带入区块链。
预言机的类型
概括地说,预言机的好坏取决于它的数据源。因此,我们可以根据数据源、信息方向、和它所代表的信任级别来区分预言机类型。
软件预言机
硬件预言机
入站预言机
出站预言机
特定于智能合约的预言机
软件预言机
软件预言机处理源自互联网上的在线资源(例如数据库和服务器)的信息。由于此信息可通过 API 实时在线获取,软件预言机可以连续请求和馈送数据。因此,软件预言机是最常见的区块链预言机类型。
硬件预言机
硬件预言机是指电子传感器、监视器和条形码扫描仪等设备,它们可以将现实世界中来自物联网 (IoT) 的事件转化为区块链上的数据。例如,传感器可以跟踪天气并将数据传输到区块链上。
入站预言机 出站预言机
入站预言机使智能合约能够从外部世界接收数据。相反,出站预言机使智能合约能够将数据发送到外部世界。例如,当区块链地址收到一定数量的通证时,可激活外部世界的某个事项。
特定于智能合约的预言机
特定于智能合约的预言机被定制为向单个智能合约提供信息。尽管这些预言机的维护成本很高,但它们服务于特定的用例,因此它们为开发人员提供了一个灵活的环境,他们可以在其中根据某些要求定制预言机。
总结
预言机已成为开放网络中内部和外部通信的重要组成部分。今天,由不同预言机组成的大型网络支持许多重要的加密项目的功能。如果没有预言机,DeFi 项目将不得不仅仅依赖其网络中可用的信息,这将极大地限制其在多区块链未来(包括跨链交易)中的能力。
例如,Injective 依靠一组去中心化的预言机为交易市场提供最准确的价格。因此,我们与 Band Protocol 和 Chainlink 等预言机合作,以提供可靠的事实来源。需要注意的是,即使在去中心化的环境中,预言机也不是完全无误的。因此,区块链项目都有责任使其所依赖的预言机网络多样化,以最大限度地减少错误概率。这也是 Injective 与多个预言机提供者密切合作的众多原因之一。