假设你和朋友想用智能合约来赌一场体育比赛的结果。你押注 A 队 10 美元,你的朋友押注 B 队 10 美元,智能合约会将这 20 美元托管起来。但是,智能合约是如何知道哪支球队获胜的呢?智能合约的设计初衷就是不与链下数据交互。
预言机提供对链下数据的访问,并安全可靠地将其传输到区块链。利用Chainlink等去中心化预言机网络(DON),您可以实现链下数据的去中心化,并建立多个数据源,从而防止数据过时或服务中断。最终,您将获得一个强大的解决方案,为智能合约提供真实世界的数据。
让我们仔细看看智能合约的局限性,预言机如何克服这些局限性,不同类型的预言机,以及常见的用例。
预言机以安全可靠的方式帮助确定性智能合约与链下数据源连接起来。
智能合约的局限性
智能合约为一切提供动力 分散的财务 (DeFi)和 权力下放的自治组织 (DAO) Web3 生态系统 以及 P2E游戏它们使双方能够安全地自动化和去中心化几乎任何类型的交易。而且由于它们运行在区块链上,因此具有安全性、可靠性和可访问性。

问题在于,智能合约的操作必须完全确定,因为它们存在于区块链上。换句话说,它们每次运行都必须产生相同的结果,以便节点可以对其进行验证。因此,它们不能使用链下数据,因为无法保证链下数据始终保持一致性和可用性。
例如,假设一个执行交易的智能合约需要实时资产价格。如果它从第三方服务器获取价格,则无法保证该服务器始终可用且响应无误。因此,其他节点可能无法验证由该智能合约生成的交易。
预言机的工作原理
预言机通过链上和链下两种方式运行来克服智能合约的局限性。链下服务器通过读取新区块来等待智能合约的请求。每个请求都包含数据请求、gas 支付限额以及…… 聪明的合同 它将接收响应并最终在链上解析数据。
例如,体育博彩智能合约的工作原理可能如下:
- 链下服务器会读取区块,直到找到请求为止。
- 该请求旨在找出比赛的获胜者,并指定一个智能合约,将获胜队伍发送到该合约中。
- 服务器获取获胜队伍的信息,并将数据发送到请求中定义的智能合约地址。
- 智能合约会识别出获胜者,并通过释放托管资金来支付赌注。
问题在于中心化预言机存在重大的安全隐患。如果攻击者攻破链下服务器,他们可以注入任意数据来窃取加密货币或造成其他问题。幸运的是,Chainlink 提供了一种去中心化网络(DON),它将多个独立节点聚合到一个单一的响应中,从而实现了去中心化和高可用性。
使用 Chainlink
Chainlink 是最受欢迎的预言机之一,截至 2022 年 6 月,其保障的总价值接近 400 亿美元。这个去中心化平台可以轻松构建混合智能合约,引入外部市场数据、天气数据、体育数据、随机函数或任何 API。因此,开发者可以不受限制地构建可靠的去中心化应用 (DApp)。
Chainlink 使用 `ChainlinkClient` 父合约运行,使智能合约能够从预言机获取数据。客户端使用 LINK 代币向已知的 Chainlink 预言机发出请求。Chainlink 默认提供对一系列常用数据的便捷访问,包括价格和天气数据,但您也可以使用该平台访问任何 API 的数据。
预言机的类型
智能合约可以以各种方式使用链下数据。因此,出现了各种类型的预言机,用于完成不同的任务。例如,处理支付的智能合约可能需要向银行发送请求来处理支付,而促进交易的智能合约可能需要实时接收资产价格。
四种最流行的神谕类型是:
- 输入预言机: 最常见的是输入预言机,它们从链下获取数据并将其传递给链上智能合约。例如,智能合约可能需要代币价格数据。
- 输出预言机: 输出预言机使智能合约能够将数据发送到链下系统以执行操作。例如,DeFi 协议可以指示链下银行进行支付。
- 跨链预言机: 跨链预言机可以在不同的区块链之间读写数据。一个常见的应用场景是跨不同区块链桥接资产。
- 计算预言机: 具备计算能力的预言机可确保链下计算的安全。例如,智能合约可能需要一个可验证的随机数用于某个函数。
Oracle 用例
智能合约使双方能够安全地自动化和去中心化几乎任何类型的交易。由于许多现实世界的交易都涉及链下数据,因此预言机的应用场景不胜枚举。预言机的应用场景涵盖了从基于区块链的游戏到复杂的金融生态系统,再到工业物联网等各个领域。
Oracle 的一些常见应用案例包括:
- P2E 和 NFT: P2E 游戏可能会使用预言机来生成随机数以分配资源。 NFT 特性、分发战利品箱,或在锦标赛或其他游戏玩法中匹配玩家。
- 去中心化金融协议: DeFi 协议广泛使用预言机来访问金融数据,并将某些加密资产与现实世界的资产(例如外汇篮子)挂钩。
- 保险: 保险智能合约可以使用预言机来验证理赔过程中的事件,或者向其他区块链或传统银行支付款项。
- 企业: 许多企业使用跨链预言机作为区块链中间件,将其后端系统连接到不同的区块链网络。
底线
智能合约无法直接接收和处理链下数据,也无法保持确定性。幸运的是,预言机使得与链下服务器收发数据变得容易。Chainlink 有助于确保这些预言机自身保持去中心化,从而维护区块链技术的核心优势。
如果您进行加密货币交易,ZenLedger 可以帮助您每年准确地报税。该平台会自动汇总您在各个钱包和交易所的交易记录,计算您的资本收益或损失,并预先填写您需要的 IRS 表格。