第147篇 笔记-预言机(Oracle)

定义:区块链预言机是将区块链连接到外部系统的实体,从而使智能合约能够基于现实世界的输入和输出执行。

预言机为分散的 Web3 生态系统提供了一种访问现有数据源、遗留系统和高级计算的方式。去中心化预言机网络(DON)支持创建混合智能合约,其中链上代码和链下基础设施相结合,以支持高级去中心化应用程序(dApp),这些应用程序对真实世界事件做出反应,并与传统系统互操作。

区块链预言将区块链连接到现实世界中的输入和输出

例如,让我们假设 Alice和 Bob想打赌体育比赛的结果。Alice在 A队押了20美元,Bob在 B队押了30美元,总共40美元由智能合约托管。当游戏结束时,智能合约如何知道是将资金发放给 Alice还是 Bob?答案是,它需要一个预言机机制来获取链下的精确匹配结果,并以安全可靠的方式将其交付给区块链。

1.解决预言机问题

区块链预言机问题概述了智能合约的一个基本限制,即智能合约无法与本地区块链环境之外的数据和系统进行内在交互。区块链外部的资源被视为“链外”,而已经存储在区块链上的数据被视为链上。通过故意与外部系统隔离,区块链获得了其最有价值的属性,如对用户交易的有效性、防止双重开销攻击和减少网络停机时间的强烈共识。从区块链安全地与链外系统进行互操作需要一个称为“预言机”的额外基础设施,以连接这两个环境。

区块链无法自行连接到真实世界的数据和事件

解决预言机问题至关重要,因为DeFi等绝大多数智能合约用例都需要了解真实世界的数据和链外事件。预言机扩展了区块链可以支持的数字协议类型,提供了一个到链外资源的通用网关,同时仍然维护了区块链的宝贵安全属性。主要行业受益于结合预言机和智能合约,包括金融资产价格、保险天气信息、游戏随机性、供应链物联网传感器、政府身份验证等。

由于预言机向区块链交付的数据直接决定了智能合约的结果,因此,如果协议要完全按照预期执行,那么预言机机制的正确性至关重要。

2.预言机的关键功能

区块链预言机是一种安全的中间件,可促进区块链与任何链外系统之间的通信,包括数据提供商、web API、企业后端、云提供商、物联网设备、电子签名、支付系统、其他区块链等。

预言机具有几个关键功能:

  • Listen – 监控区块链网络,以检查任何传入的用户或智能合约对链外数据的请求。
  • Extract – 从一个或多个外部系统获取数据,例如托管在第三方web服务器上的链外API。
  • Format – 将从外部API检索的数据格式化为区块链可读格式(输入)和/或使区块链数据与外部API兼容(输出)。
  • Validate – 使用数据签名、区块链交易签名、TLS签名、可信执行环境(TEE)证明或零知识证明的任何组合生成一个验证oracle服务性能的加密证明。
  • Compute – 为智能合约执行某种类型的安全链外计算,例如从多个oracle提交中计算中值或为游戏应用程序生成可验证的随机数。
  • Broadcast – 在区块链上签署和广播交易,以便发送数据和链上的任何相应证明,供智能合约消费。
  • Output (optional) –  在执行智能合约时向外部系统发送数据,例如向传统支付网络转发支付指令或从网络物理系统触发操作。

执行上述功能需要预言机系统同时在区块链上和区块链外运行。链上组件用于建立区块链连接(监听请求)、广播数据、发送证明、提取区块链数据,并可能在区块链上执行计算。链外组件用于处理请求、检索和格式化外部数据、向外部系统发送区块链数据,以及执行链外计算,以实现更大的可扩展性、隐私性、安全性和各种其他智能合约增强。

3.去中心化预言机

区块链预言机机制使用集中实体向智能合约交付数据,引入了单点故障,破坏了去中心化区块链应用程序的全部目的。如果单个预言机离线,则智能合约将无法访问执行所需的数据,或者将基于过时数据不正确地执行。‍

更糟糕的是,如果单个预言机损坏,那么链上传递的数据可能非常不正确,并导致智能合约执行非常错误的结果。这通常被称为“垃圾输入,垃圾输出”问题,其中不良输入会导致不良输出。此外,由于区块链交易是自动化和不可变的,基于错误数据的智能合约结果无法逆转,这意味着用户资金可能会永久丢失。因此,集中式预言机不是智能合约应用程序的可选方案。

集中式预言机会出现单点故障

