智能合约[1]是一种代码,其中包含一组管理各方如何交互的规则。如果满足预定义的规则,协议将自动执行。
原则上,区块链网络和智能合约是确定性的,无法访问来自外部世界的数据。
预言机解决了这个看似主要的问题。
在区块链网络的背景下,“预言机”是将链下世界的相关数据带入智能合约的服务或数据源,反之亦然。
什么是预言机?
在我们的文化中,oracle被定义为提供明智和有见地的建议或做出卓越预测的人。
当谈到区块链网络时,它们并没有那么不同。
预言机是使智能合约能够与外界通信和交换数据的第三方服务。它们不是区块链共识机制的一部分。
例如,在您的代码中,您可以包含一个函数,以确保人们只能向智能合约发送大于当前以太币价格的金额。
调用该函数时,将执行两次。
1. 因为我们的合约没有该信息,智能合约将使用预言机从外部链下源检索当前的 ETH 价格。
2. 智能合约将执行检查以确保仅存入或接受大于当前以太币价格的金额。
下面的伪代码演示了执行是如何发生的。
预言机的主要类别
预言机的好处在于它们有多种形式,因此无论区块链系统及其要求如何,您都可以找到有效的方法并将其集成。让我们来看看它们。
入站预言机
这是目前为止最常见的预言机类型。
Inbound oracles,顾名思义,具有将数据注入智能合约的功能。
该传入数据来自外部来源,一旦交易完成,合约将根据接收到的数据进行后续执行。
入站预言机是一种数据馈送,可为合约提供当前股票价格或当前温度等更新。一些最受欢迎的入站预言机是Chainlink(LINK)[2]和WINlink(WIN)。[3]
出站预言机
与入站预言机相比,出站预言机将智能合约数据发送到合约外的来源。
考虑一个智能合约用例,其中某些功能的执行导致现实世界中某些属性的释放。
出站预言机的工作方式类似于从您的合约进行 API 调用以触发外部源中的事件。
软件预言机
绝大多数入站和出站预言机都是软件预言机。
软件指标似乎是进出现实世界的实时和最新数据源。
由于它们的执行模式,可以通过公共数据库和平台中的几行代码轻松访问它们。
他们提供有关任何可量化事物的可靠数据,例如股票和加密货币价格以及天气更新。目前,软件预言机是最强大和用户友好的预言机。
硬件预言机
有人可能会问,需要直接从物理世界获取信息的智能合约怎么样?这就是硬件预言机发挥作用的地方!
它们为区块链网络和物联网 (IoT) 之间的数据交换提供了通道。
例如,车辆穿过装有运动传感器的特定障碍时,可以检测车辆的运动并将数据发送到智能合约。
数据可以在出站硬件预言机中从智能合约发送到物理世界。
基于共识的预言机
基于共识的预言机使用多个预言机和共识算法来获取智能合约的事实数据,就像基于共识的决策建立信任并产生最佳结果一样。
越多越好,因为减少或消除了操纵。
当只使用一个来源时,警告就会起作用。这使得数据不可信。
多个预言机(4-6)的组合可能会提高我们收到的数据的可靠性。
区块链预言机的优势和可能的用例
预言机对区块链网络至关重要,因为它们改进了智能合约承诺。
如果不存在去中心化的预言机,智能合约只能访问其加密网络中的数据,从而限制了它们的潜在应用和稳健性。
可靠性是区块链预言机成功的关键因素。
如何获取数据的基本概念是系统汇总并彻底分析来自多个来源的数据。只有来自不同资源集的准确且经过审查的数据才能以这种方式到达智能合约。
用例 1:去中心化博彩
博彩业是智能合约和预言机技术有可能发生革命性变化的领域。
博彩公司/书签是允许玩家在游戏预测上下注的实体。
玩家会因正确预测而获得一定数量的奖励,这总是比初始投注数量有所增加。
在幕后,博彩公司从中央 API 检索游戏信息并运行检查以确保当前的选择与玩家的预测一致。
玩家的错误预测导致投注被结算,导致资金损失。
以下是 Web2 博彩公司的一些问题。
Web3 博彩公司将提供什么好处?
拥有基于分布式账本的基础设施的博彩公司可以帮助减少交易摩擦和集中化。
由于智能合约本质上是确定性的,因此自动化资金转账和存款似乎很简单。
需要注意的是交易费用的概念,这不应该成为可扩展区块链平台的问题!
智能合约可以与预言机通信,预言机将负责从外界注入实时数据。
将执行额外的检查以确保获奖者收到他们的会费。将解决 Web2 投注的主要缺点,例如延迟计入收益和未计入获胜。
最后,自动化可以为企业节省大量时间(提高用户响应率)和金钱。双方都从这种安排中受益。
用例 2:购买房产
当前购买房屋和汽车等财产的模型涉及使用交易清算和结算所需的可信中介。
购买汽车时,会涉及其他第三方,例如银行和保险公司。
客户不必担心车辆的保险费用,但他们必须应对一个漫长的过程。
考虑一个所有相关方都使用分布式账本技术的场景。传统的步骤都不会被跳过,但我们可以使用预言机和智能合约来创建一个安全、廉价和可靠的过程。
这将如何进行?
具有唯一区块链身份的买家将发起“购买”交易,将一定数量的资金存入卖家的钱包。保险单计划的辅助智能合约交易将包含在更复杂的交易中。
将执行进一步的检查以确保仅需要一定数量的钱才能成功进行转账。
当达到成功传输点时,硬件出站预言机进入画面。这个预言机的工作是将智能合约数据发送到带有集成智能锁的外部世界(智能车库和汽车),例如新所有者的身份和访问代码。只有在相关财产的付款成功后,才会执行整个程序。
新所有者的区块链身份随后将与该物业相关联,他将以安全代码的形式获得对该物业的独家访问权。
好处和更大的前景
该技术消除了车辆和保险公司手动交互的需要。运行区块链节点的计算机可以潜在地确定某人是否是汽车的合法所有者。
如前所述,流程自动化将需要使用智能合约和出站预言机来交换数据。
一个显着的优势是所有者可以使用智能合约访问控制来授权他人访问他们的财产,方法是将区块链身份(临时或永久)注册到他们的财产。
车主无需担心被盗,因为汽车配备了用于访问控制的数字钥匙。
使用区块链预言机的缺点
在坚定地确定预言机是智能合约和我们常规外部世界之间桥梁的重要组成部分之后,不讨论利益相关者在使用预言机时将面临的一些主要缺点是没有道理的。
1. 安全
安全概念是利益相关者必须准备好应对的一个问题。
鉴于区块链网络的历史,要确保源自链下的数据是可信的尤其困难。
尽管我们可以吹嘘数据在到达智能合约之前会被多次聚合,但应该注意的是,单个不可靠的数据点有可能改变最终数据的状态。由于攻击者操纵 oracle 数据,Warp Finance 损失了 770 万美元。Synthetix、Harvest Finance 和其他 DeFi 公司都因糟糕的预言机执行和数据操纵而损失了数百万美元。
2.成本
在使用区块链时,签署交易会产生费用是众所周知的,而由于从预言机中获取数据需要大量的计算能力,因此需要支付相应的高额资金来支付费用。
在区块链网络的当前状态下,广泛的计算仍然不方便。随着可扩展性的提高,智能合约中的预言机很可能会得到广泛采用。
3.执行时间
与集中式数据相比,从多个来源聚合数据并就结果达成共识所需的时间更长。此外,托管大部分去中心化应用程序的以太坊等流行的智能合约网络速度很慢。同样,随着各种区块链网络的可扩展性提高,我们将能够拥有更快的流程。
Chainlink:最受欢迎的区块链预言机概览
Chainlink[4]于 2017 年在以太坊区块链上推出,是一项开源和去中心化服务,为 Defi、企业、保险、NFT 和游戏中的智能合约用例提供支持。
Chainlink 提供的去中心化预言机网络是一种开源技术基础设施,允许任何区块链安全地连接到链下数据和计算资源。
LINK是网络的原生加密货币,用作数据有效载荷,将所需数据从链下源传送到智能合约。从这些代币中获得的交易价值用于支付节点运营商检索数据的费用。
Chainlink Data Feeds是一种安全、可靠且去中心化的链下数据源,可用于支持独特的智能合约用例。
Chainlink 可用于各种链下计算功能,包括可验证随机函数 (VRF),它正在推动去中心化游戏行业的发展。
原文:https://asiedu-dev.hashnode.dev/blockchain-oracles-connecting-the-outside-world-to-decentralization
引用链接
[1] 智能合约: https://www.michaelasiedu.com/the-lifecycle-and-application-of-blockchain-smart-contracts
[2] Chainlink(LINK): https://chain.link/
[3] WINlink(WIN)。: https://winklink.org/
[4] Chainlink: https://chain.link/
[5] 博客: https://www.michaelasiedu.com/