一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的防伪验证方法、平台及计算机可读介质与流程

2022-11-14 13:54:22 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种基于区块链的防伪验证方法、平台及计算机可读介质。


背景技术:

2.现有的防伪验证方法存在造假情况严重问题,一方面是造假者伪造防伪查询平台,模仿正品网站仿冒一个看起来一模一样的查询网页,为假货提供防伪验证,让消费者信以为真;另一方面是一些防伪码制作公司为了获利,不按规定核查客户的营业执照、组织机构代码和税务登记证,收钱为假货制作防伪码,成为假货“转正”途径。
3.出现上述问题的根本原因在于现有的防伪验证方法都是中心化的应用程序,方法封闭且方法权限集中于防伪码制作公司本身,第三方监督范围有限,防伪码制作公司可以轻易的泄露或者篡改后台数据,导致防伪方法缺乏公信力。
4.此外,在对防伪串码进行验证时,需要遍历区块链平台中的区块进行验证,当检索到需要的数据时,遍历即刻结束,但是当区块链平台中不存在需要的数据时,遍历过程会直至到创世区块才会结束,大大影响程序运行效率。
5.因此,亟需设计一款数据公开透明、不可篡改且验证高效的去中心化的防伪验证方法。


技术实现要素:

6.本发明的目的是针对现有技术的不足,提供一种基于区块链的防伪验证方法、平台及计算机可读介质。
7.本技术一方面提供了一种基于区块链的防伪验证方法,包括:第一客户端向第一服务端发送防伪数据包,其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端生成的;所述第一服务端将所述多个第一防伪串码进行加密运算生成第一密文,再将所述第一密文打包至第一防伪交易后发送到区块链平台;所述区块链平台将所述第一防伪交易打包成第一区块后上链存储,并向所述第一服务端返回所述第一区块的区块索引,所述区块索引包括区块哈希、区块高度、交易哈希;第二客户端获取所述第一防伪串码后根据所述区块索引进行防伪验证;当所述防伪验证成功时,确定所述第一防伪串码合法。
8.优选地,所述第一服务端将所述多个第一防伪串码进行加密运算生成第一密文,包括:所述第一服务端遍历所述多个第一防伪串码并使用哈希函数运算对应生成多个第一防伪哈希;所述第一密文由多个第一防伪哈希拼接而成。
9.优选地,所述第二客户端获取所述第一防伪串码后根据所述区块索引进行防伪验
证,包括:所述第二客户端获取所述第一服务端发送的所述区块索引;所述第二客户端将所述第一防伪串码通过哈希函数运算生成第二防伪哈希;所述第二客户端根据所述区块索引检索所述第一区块;当所述第一区块中包含所述第二防伪哈希时,确定所述防伪验证成功;当所述第一区块中不包含所述第二防伪哈希时,确定所述防伪验证失败。
10.优选地,所述第一服务端将所述多个第一防伪串码进行加密运算生成第一密文,包括:所述第一服务端遍历所述多个第一防伪串码并使用哈希函数运算生成树状数据结构;所述树状数据结构包括一根节点、多个分支节点及多个叶节点,其中所述多个叶节点的值均是所述多个第一防伪串码之一进行哈希函数运算生成的,所述根节点及多个分支节点的值均是其子节点的哈希值拼接后进行哈希函数运算生成的;所述第一密文中包括所述根节点值。
11.优选地,所述方法还包括:所述第一服务端获取所述区块链平台发送的所述区块索引后,将所述树状数据结构的多个数字校验路径分别与所述区块索引打包成多个第一校验副本发送至所述第一客户端。
12.所述多个第一校验副本与所述多个第一防伪串码一一对应;其中,所述数字校验路径包括除了当前所述第一防伪串码对应的所述叶节点以外通向所述根节点沿途的所有所述分支节点和所述叶节点。
13.优选地,所述第二客户端获取所述第一防伪串码后根据所述区块索引进行防伪验证,还包括:所述第二客户端获取与所述第一防伪串码相对应的所述第一校验副本;所述第二客户端根据所述第一校验副本中的所述数字校验路径与所述第一防伪串码运算生成第三防伪哈希;所述第二客户端根据所述第一校验副本中的所述区块索引检索获取所述根节点值;当所述根节点值与所述第三防伪哈希匹配时,确定所述防伪验证成功,当所述根节点值与所述第三防伪哈希不匹配时,确定所述防伪验证失败。
14.本技术一方面提供了一种基于区块链的防伪验证方法,由第一服务端执行所述方法,所述方法包括:获取第一客户端发送的防伪数据包,其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端生成的;将所述多个第一防伪串码进行加密运算生成树状数据结构;将所述第一密文打包至第一防伪交易后发送到区块链平台,所述第一密文包括所述树状数据结构的根节点值;获取区块索引并将所述树状数据结构的多个数字校验路径分别与所述区块索引打包成多个第一校验副本发送至所述第一客户端。
15.本技术一方面提供了一种基于区块链的防伪验证平台,所述平台包括:第一获取模块,用于获取第一客户端发送的防伪数据包,其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端生成的;第一加密模块,用于将所述多个第一防伪串码进行加密运算生成树状数据结构;第一打包模块,用于将所述第一密文打包至第一防伪交易后发送到区块链平台,所述第一密文包括所述树状数据结构的根节点值;第一反馈模块,用于获取区块索引并将所述树状数据结构的多个数字校验路径分别与所述区块索引打包成多个第一校验副本发送至所述第一客户端。
16.本技术一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本技术中一方面中的方法。
17.本技术一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
18.本发明提供的基于区块链的防伪验证方法。本方法中通过区块链技术将防伪数据去中心化的存储于区块链平台,可以有效避免人为篡改数据,同时,返回的区块索引有利于第二客户端在验证时快速定位目标区块,大大提高验证效率。使本技术防伪验证方法成为公众有理由充分信任的平台,促进淘汰其他不诚信的中心化平台。
19.其次,本系统通过算法将多个防伪串码运算生成一个树状数据结构,区块链平台在存储防伪数据时,只需存储树状数据结构的一个根节点值,无需存储数量庞大的防伪串码,不仅有利于串码数据的安全性,同时大大降低了区块链平台的存储压力。
20.再次,本系统将数字校验路径和区块索引打包成第一校验副本用于配合第一防伪串码一同进行防伪验证,当仿冒时,仅仅只有第一防伪串码被仿冒时无法通过防伪验证,且第一校验副本与第一防伪串码一一对应,当第一校验副本与第一防伪串码之一造假时,也无法通过防伪验证,大大提高了伪造成本。
附图说明
21.为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术一实施例提供的一种基于区块链的防伪验证系统的设备及网络架构示意图;图2是本技术一实施例提供的一种基于区块链的防伪验证系统的结构示意图;图3是本技术一实施例提供的一种基于区块链的防伪验证方法的流程图;图4是本技术一实施例提供的一种第一客户端、第二客户端、第一服务端及区块链平台之间的数据交互过程场景示意图;图5是本技术一实施例提供的一种树状数据结构示意图;图6是本技术一实施例提供的一种数字校验路径结构示意图;图7是本技术一实施例提供的一种第一客户端、第二客户端、第一服务端及区块链
平台之间的数据交互过程场景示意图;图8是本技术一个实施例提供的一种基于区块链的防伪验证方法的流程图;图9是本技术一个实施例提供的一种基于区块链的防伪验证平台的结构示意图;图10是本技术一个实施例提供的一种计算机设备的结构示意图。
具体实施方式
23.可以理解的是,本技术涉及区块链相关技术。区块链技术是一种通过去中心化、高信任的方式集体维护一个可靠数据库的技术方案,数据库中的每个区块包含系统的全部数据信息,使用数字签名验证信息的有效性和完整性,通过密码学原理链接到下一个区块并形成一条主链。区块链技术基于密码学原理,使得任何达成一致的双方可直接支付,从而不需要第三方平台的参与,解决了中介信用问题。通过区块链技术,比特币实现了在没有任何中介机构参与的情况下完成双方可以互信的转账行为。区块链的核心技术主要包括分布式账本技术、非对称加密算法以及智能合约。
24.请参见图1,图1是本技术一实施例提供的一种基于区块链的防伪验证系统的设备及网络架构示意图。
25.如图1所示,该网络架构可以包括用户终端10、应用服务器20、区块链网络30。
26.其中,区块链网络30中可以包括多个区块链节点,该多个区块链节点之间可以相互进行数据交互,该多个区块链节点可以包括节点n1、节点n2、
……
和节点nn等n个节点。
27.用户终端10可以包括节点c1、节点c2、
……
和节点cn等n个终端节点。
28.应用服务器20可以包括节点s1、节点s2、
……
和节点sn等n个服务节点。每个服务节点可以是一个或多个应用程序,也可以由多个服务节点组成一个或多个应用程序,同时,每个服务节点可以是区块链网络30中的轻节点、也可以是全节点,全节点用于保存整个区块的所有内容,轻节点仅仅保存区块的块头信息。
29.更多的,区块链网络30中的一个区块链节点或者用户终端10中的一个节点,可以由服务器构成,也可以由终端设备构成。其中,用于构成区块链网络30节点的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。用于构成用户终端10节点的服务器通常为终端设备,终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑等智能终端。其中,用户终端10中的所有节点可以通过网络,例如wifi、移动蜂窝或以太网连接应用服务器20再与区块链网络30连接。
30.请参见图2,图2是本技术一实施例提供的一种基于区块链的防伪验证系统的结构示意图。
31.一种基于区块链的防伪验证系统,包括第一客户端100、第二客户端400、第一服务端200及区块链平台300,其中:所述第一客户端100,用于向所述第一服务端200发送防伪数据包,其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端100生成的;所述第一服务端200,用于将所述多个第一防伪串码进行加密运算生成第一密文,再将所述第一密文打包至第一防伪交易后发送到所述区块链平台300。
32.所述区块链平台300,用于将所述第一防伪交易打包成第一区块后上链存储,并向所述第一服务端200返回所述第一区块的区块索引,所述区块索引包括区块哈希、区块高度、交易哈希。
33.所述第二客户端400,用于获取所述第一防伪串码后根据所述区块索引进行防伪验证;当所述防伪验证成功时,确定所述第一防伪串码合法。
34.可以理解的是,由于现有的防伪验证方法存在造假情况严重问题,一方面是造假者伪造防伪查询平台,模仿正品网站仿冒一个看起来一模一样的查询网页,为假货提供防伪验证,让消费者信以为真;另一方面是一些防伪码制作公司为了获利,不按规定核查客户的营业执照、组织机构代码和税务登记证,收钱为假货制作防伪码,成为假货“转正”途径。
35.出现上述问题的根本原因在于现有的防伪验证方法都是中心化的应用程序,方法封闭且方法权限集中于防伪码制作公司本身,第三方监督范围有限,防伪码制作公司可以轻易的泄露或者篡改后台数据,导致防伪方法缺乏公信力。
36.此外,在对防伪串码进行验证时,需要遍历区块链平台300中的区块进行验证,当检索到需要的数据时,遍历即刻结束,但是当区块链平台300中不存在需要的数据时,遍历过程会直至到创世区块才会结束,大大影响程序运行效率。
37.当然,可以具体设计一种去中心化的基于区块链的防伪验证方法,在本方法中防伪串码由区块链平台300记录,公开透明、不可篡改且验证高效,详见如下:请参见图3,图3是本技术一实施例提供的一种基于区块链的防伪验证方法的流程图。
38.一种基于区块链的防伪验证方法,包括:第一客户端100向第一服务端200发送防伪数据包,其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端100生成的;具体地,第一服务端200可以获取到第一客户端100所发送的防伪数据包。第一客户端100向第一服务端200发送的防伪数据包主要包括多个第一防伪串码,还可以包括时间戳、串码分类号等。
39.其中, 第一防伪串码可以是由第一客户端100按照防伪溯源编码规范随机生成的。
40.所述第一服务端200将所述多个第一防伪串码进行加密运算生成第一密文,再将所述第一密文打包至第一防伪交易后发送到区块链平台300。
41.所述区块链平台300将所述第一防伪交易打包成第一区块后上链存储,并向所述第一服务端200返回所述第一区块的区块索引,所述区块索引包括区块哈希、区块高度、交易哈希。
42.具体地,区块链平台300获取到第一服务端200发送的第一防伪交易之后,区块链平台300中的节点会收集多个交易组成区块,当达成共识时,将区块发布到整个区块链平台300网络。
43.第二客户端400获取所述第一防伪串码后根据所述区块索引进行防伪验证;当所述防伪验证成功时,确定所述第一防伪串码合法。
44.本方法主要通过将第一防伪串码加密后上传至区块链平台300的方式,使得防伪码数据无法被人为篡改,提高人们对防伪方法的信任度,于此同时,当第二客户端400对防
伪串码进行验证时,可以根据区块索引快速定位目标区块,大大增加验证效率。
45.可以理解的是,由于区块链平台300中存储的数据是公开的,为了防止仿冒者从区块链平台300获取数据后进行仿冒,有必要对防伪串码加密。
46.所述第一服务端200将所述多个第一防伪串码进行加密运算生成第一密文,包括:所述第一服务端200遍历所述多个第一防伪串码并使用哈希函数运算对应生成多个第一防伪哈希;所述第一密文由多个第一防伪哈希拼接而成。
47.使用哈希函数加密第一防伪串码并生成第一密文的方式,结果不可逆,难以被破解,同时,拥有源码时只需进行一次哈希运算再进行匹配即可验证,方便高效。
48.以下是第二客户端400通过区块链平台300对防伪串码进行验证的过程。
49.所述第二客户端400获取所述第一防伪串码后根据所述区块索引进行防伪验证,包括:所述第二客户端400获取所述第一服务端200发送的所述区块索引;所述第二客户端400将所述第一防伪串码通过哈希函数运算生成第二防伪哈希;所述第二客户端400根据所述区块索引检索所述第一区块;当所述第一区块中包含所述第二防伪哈希时,确定所述防伪验证成功;当所述第一区块中不包含所述第二防伪哈希时,确定所述防伪验证失败。
50.其中,哈希函数可以是md5、sha-1、sha-256、sha-512等等,第二防伪哈希是第一防伪串码经过哈希函数运算后生成的哈希值。
51.上述将防伪串码通过区块链技术去中心化的存储,可以有效避免人为篡改数据,也可对串码进行快速验证,使本技术防伪验证方法成为公众有理由充分信任的平台,促进淘汰其他不诚信的中心化平台。
52.下面以第一客户端100、第二客户端400、第一服务端200及区块链平台300之间的数据交互为例,执行本技术实施例的具体描述。
53.请一并参见图4,图4是本技术一实施例提供的一种第一客户端100、第二客户端400、第一服务端200及区块链平台300之间的数据交互过程场景示意图。
54.s401.第一客户端100发送防伪数据包;其中,第一客户端100向第一服务端200发送的防伪数据包主要包括多个第一防伪串码,还可以包括时间戳、串码分类号等。
55.s402.第一服务端200加密并生成第一密文;其中,第一密文由多个第一防伪哈希拼接而成。其中,第一防伪哈希由第一服务端200遍历多个第一防伪串码并使用哈希函数运算对应生成。
56.s403.第一服务端200将第一密文打包至第一防伪交易;s404.第一服务端200发送第一防伪交易;其中,第一服务端200向区块链平台300发送第一防伪交易。
57.s405.区块链平台300将第一防伪交易上链存储;其中,区块链平台300获取到第一服务端200发送的第一防伪交易之后,区块链平台300中的节点会收集第一防伪交易组成区块,当达成共识时,会根据第一防伪交易调用的智能合约来验证数据,当验证通过时,节点收取一定量的汽油费后将数据更新至智能合约
的存储域中,并将区块发布到整个区块链平台300网络。
58.s406.区块链平台300向第一服务端200返回区块索引;具体地,区块链平台300在第一区块上链并由若干区块确认后,返回区块至第一服务端200。
59.其中,区块索引包括区块哈希、区块高度、交易哈希。
60.s407.第一服务端200向第一客户端100发送区块索引;具体地,第一服务端200在接收到区块链平台300发送的区块索引后,会将所述区块索引发送至第一客户端100。
61.s408.第二客户端400获取第一防伪串码并生成第二防伪哈希;具体地,用户可以在购买商家的产品后获得产品上附带的第一防伪串码,用户在获得第一防伪串码后将其输入至第二客户端400进行防伪验证,第二客户端400在获得第一防伪串码后,首先会将第一防伪串码通过哈希函数运算生成第二防伪哈希。
62.s409.第二客户端400根据区块索引发送检索请求;具体地,用户还可以在购买商家的产品后获得产品上附带的区块索引,第二客户端400可以向区块链平台300发送包含区块索引的检索请求。
63.s410.区块链平台300返回第一区块信息。
64.具体地,区块链平台300在接受到第二客户端400发送过来的检索请求之后,区块链平台300会提取参数,并根据参数中的区块索引快速定位目标区块即第一区块并返回至第二客户端400。
65.s411.第二客户端400确认防伪验证结果。
66.具体地,当第一区块中包含所述第二防伪哈希时,确定所述防伪验证成功;当第一区块中不包含所述第二防伪哈希时,确定所述防伪验证失败。
67.上述过程即为第一客户端100、第一服务端200、第二客户端400及区块链平台300之间的数据交互过程,能够快速有效的验证防伪码,同时,由于区块链平台300上的数据无法篡改,可以避免人为的修改或泄露串码。
68.可以理解的是,虽然将所有防伪串码加密后上传至区块链平台300的方案是可行的,但是由于区块链平台300的存储资源十分珍贵,一般都防伪串码被验证的次数也十分有限,导致资源的利用率较低。
69.当然,可以具体设计一种加密方式仅上传多个防伪串码加密后的共同根植来提高存储效率。
70.所述第一服务端200将所述多个第一防伪串码进行加密运算生成第一密文,包括:所述第一服务端200遍历所述多个第一防伪串码并使用哈希函数运算生成树状数据结构;所述树状数据结构包括一根节点、多个分支节点及多个叶节点,其中所述多个叶节点的值均是所述多个第一防伪串码之一进行哈希函数运算生成的,所述根节点及多个分支节点的值均是其子节点的哈希值拼接后进行哈希函数运算生成的;所述第一密文中包括所述根节点值。
71.其中,叶节点与第一防伪串码一一对应。
72.请一并参见图5,图5是本技术一实施例提供的一种树状数据结构示意图。
73.本实施例中,包括四份第一防伪串码,分别是串码1、串码2、串码3、串码4。其中,树状数据结构包括一根节点r1、两分支节点b1及b2、多个叶节点l1、l2、l3、l4。
74.由图可知,叶节点l1、l2、l3、l4的值分别是串码1、串码2、串码3、串码4进行哈希函数运算后生成的,分支节点b1的值是其子节点叶节点l1及l2的值拼接后进行哈希函数运算后生成的,分支节点b2的值是其子节点叶节点l3及l4的值拼接后进行哈希函数运算后生成的,根节点r1的值是其子节点分支节点b1及b2的值拼接后进行哈希函数运算后生成的。
75.当串码或节点数量为奇数时,可以设置一补齐节点,补齐节点的值可以是预设的。
76.将多个第一防伪串码运算生成树状数据结构后,只需向区块链平台300提交一个根节点值,不仅更有利于串码数据的安全性,同时大大降低了区块链平台300的存储压力。
77.可以理解的是,普通的防伪串码在验证时,只需要一个串码便可完成验证,对于造假者来说很容易就可以对这个串码进行复制,仿冒门槛低。
78.所述方法还包括:所述第一服务端200获取所述区块链平台300发送的所述区块索引后,将所述树状数据结构的多个数字校验路径分别与所述区块索引打包成多个第一校验副本发送至所述第一客户端100;所述多个第一校验副本与所述多个第一防伪串码一一对应。
79.具体地,所述数字校验路径包括除了当前所述第一防伪串码对应的所述叶节点以外通向所述根节点沿途的所有所述分支节点和所述叶节点。
80.所述数字校验路径与所述第一防伪串码一一对应。
81.请一并参见图6,图6是本技术一实施例提供的一种数字校验路径结构示意图。
82.本实施例中,包括八份第一防伪串码,分别是串码1、串码2、......串码7、串码8。其中,树状数据结构包括一根节点r1,六个分支节点b1、b2、.......b5、b6,以及与八份第一防伪串码相对应的八个叶节点l1、l2、......l7、l8。
83.由图可知,叶节点l1、l2、......l7、l8的值分别是串码1、串码2、......串码7、串码8进行哈希函数运算后生成的,分支节点b1的值是其子节点叶节点l1及l2的值拼接后进行哈希函数运算后生成的,分支节点b5的值是其子节点分支节点b1及b2的值拼接后进行哈希函数运算后生成的,根节点r1的值是其子节点分支节点b5及b6的值拼接后进行哈希函数运算后生成的。
84.其中,串码1的数字验证路径为除了串码1对应的叶节点l1以外通向根节点r1沿途的所有分支节点和叶节点,即叶节点l2、分支节点b2、分支节点b6组成的数字路径。
85.上述过程中,使用数字校验路径和区块索引打包成第一校验副本用于配合第一防伪串码一同进行防伪验证,当仿冒时,仅仅只有第一防伪串码被仿冒时无法通过防伪验证,且第一校验副本与第一防伪串码一一对应,当第一校验副本与第一防伪串码之一为仿冒品时,也无法通过防伪验证,大大提高了伪造成本。
86.以下是第二客户端400通过第一校验副本和第一防伪串码进行验证的过程:所述第二客户端400获取所述第一防伪串码后根据所述区块索引进行防伪验证,还包括:所述第二客户端400获取与所述第一防伪串码相对应的所述第一校验副本;所述第二客户端400根据所述第一校验副本中的所述数字校验路径与所述第一防
伪串码运算生成第三防伪哈希;所述第二客户端400根据所述第一校验副本中的所述区块索引检索获取所述根节点值;当所述根节点值与所述第三防伪哈希匹配时,确定所述防伪验证成功,当所述根节点值与所述第三防伪哈希不匹配时,确定所述防伪验证失败。
87.具体地,第三防伪哈希的生成过程可以是,对第一防伪串码进行哈希函数运算获得一哈希值,再将该哈希值依次与数字校验路径中的节点的哈希值两两进行哈希函数运算,直到最终获得一唯一值即第三防伪哈希。
88.具体地,该哈希值首先与数字校验路径中的叶节点拼接后进行哈希函数运算获得第二哈希值,第二哈希值再沿着数字校验路径与路径上的分支节点拼接后进行哈希函数运算获得第三哈希值,以此类推,直到获得唯一值为止。
89.当第一校验副本配合第一防伪串码生成的第三防伪哈希与通过区块索引检索到的区块链平台300上记载的不可篡改的根节点值相匹配时才能通过验证。
90.下面以第一客户端100、第二客户端400、第一服务端200及区块链平台300之间的数据交互为例,执行本技术实施例的具体描述。
91.请一并参见图7,图7是本技术一实施例提供的一种第一客户端100、第二客户端400、第一服务端200及区块链平台300之间的数据交互过程场景示意图。
92.s701.第一客户端100发送防伪数据包;其中,第一客户端100向第一服务端200发送的防伪数据包主要包括多个第一防伪串码,还可以包括时间戳、串码分类号等。
93.s702.第一服务端200遍历第一防伪串码生成树状数据结构;其中,树状数据结构包括一根节点、多个分支节点及多个叶节点,其中多个叶节点的值均是多个第一防伪串码之一进行哈希函数运算生成的,根节点及多个分支节点的值均是其子节点的哈希值拼接后进行哈希函数运算生成的;s703.第一服务端200将第一密文打包至第一防伪交易;其中,所述第一密文中包括根节点值。
94.s704.第一服务端200发送第一防伪交易;其中,第一服务端200向区块链平台300发送第一防伪交易。
95.s705.区块链平台300将第一防伪交易上链存储;其中,区块链平台300获取到第一服务端200发送的第一防伪交易之后,区块链平台300中的节点会收集第一防伪交易组成区块,当达成共识时,会根据第一防伪交易调用的智能合约来验证数据,当验证通过时,节点收取一定量的汽油费后将数据更新至智能合约的存储域中,并将区块发布到整个区块链平台300网络。
96.s706.区块链平台300向第一服务端200返回区块索引;其中,区块索引包括区块高度、区块哈希、交易哈希、时间戳等。
97.s707.第一服务端200生成多个第一校验副本;具体地,第一服务端200获取区块索引后,将树状数据结构的多个数字校验路径分别与区块索引打包成多个第一校验副本;多个第一校验副本与多个第一防伪串码一一对应。
98.具体地,数字校验路径包括除了当前第一防伪串码对应的叶节点以外通向根节点沿途的所有分支节点和叶节点。
99.s708.第一服务端200向第一客户端100发送第一校验副本;具体地,第一客户端100收到第一校验副本后,商家可以将第一防伪串码及与之对应第一校验副本附带在产品上,优选地,第一防伪串码及第一校验副本可以分别设置在产品内外侧,如将第一防伪串码设置在产品外包装,将第一校验副本设置在外包装内侧的产品上等等。
100.s709.第二客户端400获取第一防伪串码及与之对应第一校验副本并生成第三防伪哈希;其中,用户可以在购买商家的产品后获得产品上附带的第一防伪串码及与之对应第一校验副本,用户在获得第一防伪串码及与之对应第一校验副本后将其输入至第二客户端400进行防伪验证,第二客户端400在获得第一防伪串码及与之对应第一校验副本后,首先会对第一防伪串码进行哈希函数运算获得一哈希值,再将该哈希值依次与数字校验路径中的节点的哈希值两两进行哈希函数运算,直到最终获得一唯一值即第三防伪哈希。
101.s710.第二客户端400发送检索请求;具体地,第二客户端400在生成第三防伪哈希之后,会向区块链平台300发送区块索引作为参数的检索请求。
102.s711.区块链平台300返回根节点值。
103.具体地,区块链平台300在接受到第二客户端400发送过来的检索请求之后,区块链平台300会提取参数,并根据参数中的区块索引快速定位目标区块,并根据区块索引中的交易哈希快速定位目标交易,最后返回目标交易中的目标值即根节点值,若无法检索到目标值,可以返回一个预设的目标值。
104.s712.第二客户端400根据根节点值确认防伪验证结果。
105.具体地,当根节点值与第三防伪哈希匹配时,确定防伪验证成功,当根节点值与第三防伪哈希不匹配时,确定防伪验证失败。
106.上述过程即为第一客户端100、第一服务端200、第二客户端400及区块链平台300之间的数据交互过程。
107.综上,本技术一个实施例提供的一种基于区块链的防伪验证方法。本方法中通过区块链技术将防伪数据去中心化的存储于区块链平台300,可以有效避免人为篡改数据,同时,返回的区块索引有利于第二客户端400在验证时快速定位目标区块,大大提高验证效率。使本技术防伪验证方法成为公众有理由充分信任的平台,促进淘汰其他不诚信的中心化平台。
108.其次,本方法通过算法将多个防伪串码运算生成一个树状数据结构,区块链平台300在存储防伪数据时,只需存储树状数据结构的一个根节点值,无需存储数量庞大的防伪串码,不仅有利于串码数据的安全性,同时大大降低了区块链平台300的存储压力。
109.再次,本方法将数字校验路径和区块索引打包成第一校验副本用于配合第一防伪串码一同进行防伪验证,当仿冒时,仅仅只有第一防伪串码被仿冒时无法通过防伪验证,且第一校验副本与第一防伪串码一一对应,当第一校验副本与第一防伪串码之一造假时,也无法通过防伪验证,大大提高了伪造成本。
110.请参见图8,图8是本技术一个实施例提供的一种基于区块链的防伪验证方法的流程图。
111.s801.获取第一客户端100发送的防伪数据包;其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端100生成的。
112.s802.将所述多个第一防伪串码进行加密运算生成树状数据结构;s803.将所述第一密文打包至第一防伪交易后发送到区块链平台300,所述第一密文包括所述树状数据结构的根节点值;s804.获取区块索引并将所述树状数据结构的多个数字校验路径分别与所述区块索引打包成多个第一校验副本发送至所述第一客户端100。
113.通过本技术所提供的方法,可以实现第一客户端100、第二客户端400、第一服务端200及区块链平台300之间实时、可靠的数据交互,同时,防伪数据去中心化的存储于区块链平台300,可以有效避免人为因素对数据的影响。
114.请参见图9,图9是本技术一个实施例提供的一种基于区块链的防伪验证平台的结构示意图。
115.该防伪验证平台1可以包括:第一获取模块11、第一加密模块12、第一打包模块13、第一反馈模块14:第一获取模块11,用于获取第一客户端100发送的防伪数据包,其中,所述防伪数据包包括多个第一防伪串码,所述多个第一防伪串码是由所述第一客户端100生成的。
116.第一加密模块12,用于将所述多个第一防伪串码进行加密运算生成树状数据结构。
117.第一打包模块13,用于将所述第一密文打包至第一防伪交易后发送到区块链平台300,所述第一密文包括所述树状数据结构的根节点值。
118.第一反馈模块14,用于获取区块索引并将所述树状数据结构的多个数字校验路径分别与所述区块索引打包成多个第一校验副本发送至所述第一客户端100。
119.请参见图10,图10是本技术一个实施例提供的一种计算机设备的结构示意图。
120.图10所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储平台。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
121.在图10所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图8中任一个所对应实施例中对基于区块链的防伪验证方法的描述。应当理解,本技术中所描述的计算机设备1000,也可执行前文其余实施例中对防
伪验证平台1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
122.此外,这里需要指出的是:本技术还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的防伪验证平台1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图8中任一个所对应实施例中对基于区块链的防伪验证方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。
123.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
124.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
125.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
126.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
127.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
128.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献