LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > BigBang Core如何帮助物联网海量数据上链

BigBang Core如何帮助物联网海量数据上链

2020-07-19 火星探客 来源:火星财经
物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介,使它们能够在必要时进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。

00:0000:00

物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介,使它们能够在必要时进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。即物物相息,以实现智能化识别和管理。

区块链是一个将分布式数据存储、点对点数据传输、共识机制、加密算法等计算机技术有机结合起来的新型应用模式。它具有去中心化、信息不可篡改、公开透明、信息安全、可追溯、匿名性的特点,这使得区块链技术能够在物联网相关领域大展拳脚。

在物联网中,因为物体的使用和状态都在变化,甚至网络中的每一个节点,每一个产品,需要同时承担交易对象和交易发起者的角色,这将会产生非常庞大的基础数据和交易数据。基于人与人之间的天然不信任关系,在无中心化背书的点对点通信过程中,数据的隐私也是一个要考虑的问题。而区块链恰好能够解决物联网这些核心困难,它能成为构建新一代的万物互联的关键技术。

AWS IoT Core和AWS IoT Greengrass

AWS IoT Core 是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。

AWS IoT Core 可以支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。借助 AWS IoT Core,您的应用程序可以随时跟踪所有设备并与其通信,即使这些设备未处于连接状态也不例外。

AWS Greengrass 是一种软件,用于将 AWS 云功能扩展到本地设备,使得本地设备可以更靠近信息源来收集和分析数据,同时在本地网络上安全地相互通信。

更具体来说,使用 AWS Greengrass 的开发人员可以在云中编写无服务器代码 (AWS Lambda 函数),然后方便地将其部署到设备以在本地执行应用程序。在 AWS Greengrass 中,设备可在本地网络上安全地通信并互相交换消息而不必连接到云。

1、数据上链方式

3.1 数据上链方式1(大数据包摘要上链方式):

图一

说明,如上图:

1)该解决方案中,共有三个核心模块,其中LWS和运行在IoT Device中的LWS-Client是需要我们去开发的,而IoT Core则是由AWS提供的现有功能。

2)LWS是一个轻钱包服务,用于同步区块链数据到本地并重新组织,为轻钱包LWS-Client访问区块链数据提供Gateway接口。

3)LWS-Client运行在IoT Device中,它整合了IoT SDK,能够与AWS IoT Core建立通信关系并提交数据,同时也能调用LWS提供的服务,将采集到的加密Data的Hash作为UTXO的一部分上链。

4)数据加密工作在IoT Device中完成,采集数据被加密后再进行Hash和数据传输等操作,所以上链的Hash是加密数据的Hash,IoT Core上获得的也是加密后的数据。通过链上hash与IoT Core上的加密数据的结合,能有效校验数据是否被篡改。

5)AWS IoT Greengrass是一个中转层,安装在 IoT Device上层,实现边缘设备之间的数据互通,LWS-Client通过连接Greengrass与IoT Core进行通讯,最终将数据传输到LWS中完成验证、上链操作。

3.2 数据上链方式2(小数据包直接打包上链):

1)LWS-Client前2个步骤都与前一种数据上链方式一致,不同之处是LWS-Client会将手机的数据部分加密(比如温度传感器的温度),再在本地构建成TX数据包。

2)LWS-Client通过Greengrass、IoT Core等中间层传输到LWS,LWS交验过TX数据包的完整性后直接将数据提交到P2P网络进行打包。

3.3程序执行过程描述:

3.3.1 大数据包摘要上链过程

图二

如上图,整个加密数据Hash上链的过程如下:

A、IoT Device采集到数据后进行加密,得到加密Data。

B、LWS-Client在发现有新的数据产生的情况下调用LWS Gateway,获得一个UTXO。

C、将前面加密Data进行Hash运算获得一个Hash值。

D、再将这个Hash值作为一个TX的vchData得到一个全新的TX。

E、LWS-Client再次调用LWS Gateway,完成上链操作。

