基于区块链的工业产品溯源信息存储方法、溯源方法及装置与流程

文档序号:30384121发布日期:2022-06-11 06:01阅读:205来源:国知局
基于区块链的工业产品溯源信息存储方法、溯源方法及装置与流程

1.本发明涉及数据信息存储管理技术领域,尤其涉及一种基于区块链的工业产品溯源信息存储方法、溯源方法及装置。


背景技术:

2.近年来,随着全球新一轮科技革命和产业变革正蓬勃兴起,工业互联网应运而生,正推动全球工业体系的智能化变革。标识解析体系作为工业互联网网络架构的重要组成部分,而基于工业互联网的智能化产品追溯,是标识解析技术的典型应用场景之一。产品追溯是指产品从制造、流通、消费到回收的整个生命周期过程中,利用标识技术记录和查询产品状态、属性、位置等信息的过程,其目的是全方位记录产品信息数据,促进企业内部信息系统之间、企业之间、企业和用户之间信息的有效共享。
3.现有技术中,可以由参与查询调度的节点,扫描运行区块链节点的资源利用状态,将查询请求转发至资源利用率低的节点,但是这种方案增加了客户端的工作量,除了基础的数据提交与查询之外,增加了区块链系统节点监管的职能,且客户端对于各节点资源利用率的计算随着区块链规模的增大开销也会增加,并不适合应用于大规模区块链系统中;也可以由mysql数据库存储每一条溯源记录,区块链账本存储溯源记录的摘要和签名。由于完整记录主要是存储在mysql里面,区块链是用来保证这些数据的完整性的,所以可以实现比区块链复杂的查询,但是在该方案中,区块链只是起到保证数据完整性作用,并没有对区块链溯源效率并没有得到有效提升。


技术实现要素:

