一种基于区块链的二维码溯源方法及系统与流程

文档序号:17330095发布日期:2019-04-05 22:01阅读:2084来源:国知局
一种基于区块链的二维码溯源方法及系统与流程

本发明涉及属于溯源记录领域,具体涉及一种基于区块链的二维码溯源方法及系统。



背景技术:

随着移动互联网的快速发展,溯源系统尤其是二维码溯源系统得到了更为广泛的应用,推动商品的过程管理向智能化方向发展。但是现有的二维码溯源系统基本都是由一个中心化的机构负责管理和运营的,商品生产、仓储、物流和销售等过程信息都是由该机构发布的,缺少第三方监管。一旦中心被攻克或从内部崩坏,则整个系统瞬间坍塌。曾有媒体报道,某二维码防伪公司既防伪又造假,修改代管企业的数据,制造大量“真的”假标签。



技术实现要素:

本发明的目的在于提供一种基于区块链的二维码溯源方法。

本发明的另一个目的在于提供一种基于区块链的二维码溯源系统,解决商品溯源数据在保存过程中存在的被篡改的问题,使得二维码溯源数据具有不可篡改性、不可否认性;

本发明目的按如下技术方案实现:

一种基于区块链的二维码溯源方法,包括:记录生成方法、区块链生成方法、记录回溯方法;

在商品生产过程中,首先按照记录生成方法,生成包括生产记录、入库记录、出库记录、物流记录以及经销商记录;然后依据区块链生成方法,完成对记录的保存、区块链的生成以及提供查询;最后,依据记录回溯方法,通过对区块链的查询和解密,获取对应的生产记录、入库记录、出库记录、物流记录以及经销商记录;

所述生产记录由商品溯源码、生产数据密文以及厂家签名构成;所述生产数据密文由生产数据经过对称密钥加密得到;所述生产数据包含商品相关产地、车间、生产人员、包装人员及检验员;所述厂家签名指厂家使用私钥对生产数据密文hash值进行加密的数字签名;

所述入库记录由商品溯源码、商品的入库数据密文、厂家签名和商品的生产记录在区块链索引位置组成;

所述出库记录由商品溯源码、商品的出库数据密文、厂家签名和商品的入库记录在区块链索引位置组成;

所述物流记录由商品溯源码、商品的物流数据密文、厂家签名和商品的出库记录在区块链索引位置组成;

所述经销商记录由商品溯源码、商品的经销商数据密文、厂家签名和商品的物流记录在区块链索引位置组成;

上述入库数据密文、出库数据密文、物流数据密文及经销商数据密文分别为入库数据、出库数据、物流数据及经销商数据经过对称密钥加密得到;

上述厂家签名分别为厂家使用私钥对入库数据密文、出库数据密文、物流数据密文及经销商数据密文的hash值进行加密的数字签名;

厂家将所有记录发送给溯源中心存储;

所述区块链生成方法,包括时间戳签名方法、区块头生成方法、区块体生成方法;

所述区块体生成方法为溯源中心以每则记录的hash值作为叶子节点,构建默克尔树,默克尔树和构建默克尔树的所有记录组成区块体;

所述区块头生成方法将上一区块的hash值、区块编号、区块体默克尔树根节点hash值、时间戳共同组成区块头;所述上一区块若无,则其hash值全为零;所述区块头和区块体组成区块;

所述时间戳为所述时间戳签名方法生成,即上一区块hash值、区块编号、区块体默克尔树根节点hash值拼接成的字符串通过hash算法得到hash值,使用溯源中心私钥对字符串hash值进行签名,并发送第三方时间戳服务器加盖时间戳,所述时间戳包括溯源中心签名、时间戳服务器接收时间,以及时间戳服务器数字签名。

所述记录回溯方法,包括区块定位方法及区块溯源方法;

所述区块定位方法,通过溯源码在区块链中搜索最后一个环节记录所在位置,提取记录中上一记录索引位置、厂家签名及密文,使用厂家签名、密文及厂家公钥对内容和身份进行核对,并使用对称密钥对密文进行解密获取数据信息;

所述区块溯源方法为,通过上一记录索引位置追溯到上一记录,并获取记录中上一记录得索引位置、厂家签名及密文,进行核对及解密,通过上一记录索引位置继续追溯上一记录,直至追溯到生产记录为止。

另一方面,本发明提供一种基于区块链的二维码溯源系统,由溯源中心、厂家、经销商、消费者、时间戳服务器组成;

所述经销商作为商品的销售者,需要向厂家提供产品的经销商数据,包括商品的上架时间、销售地点;

所述厂家分别完成商品的生产记录、入库记录、出库记录、物流记录以及经销商记录的生成并制作产品的溯源二维码;

所述记录生成方法,生成包括生产记录、入库记录、出库记录、物流记录以及经销商记录;

