一种基于无线传感器网络的区块链系统及数据记录方法与流程

文档序号:29649320发布日期:2022-04-13 22:57阅读:186来源:国知局
一种基于无线传感器网络的区块链系统及数据记录方法与流程

1.本技术涉及无线传感技术领域,具体而言,涉及一种基于无线传感器网络的区块链系统及数据记录方法。


背景技术:

2.无线传感器设备上传的数据经由网关(即中继器)上传的过程中,可能面临被非法接入的传感设备所侵入的网关或遭遇人为的篡改。在多方数据需要核对的场景下,可能导致争议。例如,环保部门对排污企业的监管场景下,目前环保部可自主或委托第三方在被监管对象部署无线传感器网络进行监管。但是从生产流程来讲,监管者和被监管对象重复的部署成本高昂,或者,部署少量传感器以降低成本,但又面临精度不足造成环节缺失的问题;而仅仅依靠被监管对象上报数据,又存在可信度的问题。


技术实现要素:

3.本技术实施例的目的在于提供一种基于无线传感器网络的区块链系统及数据记录方法,以通过多无线传感器节点和多网关节点的相互验证,提供可交叉验证的现场证明,更为可信、健壮的记录无线传感器器的历史数据。
4.为了实现上述目的,本技术的实施例通过如下方式实现:第一方面,本技术实施例提供一种基于无线传感器网络的区块链系统,包括多个无线传感器节点、网关节点和区块链节点,每个无线传感器节点均具有唯一的节点标识,用于进行实时监测以得到监测数据,以及,用于监听相关节点在发射数据时的发射内容,并记录该相关节点的节点标识和内容hash值,以及,用于将此无线传感器节点的数据上报给任一网关节点,其中,相关节点为此无线传感器节点可监听到的无线传感器节点,上报的数据包括此无线传感器节点监测到的监测数据及对应的节点标识和监听到的相关节点的内容hash值及对应的节点标识;每个网关节点,用于在接收到任一无线传感器节点上报的数据后,进行核验后转发给区块链节点;任一区块链节点,用于在每一个统计周期内,对同一节点标识对应的监测数据和所有内容hash值进行一致性核验,以确定是否将此监测数据记录至区块链中。
5.结合第一方面,在第一方面的第一种可能的实现方式中,所述区块链节点,具体用于:若该监测数据和同一节点标识对应的所有内容hash值均具有一致性,将此监测数据记录至区块链中;若该监测数据和同一节点标识对应的任一内容hash值不存在一致性,基于此监测数据与同一节点标识对应的存在一致性的内容hash值的数量,确定是否将此监测数据记录至区块链中。
6.结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述区块链节点,具体用于:统计此监测数据与同一节点标识对应的存在一致性的内容hash值的数量在总量中的占比,其中,总量包括此监测数据与同一节点标识对应的存在一致性的内容hash值的数量和不存在一致性的内容hash值的数量;判断该占比是否达到设定
比例;若该占比达到设定比例,将此监测数据记录至区块链中;若该占比未达到设定比例,将此监测数据丢弃。
7.结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述设定比例为1/3。
8.结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述网关节点还用于向无线传感器节点上报的数据中加入网关标识gid后转发给区块链节点,所述区块链节点,具体用于:收到任一网关节点转发的数据后,在区块链节点间同步所有网关节点转发的属于一个统计周期且具有同一节点标识的所有数据,并按照时间戳t、数据源节点标识sid、监听转发节点标识fid、数据源节点内容hash值hi对数据进行分组,其中,监听转发节点标识fid为监听到数据源节点标识sid的无线传感器节点发射此监测数据的无线传感器节点;取第一候选记录:,去除数据源节点内容hash值hi的记录后,若存在第二候选记录,则取第二候选记录:,去除数据源节点内容hash值hi的记录后,若不存在第二候选记录,则仅取第一候选记录;按照第一候选记录和第二候选记录进行统计,取其中多数一致结果即为共识结果:,将此共识结果对应的监测数据记录至区块链中。
9.结合第一方面,在第一方面的第四种可能的实现方式中,多个所述网关节点为集成式的或独立式的。
10.结合第一方面,在第一方面的第五种可能的实现方式中,多个所述区块链节点为集成式的或独立式的。
11.第二方面,本技术实施例提供一种数据记录方法,应用于第一方面或第一方面的可能的实现方式中任一项所述的基于无线传感器网络的区块链系统中的任一区块链节点,所述方法包括:接收任一网关节点转发的数据,此数据中包括一无线传感器节点监测到的监测数据及对应的节点标识和监听到的相关节点的内容hash值及对应的节点标识;获取无线传感器节点监测到的监测数据及对应的目标节点标识;生成核验指令并传递给其他区块链节点,其中,核验指令包含该无线传感器节点监测到的监测数据及对应的目标节点标识;获取每个其他区块链节点反馈的核验结果,并基于所有核验结果确定是否将此监测数据记录至区块链中,其中,每个其他区块链节点用于基于接收的核验指令将统计周期内的目标节点标识对应的内容hash值与监测数据进行一致性核验,得到相应的核验结果。
12.第三方面,本技术实施例提供一种数据记录方法,应用于第一方面或第一方面的可能的实现方式中任一项所述的基于无线传感器网络的区块链系统中的任一区块链节点,所述方法包括:接收其他区块链节点传递的核验指令,其中,核验指令中包括目标节点标识及对应的监测数据,核验指令为其他区块链节点从任一网关节点转发的数据中获取无线传感器节点监测到的监测数据及对应的目标节点标识后生成;基于核验指令中的目标节点标识,在统计周期内确定出是否存在此目标节点标识对应的内容hash值;若存在此目标节点
标识对应的内容hash值,将此内容hash值与核验指令中的监测数据进行一致性核验,确定出核验结果并反馈给传递核验指令的区块链节点,以便传递核验指令的区块链节点基于所有核验结果确定是否将此监测数据记录至区块链中。
13.有益效果:基于无线传感器网络的区块链系统中每个无线传感器节点均具有唯一的节点标识,用于进行实时监测以得到监测数据,与此同时,可以监听相关节点在发射数据时的发射内容,并记录该相关节点的节点标识和内容hash值,再将此无线传感器节点的数据(无线传感器节点的监测数据及对应的节点标识,相关节点的内容hash值及对应的节点标识)上报给任一网关节点;每个网关节点用于在接收到任一无线传感器节点上报的数据后,进行核验后转发给区块链节点;任一区块链节点用于在每一个统计周期内,对同一节点标识对应的监测数据和所有内容hash值进行一致性核验,以确定是否将此监测数据记录至区块链中。由此,基于无线传感器网络的区块链系统通过多传感器节点和多网关的相互验证,更为可信、健壮的记录无线传感器的历史数据(通过节点交叉验证促成了无单一中心的多个平等节点间的信任建立,提供了对传感器网络数据的验证能力和背书能力,使得上传的传感器数据具备公信力)。相对于传统完全依赖于网关的传感器数据收集和记录,提供了可交叉验证的现场证明。而采用双层节点的区块链设计(相邻的无线传感器节点会在自己发送数据时顺便把监听到的数据报告给网关节点,而网关节点处于高一层,负责核验数据并报告给区块链节点),在实时传感器工作过程中,可以在每节点每次数据发送周期结束时在多个网关达成。而基于无线传感网信号以无线广播的形式发送的特点,基于无线传感器网络的区块链系统的额外开销少,且无线信号传输可以在节点、网关之间一跳完成,时延低。
14.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
15.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
16.图1为本技术实施例提供的一种基于无线传感器网络的区块链系统的示意图。
17.图2为应用于区块链节点的第一种数据记录方法的流程图。
18.图3为应用于区块链节点的第二种数据记录方法的流程图。
19.图标:100-基于无线传感器网络的区块链系统;110-无线传感器节点;120-网关节点;130-区块链节点。
具体实施方式
20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
21.请参阅图1,图1为本技术实施例提供的一种基于无线传感器网络的区块链系统100的示意图。
22.在本实施例中,基于无线传感器网络的区块链系统100可以包括:多个无线传感器
节点110(可以视为传感器层)、网关节点120(可以视为网关层)和区块链节点130(可以视为区块链层)。
23.每个无线传感器节点110均具有唯一的节点标识,每个无线传感器节点110,可以用于进行实时监测以得到监测数据。同时,每个无线传感器节点110,可以用于监听相关节点在发射数据时的发射内容(并可以进行记录),并记录该相关节点的节点标识和内容hash值。此处的相关节点,即该无线传感器节点110附近的其他无线传感器节点,在附近的其他无线传感器节点发射数据时,可以被该无线传感器节点110监听到。而该无线传感器节点110,还可以用于将此无线传感器节点110的数据上报给任一网关节点120(根据实际情况选择上报数据的网关节点120,此处的任一网关节点120仅仅是用于指代此无线传感器节点110上报数据时的网关节点120不特定,不应视为对本技术的限定),上报的数据可以包括此无线传感器节点110监测到的监测数据及对应的节点标识,以及监听到的相关节点的内容hash值及对应的节点标识。
24.每个网关节点120,可以用于在接收到任一无线传感器节点110上报的数据后,进行核验后转发给区块链节点130。
25.而任一区块链节点130,可以用于在每一个统计周期(例如1秒、3秒等)内,对同一节点标识对应的监测数据和所有内容hash值(均为同一节点标识对应的内容hash值,来源于不同无线传感器节点对上报监测数据的无线传感器节点110的监听)进行一致性核验,以确定是否将此监测数据记录至区块链中。
26.示例性的,区块链节点130可以通过以下方式确定是否将此监测数据记录至区块链中:若该监测数据和同一节点标识对应的所有内容hash值均具有一致性(即,无线传感器节点110上报的监测数据,与其他节点基于监听到此无线传感器节点110的发射内容而记录的内容hash值是一致的,表明此无线传感器节点110上报的监听数据与其他节点监听到的发射内容是一样的),那么,区块链节点130可以将此监测数据记录至区块链中。
27.若该监测数据和同一节点标识对应的任一内容hash值不存在一致性(有此节点标识对应的内容hash值与该监测数据不一致),那么,区块链节点130可以基于此监测数据与同一节点标识对应的存在一致性的内容hash值的数量,确定是否将此监测数据记录至区块链中。
28.具体的,区块链节点130可以统计此监测数据与同一节点标识对应的存在一致性的内容hash值的数量在总量中的占比,其中,总量包括此监测数据与同一节点标识对应的存在一致性的内容hash值的数量和不存在一致性的内容hash值的数量。然后,区块链节点130可以判断该占比是否达到设定比例(例如1/3,此处的设定比例1/3,是基于实际测试无线信道衰减和干扰导致的接收错误所确定的比例)。若该占比达到设定比例,区块链节点130可以将此监测数据记录至区块链中;若该占比未达到设定比例,区块链节点130可以将此监测数据丢弃。
29.为了防止网关节点的恶意篡改数据的行为,可以采用以下方式形成网关域共识:首先,任一无线传感器节点110上报的数据可以包含时间戳t、数据源节点标识sid、相关节点标识rid、数据源节点内容hash值hi等,而网关节点120收到任一无线传感器节点110上报的数据后,可以向上报的数据中加入网关标识gid后转发给区块链节点130,那
么,网关节点120转发的数据,为以下形式:,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)而区块链节点130在收到任一网关节点120转发的数据后,可以在区块链节点间(即区块链中的所有区块链节点之间)同步所有网关节点(基于网关标识gid确定)转发的属于一个统计周期(基于时间戳t确定)且具有同一节点标识(基于数据源节点标识sid确定)的所有数据,并按照时间戳t、数据源节点标识sid、监听转发节点标识fid(不同于相关节点标识rid)、数据源节点内容hash值hi对数据进行分组,其中,监听转发节点标识fid为监听到具有数据源节点标识sid的无线传感器节点发射该监测数据的无线传感器节点。
30.具体的,区块链节点可以取第一候选记录:,
ꢀꢀꢀꢀ
(2)去除数据源节点内容hash值hi的记录后,若存在第二候选记录,取第二候选记录:,
ꢀꢀꢀꢀ
(3)去除数据源节点内容hash值hi的记录后,若不存在第二候选记录,则仅取第一候选记录。
31.然后,区块链节点可以按照第一候选记录和第二候选记录进行统计,取其中多数一致结果即为共识结果:, (4)并将此共识结果对应的监测数据记录至区块链中。
32.由于无线传感器节点110采用无线广播的形式上报数据,因此,可以被其他无线传感器节点110监听到,另外,同一无线传感器节点110上报的数据,可以被不同的网关节点120监听到,而不同的网关节点120在转发数据时需要加入其唯一的网关标识,从而能够在区块链节点130层面提供来自于多个通道(即不同的无线传感器节点110、不同的网关节点120)的数据,从而可以进行数据的交叉验证,防止数据的恶意篡改,避免网关作恶的情况。
33.而对于其中关于形成共识机制,确定出共识结果的具体方式,还可以根据不同的情况而定,例如:如果收到两个不同通道(确定来源于不同的网关节点120)获得的相同副本(具有一致的内容hash值),而其他副本均不一致,则可以认可两个相同副本所对应的内容,那么,区块链节点130可以将这两个相同副本所对应的监测数据记录至区块链中;如果有不止一组相同副本,则认可多数副本组(取数量最多的一组副本所对应的监测数据记录至区块链中),此处不作限定。
34.在本实施例中,多个网关节点120(或者区块链节点130)可以为集成式的或独立式的,此处不作限定。
35.此处,举个例子,对基于无线传感器网络的区块链系统100的运行进行简要的介绍:首先,系统可以进行初始化,认证中心(认证中心对网关和传感器进行认证,即保证进入系统的硬件都是符合标准的,是一个准入的批准)下发设备列表给区块链节点130并转发网关节点120,确保可以入网的网关节点120和无线传感器节点110的身份可验证并具
备唯一标识(即对应的节点标识),而区块链节点130的创世块可以记录网关节点120的数字证书和网络标识等基本信息。
36.然后,无线传感器节点110上电初始化,并开始监听,从而记录监听到的相关节点的发射内容(上报数据),并记录节点标识(上报数据的无线传感器节点110对应的节点标识)和内容hash值(发射内容对应的内容hash值),并在本节点上报数据时附上收听到的记录节点标识和内容hash值(可以通过列表的形式记录和上报)。
37.而网关节点120收到无线传感器节点110上报的数据后,可以核验后转发给区块链节点130。
38.至于区块链节点130,可以在每一个统计周期,核验每个无线传感器上报数据同其他节点上报的该节点内容hash值,如果一致,可以记录该数据至区块链;如果存在不一致,可以统计其他节点上报该节点内容hash值,采用1/3一致即通过的方式,确定是将该数据计入区块链还是丢弃该数据。
39.为了便于对本方案的理解,以下将以区块链节点130的视角,对数据的核验及记录方式进行介绍。
40.请参阅图2,图2为应用于区块链节点130的第一种数据记录方法的流程图。第一种数据记录方法可以包括步骤s11、步骤s12、步骤s13和步骤s14。
41.步骤s11:接收任一网关节点转发的数据,此数据中包括一无线传感器节点监测到的监测数据及对应的节点标识和监听到的相关节点的内容hash值及对应的节点标识。
42.步骤s12:获取无线传感器节点监测到的监测数据及对应的目标节点标识。
43.步骤s13:生成核验指令并传递给其他区块链节点,其中,核验指令包含该无线传感器节点监测到的监测数据及对应的目标节点标识。
44.步骤s14:获取每个其他区块链节点反馈的核验结果,并基于所有核验结果确定是否将此监测数据记录至区块链中,其中,每个其他区块链节点用于基于接收的核验指令将统计周期内的目标节点标识对应的内容hash值与监测数据进行一致性核验,得到相应的核验结果。
45.区块链节点130可以接收任一网关节点120转发的数据,此数据中包括一无线传感器节点110监测到的监测数据及对应的节点标识和监听到的相关节点的内容hash值及对应的节点标识。在接收数据后,区块链节点130可以获取无线传感器节点110监测到的监测数据及对应的目标节点标识,然后生成核验指令并传递给其他区块链节点130,其中,核验指令包含该无线传感器节点110监测到的监测数据及对应的目标节点标识。经其他区块链节点将统计周期内的目标节点标识对应的内容hash值与监测数据进行一致性核验,得到相应的核验结果后,可以反馈给此区块链节点130,而此区块链节点130则可以获取每个其他区块链节点反馈的核验结果,并基于所有核验结果确定是否将此监测数据记录至区块链中。
46.而为了进一步揭示区块链节点130接收到核验指令后对目标节点标识对应的内容hash值与监测数据进行一致性核验的过程,此处提供第二种数据记录方法。
47.请参阅图3,图3为应用于区块链节点130的第二种数据记录方法的流程图。在本实施例中,第二种数据记录方法可以包括步骤s21、步骤s22和步骤s23。
48.步骤s21:接收其他区块链节点传递的核验指令,其中,核验指令中包括目标节点标识及对应的监测数据,核验指令为其他区块链节点从任一网关节点转发的数据中获取无
线传感器节点监测到的监测数据及对应的目标节点标识后生成。
49.步骤s22:基于核验指令中的目标节点标识,在统计周期内确定出是否存在此目标节点标识对应的内容hash值。
50.步骤s23:若存在此目标节点标识对应的内容hash值,将此内容hash值与核验指令中的监测数据进行一致性核验,确定出核验结果并反馈给传递核验指令的区块链节点,以便传递核验指令的区块链节点基于所有核验结果确定是否将此监测数据记录至区块链中。
51.区块链节点130可以接收其他区块链节点传递的核验指令(包括目标节点标识及对应的监测数据),核验指令为其他区块链节点生成。然后,本区块链节点130可以基于核验指令中的目标节点标识,在统计周期内确定出是否存在此目标节点标识对应的内容hash值。若存在此目标节点标识对应的内容hash值,将此内容hash值与核验指令中的监测数据进行一致性核验,确定出核验结果,并反馈给传递核验指令的区块链节点,以便传递核验指令的区块链节点基于所有核验结果确定是否将此监测数据记录至区块链中。对于确定是否将此监测数据记录至区块链中的方式,前文已经详细介绍,此处不再赘述。
52.对于基于无线传感器网络的区块链系统100的应用场景,可以有很多,例如,基于污染物排放监测场景的多实体无线传感网区块链平台:钢铁企业从通过产线、户外、厂区界限等处安置监测pm2.5、pm10、氮氧化物、硫化物等基于lora的无线传感器,通过多自有、环保委托第三方部署网关和区块链节点,实现监测数据可信。当然,也可以应用于别的场景,例如,基于人员定位和人员考勤记录监测场景的多实体无线传感网区块链平台:工地部署基于uwb的人员定位安全帽,定位采用自组网的方式,其中部分人员定位安全帽同时作为数据中继节点,通过住建、公安、项目方、承建方共同部署网关,并分别部署区块链节点,以此实现工作人员的实际到岗、考勤、工资代发、身份核验、工作量统计等服务。此处所列举的应用场景,不作为对本技术的限定。
53.综上所述,本技术实施例提供一种基于无线传感器网络的区块链系统及数据记录方法,基于无线传感器网络的区块链系统100中每个无线传感器节点110均具有唯一的节点标识,用于进行实时监测以得到监测数据,与此同时,可以监听相关节点在发射数据时的发射内容,并记录该相关节点的节点标识和内容hash值,再将此无线传感器节点110的数据(无线传感器节点110的监测数据及对应的节点标识,相关节点的内容hash值及对应的节点标识)上报给任一网关节点120;每个网关节点120用于在接收到任一无线传感器节点110上报的数据后,进行核验后转发给区块链节点130;任一区块链节点130用于在每一个统计周期内,对同一节点标识对应的监测数据和所有内容hash值进行一致性核验,以确定是否将此监测数据记录至区块链中。由此,基于无线传感器网络的区块链系统100通过多传感器节点和多网关的相互验证,更为可信、健壮的记录无线传感器的历史数据(通过节点交叉验证促成了无单一中心的多个平等节点间的信任建立,提供了对传感器网络数据的验证能力和背书能力,使得上传的传感器数据具备公信力)。相对于传统完全依赖于网关的传感器数据收集和记录,提供了可交叉验证的现场证明。而采用双层节点的区块链设计(相邻的无线传感器节点会在自己发送数据时顺便把监听到的数据报告给网关节点,而网关节点处于高一层,负责核验数据并报告给区块链节点),在实时传感器工作过程中,可以在每节点每次数据发送周期结束时在多个网关节点达成。而基于无线传感网信号以无线广播的形式发送的特点,基于无线传感器网络的区块链系统100的额外开销少,且无线信号传输可以在节点、
网关之间一跳完成,时延低。
54.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
55.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1