4.鉴于此,本发明实施例提供了一种基于区块链的工业产品溯源信息存储方法、溯源方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,以解决现有技术中溯源流程较为复杂,计算开销大且溯源效率不足的问题。
5.本发明的技术方案如下:
6.一方面,本发明提供了一种基于区块链的工业产品溯源信息存储方法,所述方法在由多个节点组成的工业区块链网络上运行,各节点基于产品流转顺序构建产品流转链,每个节点还基于操作时间顺序构建用户操作链,形成网状区块链;对于单一产品流转链上包含的第一类节点以及各第一类节点的用户操作链上所有产品对应的产品流转链上的第二类节点,由所述第一类节点和所述第二类节点连接为区块链子网络,所述工业区块链网络上包含多个节点交叉或不交叉的区块链子网络;所述方法包括:
7.获取登录当前节点的成员用户的身份标识信息,并根据所述身份标识信息验证所述成员用户的合法性;
8.在所述成员用户合法的条件下,接收所述成员用户发送的当前产品的溯源信息,所述溯源信息包括溯源记录,所述溯源记录至少包括:记载当前批次产品数量、类型和名称的数据主体信息,代理对象信息和操作行为信息;
9.根据所述溯源记录产生的当前区块的哈希值,将所述溯源记录、当前区块的哈希值、在当前产品流转链中上一区块的全部或指定部分哈希值以及在当前用户操作链中上一区块的全部或指定部分哈希值打包形成当前区块;
10.将所述当前区块连入相应的产品流转链和用户操作链并存储在与当前产品相关的区块链子网络上;
11.针对所述当前节点操作的所有产品构建状态索引树,用于记载所述当前节点处理过的各批次不同产品的最新状态以及相应区块的位置。
12.在一些实施例中,所述身份标识信息是采用设定算法对成员信息进行哈希化得到的哈希值,所述成员信息至少包括成员id(identity document)和职能信息。
13.在一些实施例中,所述当前节点与所述成员用户基于ca(certificationauthority)平台颁发数字证书并进行身份认证。
14.在一些实施例中,所述设定算法为sha256算法。
15.在一些实施例中,所述状态索引树通过构建根节点、分支节点、扩展节点和叶子节点逐级记载不同批次产品的对应的最新区块位置;其中,扩展节点将具有相同产品识别码前缀的产品集合,以降低所述状态索引树的高度。
16.在一些实施例中,所述叶子节点为指向区块链中产品最新状态的指针。
17.另一方面,本发明还提供一种基于区块链的工业产品溯源方法,包括:
18.获取指定批次待溯源产品的产品识别码;
19.基于成员用户的合法身份标识信息登录指定批次待溯源产品所属的区块链子网络,所述区块链子网络是按照上述基于区块链的工业产品溯源信息存储方法构建的;
20.根据所述产品识别码查询所述区块链子网络中任意结点按照上述基于区块链的工业产品溯源信息存储方法构建的状态索引树,并根据所述状态索引树查询指定批次待溯源产品对应的完整产品流转链。
21.在一些实施例中,所述方法还包括:根据所述产品识别码在所述区块链子网络中直接查询产品流转链或用户操作链,检索指定批次待溯源产品最新状态对应的区块。
22.另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
23.另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
24.本发明的有益效果至少是:
25.本发明所述基于区块链的工业产品溯源信息存储方法、溯源方法及装置中,构建包含产品流转链和用户操作链的网状区块链结构,记载各批次不同产品的流转和操作信息,以利用区块链本身的防篡改的特性提高安全性;同时,在工业区块链网络中,将一产品生产链上的第一类节点以及各第一类节点的用户操作链上所有产品对应的产品流转链上的第二类节点组成区块链子网络,将指定批次的某一产品的流转和操作信息形成的区块仅记载与之相关的区块链子网络上,以减少整个工业区块链网络上的数据量,减少计算开销。同时,对于工业区块链网络的每一个节点,分别建立状态索引树用于记载当前节点所处理过的产品的状态更新,方便用户对指定批次产品所有区块的快速查找。
26.本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对
于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
27.本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
28.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。在附图中:
29.图1为本发明一实施例所述基于区块链的工业产品溯源信息存储方法的流程示意图;
30.图2为本发明一实施例所述基于区块链的工业产品溯源信息存储方法中构建的区块结构示意图;
31.图3为本发明一实施例所述基于区块链的工业产品溯源信息存储方法中的网状结构区块链示意图;
32.图4为本发明一实施例所述基于区块链的工业产品溯源信息存储方法中的状态索引树结构示意图;
33.图5为本发明一实施例所述基于区块链的工业产品溯源方法的流程示意图;
34.图6为链状结构区块链查询用时图;
35.图7为网状结构区块链查询用时图;
36.图8为有指针链式结构区块链、无指针链式结构区块链以及网状结构区块链溯源时延对比图。
具体实施方式
37.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
38.在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
39.应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
40.在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
41.工业互联网对于溯源的需求已经从简单的查看产品信息转变为保障产品追溯的安全、可靠以及高效性。对于传统的溯源技术来说,产品自身数据以及流转数据信息使用中心化数据库存储,数据存在被篡改的风险。除此之外,数据的记载过程缺少监督,数据的真实性、准确性存疑。由于溯源链与区块链的链式存储结构完美匹配,加上区块链自身采用的加密技术,很容易实现具有防伪能力的溯源系统。现有的基于区块链溯源方法主要有两大
类:一是直接访问一个区块然后按照顺序依次访问其父区块,通过遍历方式来检索需要的信息;二是将区块链中的数据记录同步到本地数据库中,使用数据库查询语句实现对区块链数据的检索与追溯;但是这两种方式在溯源效率和数据安全等方面存在很大问题。因此,本发明提供一种技术方案用于基于区块链技术实现对于工业互联网产品的溯源。
42.具体的,本发明提供了一种基于区块链的工业产品溯源信息存储方法,所述方法在由多个节点组成的工业区块链网络上运行,各节点基于产品流转顺序构建产品流转链,每个节点还基于操作时间顺序构建用户操作链,形成网状区块链;对于单一产品流转链上包含的第一类节点以及各第一类节点的用户操作链上所有产品对应的产品流转链上的第二类节点,由第一类节点和第二类节点连接为区块链子网络,工业区块链网络上包含多个节点交叉或不交叉的区块链子网络。
43.在本发明中,工业区块链是由多个存在业务关联或者无关联的节点构成的,每个节点可以由产品生产或流转过程中的生产方、供应方或者销售方构建。进一步的,对于某一类产品,在生产和流转过程中可以按照顺序预设置多个生产方、供应方或者销售方对应的节点,指定批次的产品数据在这些节点流转的过程中不断处理生成记载流转信息的新区块。同时,每一个节点对于自身操作处理过的不同批次不同种类的产品对应的区块还构建用户操作链。当一个产品到达一个节点对应的生产方、供应方或者销售方进行处理时,其生成的区块被同时记载在产品流转链和用户操作链上,具体的,每个形成的区块都同时连接产品流转链的上一个区块以及用户操作链的上一个区块。
44.本实施例中,区块中记载产品流转信息的成为溯源记录,溯源记录包括记载产品种类、名称、数量以及所采用的溯源识别技术的数据主体部分,记载对产品的创建者和操作者的代理对象部分,以及记载操作行为具体内容的行为部分。每个区块通过对溯源记录进行哈希化形成该区块唯一哈希值作为标识,每个区块分别记载产品流转链和用户操作链上一区块的全部或部分哈希值,用于指明区块在区块链中的连接关系。
45.具体的,本发明在存储工业产品溯源信息的过程中,如图1所示,所述基于区块链的工业产品溯源信息存储方法包括步骤s101~s105:
46.步骤s101:获取登录当前节点的成员用户的身份标识信息,并根据身份标识信息验证成员用户的合法性。
47.步骤s102:在成员用户合法的条件下,接收成员用户发送的当前产品的溯源信息,溯源信息包括溯源记录,溯源记录至少包括:记载当前批次产品数量、类型和名称的数据主体信息,代理对象信息和操作行为信息。
48.步骤s103:根据溯源记录产生的当前区块的哈希值,将溯源记录、当前区块的哈希值、在当前产品流转链中上一区块的全部或指定部分哈希值以及在当前用户操作链中上一区块的全部或指定部分哈希值打包形成当前区块。
49.步骤s104:将当前区块连入相应的产品流转链和用户操作链并存储在与当前产品相关的区块链子网络上。
50.步骤s105:针对当前节点操作的所有产品构建状态索引树,用于记载所述当前节点处理过的各批次不同产品的最新状态以及相应区块的位置。
51.在步骤s101中,传统区块链允许任意节点加入到区块链网络的特性并不适用于工业区块链的场景,工业区块链中所记载的产品生成和流转信息不能由不相关的主体随意修
改。所以,为了进一步提高工业应用场景下的安全性,本发明要求接入工业区块链的节点或相应的成员进行身份注册,以保证产品的溯源信息不会被随意上载和记录。
52.在一些实施例中,身份标识信息是采用设定算法对成员信息进行哈希化得到的哈希值,成员信息至少包括成员id和职能信息。其中,设定算法为sha256算法。
53.具体的,系统采用sha256算法对用户信息进行加密,并将加密得到的哈希值uh作为唯一的身份标识信息,其加密算法如公式1所示。
54.uh=sha256(userinfo)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
55.式1中,userinfo为成员信息,包括成员id,职能等信息。
56.在一些实施例中,当前节点与成员用户基于ca平台颁发数字证书并进行身份认证,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。工业互联网,即工业区块链需要根据自己的证书管理组件,向合法的网络成员颁发基于pki(public key infrastructure)的证书。当工业互联网中将要产生一条新的生产线的时候,可以向根证书申请一个子证书,加入该生产线的成员都需要通过其公钥在子证书中进行注册,从而保证只有通过授权的节点才有机会参与到产品流转过程中,以及数据传输过程安全性。
57.在通过身份认证的条件下,才允许合法的成员接入工业区块链并进行产品流转和操作信息的处理。
58.在步骤s102中,合法的成员用户在对产品进行操作和流转的过程中,处理生成相应的区块。本实施例中,以特定批次特定产品为粒度标记溯源信息。
59.由于工业互联网不同生产线之间信息会有交叉,为了更好的实现产品信息的交互,系统需要设计一种可以在系统之间进行传输的统一数据结构。本发明将溯源数据记录分为三个部分,分别是主体部分、代理部分以及行为部分。其中,数据主体部分要描述溯源对象的信息,如产品种类、名称、数量,以及所采用的溯源识别技术;代理部分则是数据的创建者或者操作者,即产品流转过程中经过生产线的各部分角色,如生产方、供应方、销售方等;行为是指一段时间内对主体进行的操作,如对产品的分类,转移等。溯源记录tr如公式2所示。
60.tr=(e,ag,ac)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
61.其中,e表示数据主体信息,ag表示代理对象信息,ac表示行为信息。这确保了数据符合开放标准,并有助于促进不同用户之间以标准化数据交换格式进行交互。
62.在步骤s103中,基于数据溯源记录tr,可生成产品信息存储区块,其结构如图2所示。图2的产品信息存储区块中,hash字段表示该区块的散列值,是基于溯源记录tr哈希化得到的。考虑到每一个区块只存储指定批次单一产品数据流转信息,区块hash也可以近似看做该指定批次单一产品所对应的hash。因此不需要使用merkle树(梅克尔树)验证数据完整性,而只需要使用散列值作为唯一标识。
63.溯源记录tr中的agent字段记录了产生该信息块的数据主体的角色哈希,entity message字段中记录了该产品的信息,如产品种类、名称、数量,以及所采用的溯源识别技术。active字段记载了主体的操作,如对产品的分类,转移等。此外,区块中还设计了两个对
哈希值的引用字段uhash和phash,其中,uhash则引用的是当前节点所生产的上一个区块,即当前节点的用户操作链上的上一个区块,与该引用关联的节点拥有相同的代理。phash引用的是该产品所在生产线上一级节点生成区块的hash,即该产品生产链中的上一个区块,与该引用关联节点拥有相同的实体。
64.在步骤s104中,将步骤s103中当前节点打包生成的区块上链存储,这里需要强调的是,本技术不同于传统的区块链,本技术中各节点产生的区块并不存储于全部的工业区块链中,而是存储在与相应产品相关的区块链子网络中。这里的区块链子网络如前文所述,包括当前节点正在处理的产品流转链所预设或引入的节点,还包含每个节点在用户操作链上处理的所有产品对应的产品流转链上的节点。示例性的,对于数据主体信息为p2的产品,其沿节点c0、c1、c2和c3进行流传和处理,因此,节点c0、c1、c2和c3为该产品对应的第一类节点。而进一步的,节点c1和c3在其用户操作链的上游存在对数据主体信息为p1的产品的操作,因此,将p1对应的产品流转链上的节点作为第二类节点,由第一类节点和第二类节点共同构成区块链子网络,而数据主体信息为p1的产品的流转产生的区块就存储在该区块链子网络中。数据主体信息为p1的产品形成的网状区块链关系如图3所示,其中,每一行对应一个产品的产品流转链,每一列对应节点的用户操作链,基于引用字段uhash和phash进行连接。
65.相较于单纯以时间顺序为线索的链状区块链结构,本发明提出的新型的网状区块链结构,既可以根据产品流转顺序进行关联,也可以根据用户的操作时间顺序进行关联。数据在区块链中的存储情况可以抽象为一个有向无环图,考虑到工业区块链情境下产品信息产生速度远低于交易场景,因此,图3中每一个区块以只存储单一产品的流转信息。图中的边由产品信息之间的引用关系构成,每一个节点会同时存在于两条链上,这两条链分别是产品流转链以及用户操作链。其中,产品流转链中的节点顺序是由产品在该生产线上的流转顺序决定的,如图中实线部分。大部分情况下,该链可以看做由产品制造方为起点,经过供应商、销售方等角色最终到达用户的手中。代理操作链中节点则是根据代理处理不同产品的时间顺序进行排序,如图中虚线部分,以制造方为例,其可能需要制造多种产品或者同一产品的多个批次。因此,以代理为线索建立节点之间的引用关系也是非常必要的。
66.节点间通过互相引用,形成了一个相互关联,难以篡改的网状结构。产品流转数据可以抽象为对图中指定边的查找,相较于传统区块链溯源过程中需要对所有节点进行遍历而言,网状结构由于产品线索的存在,可以通过引用直接找到对应产品生产链所对应的边。对于代理而言,同样可以通过用户线索快速找到其对于不同产品进行的操作减少了对于无关节点的访问,提高了查询的效率与速度。除此之外,由于与某产品相关的信息数据全部存储且仅存储在与之相关的成员节点所在链之上,可以有效保障产品信息不被过度暴露,同时能够有效减少系统中的冗余数据。
67.在步骤s105中,每个节点通过构建状态索引树用于记录当前节点处理过的不同批次不同产品的最新状态以及相应区块的位置。状态索引树通过构建根节点、分支节点、扩展节点和叶子节点逐级记载不同批次产品的对应的最新区块位置;其中,扩展节点将具有相同产品识别码前缀的产品集合,以降低状态索引树的高度。在一些实施例中,叶子节点存储指向区块链中产品最新状态的指针。
68.具体的,本发明提出一种新型数据结构——状态索引树,实时维护资产最新状态,
并降低更新资产状态的时间开销。状态索引树结构如图4所示,这个结构图的上半部分是针对于当前节点角色所存储产品信息的编码索引树。状态索引树是在前缀树的基础上进行扩展的模型,主要包括四种节点类型,依次是根节点(root)、分支节点(branch node)、扩展节点(extension node)和叶子节点(leaf node)。其中,扩展结点将具有相同pid编码(产品识别码)前缀的产品集合,将来低了状态索引树的高度;产品的pid为根节点到叶子节点的路径哈希值,有利于快速验证交易存在与否。状态索引树下半部分叶子节点记载的是一个指向区块链中产品最新状态的指针。
69.状态索引树主要包含三种操作类型,分别是更新、检索、插入。当一条新的生产线产生之后,参与节点维护的状态索引树会根据产品的pid生成一条新的由根节点到叶子节点的索引路径。示例性的,对于一个节点,对经其处理的指定批次指定类型的产品的pid构建一条有根节点到叶子节点的索引路径,其中,状态索引树通过不断延伸分支节点更新指定批次指定类型产品的最新状态,通过构建扩展节点引入记载不同批次或类型的产品信息。在最后一个分支节点下连接叶子节点,记载最新状态的指针,以指向相应区块在区块链中的位置。
70.另一方面,本发明还提供一种基于区块链的工业产品溯源方法,如图5所示,包括步骤s201~s203:
71.步骤s201:获取指定批次待溯源产品的产品识别码。
72.步骤s202:基于成员用户的合法身份标识信息登录指定批次待溯源产品所属的区块链子网络,区块链子网络是按照上述步骤s101~s105所述基于区块链的工业产品溯源信息存储方法构建的。
73.步骤s203:根据产品识别码查询区块链子网络中任意结点按照上述s101~s105所述基于区块链的工业产品溯源信息存储方法构建的状态索引树,并根据状态索引树查询指定批次待溯源产品对应的完整产品流转链。
74.在步骤s201~s203中,经过认证的成员用户,登陆至工业区块链网络中,检索所要查询的产品对应的区块链子网络,通过查询状态索引树找到指定批次待溯源产品对应的完整产品流转链。
75.在一些实施例中,所述方法还包括步骤s204:根据产品识别码在区块链子网络中直接查询产品流转链或用户操作链,检索指定批次待溯源产品最新状态对应的区块。
76.当用户需要对产品进行溯源时,状态索引树首先负责帮助用户根据产品pid定位产品在区块链中的最新状态所在区块。解析区块中对应产品信息,以此实现对于产品上一环节的追溯。按照同样的方法依次向前追溯,最终可以得到一条关于产品流转信息的溯源链。通过实现对产品全生命周期的高效追踪与管理,实现对数字化资产生命周期的高效追踪与管理,极大提高了产品数据的安全性、数据信息真实性与可信度。通过对网状区块链以及状态索引树的结合,为产品溯源的高效性提供了基础保障。
77.另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
78.另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
79.进一步的,需要明确的是,本发明所述基于区块链的工业产品溯源信息存储方法、
溯源方法及装置中,每个节点都存储其参与流转产品的全部数据,而每件产品的信息数据仅存储在与之相关的节点中。若一个节点是某产品流转过程中的最新节点,那么可以称该节点是此产品当前的管理者。规定当且仅当某节点是某产品的管理者时,该节点具有更新此产品信息的权限。每次产品信息数据产生时,管理者节点会将产品流转信息沿着生产线向上游节点进行同步,接收到产品流转信息的节点首先需要根据管理者公钥在本地验证其身份的合法性以及数据完整性。校验通过后将数据存储在本地区块链中,并继续将信息向上传输。为了保证数据传输过程中的完整性与正确性,需要通过管理者公钥对产品流转信息进行核实后才能上链。当产品需要进入下一个环节,即管理者即将发生变化时,新管理者需要向原管理者申请注册。原管理者接收到新管理者请求之后,会在本地使用证书验证申请者公钥的合法性。通过验证后管理者会将最终确定的新管理者公钥提交给上游节点用于后续身份检验,并向申请者发出注册成功的指令。注册通过后产品控制权发生转移,信息录入权也随之转移。
80.在工业互联网溯源系统中,引入区块链进行产品流转数据存储的主要目的是防止产品流转数据被轻易捏造与篡改。捏造产品流转信息指的是在不具备产品控制权的情况下,即操作节点并不是管理者的情况下向其它节点提交产品流转数据。由于每个节点处都存储有该节点处理过的产品全部流转信息记录,以及最新管理者的公钥信息。因此,验证节点可以通过查询产品记录获得当前产品的唯一控制者。不具备控制权的伪管理者节点录入信息在向上游节点同步时,不能够使得节点达成共识从而被拒绝。此外,由于每个节点在本地存有其余角色在参与生产线之初分配的公钥备份,因此可以防止公钥在传输过程中被非法节点替换的风险,从而进一步保证了角色的安全性与合法性。而对于篡改产品数据,由于产品信息块中包含散列值字段,对于散列值的生成过程是不可逆的。当用户企图修改产品信息块中的产品信息时,若不重新产生散列值,会导致散列值与具体信息不匹配的情况,从而导致修改后的数据失效。如果节点在共识前重新生成散列值,上游节点会根据哈希值判断数据异常从而共识失败;如果节点在共识后重新生成散列值,将引发系统中对该信息块进行引用的其他信息块失效。对于一条生产线而言,由于全部区块是按照时间顺序存在引用关系,篡改其中一个区块将对该节点之后生成的全部区块造成影响,并且更容易发现以及定位。
81.本发明主要介绍了一种基于状态索引树的网状区块链高效溯源机制,通过区块链自身加密技术以及pki证书保证参与用户的合法性以及产品流转过程的安全性。除此之外,采用网状区块链可以保证与某产品相关的信息数据全部存储且仅存储在与之相关的成员节点所在链之上,可以有效保障产品信息不被过度暴露,同时能够有效减少系统中的冗余数据。状态索引树可以帮助用户根据产品pid定位产品在区块链中的最新状态所在区块,解析区块中对应产品信息,以此实现对于产品上一环节的追溯。最终,通过对网状区块链以及状态索引树的结合,为产品溯源的高效性提供了保障。
82.考虑到在溯源系统设计过程中用户信息的安全性,本发明采用sha256算法对用户信息进行加密,并将哈希值作为用户的唯一标识。此外,工业互联网需要根据自己的证书管理组件,向合法的网络成员颁发基于pki的证书,从而保证只有通过授权的节点才有机会参与到产品流转过程中,从而保证数据传输过程安全性。
83.考虑到工业互联网情境下产品信息生成速度远低于传统区块链的交易场景,本发
明提出了一种新型的网状区块链结构。该结构区块链节点之间既可以根据产品流转顺序进行关联,也可以根据用户的操作时间顺序进行关联。
84.针对溯源过程中耗时较多的产品最新状态查询,本发明提出一种基于前缀树扩展的新型数据结构——状态索引树。该数据结构可以实时维护产品最新状态,并降低更新产品状态的时间开销。
85.通过实验分析链状结构和网状结构区块链查询响应时延,系统分别对不同产品记录数下两种区块链结构查询效率进行对照,分别对不同区块链结构以及不同记录数下节点发起100次查询请求,计算平均查询时延,链状结构查询用时如图所6示,本发明采用的网状结构的查询用时如图所7示。通过结果可以得出网状结构区块链产品信息查询效率上明显优于链式结构,且随着产品信息记录数增加,链式结构查询耗时增幅逐渐上升,而网状结构则趋于平缓,即后者可以更好适应数据量较大的场景。
86.通过实验分析链状结构和网状结构区块链产品溯源时延,在产品溯源时延过程中,对于链式结构与网状结构区块链均引入状态索引树。除此之外,在链式结构下,又可具体细分为传统区块链数据结构与引入前向指针的区块链数据结构,产品溯源时延为所有产品信息溯源所需平均时间。如图所8示,通过三种溯源数据结构的对比可以发现,状态索引树改进后的网状区块链其溯源效率远高于其它溯源结构,且无指针链式结构、有指针链式结构与网状结构溯源耗时对区块链数据量敏感度依次降低。
87.综上所述,本发明所述基于区块链的工业产品溯源信息存储方法、溯源方法及装置,构建包含产品流转链和用户操作链的网状区块链结构,记载各批次不同产品的流转和操作信息,以利用区块链本身的防篡改的特性提高安全性;同时,在工业区块链网络中,将一产品生产链上的第一类节点以及各第一类节点的用户操作链上所有产品对应的产品流转链上的第二类节点组成区块链子网络,将指定批次的某一产品的流转和操作信息形成的区块仅记载与之相关的区块链子网络上,以减少整个工业区块链网络上的数据量,减少计算开销。同时,对于工业区块链网络的每一个节点,分别建立状态索引树用于记载当前节点所处理过的产品的状态更新,方便用户对指定批次产品所有区块的快速查找。
88.本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
89.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
90.本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
91.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1