所述生产记录由商品溯源码、生产数据密文以及厂家签名构成;所述生产数据密文由生产数据经过对称密钥加密得到;所述生产数据包含商品相关产地、车间、生产人员、包装人员及检验员;所述厂家签名指厂家使用私钥对生产数据密文hash值进行加密的数字签名;

所述入库记录由商品溯源码、商品的入库数据密文、厂家签名和商品的生产记录在区块链索引位置组成;

所述出库记录由商品溯源码、商品的出库数据密文、厂家签名和商品的入库记录在区块链索引位置组成;

所述物流记录由商品溯源码、商品的物流数据密文、厂家签名和商品的出库记录在区块链索引位置组成;

所述经销商记录由商品溯源码、商品的经销商数据密文、厂家签名和商品的物流记录在区块链索引位置组成;

上述入库数据密文、出库数据密文、物流数据密文及经销商数据密文分别为入库数据、出库数据、物流数据及经销商数据经过对称密钥加密得到;

上述厂家签名分别为厂家使用私钥对入库数据密文、出库数据密文、物流数据密文及经销商数据密文的hash值进行加密的数字签名;

所述溯源二维码包含商品的溯源码和对称密钥;所述商品的溯源码和对称密钥具有唯一性;

所述溯源中心接收厂家发送的生产记录、入库记录、出库记录、物流记录以及经销商记录,完成记录的身份核定及区块链的生成;按如下步骤完成:

s101:对每则记录,使用厂家公钥对厂家签名和密文进行比对,确认厂家身份;确认成功进行步骤s102;

s102:溯源中心将所有记录hash运算,得到hash值作为叶子节点构建默克尔树,所生成的默克尔树及生成默克尔树的记录组成区块体;

s103:接着将上一区块hash值,本区块编码及区块体默克尔树根节点hash值拼接为字符串,通过hash算法得到字符串摘要,由溯源中心私钥使用签名算法得到字符串摘要签名;

s104:将字符串摘要、字符串摘要签名发送时间戳戳服务器,获得时间戳;

s105:将上一区块hash值,本区块编号及区块体默克尔树根节点hash值、时间戳组成区块头;将所有由区块体和区块头组成的区块进一步组成区块链;

s106:将整个区块链公布并提供查询;

所述时间戳服务器接收溯源中心发送字符串摘要和字符串摘要签名,由字符串摘要签名和溯源中心公钥使用签名算法得到比对字符串摘要,并与字符串摘要进行比对,如不同,则舍弃,若相同,则生成时间戳,并发给溯源中心;

所述消费者,通过扫码溯源二维码得到商品的溯源码及对称码;并完成如下步骤:

s201:通过溯源码在区块链中搜索最后一个环节记录所在位置;

s202:提取记录中上一记录索引位置、厂家签名及密文;

s203:使用记录中上一记录得索引位置追溯上一记录;

s204:重复s202、s203步骤,直至追溯到生产记录停止;

s205:使用厂家公钥对每则记录得密文及厂家签名进行内容和身份的核对,核对成功,进行步骤s206;

s206:使用对称密钥解码所有密文,提取密文数据。

更优的,上述商品的生产记录、入库记录、出库记录、物流记录以及经销商记录中,增加类标签;相同类记录具有相同类标签,不同类记录类标签不同;溯源中心对接收到的记录按照类标签进行分类;将相同类标签记录用于生成同一块区块,使得所有相同类标签记录保存于同一区块中,不同类标签记录保存于不同区块中。

更优的,上述生成记录按商品批次进行分类,并分配类标签。

更优的,上述入库记录按入库时间进行分类,并分配类标签。

更优的,上述出库记录按出库时间进行分类,并分配类标签。

更优的,上述物流记录按物流批次进行分类,并分配类标签;所述物流批次相同即物流工具、物流环境、物流时间均相同。

更优的,上述经销商记录按经销商名字进行分类,并分配类标签。

上述优选方案便于横向追溯,有一则商品记录横向追溯同批次或货物流等的其他商品。

本发明具有如下有益效果:

本发明提供了一种基于区块链的二维码溯源方法及系统,在原有的溯源系统上引入区块链技术和第三方时间戳服务器,使得商品的所有溯源记录具有不可更改性、不可否认性;对商品数据进行对称密钥加密,保证了数据的私密性,溯源中心无法得知具体数据信息;在记录中保留该商品上一记录的索引位置信息,使得系统的回溯能力、速度得到增强,减轻了溯源中心压力,提高效率;将所有同一批次商品的生产记录、入库记录、出库记录及同一物流的产品的物流记录以及同经销商的经销商记录分别单独保存于同一区块中,提供了横向追溯商品的能力。

附图说明

图1:为本发明基于区块链的二维码溯源系统示意图。