真正解决预言机问题需要分散的预言机来防止数据操作、不准确和停机。去中心化预言机网络,简称DON,结合了多个独立的预言机节点运营商和多个可靠的数据源,以建立端到端的去中心化。‍

更重要的是,许多Chainlink DONs,如 Chainlink Price Feeds,在数据源、单个节点运营商和预言机网络级别结合了三层去中心化,以消除任何单点故障。Chainlink Price Feeds已经通过这种多层次的去中心化方法帮助智能合约生态系统获得数百亿美元的资金,确保智能合约在执行过程中能够安全地依赖数据输入。

Chainlink Price Feeds部署三层分散聚合

4.区块链预言机的类型

鉴于广泛的链外资源,区块链预言机有多种形状和大小。混合智能合约不仅需要各种类型的外部数据和计算,还需要各种交付机制和不同级别的安全性。通常,每种类型的预言机都是包含获取、验证、计算和将数据传递到目的地的一些组合。

1.输入Oracle

当今最为广泛认可的预言机类型被称为“输入预言机”,它从真实世界(链外)获取数据,并将其传送到区块链网络,用于智能合约消费。这些类型的预言器用于为 Chainlink Price Feeds提供动力,为 DeFi智能合约提供对金融市场数据的链上访问。

2.输出Oracle

与输入预言相反的是“输出预言机”,它允许智能合约向链外系统发送命令,从而触发它们执行某些操作。这可以包括通知银行网络付款,通知存储提供商存储所提供的数据,或在进行链上租赁付款后 ping物联网系统解锁车门。

3.跨链Oracle

另一种类型的预言机是跨链预言机,可以在不同的区块链之间读写信息。跨链预言机实现了在区块链之间移动数据和资产的互操作性,例如使用一个区块链上的数据在另一个区块上触发操作,或跨链桥接资产,以便它们可以在发布时所在的本地区块链之外使用。

4.支持计算的Oracle

智能合约应用程序越来越广泛地使用的一种新型预言机是“支持计算的预言机”,它使用安全的链外计算来提供分散的服务,由于技术、法律或财务限制,这些服务在链上无法实现。这可以包括使用 Chainlink Automation在发生预定义事件时触发智能合约的运行,计算零知识证明以生成数据隐私,或运行可验证的随机性函数以向智能合约提供防篡改和可证明公平的随机性源。

不同类型的预言机实现了混合智能合约

5.预言机声誉

预言机服务的广泛范围意味着声誉是选择预言机服务提供商的关键。区块链预言机系统中的声誉使用户和开发人员能够根据他们认为重要的参数在预言机之间进行监控和过滤。预言机的声誉得益于预言机签署并将其数据交付到不可变的公共区块链账本上,因此可以通过市场等交互式仪表板分析并向用户展示其历史绩效历史。如 market.link 和 reputation.link。‍

信誉框架为每个预言机网络和单个预言机节点运营商的准确性和可靠性提供了透明度。然后,用户可以做出明智的决定,决定他们要为智能合约服务的预言机。预言机服务提供商还可以利用其链外业务信誉为用户提供可靠性的额外保证。

理想的预言机网络应当满足以下五个条件:

  1. 数据调用是基于双方相互信任的(不可篡改)。预言机在调用外部数据引入智能合约时,应当保证最终反馈给用户的数据与数据来源本身的数据一致,防止预言者中途篡改。经过服务请求方的确认和其他预言者的验证后,如果调用数据结果无误,则将调用数据写入智能合约,并将交易记录上传到区块链上;如果调用数据出现不一致,则该交易将被定义为非法交易。
  2. 数据调用具有高效性。预言机合约通过智能合约规定,如果预言者没有在请求发出后的规定时间内响应用户请求,或者是响应请求没在规定时间内将数据反馈给用户,就会自动取消交易,并且对服务供应商实施惩罚。
  3. 数据调用安全性高。预言机的设计必须有效遏制各种数据腐败行为,比如女巫攻击、镜像攻击等。并且,通过强制节点在TEE(Trusted Execution Environment)环境中执行解密,并向区块链汇报所有用户和节点都能看到的通用答案。
  4. 符合激励相容原则。预言机激励机制和监督机制的设立必须实现激励相容。因此,治理机制的设计必须充分调动其他竞争预言机的监督积极性,并且不能够将代币奖励和打包概率等决定预言机收益的指标相挂钩。否则,将不可避免的发生预言机和用户因利益不一致而产生的委托代理风险。
  5. 数据资产化。数据应当作为一种资产,根据其资源的重要性和稀缺性进行定价,以公允价值的形式写入智能合约。

