CN111740841A - 溯源码的生成、验证方法和装置 - Google Patents
溯源码的生成、验证方法和装置 Download PDFInfo
- Publication number
- CN111740841A CN111740841A CN202010472551.3A CN202010472551A CN111740841A CN 111740841 A CN111740841 A CN 111740841A CN 202010472551 A CN202010472551 A CN 202010472551A CN 111740841 A CN111740841 A CN 111740841A
- Authority
- CN
- China
- Prior art keywords
- product
- information
- code
- tracing
- tracing code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012795 verification Methods 0.000 claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 239000003814 drug Substances 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010408 sweeping Methods 0.000 description 3
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007790 scraping Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- Finance (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种溯源码的生成、验证方法和装置。该方法包括:区块链接收用户设备发送的溯源码验证请求,溯源码验证请求中包括第二溯源码,第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,产品的第二产品信息包括产品的第二编码,验证第二溯源码是否合法,若第二溯源码合法,则通过区块链中存储的第一信息,确定产品的第一溯源码对应的二维码是否被扫描过,若第一溯源码对应的二维码没有被扫描过,则更新第一信息,更新后的第一信息用于指示所述第一溯源码对应的二维码被扫描过,若第一溯源码对应的二维码被扫描过,则输出提示信息,提示信息用于提示第一溯源码对应的二维码被扫描过。本发明的方法,增加了产品溯源的可靠性。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种溯源码的生成、验证方法和装置。
背景技术
产品溯源可以用于辨别产品的真伪,查询产品的信息等。
为了辨别产品的真伪,现有的产品溯源的方法是在产品包装上贴防伪二维码,例如药品上面有监管码,扫码之后用户能够获知一些药品信息,并知晓药品的真伪。或者在二维码上加涂层,刮开图层进行扫码来判别产品的真伪,例如通过书籍上的二维码确认书籍的正版与否。
但是现有的产品防伪二维码,存在被不法人员复制和转移,从而造假的风险。
发明内容
本发明提供一种溯源码的生成、验证方法和装置,用以解决产品防伪二维码被不法人员复制和转移,从而造假的问题。
第一方面,本发明提供一种溯源码的生成、验证方法,包括:
接收用户设备发送的溯源码验证请求,所述溯源码验证请求中包括第二溯源码,所述第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,所述产品的第二产品信息包括所述产品的第二编码;
验证所述第二溯源码是否合法;
若所述第二溯源码合法,则通过区块链中存储的第一信息,确定所述产品的第一溯源码对应的二维码是否被扫描过;所述第一溯源码为平台节点生成的,所述第一溯源码包括:所述产品的第一产品信息,第一公钥和第一签名,产品的所述第一产品信息包括所述产品的第一编码;
若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,更新后的所述第一信息用于指示所述第一溯源码对应的二维码被扫描过;
若所述第一溯源码对应的二维码被扫描过,向用户设备发送提示信息,所述提示信息用于提示所述第一溯源码对应的二维码被扫描过。
可选的,所述验证所述第二溯源码是否合法,包括:
使用所述第二公钥对所述第二签名进行解密;
当解密得到的产品信息与所述第二产品信息相同时,确定所述第二溯源码合法;
当解密得到的产品信息与所述第二产品信息不相同时,确定所述第二溯源码不合法。
可选的,使用所述第二公钥对所述第二签名进行解密之前,还包括:
验证所述第二公钥是否合法。
可选的,所述第一产品信息和所述第二产品信息中均还包括:所述产品的通证的数量,所述第一信息为产品的通证的领取信息或者产品的剩余通证的数量;
所述若所述第二溯源码合法,则通过区块链中存储的第一信息,确定所述产品的第一溯源码对应的二维码是否被扫描过,包括:
若所述第二溯源码合法,根据所述产品的通证的领取信息或者所述产品的剩余通证的数量确定所述通证是否被领取;
若所述产品的通证未被领取,则确定所述第一溯源码对应的二维码没有被扫描过;
所述若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息之前,还包括:
根据通证智能合约,从第一钱包地址发放所述产品的通证的数量给第二钱包地址,所述第一钱包地址为所述产品归属的商户的钱包地址,所述第二钱包地址为所述溯源码验证请求发送节点所属的钱包地址。
可选的,所述若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,包括:
更新所述产品的通证领取信息为通证已被领取,或者,更新所述产品的剩余通证的数量为0。
可选的,所述第一信息为第一溯源码对应的二维码的扫描信息,所述扫描信息用于描述溯源码对应的二维码是否被扫描过;
所述若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,包括:
更新所述第一溯源码对应的二维码的扫描信息为被扫描过。
第二方面,本发明提供一种溯源码的生成、验证方法,包括:
使用第一私钥对产品的第一产品信息进行加密,得到第一签名;
生成所述产品的第一溯源码,所述产品的第一溯源码包括:所述第一产品信息,与所述私钥对应的第一公钥和所述第一签名,所述第一产品信息包括所述产品的第一编码;
生成所述第一溯源码对应的二维码。
可选的,所述使用第一私钥对产品的第一产品信息进行加密之前,还包括:
为商户创建区块链账户,所述区块链账户包括密钥对,所述密钥对包括第一公钥和第一私钥;
将所述私钥发送给所述商户的节点;
存储所述商户的信息,所述商户的信息包括:商户与所述公钥的对应关系。
可选的,所述第一产品信息,还包括:所述产品的通证的数量;所述区块链账户还包括第一钱包地址,所述第一钱包地址用于存储所述商户的通证;
所述商户的信息还包括:所述商户、所述公钥与所述第一钱包地址的对应关系。
可选的,所述使用私钥对接收到的产品的编码进行加密,得到第一签名之前,还包括:
根据商户的信息和存证智能合约,将所述商户的信息上链存证。
第三方面,本发明提供一种溯源码的生成、验证装置,包括:
接收模块,用于接收用户设备发送的溯源码验证请求,所述溯源码验证请求中包括第二溯源码,所述第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,所述产品的第二产品信息包括所述产品的第二编码;
验证模块,用于验证所述第二溯源码是否合法;
确定模块,用于若所述第二溯源码合法,则通过区块链中存储的第一信息,确定所述产品的第一溯源码对应的二维码是否被扫描过;所述第一溯源码为平台节点生成的,所述第一溯源码包括:所述产品的第一产品信息,第一公钥和第一签名,产品的所述第一产品信息包括所述产品的第一编码;
更新模块,用于若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,更新后的所述第一信息用于指示所述第一溯源码对应的二维码被扫描过;
输出模块,用于若所述第一溯源码对应的二维码被扫描过,向用户设备发送提示信息,所述提示信息用于提示所述第一溯源码对应的二维码被扫描过。
可选的,所述验证模块具体用于:
使用所述第二公钥对所述第二签名进行解密;
当解密得到的产品信息与所述第二产品信息相同时,确定所述第二溯源码合法;
当解密得到的产品信息与所述第二产品信息不相同时,确定所述第二溯源码不合法。
可选的,所述验证模块还用于:
验证所述第二公钥是否合法。
可选的,所述第一产品信息和所述第二产品信息中均还包括:所述产品的通证的数量,所述第一信息为产品的通证的领取信息或者产品的剩余通证的数量;
所述确定模块具体用于:
若所述第二溯源码合法,根据所述产品的通证的领取信息或者所述产品的剩余通证的数量确定所述通证是否被领取;
若所述产品的通证未被领取,则确定所述第一溯源码对应的二维码没有被扫描过;
所述装置,还包括:
发放模块,用于根据通证智能合约,从第一钱包地址发放所述产品的通证的数量给第二钱包地址,所述第一钱包地址为所述产品归属的商户的钱包地址,所述第二钱包地址为所述溯源码验证请求发送节点所属的钱包地址。
可选的,所述更新模块具体用于:
更新所述产品的通证领取信息为通证已被领取,或者,更新所述产品的剩余通证的数量为0。
可选的,所述第一信息为第一溯源码对应的二维码的扫描信息,所述扫描信息用于描述溯源码对应的二维码是否被扫描过;
所述更新模块具体用于:
更新所述第一溯源码对应的二维码的扫描信息为被扫描过。
第四方面,本发明提供一种溯源码的生成、验证装置,包括:
签名模块,用于使用第一私钥对产品的第一产品信息进行加密,得到第一签名;
第一生成模块,用于生成所述产品的第一溯源码,所述产品的第一溯源码包括:所述第一产品信息,与所述私钥对应的第一公钥和所述第一签名,所述第一产品信息包括所述产品的第一编码;
第二生成模块,用于生成所述第一溯源码对应的二维码。
可选的,所述装置还包括:
创建模块,用于为商户创建区块链账户,所述区块链账户包括密钥对,所述密钥对包括第一公钥和第一私钥;
发送模块,用于将所述私钥发送给所述商户的节点;
存储模块,用于存储所述商户的信息,所述商户的信息包括:商户与所述公钥的对应关系。
可选的,所述第一产品信息,还包括:所述产品的通证的数量;所述区块链账户还包括第一钱包地址,所述第一钱包地址用于存储所述商户的通证;
所述商户的信息还包括:所述商户、所述公钥与所述第一钱包地址的对应关系。
可选的,所述装置还包括:
根据商户的信息和存证智能合约,将所述商户的信息上链存证。
第五方面,本发明提供一种溯源码的生成、验证设备,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述第一方面所述的方法。
第六方面,本发明提供一种溯源码的生成、验证设备,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述第二方面所述的方法。
第七方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面所述的溯源码的生成、验证方法。
第八方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第二方面所述的溯源码的生成、验证方法。
本发明提供的溯源码的生成、验证方法和装置,通过在产品溯源码的生成过程中,平台节点使用第一私钥对第一产品信息进行加密,将第一签名信息和第一公钥存储在第一溯源码中,使得在产品流通过程中,消费者可以通过扫描第二溯源码对应的二维码进行验证该产品的真伪,区块链接收用户设备发送的溯源码验证请求,溯源码验证请求中包括第二溯源码,第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,产品的第二产品信息包括产品的第二编码,验证第二溯源码是否合法,若第二溯源码合法,则通过区块链中存储的第一信息,确定产品的第一溯源码对应的二维码是否被扫描过,若第一溯源码对应的二维码没有被扫描过,则更新第一信息,更新后的第一信息用于指示第一溯源码对应的二维码被扫描过,若第一溯源码对应的二维码被扫描过,则输出提示信息,提示信息用于提示第一溯源码对应的二维码被扫描过,从而判断产品的真伪,不法人员即使复制和转移产品第一溯源码对应的二维码,在区块链上的第一信息也无法进行篡改,通过区块链上的第一信息也能够验证出产品的真伪,因此,本实施例的方法杜绝了不法人员对产品溯源码的复制和转移,增加了产品溯源的可靠性。同时,将第一溯源码对应的二维码的扫描信息存储在区块链中,可以知道产品实际销售出去的数量,利于产品的数量的溯源。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为溯源码的生成、验证系统架构示意图;
图2为本发明提供的一种溯源码的生成、验证方法的流程示意图;
图3为本发明提供的另一种溯源码的生成、验证方法的流程示意图;
图4为本发明提供的再一种溯源码的生成、验证方法的流程示意图;
图5为本发明提供的一种溯源码的生成、验证方法的交互示意图;
图6为本发明提供的一种溯源码的生成、验证装置的结构示意图;
图7为本发明提供的另一种溯源码的生成、验证装置的结构示意图;
图8为本发明提供的一种溯源码的生成、验证设备的结构示意图;
图9为本发明提供的另一种溯源码的生成、验证设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
区块链,是指一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。
智能合约Smart contract,是指一种旨在以信息化方式传播、验证或执行合同的计算机协议,智能合约是基于事先约定的规则,通过算法代码形成一种“内置合约”,在区块链上设置智能合约能够实现履约自动化和智能化。
通证Token,是指以数字形式存在的权益凭证。它代表的是一种权利,是一种数字化的价值载体,是权益证明,如代币、代金券、赠券、令牌、奖牌、积分或者标识物、纪念物等。其可以在去中心化的系统中发行,也可以在中心化的系统中发行,本发明中的通证指的是区块链中的通证。在区块链中,通证是区块链价值承载和流通的因素,能使区块链正常运转和进行价值流通。
产品溯源,指的是在一件产品的生产、检测、运输、通关等整个供应链条中,全流程把控、明确各环节责任人、提高透明度、杜绝假冒伪劣、提高消费者信任度。
产品溯源可以用于辨别产品的真伪,查询产品的信息等。为了辨别产品的真伪,现有的产品溯源的方法是在产品包装上贴防伪二维码,例如药品上面有监管码,扫码之后用户能够获知一些药品信息,并知晓药品的真伪。或者在二维码上加涂层,刮开图层进行扫码来判别产品的真伪,例如通过书籍上的二维码确认数据的正版与否。然而,现有的产品防伪二维码,存在被不法人员复制和转移,从而造假的风险。
区块链作为一个分布式账本,具有公开透明、不可篡改、可以溯源,去中心化等特点,可以为产品溯源提供新的解决方案。
第一,区块链的信息生成方式与产品供应链的流程类似,基于区块链进行产品溯源,可以保存全流程跟踪记录。区块链中的信息生成方式,是将数据打包成区块,加上时间戳,形成一个链;产品供应链流程为一件产品从原材料、加工等生产环节开始,到检疫、运输、入库、销售等,可以依据时间顺序上链,做一个完整的过程记录;
二是区块链上的信息不可篡改,即信息一旦上链,就无法抹去,这相当于消解了中心化机构的权力;
三是增加信用背书。在区块链记录信息的过程中,节点不止一个,也就是说,参与的机构不止一家,这些节点可以做到相互监督,而且因为信息上链的环节多,也增加了作假的风险与难度;
四是降低供应链成本。区块链可以作为一个总账本,成为一个统一的凭证,打通供应链中的各个环节,优化产品供应链,减少不必要的重复验证等,提高效率;
五是更好明确职责,加强信用建档。因为区块链的实时记录以及不可篡改、公开透明的特征,一旦某个环节出了问题很容易查出来——在哪一步出了问题,在这个环节到底谁是责任人。
同样,在产品防伪方面,可以基于区块链技术生成产品溯源码,进而生成产品二维码,用于产品防伪,消费者购买了产品以后,通过扫描产品上的二维码,从而在区块链上查询该二维码对应的溯源码的合法性,并可以查询到该二维码是否被扫描过,则可以判断出该二维码是否是伪造的,进而了解到产品的真伪。
下面结合本发明所应用的系统架构,介绍本发明的一种具体应用场景。
图1为溯源码的生成、验证系统架构示意图,本发明提供的溯源码的生成、验证方法,可以适用于图1所示的系统,如图1所示,溯源码的生成、验证系统包括但不限于:区块链,平台设备,商户设备,用户设备。
其中,平台设备,商户设备和用户设备可以为终端设备和/或服务器,对此本发明不做限定。上述平台设备,商户设备和用户设备分别可以为一个也可以为多个,例如,图中的用户设备示意性的画出了3个,分别为第一用户设备,第二用户设备和第三用户设备,商户设备示意性的画出了2个,分别为第一商户设备和第二商户设备,可以理解,图中只是一种示例,并不构成对本发明的限制。平台设备,商户设备,用户设备中的每两个设备节点之间通过接口连接到区块链上,整个网络构成了区块链结构。
在实际应用中,平台方与商户签订智能合约,商户入驻平台,平台设备为商户生成一对密钥,其中包括一个公钥和一个私钥,将私钥发送给商户设备,由商户自己保存私钥。假设某商户使用第一商户设备接入区块链中,当商户需要对待销售的产品制作溯源码时,第一商户设备将待销售产品的编码发送给平台设备,平台设备使用该商户的私钥对产品的第一产品信息进行加密,得到第一签名;并生成产品的第一溯源码,产品的第一溯源码包括:第一产品信息,商户的公钥和第一签名,第一产品信息包括产品的第一编码。根据第一溯源码,生成第一溯源码对应的二维码,一种可能的实现方式中,可以由平台设备生成第一溯源码对应的二维码,发送给第一商户设备,另一种可能的实现方式中,平台设备将第一溯源码发送给第一商户设备,第一商户设备根据第一溯源码生成第一溯源码对应的二维码。第一溯源码对应的二维码生成以后,商户可以将该二维码贴到实际的产品上,随产品一起流通。
当有消费者购买了该种产品以后,可以通过用户设备扫描产品上的二维码,区块链可以基于该二维码对应的溯源码信息,辨别该溯源码的合法性,若溯源码合法,则进一步在区块链中查询是否有该产品的扫码记录,如果有该产品的扫码记录,则说明该产品上的二维码为不法人员从真品上复制的,真品已经被别的消费者买走并扫码验过真伪了,如果没有该产品的扫码记录,则说明此产品为真品,可以查询到该产品的真伪。然后给用户设备发送此次的判断结果,消费者即可了解到购买产品的真伪。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明提供的一种溯源码的生成、验证方法的流程示意图,如图2所示,本实施例的方法由平台设备执行,本实施例的方法如下:
S201、使用第一私钥对产品的第一产品信息进行加密,得到第一签名。
当商户需要给产品创建溯源码时,商户设备向平台设备发送溯源码生成请求,溯源码生成请求用于请求生成溯源码,溯源码生成请求中包括一个或多个产品的第一产品信息,第一产品信息包括但不限于产品的第一编码,其中,一个产品有唯一一个第一编码,且不同产品的第一编码不同,这样实现了“一物一码”,产品的第一编码可以为产品生产时流水线生成的编码,如果该商户的产品并没有实现“一物一码”,产品的第一编码也可以采用产品条码和产品生产时的流水线的流水号的组合,从而实现“一物一码”,例如,可以采用“产品条码-流水号”的格式生成产品的第一编码,对于第一编码的生成方式,本发明不做限定。
平台设备根据商户设备发送的产品的第一编码,使用第一私钥对产品的第一产品信息进行加密,得到第一签名。可以理解,使用第一私钥对第一产品信息进行加密处理的第一签名,使用与该第一私钥对应的第一公钥才能进行解密,从而得到加密前的第一产品信息。
可选的,使用第一私钥对产品的第一产品信息进行加密,得到第一签名可以包括:使用哈希Hash函数对第一产品信息进行计算,得到第一产品信息的哈希值,使用第一私钥对产品的第一产品信息的哈希值进行加密,得到第一签名。各个商户各个产品的第一产品信息长度可能不同,因此生成的溯源码数据长度可能不同,而由于二维码能够保存数据长度的限制,如果产品的第一产品信息长度过长,可能生成的溯源码的信息长度过长无法生成二维码,因此,使用哈希函数对第一产品信息进行计算,得到的第一产品信息的哈希值是唯一的,且长度为固定的字节长度,使得溯源码信息统一。
S202、生成产品的第一溯源码,产品的第一溯源码包括:第一产品信息,与私钥对应的第一公钥和第一签名,第一产品信息包括产品的第一编码。
平台设备根据第一产品信息,与私钥对应的公钥和第一签名等信息,生成产品的第一溯源码,示例性的,产品的第一溯源码可以是统一资源定位符(Uniform ResourceLocator,简称URL)形式,例如,其格式可以是:
https://xxx.com/产品的第一编码/商户的公钥/第一签名
S203、生成第一溯源码对应的二维码。
平台设备可以生成第一溯源码对应的二维码。平台设备向商户设备发送第一溯源码对应的二维码。商户通过商户设备接收到该第一溯源码对应的二维码以后,可以将该第一溯源码对应的二维码打印出来,贴在对应的产品上,或者随对应产品一起进行销售。
可选的,平台设备可以将第一溯源码发送给商户设备,商户设备根据第一溯源码,生成第一溯源码对应的二维码。
可选的,第一溯源码,可以保存在平台设备或者商户设备的服务器中,也可以不进行保存,对此本发明不做限定。
本实施例,通过使用第一私钥对产品的第一产品信息进行加密,得到第一签名,生成产品的第一溯源码,产品的第一溯源码包括:第一产品信息,与私钥对应的第一公钥和第一签名,第一产品信息包括产品的第一编码,生成第一溯源码对应的二维码。平台设备使用第一私钥对第一产品信息进行加密,将第一签名信息和第一公钥存储在第一溯源码中,使得在产品流通过程中,消费者扫描第一溯源码对应的二维码进行验证的时候,可以根据第一溯源码中的第一公钥对第一签名进行解密,解密的第一签名与第一产品信息进行比对,即可知道该第一溯源码的合法性,从而可以进一步判断产品的真伪,杜绝了不法人员对产品溯源码的复制和转移,增加了产品溯源的可靠性。
可选的,在上述实施例的基础上,进一步地,在步骤S201之前,还包括:
为商户创建区块链账户,区块链账户包括密钥对和第一钱包地址,密钥对包括第一公钥和第一私钥,第一钱包地址用于存储商户的通证。
在商户首次入驻时,平台设备为入驻商户创建区块链账户,区块链账户包括密钥对,密钥对包括第一公钥和第一私钥。
将私钥发送给商户设备,并存储商户、公钥与第一钱包地址的对应关系。平台设备将第一私钥发送给商户设备,商户通过商户设备接收到第一私钥以后需要自行保存,第一私钥不对区块链中的节点设备公开。平台设备将第一公钥与商户的信息建立对应关系存储在平台设备的服务器中。
可选的,在上述实施例的基础上,进一步地,第一产品信息还包括产品的通证的数量。区块链账户还包括第一钱包地址,第一钱包地址用于存储商户的通证,商户的信息还包括:商户、公钥与第一钱包地址的对应关系。
平台设备在为商户创建区块链账户时,区块链账户还包括第一钱包地址。
平台设备根据区块链上的通证智能合约发行通证,通证智能合约为平台设备写入区块链的一种智能合约,该通证智能合约用于为商户分配通证。平台与商户签订线下协议,线下协议中规定了此次分配通证的总数量,商户每次发放通证的数量,即每个产品发放的通证的数量。协议签订后,平台管理员根据该协议,通过平台设备给商户发放相应的通证的总数量到第一钱包地址中,同时也可以分配商户每次发放通证的数量,即每个产品所发放的通证的数量。
可选的,在上述实施例的基础上,进一步地,在商户首次入驻平台时,平台设备根据商户的信息和存证智能合约,将商户的信息上链存证。通过将商户信息上链存证,上链的信息不容易篡改,有利于以后溯源商户的产品时,能够溯源到商户的相关信息。
图3为本发明提供的另一种溯源码的生成、验证方法的流程示意图,如图3所示,本实施例的方法由区块链执行,本实施例的方法如下:
S301、接收用户设备发送的溯源码验证请求,溯源码验证请求中包括第二溯源码,第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,产品的第二产品信息包括产品的第二编码。
如上述实施例,商户将第一溯源码对应的二维码贴到产品上进行销售。用户购买了该款产品以后,可以通过扫产品上的二维码,从而辨别该产品的真伪。用户使用用户设备扫任一二维码以后,均可以发送到区块链上进行验证。区块链接收用户设备发送的溯源码验证请求,溯源码验证请求用于请求验证溯源码对应的二维码是否被扫描过,该用户设备可以为图1中任一消费者设备。可选的,用户可以通过注册的方式,获得平台设备下发的用户标识,该用户标识用于登录区块链,从而用户在需要验证第二溯源码时,根据该用户标识即可登录到区块链中进行验证。
S302、验证第二溯源码是否合法。
区块链接收到用户设备发送的溯源码验证请求以后,验证第二溯源码的合法性,其中,第二溯源码的合法性是指第二溯源码是否为平台设备生成的,若第二溯源码是平台设备生成的,则第二溯源码合法;若第二溯源码不是平台设备生成的,则第二溯源码不合法。若第二溯源码不合法,则可以给用户设备发送第二溯源码不合法的提示信息,该提示信息用于提示用户第二溯源码不合法,用户设备接收到第二溯源码不合法的提示信息以后,显示第二溯源码不合法的提示信息,其中可以通过弹窗,跳转页面等形式输出该提示信息,输出该提示信息的形式本发明不做限定;若第二溯源码合法,则继续执行S303。
可选的,步骤S302可以通过步骤S3022、S3023、S3024和S3025实现:
S3022、使用第二公钥对第二签名进行解密。
使用第二溯源码中的第二公钥对第二签名进行解密,得到一个产品信息。
S3023、比较解密得到的产品信息与第二产品信息是否相同。
使用解密得到的产品信息与第二产品信息进行比较,确定第二溯源码是否合法,若解密得到的产品信息与第二产品信息相同,则执行步骤S3024;若解密得到的产品信息与第二产品信息不相同,则执行步骤S3025。
S3024、确定第二溯源码合法。
S3025、确定第二溯源码不合法。
可选的,如果在平台设备生成第一溯源码的过程中,是使用的第一私钥对第一产品信息的哈希值进行加密的,相应的,本实施例中,步骤S3022中使用第二公钥对第二签名进行解密,得到解密后的第二签名,解密后的第二签名实际上是哈希值的形式,需要再根据哈希函数对该哈希值进行转换,从而得到第二产品信息。
进一步地,在S3022步骤之前还可以包括S3021:
S3021、验证第二公钥是否合法。
在上述验证步骤之前可以先对第二公钥的合法性进行验证,其中,第二公钥的合法性是指第二公钥是否为平台设备生成的,若第二公钥是平台设备生成的,则第二公钥合法;若第二公钥不是平台设备生成的,则第二公钥不合法。将第二公钥与平台设备服务器中保存的商户的第一公钥进行比对,如果平台设备服务器中存在与该第二公钥相同的第一公钥,则说明第二公钥合法,即该第二公钥为平台设备生成的公钥;如果在平台设备服务器中没有与第二公钥相同的第一公钥,则说明该第二公钥不合法,即该第二公钥不是平台设备生成的公钥。本实施例,通过先验证第二公钥的合法性,可以避免不法人员设置了另一个能够生成密钥对的系统,利用该系统生成不合法的密钥对,并使用该不合法的密钥对生成伪造的溯源码,从而提高了溯源码的验证的准确性。
S303、通过区块链中存储的第一信息,确定产品的第一溯源码对应的二维码是否被扫描过。
其中,第一溯源码为平台设备生成的,第一溯源码包括:产品的第一产品信息,第一公钥和第一签名,产品的第一产品信息包括产品的第一编码。
如上述实施例中,平台设备生成了一个或多个第一溯源码,第一溯源码对应的二维码随产品进行销售,平台设备生成第一溯源码的方法可以如上述实施例,在此不再赘述。在用户购买了某产品以后,产品上面会有一个用于验证真伪的二维码,用户通过扫描该第二溯源码对应的二维码,来验证该产品的真伪。通过上述步骤验证了第二溯源码为合法的,则说明该第二溯源码为平台生成的,能够验证出第二溯源码是否为伪造的。仅通过第二溯源码是否为平台生成的,还不足以判断产品是否为伪造的,因为有些不法人员在购买了一个真品以后,可以对该真品上的第二溯源码进行复制,粘贴到伪造的产品上,因此,还需要判断该溯源码是否为复制的,验证第二溯源码合法以后,则需要通过区块链验证第二溯源码对应的二维码是否被扫描过,验证产品的真伪。可以理解,第二溯源码合法,则可以确定该第二溯源码为平台设备生成的,即该第二溯源码为平台设备生成的某个第一溯源码,此时,需要进一步验证平台设备生成的该第一溯源码是否被扫描过。通过区块链中存储的第一信息来验证第一溯源码对应的二维码是否被扫描过。若第一溯源码对应的二维码没有被扫描过,则继续执行S304,若第一溯源码对应的二维码被扫描过,则继续执行S305。
可选的,第一信息可以为第一溯源码对应的二维码的扫描信息,扫描信息用于描述第一溯源码对应的二维码是否被扫描过。
一种可能的实现方式中,第一信息可以存储被扫描过对应二维码的第一溯源码,在第一溯源码对应的二维码被扫描以后,存储该第一溯源码为第一信息。另一种可能的实现方式中,第一信息可以存储所有生成的第一溯源码,并设置存储的每个第一溯源码对应的标志位,第一溯源码对应的标志位用于表示该第一溯源码对应的二维码是否被扫描。对于第一信息具体的存储形式也可以为其他形式,本发明在此不做限制,只要可以表示第一溯源码对应的二维码是否被扫描即可。
S304、更新第一信息,更新后的第一信息用于指示第一溯源码对应的二维码被扫描过。
第一溯源码对应的二维码没有被扫描过,说明本次扫码的产品为正品,同时由于本次进行了扫码,则要更新该产品对应的第一信息,从而在该第一溯源码对应的二维码再被扫描时,区块链可以通过第一信息,查询到该二维码为复制的,其中,第一信息用于指示第一溯源码对应的二维码是否被扫描过。
可选的,第一信息为第一溯源码对应的二维码的扫描信息,扫描信息用于描述溯源码对应的二维码是否被扫描过,S304可以包括如下步骤:
更新第一溯源码对应的二维码的扫描信息为被扫描过。
可选的,第一溯源码对应的二维码的扫描信息还可以包括:扫描该第一溯源码对应的二维码的用户的信息,其中用户的信息包括但不限于用户的登录账号,还可以包括用户的姓名等能够识别用户身份的信息,这样在产品溯源时,能够知道产品被哪些用户购买了,也就是最终流向了哪些用户,
可选的,区块链判断出第一溯源码对应的二维码没有被扫描过,向用户节点发送第一溯源码对应的二维码没有被扫描过的信息,用户节点根据第一溯源码对应的二维码没有被扫描过的信息,输出提示信息,该提示信息可以是第一溯源码对应的二维码没有被扫描过的提示信息,例如,可以在用户设备屏幕上显示提示信息:“您所查询的产品二维码没有被扫描过”;可以理解,第一溯源码对应的二维码没有被扫描过,说明该产品为真品,因此,也可以输出该产品为真品的提示信息,例如,可以在用户设备屏幕上显示提示信息:“您所查询的产品为真品”。
S305、向用户设备发送提示信息,提示信息用于提示第一溯源码对应的二维码被扫描过。
区块链向用户设备发送第一溯源码对应的二维码被扫描过的提示信息。用户设备显示该二维码被扫描过的提示信息,具体可以为“您所查询的产品二维码已经被扫描过”,或者“您所查询的产品为仿品”等。
本实施例,产品溯源码的生成过程中,平台设备使用第一私钥对第一产品信息进行加密,将第一签名信息和第一公钥存储在第一溯源码中,使得在产品流通过程中,消费者可以通过扫描第二溯源码对应的二维码进行验证该产品的真伪,区块链接收用户设备发送的溯源码验证请求,溯源码验证请求中包括第二溯源码,第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,产品的第二产品信息包括产品的第二编码,验证第二溯源码是否合法,若第二溯源码合法,则通过区块链中存储的第一信息,确定产品的第一溯源码对应的二维码是否被扫描过,若第一溯源码对应的二维码没有被扫描过,则更新第一信息,更新后的第一信息用于指示第一溯源码对应的二维码被扫描过,若第一溯源码对应的二维码被扫描过,则输出提示信息,提示信息用于提示第一溯源码对应的二维码被扫描过,从而判断产品的真伪,不法人员即使复制和转移产品第一溯源码对应的二维码,在区块链上的第一信息也无法进行篡改,通过区块链上的第一信息也能够验证出产品的真伪,因此,本实施例的方法杜绝了不法人员对产品溯源码的复制和转移,增加了产品溯源的可靠性。同时,将第一溯源码对应的二维码的扫描信息存储在区块链中,可以知道产品实际销售出去的数量,利于产品的数量的溯源。
图4为本发明提供的再一种溯源码的生成、验证方法的流程示意图,图4是在上述实施例的基础上,如图4所示,进一步地,第一产品信息和第二产品信息中均还包括:产品的通证的数量,第一信息为产品的通证的领取信息或者产品的剩余通证的数量,S303包括S3031:
S3031、根据产品的通证的领取信息或者产品的剩余通证的数量确定通证是否被领取。
S304之前,还包括S306:
S306、根据通证智能合约,从第一钱包地址发放产品的通证的数量给第二钱包地址,第一钱包地址为产品归属的商户的钱包地址,第二钱包地址为溯源码验证请求发送节点所属的钱包地址。
平台设备生成第一产品信息时,第一产品信息除了产品的第一编码以外,还可以包括产品的通证的数量。可选的,平台设备使用第一私钥对产品的第一编码和产品的通证的数量进行加密,得到第一签名。相应的,第二产品信息还包括产品的通证的数量,在用第二公钥对第二产品信息进行解密以后,得到产品的第二编码和产品的通证的数量,以此进行验证第二溯源码的合法性,若第二溯源码合法,则根据产品的通证的领取信息确定通证是否被领取,若产品的通证未被领取,需要将产品的通证的数量从商户钱包发放给用户钱包,即根据通证智能合约,从第一钱包地址发放产品的通证的数量给第二钱包地址,第一钱包地址为产品归属的商户的钱包地址,第二钱包地址为溯源码验证请求发送节点所属的钱包地址。其中,第一钱包地址可以为商户入驻平台时,平台设备为商户分配的地址,用于存放商户的通证,第二钱包地址可以为用户注册到平台上时,为用户分配的地址,用于存放用户的通证。通证智能合约为平台设备写入区块链的一种合约,该通证智能合约可以为商户分配通证,平台与商户签订线下协议,规定此次分配通证的总数量,可选的,也可以确定商户每次发放的通证数量。通证可以根据通证智能合约,按照约定规则从一个钱包地址转到另一个钱包地址。
本实施例,通过在第一产品信息中包括了产品的通证的数量,若验证该产品通证未被领取,则根据通证智能合约,从第一钱包地址发放产品的通证的数量给第二钱包地址,即用户在购买产品以后,通过扫码不仅可以验证产品的真伪,还可以领取相应数量的通证,增加了用户扫码的积极性,避免产品溯源码被复制,且有利于产品的溯源。
可选的,在图4所示实施例的基础上,进一步地,S304可以包括如下步骤:
更新产品的通证领取信息为通证已被领取,或者,更新产品的剩余通证的数量为0。
一种可能的实现方式中,可以在区块链中更新将产品的通证已被领取的通证领取信息,从而根据该通证领取信息,区块链即知道该产品的第一溯源码对应的二维码已经被扫描过。另一种可能的实现方式中,产品在进入流通渠道前都会设置相应的通证的数量,因此,在通证发放以后,也可以更新该产品的剩余通证的数量为0,则通过通证的数量为0也可以判断出该产品的第一溯源码对应的二维码已经被扫描过。
本实施例,将通证领取信息存储在区块链中,通证领取信息不容易篡改,使得后续在判断产品的通证是否被领取时,可以在区块链中查询通证领取信息,快速准确确定通证领取信息,从而快速准确的判断产品的真伪。
图5为本发明提供的一种溯源码的生成、验证方法的交互示意图,如图5所示,本实施例的方法包括:
S501、用户设备向区块链发送溯源码验证请求,溯源码验证请求中包括第二溯源码,第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,产品的第二产品信息包括产品的第二编码。
S502、区块链验证第二溯源码是否合法。
S503、区块链给用户设备发送第二溯源码不合法的提示信息。
S504、区块链根据存储的第一信息,确定产品的第一溯源码对应的二维码是否被扫描过。
S505、区块链更新第一信息,更新后的第一信息用于指示第一溯源码对应的二维码被扫描过。
S506、向用户设备发送提示信息,提示信息用于提示第一溯源码对应的二维码被扫描过。
S507、用户设备显示提示信息。
用户设备无论收到S503的提示信息还是S506的提示信息均进行显示收到的提示信息。
本实施例的方法的实现原理和技术效果类似,此处不再赘述。
图6为本发明提供的一种溯源码的生成、验证装置的结构示意图,如图6所示,本实施例的装置,包括:
接收模块601,用于接收用户设备发送的溯源码验证请求,溯源码验证请求中包括第二溯源码,第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,产品的第二产品信息包括产品的第二编码;
验证模块602,用于验证第二溯源码是否合法;
确定模块603,用于若第二溯源码合法,则通过区块链中存储的第一信息,确定产品的第一溯源码对应的二维码是否被扫描过;第一溯源码为平台节点生成的,第一溯源码包括:产品的第一产品信息,第一公钥和第一签名,产品的第一产品信息包括产品的第一编码;
更新模块604,用于若第一溯源码对应的二维码没有被扫描过,则更新第一信息,更新后的第一信息用于指示第一溯源码对应的二维码被扫描过;
输出模块605,用于若第一溯源码对应的二维码被扫描过,给用户设备发送提示信息,提示信息用于提示第一溯源码对应的二维码被扫描过。
可选的,验证模块602具体用于:
使用第二公钥对第二签名进行解密;
当解密得到的产品信息与第二产品信息相同时,确定第二溯源码合法;
当解密得到的产品信息与第二产品信息不相同时,确定第二溯源码不合法。
可选的,验证模块602还用于:
验证第二公钥是否合法。
可选的,第一产品信息和第二产品信息中均还包括:产品的通证的数量,第一信息为产品的通证的领取信息或者产品的剩余通证的数量;
确定模块603具体用于:
若第二溯源码合法,根据产品的通证的领取信息或者产品的剩余通证的数量确定通证是否被领取;
若产品的通证未被领取,则确定第一溯源码对应的二维码没有被扫描过;
装置,还包括:
发放模块,用于根据通证智能合约,从第一钱包地址发放产品的通证的数量给第二钱包地址,第一钱包地址为产品归属的商户的钱包地址,第二钱包地址为溯源码验证请求发送节点所属的钱包地址。
可选的,更新模块604具体用于:
更新产品的通证领取信息为通证已被领取,或者,更新产品的剩余通证的数量为0。
可选的,第一信息为第一溯源码对应的二维码的扫描信息,扫描信息用于描述溯源码对应的二维码是否被扫描过;
更新模块604具体用于:
更新第一溯源码对应的二维码的扫描信息为被扫描过。
图7为本发明提供的另一种溯源码的生成、验证装置的结构示意图,如图7所示,本实施例的装置,包括:
签名模块701,用于使用第一私钥对产品的第一产品信息进行加密,得到第一签名;
第一生成模块702,用于生成产品的第一溯源码,产品的第一溯源码包括:第一产品信息,与私钥对应的第一公钥和第一签名,第一产品信息包括产品的第一编码;
第二生成模块703,用于生成第一溯源码对应的二维码。
可选的,装置还包括:
创建模块,用于为商户创建区块链账户,区块链账户包括密钥对,密钥对包括第一公钥和第一私钥;
发送模块,用于将私钥发送给商户的节点;
存储模块,用于存储商户的信息,商户的信息包括:商户与公钥的对应关系。
可选的,第一产品信息,还包括:产品的通证的数量;区块链账户还包括第一钱包地址,第一钱包地址用于存储商户的通证;
商户的信息还包括:商户、公钥与第一钱包地址的对应关系。
可选的,装置还包括:
根据商户的信息和存证智能合约,将商户的信息上链存证。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明提供的一种溯源码的生成、验证设备的结构示意图,如图8所示,本实施例的设备包括:
存储器801,用于存储处理器802可执行指令的存储器;
处理器802,用于在计算机程序被执行时,实现如上述图2所示实施例的方法。
图9为本发明提供的另一种溯源码的生成、验证设备的结构示意图,如图9所示,本实施例的设备包括:
存储器901,用于存储处理器902可执行指令的存储器;
处理器902,用于在计算机程序被执行时,实现如上述图3或图4所示实施例的方法。
上述实施例的设备,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述图2所示实施例的溯源码的生成、验证方法。
本发明提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述图3或图4所示实施例的溯源码的生成、验证方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (24)
1.一种溯源码的生成、验证方法,其特征在于,包括:
接收用户设备发送的溯源码验证请求,所述溯源码验证请求中包括第二溯源码,所述第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,所述产品的第二产品信息包括所述产品的第二编码;
验证所述第二溯源码是否合法;
若所述第二溯源码合法,则通过区块链中存储的第一信息,确定所述产品的第一溯源码对应的二维码是否被扫描过;所述第一溯源码为平台节点生成的,所述第一溯源码包括:所述产品的第一产品信息,第一公钥和第一签名,产品的所述第一产品信息包括所述产品的第一编码;
若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,更新后的所述第一信息用于指示所述第一溯源码对应的二维码被扫描过;
若所述第一溯源码对应的二维码被扫描过,向用户设备发送提示信息,所述提示信息用于提示所述第一溯源码对应的二维码被扫描过。
2.根据权利要求1所述的方法,其特征在于,所述验证所述第二溯源码是否合法,包括:
使用所述第二公钥对所述第二签名进行解密;
当解密得到的产品信息与所述第二产品信息相同时,确定所述第二溯源码合法;
当解密得到的产品信息与所述第二产品信息不相同时,确定所述第二溯源码不合法。
3.根据权利要求2所述的方法,其特征在于,使用所述第二公钥对所述第二签名进行解密之前,还包括:
验证所述第二公钥是否合法。
4.根据权利要求1所述的方法,其特征在于,所述第一产品信息和所述第二产品信息中均还包括:所述产品的通证的数量,所述第一信息为产品的通证的领取信息或者产品的剩余通证的数量;
所述若所述第二溯源码合法,则通过区块链中存储的第一信息,确定所述产品的第一溯源码对应的二维码是否被扫描过,包括:
若所述第二溯源码合法,根据所述产品的通证的领取信息或者所述产品的剩余通证的数量确定所述通证是否被领取;
若所述产品的通证未被领取,则确定所述第一溯源码对应的二维码没有被扫描过;
所述若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息之前,还包括:
根据通证智能合约,从第一钱包地址发放所述产品的通证的数量给第二钱包地址,所述第一钱包地址为所述产品归属的商户的钱包地址,所述第二钱包地址为所述溯源码验证请求发送节点所属的钱包地址。
5.根据权利要求4所述的方法,其特征在于,所述若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,包括:
更新所述产品的通证领取信息为通证已被领取,或者,更新所述产品的剩余通证的数量为0。
6.根据权利要求1所述的方法,其特征在于,所述第一信息为第一溯源码对应的二维码的扫描信息,所述扫描信息用于描述溯源码对应的二维码是否被扫描过;
所述若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,包括:
更新所述第一溯源码对应的二维码的扫描信息为被扫描过。
7.一种溯源码的生成、验证方法,其特征在于,包括:
使用第一私钥对产品的第一产品信息进行加密,得到第一签名;
生成所述产品的第一溯源码,所述产品的第一溯源码包括:所述第一产品信息,与所述私钥对应的第一公钥和所述第一签名,所述第一产品信息包括所述产品的第一编码;
生成所述第一溯源码对应的二维码。
8.根据权利要求7所述的方法,其特征在于,所述使用第一私钥对产品的第一产品信息进行加密之前,还包括:
为商户创建区块链账户,所述区块链账户包括密钥对,所述密钥对包括第一公钥和第一私钥;
将所述私钥发送给所述商户的节点;
存储所述商户的信息,所述商户的信息包括:商户与所述公钥的对应关系。
9.根据权利要求8所述的方法,其特征在于,所述第一产品信息,还包括:所述产品的通证的数量;所述区块链账户还包括第一钱包地址,所述第一钱包地址用于存储所述商户的通证;
所述商户的信息还包括:所述商户、所述公钥与所述第一钱包地址的对应关系。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述使用私钥对接收到的产品的编码进行加密,得到第一签名之前,还包括:
根据商户的信息和存证智能合约,将所述商户的信息上链存证。
11.一种溯源码的生成、验证装置,其特征在于,包括:
接收模块,用于接收用户设备发送的溯源码验证请求,所述溯源码验证请求中包括第二溯源码,所述第二溯源码中包括产品的第二产品信息、第二公钥和第二签名,所述产品的第二产品信息包括所述产品的第二编码;
验证模块,用于验证所述第二溯源码是否合法;
确定模块,用于若所述第二溯源码合法,则通过区块链中存储的第一信息,确定所述产品的第一溯源码对应的二维码是否被扫描过;所述第一溯源码为平台节点生成的,所述第一溯源码包括:所述产品的第一产品信息,第一公钥和第一签名,产品的所述第一产品信息包括所述产品的第一编码;
更新模块,用于若所述第一溯源码对应的二维码没有被扫描过,则更新所述第一信息,更新后的所述第一信息用于指示所述第一溯源码对应的二维码被扫描过;
输出模块,用于若所述第一溯源码对应的二维码被扫描过,向用户设备发送提示信息,所述提示信息用于提示所述第一溯源码对应的二维码被扫描过。
12.根据权利要求11所述的装置,其特征在于,所述验证模块具体用于:
使用所述第二公钥对所述第二签名进行解密;
当解密得到的产品信息与所述第二产品信息相同时,确定所述第二溯源码合法;
当解密得到的产品信息与所述第二产品信息不相同时,确定所述第二溯源码不合法。
13.根据权利要求12所述的装置,其特征在于,所述验证模块还用于:
验证所述第二公钥是否合法。
14.根据权利要求11所述的装置,其特征在于,所述第一产品信息和所述第二产品信息中均还包括:所述产品的通证的数量,所述第一信息为产品的通证的领取信息或者产品的剩余通证的数量;
所述确定模块具体用于:
若所述第二溯源码合法,根据所述产品的通证的领取信息或者所述产品的剩余通证的数量确定所述通证是否被领取;
若所述产品的通证未被领取,则确定所述第一溯源码对应的二维码没有被扫描过;
所述装置,还包括:
发放模块,用于根据通证智能合约,从第一钱包地址发放所述产品的通证的数量给第二钱包地址,所述第一钱包地址为所述产品归属的商户的钱包地址,所述第二钱包地址为所述溯源码验证请求发送节点所属的钱包地址。
15.根据权利要求14所述的装置,其特征在于,所述更新模块具体用于:
更新所述产品的通证领取信息为通证已被领取,或者,更新所述产品的剩余通证的数量为0。
16.根据权利要求11所述的装置,其特征在于,所述第一信息为第一溯源码对应的二维码的扫描信息,所述扫描信息用于描述溯源码对应的二维码是否被扫描过;
所述更新模块具体用于:
更新所述第一溯源码对应的二维码的扫描信息为被扫描过。
17.一种溯源码的生成、验证装置,其特征在于,包括:
签名模块,用于使用第一私钥对产品的第一产品信息进行加密,得到第一签名;
第一生成模块,用于生成所述产品的第一溯源码,所述产品的第一溯源码包括:所述第一产品信息,与所述私钥对应的第一公钥和所述第一签名,所述第一产品信息包括所述产品的第一编码;
第二生成模块,用于生成所述第一溯源码对应的二维码。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
创建模块,用于为商户创建区块链账户,所述区块链账户包括密钥对,所述密钥对包括第一公钥和第一私钥;
发送模块,用于将所述私钥发送给所述商户的节点;
存储模块,用于存储所述商户的信息,所述商户的信息包括:商户与所述公钥的对应关系。
19.根据权利要求18所述的装置,其特征在于,所述第一产品信息,还包括:所述产品的通证的数量;所述区块链账户还包括第一钱包地址,所述第一钱包地址用于存储所述商户的通证;
所述商户的信息还包括:所述商户、所述公钥与所述第一钱包地址的对应关系。
20.根据权利要求17-19任一项所述的装置,其特征在于,所述装置还包括:
根据商户的信息和存证智能合约,将所述商户的信息上链存证。
21.一种溯源码的生成、验证设备,其特征在于,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述权利要求1至6中任一项所述的方法。
22.一种溯源码的生成、验证设备,其特征在于,包括:
存储器,用于存储处理器可执行指令的存储器;
处理器,用于在计算机程序被执行时,实现如上述权利要求7至10中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的溯源码的生成、验证方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求7至10任一项所述的溯源码的生成、验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010472551.3A CN111740841B (zh) | 2020-05-29 | 2020-05-29 | 溯源码的验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010472551.3A CN111740841B (zh) | 2020-05-29 | 2020-05-29 | 溯源码的验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111740841A true CN111740841A (zh) | 2020-10-02 |
CN111740841B CN111740841B (zh) | 2023-08-18 |
Family
ID=72648102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010472551.3A Active CN111740841B (zh) | 2020-05-29 | 2020-05-29 | 溯源码的验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740841B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487480A (zh) * | 2020-12-08 | 2021-03-12 | 上海点融信息科技有限责任公司 | 保护数据隐私的区块链溯源的方法、设备及可读存储介质 |
CN114943544A (zh) * | 2022-05-19 | 2022-08-26 | 南京数睿数据科技有限公司 | 验证信息发送方法、装置、电子设备和计算机可读介质 |
CN115150150A (zh) * | 2022-06-28 | 2022-10-04 | 北京送好运信息技术有限公司 | 一种基于区块链技术的信息记录方法 |
CN117875990A (zh) * | 2024-03-13 | 2024-04-12 | 贵州省畜牧兽医研究所 | 一种基于区块链的蜂蜜追溯方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129589A (zh) * | 2011-02-10 | 2011-07-20 | 谢仁康 | 非对称加密二维码防伪方法 |
CN104299140A (zh) * | 2014-09-12 | 2015-01-21 | 广州市坚真信息科技有限公司 | 一种基于电子商务的二维码防伪溯源系统和方法 |
CN109034833A (zh) * | 2018-06-16 | 2018-12-18 | 复旦大学 | 一种基于区块链的产品追溯信息管理系统及方法 |
CN110175855A (zh) * | 2019-05-06 | 2019-08-27 | 江苏链路区块链技术有限公司 | 一种基于区块链的二维码防伪溯源实现方法 |
CN110874749A (zh) * | 2019-11-20 | 2020-03-10 | 李蕴光 | 基于区块链通证化溯源方法 |
-
2020
- 2020-05-29 CN CN202010472551.3A patent/CN111740841B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129589A (zh) * | 2011-02-10 | 2011-07-20 | 谢仁康 | 非对称加密二维码防伪方法 |
CN104299140A (zh) * | 2014-09-12 | 2015-01-21 | 广州市坚真信息科技有限公司 | 一种基于电子商务的二维码防伪溯源系统和方法 |
CN109034833A (zh) * | 2018-06-16 | 2018-12-18 | 复旦大学 | 一种基于区块链的产品追溯信息管理系统及方法 |
CN110175855A (zh) * | 2019-05-06 | 2019-08-27 | 江苏链路区块链技术有限公司 | 一种基于区块链的二维码防伪溯源实现方法 |
CN110874749A (zh) * | 2019-11-20 | 2020-03-10 | 李蕴光 | 基于区块链通证化溯源方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487480A (zh) * | 2020-12-08 | 2021-03-12 | 上海点融信息科技有限责任公司 | 保护数据隐私的区块链溯源的方法、设备及可读存储介质 |
CN114943544A (zh) * | 2022-05-19 | 2022-08-26 | 南京数睿数据科技有限公司 | 验证信息发送方法、装置、电子设备和计算机可读介质 |
CN114943544B (zh) * | 2022-05-19 | 2024-04-23 | 南京数睿数据科技有限公司 | 验证信息发送方法、装置、电子设备和计算机可读介质 |
CN115150150A (zh) * | 2022-06-28 | 2022-10-04 | 北京送好运信息技术有限公司 | 一种基于区块链技术的信息记录方法 |
CN115150150B (zh) * | 2022-06-28 | 2024-01-26 | 北京送好运信息技术有限公司 | 一种基于区块链技术的信息记录方法 |
CN117875990A (zh) * | 2024-03-13 | 2024-04-12 | 贵州省畜牧兽医研究所 | 一种基于区块链的蜂蜜追溯方法及系统 |
CN117875990B (zh) * | 2024-03-13 | 2024-05-28 | 贵州省畜牧兽医研究所 | 一种基于区块链的蜂蜜追溯方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111740841B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7535362B2 (ja) | ブロックチェーンベースの暗号通貨のためのトークンを検証する、コンピュータにより実行される方法及びシステム | |
CN107798650B (zh) | 一种基于区块链的数字资产侵权判定方法和装置 | |
JP6995762B2 (ja) | ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム | |
CN115174089B (zh) | 物权电子凭证(edt)的分布式管理方法及其系统 | |
Cucurull et al. | Distributed immutabilization of secure logs | |
CN110807641A (zh) | 宠物食品溯源系统 | |
CN111740841B (zh) | 溯源码的验证方法和装置 | |
CN108846673B (zh) | 一种区块数据的处理方法、装置、设备和存储介质 | |
CN107146120B (zh) | 电子发票的生成方法及生成装置 | |
CN107145768A (zh) | 版权管理方法和系统 | |
US11818266B2 (en) | Methods and systems for distributed cryptographically secured data validation | |
CN111492390A (zh) | 用于数字货币的现金等价设备 | |
CN110335051B (zh) | 一种基于区块链主副链技术的食品标签唯一码发布与流通溯源方法 | |
CN111259439B (zh) | 一种基于区块链的无形资产管理服务平台及其实现方法 | |
CN102855577A (zh) | 基于云计算的多重商品防伪验证方法 | |
WO2021134897A1 (zh) | 区块链供应链交易隐藏动态监管系统及方法 | |
CN113283957A (zh) | 一种基于区块链的实体产品交易方法 | |
CN116167017A (zh) | 一种基于区块链技术的鞋类原创设计ai数字版权管理系统 | |
Islam et al. | Decentralized Global Copyright System Based on Consortium Blockchain With Proof of Authority | |
CN114418570A (zh) | 一种基于区块链的非同质化通证的处理方法及装置 | |
Liu | A hybrid blockchain-based event ticketing system | |
CN112163917B (zh) | 基于区块链的票据处理方法、装置、介质及电子设备 | |
CN112613946B (zh) | 一种基于以太坊电机数据集文件的交易平台与交易方法 | |
Ramani et al. | Blockchain for digital rights management | |
Yao et al. | VDKMS: Vehicular Decentralized Key Management System for Cellular Vehicular-to-Everything Networks, A Blockchain-Based Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |