区块链应用程序生活在自己的数字领域中,该领域与“物质世界”(也称为Real World™)完全正交。无论是分布式应用程序还是智能合约,它们的影响范围都限于它们可以控制的空间。我们现实中的任何用例投影到现实中最终都会面临以下难题:区块链应用程序如何与物理世界高效安全地交互?

Oracle是签署有关世界状况声明的受信任实体。

我们需要网关与现实世界(物理世界)进行输入/输出,这也称为“Oracle”。取决于我们究竟所谓的“物理世界”,取决于是否存在关于我们需要评估的状态的共识,oracle的实现方式有所不同。

软件Oracle

原产地证明(TLSNotary)

当您可以在线获取所需信息时,基于简单软件的Oracle可以提供有效的解决方案。他们可以回答一些简单的问题,例如:“ BTC的欧元价值是多少?”,“这架飞机延迟了30分钟以上吗?”或“昨天在这个城市下雨吗?”。数据可以在Internet上在线获得,也可以从可信任的来源中提取,例如公司航空公司,财务数据汇总商或气象机构。

oracle可以通过密码证明数据的来源(TLSNotary)并将信息推送到智能合约。oracle正在公开声明安全网页的内容,并为分布式的应用程序提供了可行的网关。例如,Oraclize是一个提供“Oracle即服务”的平台。

但是这种实现有一些技术利弊,主要的问题是您需要信任信息源。对于来自信誉良好的网站的天气数据,这是可以接受的,但是诸如事实或事件之类的更复杂的问题呢?我们应该信任维基百科吗?版本战争可能会严重操纵oracle,而oracle的主张将毫无价值。

始终可以从不同的可信赖来源(金融行情,天气数据,体育成绩…)对事实进行核对,但对于更复杂的问题却不起作用。

基于共识的oracle

诸如Augur之类的分布式预测市场在很大程度上依靠Oracle解决事件的结果。但是,为避免市场操纵,这些Oracle不能基于一个实体(例如Google或Wikipedia)的信任。解决方案是使用基于声誉的相当复杂的共识机制,最终构建去中心化的oracle。

对于可以通过共识确定的事实,所有先前的oracle实施都效果最佳。

但是关于实时,非公开,以用户为中心的事实呢?

有些事实无法通过共识或公共数据证明来确定。举些例子:

· 这个容器现在在哪里?

· 这扇门上锁了吗?

· 最近60分钟内此引擎的碳排放量是多少?

· 这辆车的当前速度是多少?

· 我的心跳是什么?

硬件oracle

本地和私有数据源

一些应用程序需要从物理世界中获取信息或读取数据,其中数据仅存在于目标对象(或人)中。测量必须在本地进行,并且通常是实时的。由于数据是私有数据,因此既不能通过公开确认也不能通过共识来断言信息的准确性。

这些设置涉及的一些应用程序和用例是:

· 工业:供应链,可追溯性,能源…

· 共享经济:点对点汽车/公寓租赁,智能物品…

· 保险:汽车安全保费,个人健康…

例如,以智能合约保险为例,驾驶员将支付保费,以期因其在道路上的良好行为而获得奖励。犯有超速驾驶行为的驾驶员将失去保费,而保费将归所有“守法公民”共享。从而为良好驾驶带来更大的激励。

这种方法的困难在于找到一种安全不可篡改的方式来监视车辆的速度:如果一个人能够模拟完美的驾驶或将跟踪器连接到另一辆汽车,则保险系统将会完全崩溃。

可加密证明的防篡改传感器

为了能够安全地报告读数(来自任何类型的传感器),必须结合以下各项:

· 传感器读数的加密证明,验证测量的源头:每个设备都有一个私钥,用于对传出的有效数据进行签名(使用随机数以避免重复测量)

· 阅读器设备的防篡改安装,在尝试进行篡改操作(连接到另一个对象,注入错误刺激等)的情况下,使设备无法工作(通过擦除私钥)。

这些安全的读取设备称为硬件Pythias,是从物理工作到区块链领域的网关。

这些Oracle的部署需要配置系统(主证明密钥和设备标识密钥),并建立策略来监督它们正确的初始安装(以确保它们正在测量我们希望它们测量的东西)。防篡改功能和通过安全元素保护私钥可确保长期信任。

硬件Oracle内部传感器数据的加密证明

从设计上讲,这种方法既非不信任也不完全分布式。以汽车的智能合约保险为例,跟踪器必须具有正确的证明密钥(因此必须从特定供应商处购买),并且必须制定审计策略以随机验证其正确安装(因此需要一些外部受信方/审计员)。

但是,由于大多数硬件Pythias的用例都需要某种集中化或权威性,因此该设计是完美的选择。

没有可靠的硬件Pythia技术,就不会有用于工业,保险和共享经济的去中心化应用程序。我们预计,从长远来看,这些设备将得到大规模部署。