图2:为溯源中心记录区块链生成流程图。

图3:为商品溯源流程图。

具体实施方式

下面通过实施例对本发明进行具体的描述,有必要在此指出的是以下实施例只用于对本发明进行进一步说明,不能理解为对本发明保护范围的限制,该领域的技术人员可以根据上述本发明内容对本发明作出一些非本质的改进和调整。

实施例1

一种基于区块链的二维码溯源系统,如图1所示,由溯源中心、厂家、经销商、消费者、时间戳服务器组成;厂家和经销商生成商品的生产记录、入库记录、出库记录、物流记录以及经销商记录;而溯源中心完成对记录的校验和保存;便于消费者对商品信息进行溯源;

首先,厂家对每个商品均生成唯一的溯源码和对称密钥,并将溯源码和对称密钥制作为溯源二维码并与商品绑定;

其次厂家和经销商完成商品的生产记录、入库记录、出库记录、物流记录以及经销商记录的生成;其中生产记录由商品溯源码、生产数据密文以及厂家签名构成;入库记录由商品溯源码、商品的入库数据密文、厂家签名和商品的生产记录在区块链索引位置组成;出库记录由商品溯源码、商品的出库数据密文、厂家签名和商品的入库记录在区块链索引位置组成;物流记录由商品溯源码、商品的物流数据密文、厂家签名和商品的出库记录在区块链索引位置组成;经销商记录由商品溯源码、商品的经销商数据密文、厂家签名和商品的物流记录在区块链索引位置组成;

上述生产数据密文、入库数据密文、出库数据密文、物流数据密文及经销商数据密文分别为生产数据、入库数据、出库数据、物流数据及经销商数据经过对称密钥加密得到;

上述厂家签名分别为厂家使用私钥对生产数据密文、入库数据密文、出库数据密文、物流数据密文及经销商数据密文的hash值进行加密的数字签名;

厂家依次分别将同一批次商品的生产记录分配相同的类标签,并打包发送溯源中心存储;再将同一入库时间商品的入库记录分配相同的类标签,打包发送溯源中心存储;接着将同一出库时间商品的出库记录分配相同的类标签,打包发送溯源中心存储;然后同一物流批次的商品的物流记录分配相同的类标签,打包发送溯源中心存储;最后同一经销商的商品的经销商记录分配相同的类标签,打包发送溯源中心存储;

溯源中心接收厂家发送的打包的生产记录、入库记录、出库记录、物流记录以及经销商记录,完成记录的身份核定、类标签的检查分类及区块链的生成;如图2所示,对打包的具有相同类标签记录按如下步骤完成:

s101:对每则记录,使用厂家公钥对厂家签名和密文进行比对,确认厂家身份;确认成功进行步骤s102;

s102:溯源中心将所有记录hash运算,得到hash值作为叶子节点构建默克尔树,所生成的默克尔树及生成默克尔树的记录组成区块体;

s103:接着将上一区块hash值,本区块编码及区块体默克尔树根节点hash值拼接为字符串,通过hash算法得到字符串摘要,由溯源中心私钥使用签名算法得到字符串摘要签名;

s104:将字符串摘要、字符串摘要签名发送时间戳戳服务器,获得时间戳;

s105:将上一区块hash值,本区块编号及区块体默克尔树根节点hash值、时间戳组成区块头;将所有由区块体和区块头组成的区块进一步组成区块链;

s106:将整个区块链公布并提供查询;

其中时间戳服务器接收溯源中心发送字符串摘要和字符串摘要签名,由字符串摘要签名和溯源中心公钥使用签名算法得到比对字符串摘要,并与字符串摘要进行比对,如不同,则舍弃,若相同,则生成时间戳,并发给溯源中心;

最后,当消费者购买商品,通过扫码溯源二维码得到商品的溯源码及对称码;并完成如图3所示步骤:

s201:通过溯源码在区块链中搜索最后一个环节记录所在位置;

s202:提取记录中上一记录索引位置、厂家签名及密文;

s203:使用记录中上一记录得索引位置追溯上一记录;

s204:重复s202、s203步骤,直至追溯到生产记录停止;

s205:使用厂家公钥对每则记录得密文及厂家签名进行内容和身份的核对,核对成功,进行步骤s206;

s206:使用对称密钥解码所有密文,提取密文数据。

实时例2

如实施例1完成了对商品信息的区块链保存;

消费者购买商品品质出现问题,通过相关部门检测为物流环节操作不当所致,厂家或者相关部门通过该问题商品溯源二维码追溯到物流记录;

通过物流记录所在区块,即可横向追溯到与该商品同一物流的其他商品的物流记录,及为同一区块中其他记录;

通过提取记录中商品溯源码,快速定位到同一物流所有可能的问题商品的溯源码;从而快速定位可能的问题商品,对其进行检测和召回。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1