1. 趣链预言机架构

预言机一般会作为区块链的一个独立模块或第三方服务与执行引擎进行交互。预言机只负责数据的可信获取,不直接参与交易的执行。

step1. 用户通过合约调用的形式(也可以通过特殊的API接口服务等其他方式发起预言机服务请求)发起预言机的服务请求,通过调用某个内置合约接口(图中“预言机服务”接口),告知区块链执行引擎,用户想要执行一笔含预言机服务的交易。

step2. 执行引擎执行过程中检测到对预言机的服务请求,通过内部通信组件将它转发给预言机模块,这个请求里会封装请求外部数据源的一些信息,如一个Web数据请求,会包含常见的URL、HTTP Headers等信息。

step3. 预言机在收到服务请求后,向外部数据源发起数据获取请求,拿到数据后利用交易生成器产生一笔新的内部回调交易,并对其进行签名(这一过程会使用TEE等硬件技术保障安全及不可篡改)。

step4. 预言机将这笔回调交易发向执行引擎,执行对获取到的数据组织、管理、存储等一系列操作,至此一个完整的含预言机服务的区块链交易执行流程结束。

2. chainlink

Chainlink 通过在链上的智能合约和链下的数据节点,即用户的智能合约把请求给链上 Oracle 合约,通过链下的 API 接口获得外部数据,更确切的说是外部把数据给链上的 Oracle 合约,然后 Oracle 合约再把数据给用户的智能合约。


step1. 用户通过智能合约向 Chainlink oracle 合约发起数据请求,并且附带相应的数据需求参数(链上),其实也是一笔 LINK 的代币转账,在转账事务的 payload 中携带有数据请求的参数;
step2. Chainlink 节点组成的网络通过订阅 Oracle 合约的日志获取相关信息;
step3. Chainlink Core 拆解用户需求(链下);
step4. 拆解后的任务由不同的节点通过外部的 API 数据源完成,获取数据返回;
step5. 返回的数据发送至 Chainlink Core;
step6. Chainlink Core 将数据再次返回至链上的 Chainlink 智能合约上;
step7. Chainlink 链上合约整合数据(利用不同节点提供的数据的概率分配、去除异常值(Outliers)等操作),同时根据最终结果纪录每一个提供数据的节点声誉,最终将结果发送给用户的智能合约,完成整个流程。

3. 总结:不论哪种方法,最后都是通过创建一笔交易将数据返回给智能合约

:) 对读者提问 : 智能合约与交易的关系 ?

参考

[1] . QTech . 预言机 - 区块链的触角

区块链预言机(5)预言机原理相关推荐

  1. 【转】区块链中VRF的应用及原理解析

    <区块链中VRF的应用及原理解析>,起因是来自我们团队在做的一条叫 Tarax Network 的公链.因为场景定位的缘故,我们想找到一种低功耗的方式来进行共识.那么 POW 肯定是没办法 ...

  2. 区块链的基本概念和工作原理

    区块链的基本概念和工作原理 1.基本概念 区块链是分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式.所谓共识机制是区块链系统中实现不同节点之间建立信任.获取权益的数学算法. 区 ...

  3. 区块链——Hyperledger Fabric2.2多机搭建及区块链浏览器

    文章目录 一.搭建环境 1.设置网络 2.安装docker和docker-compose 3.安装golang环境 二.生成Fabric证书 1.编写证书文件 2.生成证书文件 3.复制证书文件到节点 ...

  4. 区块链快速通道:从技术原理到应用落地

    2018 年开始,好像所有的人都在谈论区块链.资本.精英.草根也不断进场投身到区块链的浪潮之中.在外围观望的你或许懂技术而对区块链一知半解,或许有场景与创意却碍于其研发门槛,或许是已身处于行业却难于前 ...

  5. 区块链入门与去中心化应用实战 之一 第2章 区块链技术的核心概念和原理

    区块链的过去与未来 密码朋克( Cypherpunk ) 维基解密的创始人阿桑奇 BT下载的作者的布莱姆-科恩 WWW的发明者蒂姆伯纳斯-李 区块链前世今生 戴伟发明了B-money,强调点对点交易和 ...

  6. 区块链技术入门——核心概念与原理

    区块链的前世今生 密码朋克(Cypherpunk):是一个邮件组,里面有许多大牛. 比特币的底层技术: 点对点网络 时间戳 加密技术 工作量证明 可以应用到其他领域. 将这些技术提炼出来,就提出了区块 ...

  7. 区块链学习笔记一 BTC密码学原理

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

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

  9. 腾讯云高可扩展性区块链平台原理剖析

    导语 | 随着产业互联网加速推进,区块链技术越来越受到重视.然而,区块链平台的构建也面临着问题:成千上万的数据中心有各自的数据管理模式,单个区块链应用既承载不了大规模的数据量,也不能满足多样化的数据管 ...

  10. 视频教程-区块链技术原理精讲-区块链

    区块链技术原理精讲 5年JAVA/Go研发工程师经验.目前作为公司技术负责人从事区块链架构设计.研发工作. 熟悉分布式系统/区块链.云计算/虚拟化技术.敏捷开发等领域技术,开源软件爱好者. 荆帅帅 ¥ ...

最新文章

  1. CUDA C编程接口技术分析
  2. CentOS 7 相关命令
  3. 马云第一次创业翻译社,差点倒闭,兼卖鲜花和礼物维持终翻身
  4. 等差数列划分 II - 子序列(动态规划)
  5. Oracle expdp 导出
  6. OTcl与C++,NS2是如何识别并调用执行协议的 转自百思论坛
  7. 加密与解密 调试篇(二) Windows调试器实现(一)
  8. Linux RedHat 7 配置本地 YUM源
  9. PMP课程笔记:第4章 项目整合管理
  10. 无人机+AI人工智能可以实现哪些领域的场景应用?
  11. 基于python3.5+opencv+windowsAPI图像识别实现的连连看外挂
  12. 大内高手 内存管理器
  13. 全志R系列的芯片选型
  14. pythonQQ机器人系列(基于go-cqhttp):使用requests和socket实现QQ机器人聊天(2-0)
  15. 新一代三维GIS技术体系再升维
  16. 计算机手动配置信息,手动修改并设置电脑开机画面入您所愿
  17. 解决Macbook在win7系统下不能识别USB设备,完全没反应
  18. 使用Webdriver进行自动化测试--ljw
  19. PW5328B的锂电池升压9V芯片方案,设计图
  20. 嘉年华回顾丨王涛带你探秘新一代分布式数据库

热门文章

  1. 超键、候选键、主键、外键、联合主键、复合主键
  2. logging下的path配置的是自己本地项目下的地址
  3. mysql有两个结果集,MySQL:两个结果集的差异
  4. python网络通信框架_Python运维-Socket网络编程 (1)
  5. python序列类型映射类型_Python的数据访问模型与序列介绍
  6. W ndoWs7重启按F11没用,windows7无法正常启动按F8也没有效果的解决方法
  7. Python语言学习:利用sorted对字典按照value进行递减排序,输出列表,并给定排名索引,组成新字典输出
  8. 成功解决:Win系统下的Tensorflow使用CPU而不使用GPU运行加速
  9. twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间
  10. AI公开课:18.05.16 周明博士(MSRA副院长)—北大AI第十一讲之《语言智能的进展》课堂笔记——你了解语言智能