01 什么是预言机?

与这个有点“不觉明厉”的名字不太相符的是,区块链预言机是第三方信息源,其唯一功能是向区块链提供数据,从而使创建智能合约成为可能。
从根本上讲,智能合约只是一个自我执行的代码。智能合约会评估来自预言机的传入数据,并根据收到的信息启动执行流程。
让我们举一个例子,比如说张三和李四对这个星期六的比特币价格进行下注。张三认为比特币的价格将在 8500 美元或更高,相反,小黑认为在 8000 美元或更低。于是,他们设计了一个智能合约(双方都会向其发送资金),谁预测的价格更靠近实际价格,谁就赢得了资金。
为了使智能合约确定比特币的价格,从而向赢家付款,它必须通过预言机来查询这个星期六比特币的价格。当查询到比特币价格数据后,比如返回的值是周六比特币价格为 8600 美元,然后,智能合约将根据其条件执行并将所有资金发送给张三。

02 预言机的类型

预言机通过为智能合约提供了一种在去中心化区块链网络之外进行通信的方式,为智能合约提供了附加功能。
区块链预言机可以采用多种形式,包括但不限于:
1、软件预言机
这种形式的预言机通常包括易于访问的在线信息源,例如网站和公共数据库。它们通常提供以下信息:温度读数,公共交通信息以及各种金融资产的当前价格。
软件预言机可能是目前最强大的预言机类型,因为它们与互联网具有固有的互连性。这种连接允许软件预言机向智能合约提供最新信息。
2、硬件预言机
这种形式的预言机通常负责物理世界中发生的事件,并将数据发送到智能合约上。例如,在供应链管理中,如果带有 RFID 标签的物体要到达特定的仓库,则可以将该数据发送到智能合约,硬件预言机系统可以在整个供应链中进行货物跟踪。
3、输入式预言机
这种形式的预告机具有简单地向智能合约提供数据的功能。所提供的数据在智能合约的外部,并且在接收信息后开始执行。上面示例中提供比特币价格的新闻网站,可以被归入为输入式预言机。
4、输出式预言机
这些预言机将智能合约数据传送到外部源。就上面的例子而言,一旦张三被确定为赢家,智能合约便可以将此信息传达给钱包提供商,以便自动更新其余额以反映资金的增加。
在这种情况下,智能合约本身就可以作为输出式预言机运作。
5、基于共识的预言机
这种预言机的功能是查询多个信息源,并根据它们的共识得出结果。例如,上面的例子也可以使用 4 个网站来查询比特币的价格。如果所有预言源(网站)返回的值都相同,则智能合约可以成功执行。

03 预言机需要信任

虽然预言机的优势非常明显,但它存在一个缺点:预言机需要信任。
预言机用来获取信息并将信息传输到智能合约的数据源,必须被视为可信的。还是上文的例子,如果张三能够以某种方式控制那个比特币价格网站,那么就可以轻而易举地让返回的比特币价格为 8600 美元,从而使自己赢得比赛。
所以,如果由预言机提供给智能合约的数据被证明是错误的,则存在安全问题。针对此问题,一种可能的补救方法是从多个预言机数据库请求数据,而不是单个预言机数据库。
比如说,如果一个预言机返回的比特币价格为 8600 美元,而其他 4 个预言机返回的价格是 8000 美元,则可以将其他条件编程到智能合约中以解决冲突。智能合约可以选择仅接受多数值,在这种情况下,李四成为胜利者。