3.3.2 小数据包上链过程

A. 数据采集与UTXO获得方式与前一种方式一致,不同之处是LWS-Client并不获取数据包的摘要,而是将整个数据包完整打包进入TX中。

B. LWS-Client再将打包的TX传输到LWS中完成上链操作。

3.4大数据包上云过程

如下图,IoT设备采集数据后,将大数据包加密数据提交到AWS IoT Core云平台的过程如下:

A、IoT Device采集到数据后进行加密,得到加密Data。

B、LWS-Client调用AWS IoT SDK,通过Greengrass与AWS IoT Core建立通信联系。

C、将时间戳和加密Data一起打包整合,得到带时间戳的加密Data。

D、LWS-Client再次调用IoT SDK,将数据提交到AWS IoT Core云平台。

E、由数据存储方选择是否将数据提交到IPFS存储,如果需要为数据提供更多热备份,则将通过模板将数据存储任务分发到PoST/PoRep共识下的存储矿工。

图三

3.5 通过AWS IoT Greengrass实现设备互联

A、AWS IoT Greengrass是一个中间层,它可以运行在多种设备上,比如树莓派、AWS EC2 实例、Ubuntu 虚拟机,以及多种专用设备。我们将它安装在IoT Device中,可以实现IoT Device之间的数据互通。

B、AWS IoT Greengrass 可在本地执行AWS Lambda代码、消息收发、数据缓存和安全策略。

C、可以在云端对设备进行管理。

1、如何保障海量设备数据上报

海量设备数据上报,要最大限度的确保上报数据不丢失,需要考虑的因素主要有以下几个——设备数据大小、网络带宽、存储设备写入速度、存储容量等几个方面。

而对于我们的系统而言,我们的数据上报包括两个方面,一是设备采集数据加密后的Hash写入区块链,二是设备采集的数据加密后存放到AWS IoT平台。所以,考虑数据上报,我们还需要考虑我们的区块链的数据处理能力。

在BigBang团队研发的物联网公链单链中,理论TPS是5200,如果IoT设备每采集一次数据,都会执行一遍如图二中的整个过程的话,这明显是不合理的。首先它压榨了我们公链的数据处理能力,其次,它会造成资源的浪费和Token的低价值消耗(提交TX上链需要消耗Token)。

当然,对于加密数据提交AWS IoT Core云平台,传输数据粒度越小,就越不利于数据的管理,而传输数据粒度越大,则对相应的带宽和数据的写入速度有更高的要求。

所以,将多次采集的数据打包,一次性提交和上传,这会是一个比较好的方案。当然,打包的数据量不能太大,比如限定2M提交一次。找到一个比较适中的点比较重要。

对于我们系统中多次提到的来自于IoT Device采集数据的加密和加密密钥的产生及管理,我们这里也提供一个比较理想的加密方案。如下图所示:

说明:IoT Device中存储着一个只有我们自己才知道的用于加密的密钥Key,当IoT Device采集到数据时,该密钥Key与时间戳一起Hash后,产生一个用于对原始数据进行加密的密钥Key1,Key2……用这些密钥对原始数据进行加密,即得到加密结果,获得加密Data。

这样一来,我们所需要管理的密钥也就少了,对于一台IoT Device,我们只需要管理一个或一对密钥就可以了。当用户需要获得解密数据时,只需要告诉我们具体的时间点,我们用掌握在我们手中的Key加上该时间戳的结果进行Hash运算,就能得到相应的Key值,帮助用户解密数据。当然,我们也可以直接将一系列的解密密钥直接分发给用户,让他自己去完成解密工作。

BigBang Core官网:https://www.bigbangcore.com/

BigBang Core技术白皮书:https://www.bigbangcore.com/whitepaper/BigBang_Technical_WhitePaper.pdf

本文来源:火星探客
原文标题:BigBang Core如何帮助物联网海量数据上链

—-

编译者/作者:火星探客

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...