6.区块链预言机用例

智能合约开发人员使用预言机在更广泛的区块链用例中构建更高级的去中心化应用程序。虽然可能有无限多的可能性,但以下是最新采用的用例。

1.去中心化金融(DeFi)

去中心化金融(DeFi)生态系统的很大一部分需要预言机访问有关资产和市场的金融数据。例如,去中心化货币市场使用价格预言机来确定用户的借贷能力,并检查用户的头寸是否被低估,是否会被清算。类似地,合成资产平台使用价格预言机将代币价值与真实资产挂钩,自动做市商(AMM)使用价格预言机帮助以当前市场价格集中流动性,以提高资本效率。

2.动态NFT和游戏

预言机还为智能合约提供了非财务使用案例,例如动态NFT,这些代币可以根据外部事件(如一天中的时间或天气)改变外观、价值或分布。此外,计算预言机被用于生成可验证的随机性,然后项目使用该随机性将随机特征分配给NFT,或在高需求NFT下降中选择随机幸运的赢家。链上游戏应用程序还使用可验证的随机性来创建更具吸引力和不可预测的游戏体验,例如在比赛期间出现随机战利品盒或随机配对。

3.企业

跨链预言机为企业提供了一个安全的区块链中间件,允许企业将其后端系统连接到任何区块链网络。通过这样做,企业系统可以对任何区块链进行读/写,并就如何跨链部署资产和数据以及与使用同一预言机网络的交易对手进行部署执行复杂的逻辑。其结果是,机构能够快速加入交易对手需求量大的区块链,并快速为用户所需的智能合约服务提供支持,而无需花费时间和开发资源与各个区块链集成。

4.持续性

混合智能合同通过围绕绿色倡议的真实影响的先进验证技术,为参与绿色实践创造了更好的激励,从而促进了环境可持续性。预言机是向智能合约提供来自传感器读数、卫星图像和高级ML计算的环境数据的关键工具,从而允许智能合约向从事植树造林或有意识消费的人发放奖励。预言机还支持许多新形式的碳信用,以抵消气候变化的影响。

Chainlink不断增长的去中心化预言机服务集合

预言机通过提供对所有外部资源的访问,扩展了区块链网络的功能,这些外部资源是利用简单标记化之外的有用和高级混合智能合约用例所需的。与互联网如何在信息交换方式上带来重大变化类似,预言机驱动的混合智能合约正在重新定义社会交换价值和执行合约协议的方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30096.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音识别-TDNN

近来在了解卷积神经网络(CNN),后来查到CNN是受语音信号处理中时延神经网络(TDNN)影响而发明的。本篇的大部分内容都来自关于TDNN原始文献【1】的理解和整理。该文写与1989年,在识别"B", "D&…

语音识别技术对比分析

文章目录 一、语音识别产品对比二、百度语音识别产品1、套餐及价格:2、官网3、调研结果 三、华为语音识别产品四、阿里云语音识别产品1、套餐及价格:2、官网地址3、调研结果 五、腾讯云语音识别产品1、套餐及价格2、官网3、调研结果 六、科大讯飞语音识别…

语音识别SpeechRecognition

语音识别 1. 声音的本质是震动,震动的本质是位移关于时间的函数 Signal: s f(t) 波形文件(.wav)中记录了不同采样时刻的位移 2. 通过傅里叶变换 可以将时间域的声音函数分解为一系列不同频率的正弦函数的叠加,通过频率谱线的特殊分布,建…

各种情人节,程序员教你5个表白代码,牢牢主抓她的心

刚过完年就来到了一个相当重要的节日:情人节。一个有人欢喜有人愁的节日,虽然对一些单身人士不太友好,但还有不少人都在等这个节日进行表白。毕竟这个日子的成功率会高一些。 情人节少不了送花送礼物,作为一个程序员,…

技术创业者必读:从验证想法到技术产品商业化的全方位解析

导语 | 技术创业之路往往充满着挑战和不确定性,对于初入创业领域的人来说,如何验证自己的创业想法是否有空间、如何选择靠谱的投资人、如何将技术产品商业化等问题都需要认真思考和解决。在「TVP 技术夜未眠」第六期直播中,正马软件 CTO、腾讯…

麦肯锡给CEO的元宇宙指南

ChatGPT突然大张旗鼓地登上全球新闻的头条时,元宇宙似乎如明日黄花般过气了,未来渺茫起来。而麦肯锡的4位合伙人在今年1月给全球CEO们的“元宇宙指南”中强调,“太大元宇宙 ,不容忽视”。《元宇宙日爆》编译了这份指南供企业管理者…

