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