一文告诉你何为预言机(Oracle)?
预言机主要是将外界的数据(如日常温度以及政客选举票数)发送给类似以太坊这样的区块链平台。区块链上的智能合约就可以使用这些数据进行相关决策。
我们举个更具体的例子:农民有时候需要购买农产品衍生品来对冲干旱等天灾对其造成的损失。如果是恶劣天气,衍生品就需要一次性付清款项弥补农民的损失。
预言机可以帮助以太坊上的智能合约自动执行这一系列任务。智能合约是由以太坊等区块链提供的工具,只有在满足正确条件的情况下,才执行关联条款。以太坊是当前市值排名第二的加密货币。
例如季末,一个天气预言机可能会通知智能合约这个季度的下雨天少于 10 天。智能合约收到通知后,就知道需要赔付农民款项了。
相反,如果该季度雨水充沛,天气预言机也会通知智能合约,农民也得不到赔付了。
预言机存在什么问题?
智能合约运行在区块链网络上,我们通常假设,只要合约已发布,便完全由区块链网络控制;无需信任任何人去执行合约的规则,也没有中间人能够阻碍交易,智能合约会按照代码的设定执行。
然而,预言机是由个人/实体运行的一个数据喂价服务。区块链的核心原则是移除第三方,然而,预言机就是这种第三方。
信任一个数据源会引发一些问题。例如,预言机服务的所有者可以根据自己的意愿发送不准确的数据去干扰智能合约。另外,其他人如黑客也可以攻击干扰数据服务。
不依赖预言机的智能合约不存在这个问题。研究人员正在探索各种各样的方案来缓解这种问题,可以通过打造更加去中心化的预言机或者能够防止恶意破坏者的预言机。其中的一种方案就是让预言机的计算机使用可信执行环境(TEE),这是一种具备额外安全性的特殊硬件环境,因此很难对其进行破坏。
什么应用需要使用预言机?
许多以太坊应用都是用预言机,如预测市场 Augur。Augur 是一个可以让用户针对未来可能会发生的事情进行下注的应用。例如“拜登能够在 2024 年的选举中获胜”。Augur 使用来自预言机的数据来判断拜登是否获胜,然后结算交易。
像 Chainlink 这样的平台,就把自身打造成为了一个预言机平台,并且通过各种方式去防止预言机出错。
Scan QR code with WeChat