AI大模型只能沦为“锦上添花”吗?

出品 | 虎嗅科技组作者 | 齐健编辑 | 廖影头图 | 虎嗅 “每个人咨询的第一个问题都是:你们在大模型方面做了什么?” 7月8日,2023世界人工智能大会(下称WAIC),一位参展商告诉笔者他的感受。——“大模型”&a…

chatgpt赋能python:Python在Win7上的安装教程

Python在Win7上的安装教程 如果你是一名Win7用户,并且打算开始学习或者使用Python编程语言,那么本文将会为你提供一个简单易懂的Python安装教程。 1. 下载Python 在安装Python之前,你需要先去Python的官方网站(https://www.pyt…

chatgpt赋能python:Python安装两个版本详细教程

Python安装两个版本详细教程 Python是一种广泛使用的编程语言,由于不同版本之间的差异,部分开发者需要同时安装两个不同版本的Python。本篇文章将为大家详细介绍Python安装两个版本的方法。 为何需要安装两个不同版本的Python Python的发行版&#xf…

chatgpt赋能python:使用Python编写的程序如何运行

使用Python编写的程序如何运行 Python是一种高级编程语言,适用于多种应用,例如Web开发,数据分析和人工智能。很多人都知道Python是一种很强大的语言,但是他们可能不知道如何运行Python程序。在这篇文章中,我们将介绍P…

chatgpt赋能python:Python程序运行方法介绍

Python 程序运行方法介绍 在 Python 编程中,了解如何运行程序是非常重要的。本篇文章将介绍 Python 中如何运行程序,以及不同的运行方法及其优缺点。作为一名有10年 Python 编程经验的工程师,我相信这篇文章将对 Python 新手和有经验的开发者…

chatgpt赋能python:Python怎么post请求

Python怎么post请求 Python作为一种高级编程语言,拥有丰富的库和模块来处理各种编程任务。其中,处理网络请求和数据交互是Python非常擅长的领域之一。在Python中,我们可以使用标准库或第三方库的HTTP模块来实现HTTP协议的请求和响应。 本篇…

chatgpt赋能python:Python导入包的完整指南

Python导入包的完整指南 如果你是一个Python程序员,你一定知道模块和包在Python中的重要性。Python中有很多内置的模块和包,但是有时候这些内置模块和包不能满足我们的需求,这时就需要导入外部的模块和包。本文将介绍Python中如何导入包和模…

chatgpt赋能python:Python:如何直接运行?

Python:如何直接运行? 如果你想学习编程,或者已经是一名资深工程师,你一定听说过Python这门编程语言。Python是一门易于学习和理解的语言,被广泛应用于很多领域,例如科学计算、数据分析、Web开发和人工智能…

chatgpt赋能python:Python如何直接运行?一篇详细指南

Python如何直接运行?一篇详细指南 Python是一种高级编程语言,可作为通用编程语言进行使用。它被广泛应用于数据科学,Web开发,人工智能等领域。Python最大的优势之一就是其容易学习和使用。本文的主旨是向大家介绍如何直接运行Pyt…

全国海关分区图(含副厅)

全国海关分区图(含副厅)

美国FBA海运详解:美国FBA海运费用价格有哪些

做亚马逊的人都知道亚马逊FBA虽然利润很高,但成本并不低。除了物流运输成本外,还有一些附加费。根据美国对中国征收关税的产品,将有一定的附加费。大部分产品是不用的,这有一些在列的产品才需要加收FBA空运和FBA海运的产品收附加费…

海关查验会查些什么呢?

海关查柜是会产生一些额外费用的,但这些费用不是海关收取的,而是码头收取的吊柜费、拆柜费等费用,因为是海关查验才有此费用,所以码头一般把这些费用称之为海关查验费,码头会开具正规发票的。 这些查柜费是由SHIPPER来…

海关数据|俄罗斯与中国之间的贸易数据

2022年2月24日至今俄乌战争开始的影响,世界粮食、能源等大宗商品的价格已经出现了明显的波动,进一步加剧了全球通胀的态势。那么俄罗斯与中国之间的贸易又发生了那些变化呢?我们通过贸易动力海关数据系统可以直观的看到2021年01-04月份和2022…

中美加征关税HS码清单列表

中美加征关税HS码清单列表 海关编码即HS编码,为编码协调制度的简称。其全称为《商品名称及编码协调制度的国际公约》(International Convention for Harmonized Commodity Description and Coding System)简称协调制度(Harmonize…