什么是区块链预言机,能预测币价涨跌吗?相关推荐

  1. 什么是区块链预言机(BlockChain Oracle)

    预言机 Oracle 是区块链中非常重要的一个功能,但我发现很少有人讨论,也可能很多人对此并不了解.而网上关于预言机的文章很少,很多也没有讲明白,甚至有些还是错误的.所以我整理了一篇详细的文章,分享给 ...

  2. 蚂蚁区块链第18课 区块链预言机(ORACLE)的定义及在蚂蚁BAAS中的使用

    1,摘要 本文主要讲解外部预言机ORACLE定义和原理,并讲解蚂蚁BAAS系统如何通过ORACLE预言机方式使用外部数据源的方法. 2,外部预言机ORACLE定义和原理 2.1 预言机(Oracle) ...

  3. 区块链预言机(4)内在机制

    1. 内在机制 1.1 step说明 step1:A requester creating a smart contract specifying the data required to trigg ...

  4. 去中心化区块链预言机

    "区块链预言机(Blockchain Oracles)"概念的提出主要是为了解决区块链协议自身存在的局限性:(区块链)这种去中心化的网络(包括在其上构建的应用/ 智能合约)不能与外 ...

  5. 区块链预言机(5)预言机原理

    1. 趣链预言机架构 预言机一般会作为区块链的一个独立模块或第三方服务与执行引擎进行交互.预言机只负责数据的可信获取,不直接参与交易的执行. step1. 用户通过合约调用的形式(也可以通过特殊的AP ...

  6. 区块链预言机(3)关键点说明

    1. 预言机类型 1.1 根据数据源来区分,有几种类型: 软件预言机 即通过API从第三方服务商或者网站获取数据,来作为智能合约的输入数据.最常用的如天气数据.航班数据.证券市场数据等等. 硬件预言机 ...

  7. 区块链预言机(2)预言机概念

    1. 概念 预言机的功能就是将外界信息写入到区块链内,完成区块链与现实世界的数据互通.它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数 ...

  8. 区块链预言机 Chainlink 测试环境部署与使用/探索区块链预言机的实现原理

    Chainlink 什么是预言机:在区块链领域,预言机被认为是可以为区块链智能合约提供外部数据源的系统. Oraclize项目:中心化预言机. Chainlink项目:非中心化预言机. 部署步骤 部署 ...

  9. 【区块链 | 预言机】价格预言机的使用总结(三):UniswapV3篇

    前言 前面两篇文章分别讲解了 Chainlink 和 UniswapV2 的 TWAP.Chainlink 属于链下预言机,其价格源取自多个交易所,但所支持的 token 比较有限,主要适用于获取主流 ...

  10. 区块链预言机(1)初识API网关

    1. 概念介绍 1.1. 业务简单,不用网关也能解决 1.2 API Gateway很好的解决了微服务下调用.统一接入等问题,如下图所示: 1.3 网关与代理的区别: 代理 纯粹的数据透传,协议不会发 ...

最新文章

  1. Python 还能实现哪些 AI 游戏?附上代码一起来一把!
  2. oraclek导出表_Oracle导出DMP文件的两种方法
  3. C#设置Cookies
  4. 基于hexo搭建个人免费博客——基本设置和了解
  5. Windows Server 2008 R2卸载干净ORACLE 11G
  6. 2018.09.16 loj#10243. 移棋子游戏(博弈论)
  7. 车载电脑中控软件_数字图书馆智能化系统集成-ipad中控软件
  8. 格式化js/html代码的好工具
  9. 使用js调用摄像头拍照
  10. FIN断开-TCP segment of a reassembled PDU-原因分析
  11. 图像同时对比度、空间分辨率、幅度分辨率的实现
  12. 实习日记——工程配置
  13. java获取虾米数据_json获取属性值的方式
  14. 林语堂:《醒觉·对人生的态度》
  15. 机器人碰撞检测——生成无碰撞轨迹
  16. Brocade 6510 交换机清空配置,重新initiator交换机
  17. 为何贩卖焦虑的文章如此受欢迎???
  18. RuPengWang项目
  19. ECMAScript 6 字符串和数值的拓展
  20. 数据加密与安全专题《mbedtls工具篇,实用教程1@mbedtls简介和安装教程》

热门文章

  1. C# FTP 工具类
  2. 新能源汽车行驶记录仪行业细分品类应用、区域趋向预见分析
  3. 基于宏基因组的功能挖掘:碳水化合物活性酶(CAZymes)注释
  4. 2016ACM/ICPC亚洲区沈阳站现场赛题解报告
  5. 【Go语言学习笔记】——Go语言常用内置包
  6. 洛杉矶 夏威夷_洛杉矶创业公司的CTO实习计划
  7. Vue中computed多个值互相计算,Vue多个字段之间互相计算,vue多个值互相引用计算
  8. XML 第三篇(解析)
  9. [模拟]来一瓶82年拉菲(酒杯问题)
  10. 借助 Calico,管窥 Kubernetes 网络策略