reference:

https://medium.com/ledger-on-security-and-blockchain/hardware-oracles-bridging-the-real-world-to-the-blockchain-ca97c2fc3e6c

硬件Pythia:将现实世界桥接到区块链相关推荐

  1. 区块链蓝图世界的展望-区块链4.0

    首先,在一个现代化的今天,所有先进思想一经出现,开始一段时间会低迷,一点遇到一个临界点,就会类似于井喷式发展,这也解释了当今软件技术方面,为什么会迭代更新的这么快,更解释了为什么会存在很多投机者. 在 ...

  2. 传统学术研究中有哪些现实问题可望用区块链来解决?

    学术研究,是一项真正需要合作,依赖于想法.假设.数据和结果并进行有效交流的过程, 这种交流必须能克服地域障碍,使研究人员能够与世界上不同地区的同行进行合作,克服时间障碍与前人合作,并在他们的基础上进行 ...

  3. 和数传媒:世界各国对区块链技术态度是怎样的?

    作为最著名的比特币基础技术,区块链能够跟踪对等网络上的数字记录,每个完成的区块以时间顺序连接到链,使得其成为所有发生事件的历史链条. 在财务方面,每一个区块是分布式分类账.传统财务分类账是集中的.交易 ...

  4. 美国在线购物公司Overstock完成世界首例区块链股票交易

    小龙女 区块链前沿实验室专栏作者 新闻概要 12月16日,美国在线购物公司 Overstock 在区块链上成功出售了公司的 126565 股份,成为世界首家在区块链上进行股票交易的公司. 该公司用两年 ...

  5. “别傻了,你不需要区块链!”

    来源 | SmartDec 编译 | 王国玺 出品 | 区块链大本营(blockchain_camp) 如今,人们出于各种原因将业界各类难题都寄希望于区块链,认为区块链是一种万能的技术. 但是,你还记 ...

  6. 区块链如何赋能车联网-Higgs Chain

    摘要:车联网圈内目前公认最难的问题莫过于如何从用户需求出发,提供价值给客户,解决该问题的一大思路就是用区块链技术赋能车联网.驾图&IOVC项目就是主打汽车挖矿的车联网+区块链项目,其背后的技术 ...

  7. 区块链中的“链上”和“链下”

    原标题:一文读懂"链上"和"链下" 什么是"上链"?什么数据和逻辑应该"上链"?文件能不能上链?链上能不能批量查数据?& ...

  8. 区块链必读“上链”哲学:“胖链下”与“瘦链上”

    作者 | 张开翔 责编 | Carol 来源 |  FISCO BCOS开源社区 什么是"上链"?什么数据和逻辑应该"上链"?文件能不能上链?链上能不能批量查数 ...

  9. 互联网企业蜂拥进入区块链,入局之前该思考什么?

    自2017年迅雷发行玩客云以来,到最近人人网终被监管部门"喝停"退币,一大批互联网企业蜂拥挤进入区块链行业,瞄准了热炒该科技概念背后潜藏的经济利益.本文为那些意图挤进区块链风口的公 ...

最新文章

  1. IDC:2017年,40%的CIO将失去在企业中的领导地位
  2. 第九章 字符串,字符和字节
  3. PHP教程-防止网站被刷票的小技巧
  4. xtrabackup 官方原理
  5. 开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker
  6. Linux 高可用(HA)集群之keepalived
  7. scp复制linux系统的文件文件到本机(windows)以及本机文件复制到远程的命令
  8. python的核心理念_python核心基础 - 草稿
  9. 没有一颗平常心的人千万不要做外贸
  10. 【ACL2020论文尝鲜】如何以低成本的数据构建高效NER模型?
  11. transformermo
  12. c++ 深度拷贝和浅度拷贝
  13. 淮教鞭:完全免费的电脑版电子教鞭软件 |含淮教鞭的使用说明 | 电脑屏幕画笔软件哪个最好用?
  14. 第三方登陆(一)微信登陆
  15. PDF怎么拆分页面,PDF拆分页面的方法
  16. activator java_Activator常用方法
  17. 关于arctanx的麦克劳林展开式推导
  18. 地质大学计算机学院实验室,中国地质大学
  19. IPD的决策评审CDP(2):因地制宜,因时而动
  20. 练习:使用Python爬取COVID-19疫情国内当日数据

热门文章

  1. html5画布显示不出来,运行后html5画布没出来
  2. php高手要学哪些_如何样深入学习php,成为php高手
  3. mongodb jar包_MongoDB是什么?看完你就知道了!
  4. VuePress 入门
  5. [转帖]在SQL SERVER中实现RSA加密算法
  6. javascript进阶教程第一章案例实战
  7. (转载)如何学好iphone游戏开发
  8. 用buildout来构建python项目
  9. Neo4J简介(2)
  10. MySql配置方法,批处理进行MySql配置