CN113098876B - 一种基于区块链与智能合约的产品数据上链方法和介质 - Google Patents
一种基于区块链与智能合约的产品数据上链方法和介质 Download PDFInfo
- Publication number
- CN113098876B CN113098876B CN202110360758.6A CN202110360758A CN113098876B CN 113098876 B CN113098876 B CN 113098876B CN 202110360758 A CN202110360758 A CN 202110360758A CN 113098876 B CN113098876 B CN 113098876B
- Authority
- CN
- China
- Prior art keywords
- data
- enterprise
- intelligent contract
- uplink data
- uplink
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链与智能合约的产品数据上链方法和介质,其方法为:管理中心部署一个智能合约;企业在区块链上获取一个区块链地址;企业在智能合约中申请数据上链;管理中心在智能合约中为申请数据上链的企业授权;被授权的企业将待上链数据的基本信息录入智能合约;管理中心生成一个用于加密产品数据的密钥,并将它加密存放到智能合约中;被授权的企业按照产品数据上链协议规定的标签信息格式将产品数据存储到区块链上;查询企业已上链的产品数据。本发明不但提高了上链数据的真实、有效性,而且保证了上链数据的安全。此外,该协议定义的固定格式的标签信息,可以提高上链数据存取的效率。
Description
技术领域
本发明属于区块链具体应用技术领域,具体涉及一种基于区块链与智能合约的产品数据上链方法和介质。
背景技术
在产品质量和产品安全越来越受重视的今天,产品溯源成为了人们关注的焦点。产品溯源通过对产品进行全生命周期监控,来满足消费者对产品防伪、价格、安全等方面的认识需求,满足流通渠道对产品流通标准执行的认证需求,以及满足企业对消费行为分析、区域市场监控、整合战略的需求。目前主流的产品溯源系统主要依赖于政府相关部门或某核心企业管理的中心数据库,产品数据的记录由某个部分或公司进行处理,存在着中心数据库被攻击,数据被恶意篡改、仿造、混淆等隐患,数据的安全性和可靠性很难得到保障。
区块链技术是随着比特币等数据货币的普及而逐渐兴起的一种以数据共享理论为基础的现代互联网技术。区块链技术具有去中心化、去信任化、交易透明和不可篡改等优势,通过运用数据加密、时间戳、分布式共识和经济激励等手段,让无需互相信任的节点在分布式系统中共同维护一个可靠的数据库。通过将产品数据上传到区块链上不仅可以做到产品信息的互联互通,而且可以将各个环节的信息集中整合,实现产品信息真实、透明、可追溯和防篡改,进而封堵产品造假空间,确保产品的质量和品质。
现阶段,将产品数据存放到区块链上面临着数据有效性、数据保密性和数据控制权等方面的问题。例如,存放在区块链上的哪些数据才是有效的?一些需要隐匿的数据上链之后该如何保护?上链的数据该由谁来管理?某些可以共享的数据又该如何处理?这些问题都严重阻碍了产品数据上链的发展。
综上所述,有必要设计一种基于区块链与智能合约技术的产品数据上链方法。
发明内容
本发明提供一种基于区块链与智能合约的产品数据上链方法和介质,旨在提供更安全、有效和便于管理的数据上链服务。
为实现上述技术目的,本发明采用如下技术方案:
一种基于区块链与智能合约的产品数据上链方法,包括以下步骤:
步骤1,管理中心在区块链上部署智能合约,得到智能合约地址Addr;
步骤2,数据上链企业C在区块链上获取地址CAddr,并得到该地址对应的公钥CKey1和私钥CKey2;
步骤3,数据上链企业C在智能合约中申请为预设数据类型的产品数据上链;
步骤4,管理中心在智能合约中为申请数据上链的企业C授权,为授权的企业C分配企业编号CNum;
步骤5,数据上链企业C若得到管理中心授权的权限,则将产品数据的数据类型、加密标识以及公钥CKey1录入智能合约;所述加密标识包括加密与不加密,将加密标识设置于数据类型的首位构成数据类型编号CDTNum;
步骤6,若上链数据的加密标识为不加密,则跳过本步骤6;若上链数据的加密标识为加密,则管理中心生成用于加密上链数据的密钥Ekey,并使用智能合约中的公钥CKey1对密钥Ekey进行加密,并将加密后的密钥Ckey3存入智能合约;
步骤7,若上链数据的加密标识为不加密,则数据上链企业C将当前未加密的上链数据存储到区块链;若上链数据的加密标识为加密,使用私钥CKey2对智能合约中加密后的密钥Ckey3进行解密得到密钥Ekey,并使用密钥Ekey对上链数据进行加密,再将加密的上链数据存储到区块链;
步骤8,数据查询企业N通过智能合约,查询数据上链企业C在区块链上存储的预设数据类型的产品数据。
在更优的技术方案中,步骤7将加密或者不加密的上链数据存储到区块链具体为:
首先,将待存储到区块链的加密或未加密的上链数据记为PData;
然后,使用SHA256算法对上链数据PData进行hash编码,并取编码结果最前面的1个字节作为上链数据的验证位VByte;
再根据智能合约地址Addr、企业编号CNum、上链数据PData、数据类型编号CDTNum、上链数据的验证位VByte、数据上链的协议及协议版本号,一起构建产品数据上链的标签信息;
最后,数据上链企业C通过向地址CAddr发送一笔交易,将包括上链数据PData的标签信息存储到区块链上。
在更优的技术方案中,所述步骤8具体包括:
步骤8.1,数据查询企业N在智能合约中申请查询企业C的预设数据类型的上链数据;其中数据查询企业N在区块链上获取的地址为NAddr,该地址对应的公钥和私钥分别为NKey1和NKey2;
步骤8.2,管理中心和数据上链企业C在智能合约中为数据查询企业N授权,允许企业N查询企业C的上链数据;
步骤8.3,管理中心扫描数据上链企业C发送给地址CAddr的所有交易,从中取出所有交易的标签信息;
步骤8.4,管理中心从步骤8.3得到的所有标签信息中,根据步骤1得到的智能合约地址Addr、步骤4得到的企业C的企业编号CNum和步骤5得到的CDT类数据的数据类型编号CDTNum,过滤出标签信息中协议名称、协议版本号、合约地址、企业编号、数据类型编号与协议名称Silkscreen、协议版本号Ver、合约地址Addr、企业C编号CNum、数据类型CDT编号CDTNum都匹配的标签信息,即筛选出与智能合约地址Addr、企业编号CNum、数据类型编号CDTNum均匹配的标签信息;
步骤8.5,管理中心根据步骤8.4匹配得到的标签信息,取出标签信息中的上链数据PData和上链数据的验证位VByte;然后对上链数据PData进行hash编码,将hash编码结果的头部第1个字节与标签信息中的验证位VByte对比;过滤出所有与对应验证位匹配的上链数据PData;
步骤8.6,数据查询企业N从区块链获取步骤8.5得到的上链数据PData;
步骤8.7,数据查询企业N判断智能合约中上链数据的加密标识:
若上链数据的加密标识为不加密,数据查询企业N接收到的上链数据PData即为企业N要查找的产品数据;
若上链数据的加密标识为加密,则在数据查询企业N获得授权查询的情况下:首先由数据查询企业N将自身的公钥NKey1录入智能合约;然后管理中心使用智能合约中的公钥NKey1对上链数据的密钥EKey进行加密,得到加密的密钥NKey3,存入智能合约;再由数据查询企业N使用私钥NKey2对上链数据的密钥NKey3进行解密,得到密钥EKey;最终,数据查询企业N使用密钥EKey对接收到的上链数据PData进行解密,得到的即为企业N要查找的产品数据。
在更优的技术方案中,上链数据的标签信息的内部字段,按顺序依次为:数据上链的协议、协议版本号、智能合约地址Addr、企业编号CNum、数据类型编号CDTNum、上链数据PData、上链数据的验证位VByte,且标签信息采用十六进制编码,长度不超过1021个字节,其中,协议名称为10字节,智能合约地址为20字节,上链数据不超过987个字节,协议版本号、单位编号、数据类型编号和验证位均为一个十六进制表示的1字节的无符号整数。
在更优的技术方案中,标签信息采用十六进制编码存储,步骤8.5匹配得到的上链数据也为十六进制,先将匹配得到的上链数据转换成字符数据后再执行步骤8.6。
在更优的技术方案中,预设的产品数据类型为CDT。
在更优的技术方案中,数据上链的协议采用Silkscreen协议。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项技术方案所述的方法。
有益效果
本发明提供一种基于区块链与智能合约的产品数据上链方法和介质,首先,区块链技术具有去中心化、去信任化、交易透明和不可篡改等优势,将产品数据存储到区块链上不仅可以做到产品信息的互联互通,而且可以实现产品信息真实、透明、可追溯和防篡改;其次,智能合约多签名的账户功能,可以用来规范人的行为和约束人的权限。因此,本发明基于区块链与智能合约的产品数据上链方法,可以约束和管理产品数据上链的企业,提高上链数据的有效性;而且,通过智能合约授权查看加密的上链数据,有效地保证了上链数据的安全性;此外,本发明定义的固定格式的标签信息,可以有效地提高上链数据存取的效率。
附图说明
图1是本申请实施例所述方法的流程图;
图2是本发明实施例所述方法中步骤7的数据上链流程图;
图3是本发明实施例所述方法中步骤8的数据查询流程图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例以本发明的技术方案为依据开展,给出了详细的实施方式和具体的操作过程,对本发明的技术方案作进一步解释说明。
实施例1
本实施例提供一种基于区块链与智能合约的产品数据上链方法,如图1所示,包括:
步骤1,管理中心在区块链上部署智能合约,得到智能合约地址Addr,地址长度为20字节。智能合约的功能主要包括管理数据上链的企业、管理查询上链数据的节点,以及存放产品数据企业的地址和加密的密钥等信息,在本实施例中,智能合约的功能包括:
功能1:企业申请将某类产品数据存放到区块链上;
功能2:为申请数据上链的企业授权,允许企业将某类数据存放到区块链上,并允许企业查询该企业已上链的产品数据;
功能3:移除数据上链企业的权限,不再允许企业将数据存放到区块链上,但仍允许企业查询该企业已上链的产品数据;
功能4:存放被授权企业的企业名称、企业的区块链地址、区块链地址的公钥,以及使用该区块链地址公钥加密的密钥;
功能5:查询被授权企业的企业名称、企业的区块链地址、区块链地址的公钥,以及使用该区块链地址公钥加密的密钥;
功能6:区块链中的其他节点申请查询某企业存放在区块链上的某类加密的产品数据;
功能7:管理中心和企业同时为申请查询上链数据的节点授权,允许节点查询存放在区块链上的某类加密的产品数据;
功能8:移除要查询上链数据节点的权限,不再允许节点查询某企业存放在区块链上的某类加密的产品数据,但仍允许节点查询不加密的产品数据;
功能9:存放被授权节点的区块链地址、区块链地址的公钥,以及使用该区块链地址公钥加密的密钥;
功能10:查询被授权节点的区块链地址、区块链地址的公钥,以及使用该区块链地址公钥加密的密钥。
步骤2,数据上链企业C在区块链上获取地址CAddr,并得到该地址对应的公钥CKey1和私钥CKey2;
步骤3,根据步骤1得到的智能合约和步骤2得到的地址CAddr,数据上链企业C在智能合约中申请为数据类型为CDT的产品数据上链。
步骤4,根据步骤1得到的智能合约和步骤3得到的申请数据上链的CAddr,管理中心调用智能合约为申请数据上链的企业C授权,允许企业C将数据类型为CDT的产品数据存放到区块链上,并允许企业C查询该企业已上链的产品数据。此外,智能合约会自动为企业C分配一个企业编号CNum,编号为一个十六进制表示的1字节的无符号整数。
步骤5,根据步骤1得到的智能合约、步骤2得到的公钥CKey1,以及步骤4得到的企业C的权限,数据上链企业C若得到管理中心授权的权限,则将产品数据的数据类型CDT、加密标识以及公钥CKey1录入智能合约。此外,智能合约会自动为数据类型CDT分配一个数据类型编号CDTNum,编号为一个十六进制表示的1字节的无符号整数;编号的首位是取值为0或1的加密标识,如果企业C规定CDT类数据需要加密FC,则加密标识为1,如果企业C规定CDT类数据不需要加密,则加密标识为0;
步骤6,根据步骤5得到的CDT类数据的类型编号CDTNum,取编号的首位,如果编号的首位为0,则跳过该步骤6;如果编号的首位为1,则管理中心使用椭圆曲线加密算法生成一个密钥,记为EKey,该密钥用来加密企业C的数据类型为CDT的产品数据。然后,管理中心使用智能合约中的公钥CKey1对密钥Ekey进行加密,并将加密后的密钥Ckey3存入智能合约。
步骤7,若上链数据的加密标识为不加密,则数据上链企业C将当前未加密的上链数据存储到区块链;若上链数据的加密标识为加密,使用私钥CKey2对智能合约中加密后的密钥Ckey3进行解密得到密钥Ekey,并使用密钥Ekey对上链数据进行加密,再将加密的上链数据存储到区块链。
本实施例中,步骤7如图2所示,具体包括:
步骤7.1,被授权的企业C提供数据类型为CDT的产品数据;
步骤7.2,根据步骤1得到的智能合约和步骤5得到的CDT类的数据类型编号CDTNum,如果CDTNum的首位为0,则根据步骤7.1得到的要上链的产品数据,企业C将产品数据进行十六进制编码,得到上链数据PData;如果CDTNum的首位为1,则根据步骤6得到的加密的密钥CKey3,企业C从智能合约中取出使用公钥CKey1加密的密钥CKey3;然后,根据步骤2得到的私钥CKey2,企业C使用私钥CKey2将CKey3解密,得到密钥EKey;然后,根据步骤7.1得到的要上链的产品数据,企业C使用密钥EKey将产品数据加密,进行十六进制编码后得到上链数据PData;将上述加密或未加密的上链数据统一记为PData;
步骤7.3,使用SHA256算法对步骤7.2得到的上链数据PData进行hash编码,并取编码结果最前面的1个字节作为上链数据的验证位VByte;
步骤7.4,根据步骤1得到的智能合约地址Addr,步骤4得到的企业C的企业编号CNum,步骤5得到的CDT类数据的数据类型编号CDTNum,步骤7.2得到的上链数据PData,以及步骤7.3得到的验证位VByte,根据版本号为Ver的Silkscreen协议,一起构建产品数据上链的标签信息;标签信息共包括7个字段,按顺序依次为:数据上链的协议、协议版本号、智能合约地址Addr、企业编号CNum、数据类型编号CDTNum、上链数据PData、上链数据的验证位VByte,且标签信息采用十六进制编码,长度不超过1021个字节,其中,协议名称为10字节,智能合约地址为20字节,上链数据不超过987个字节,协议版本号、单位编号、数据类型编号和验证位均为一个十六进制表示的1字节的无符号整数;
步骤7.5,根据步骤2得到的区块链地址CAddr和步骤7.4得到的固定格式的标签信息,数据上链企业C通过向地址CAddr发送一笔交易,将包括上链数据PData的标签信息存储到区块链上。
步骤8,数据查询企业N通过智能合约,查询数据上链企业C在区块链上存储的数据类型为CDT的产品数据;如图3所示,具体包括:
步骤8.1,数据查询企业N在智能合约中申请查询企业C的数据类型为CDT的上链数据;其中数据查询企业N在区块链上获取的地址为NAddr,该地址对应的公钥和私钥分别为NKey1和NKey2;
步骤8.2,管理中心和数据上链企业C在智能合约中为数据查询企业N授权,允许企业N查询企业C的上链数据;
步骤8.3,管理中心扫描数据上链企业C发送给地址CAddr的所有交易,从中取出所有交易的标签信息;
步骤8.4,管理中心从步骤8.3得到的所有标签信息中,根据步骤1得到的智能合约地址Addr、步骤4得到的企业C的企业编号CNum和步骤5得到的CDT类数据的数据类型编号CDTNum,过滤出标签信息中协议名称、协议版本号、合约地址、企业编号、数据类型编号与协议名称Silkscreen、协议版本号Ver、合约地址Addr、企业C编号CNum、数据类型编号CDTNum都匹配的标签信息,即筛选出与智能合约地址Addr、企业编号CNum、数据类型编号CDTNum均匹配的标签信息;
步骤8.5,管理中心根据步骤8.4匹配得到的标签信息,取出标签信息中的上链数据PData和上链数据的验证位VByte;然后对上链数据PData进行hash编码,将hash编码结果的头部第1个字节与标签信息中的验证位VByte对比;过滤出所有与对应验证位匹配的上链数据PData,并将匹配得到的上链数据转换成字符数据;
步骤8.6,数据查询企业N从区块链获取步骤8.5得到的字符数据格式的上链数据PData;
步骤8.7,数据查询企业N判断智能合约中上链数据的加密标识:
若上链数据的加密标识为不加密,即步骤5得到的CDT类的数据类型编号CDTNum的首位为0,数据查询企业N接收到的上链数据PData即为企业N要查找的产品数据;
若上链数据的加密标识为加密,即步骤5得到的CDT类的数据类型编号CDTNum的首位为1,则在数据查询企业N获得授权查询的情况下:首先由数据查询企业N将自身的公钥NKey1录入智能合约;然后管理中心使用智能合约中的公钥NKey1对上链数据的密钥EKey进行加密,得到加密的密钥NKey3,存入智能合约;再由数据查询企业N使用私钥NKey2对上链数据的密钥NKey3进行解密,得到密钥EKey;最终,数据查询企业N使用密钥EKey对接收到的上链数据PData进行解密,得到的即为企业N要查找的产品数据。
实施例2
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现实施例1所述的基于区块链与智能合约的产品数据上链方法。
以上实施例为本申请的优选实施例,本领域的普通技术人员还可以在此基础上进行各种变换或改进,在不脱离本申请总的构思的前提下,这些变换或改进都应当属于本申请要求保护的范围之内。
Claims (6)
1.一种基于区块链与智能合约的产品数据上链方法,其特征在于,包括:
步骤1,管理中心在区块链上部署智能合约,得到智能合约地址Addr;
步骤2,数据上链企业C在区块链上获取地址CAddr,并得到该地址对应的公钥CKey1和私钥CKey2;
步骤3,数据上链企业C在智能合约中申请为预设数据类型的产品数据上链;
步骤4,管理中心在智能合约中为申请数据上链的企业C授权,为授权的企业C分配企业编号CNum;
步骤5,数据上链企业C若得到管理中心授权的权限,则将产品数据的数据类型、加密标识以及公钥CKey1录入智能合约;所述加密标识包括加密与不加密,将加密标识设置于数据类型的首位构成数据类型编号CDTNum;
步骤6,若上链数据的加密标识为不加密,则跳过本步骤6;若上链数据的加密标识为加密,则管理中心生成用于加密上链数据的密钥Ekey,并使用智能合约中的公钥CKey1对密钥Ekey进行加密,并将加密后的密钥Ckey3存入智能合约;
步骤7,若上链数据的加密标识为不加密,则数据上链企业C将当前未加密的上链数据存储到区块链;若上链数据的加密标识为加密,使用私钥CKey2对智能合约中加密后的密钥Ckey3进行解密得到密钥Ekey,并使用密钥Ekey对上链数据进行加密,再将加密的上链数据存储到区块链;
步骤7将加密或者不加密的上链数据存储到区块链具体为:
首先,将待存储到区块链的加密或未加密的上链数据记为PData;
然后,使用SHA256算法对上链数据PData进行hash编码,并取编码结果最前面的1个字节作为上链数据的验证位VByte;
再根据智能合约地址 Addr、企业编号CNum、上链数据PData、数据类型编号CDTNum、上链数据的验证位VByte、数据上链的协议及协议版本号,一起构建产品数据上链的标签信息;
最后,数据上链企业C通过向地址CAddr发送一笔交易,将包括上链数据PData的标签信息存储到区块链上;
步骤8,数据查询企业N通过智能合约,查询数据上链企业C在区块链上存储的预设数据类型的产品数据。
2.根据权利要求1所述的方法,其特征在于,所述步骤8具体包括:
步骤8. 1,数据查询企业N在智能合约中申请查询企业C的预设数据类型的上链数据;其中数据查询企业N在区块链上获取的地址为NAddr,该地址对应的公钥和私钥分别为NKey1和NKey2;
步骤8. 2,管理中心和数据上链企业C在智能合约中为数据查询企业 N授权,允许企业N查询企业C的上链数据;
步骤8.3,管理中心扫描数据上链企业C发送给地址CAddr的所有交易,从中取出所有交易的标签信息;
步骤8.4,管理中心从步骤8.3得到的所有标签信息中,根据步骤1得到的智能合约地址Addr、步骤4得到的企业C的企业编号CNum和步骤5得到的数据类型编号CDTNum,筛选与智能合约地址Addr、企业编号CNum、数据类型编号CDTNum均匹配的标签信息;
步骤8.5,管理中心根据步骤8.4匹配得到的标签信息,取出标签信息中的上链数据PData和上链数据的验证位VByte;然后对上链数据PData进行hash编码,将hash编码结果的头部第1个字节与标签信息中的验证位VByte对比;过滤出所有与对应验证位匹配的上链数据PData;
步骤8.6,数据查询企业N从区块链获取步骤8.5得到的上链数据PData;
步骤8.7,数据查询企业N判断智能合约中上链数据的加密标识:
若上链数据的加密标识为不加密,数据查询企业N接收到的上链数据PData即为企业N要查找的产品数据;
若上链数据的加密标识为加密,则在数据查询企业N获得授权查询的情况下:首先由数据查询企业N将自身的公钥NKey1录入智能合约;然后管理中心使用智能合约中的公钥NKey1对上链数据的密钥EKey进行加密,得到加密的密钥NKey3,存入智能合约;再由数据查询企业N使用私钥NKey2对上链数据的密钥NKey3进行解密,得到密钥EKey;最终,数据查询企业N使用密钥EKey对接收到的上链数据PData进行解密,得到的即为企业N要查找的产品数据。
3.根据权利要求1所述的方法,其特征在于,上链数据的标签信息的内部字段,按顺序依次为:数据上链的协议、协议版本号、智能合约地址 Addr、企业编号CNum、数据类型编号CDTNum、上链数据PData、上链数据的验证位VByte,且标签信息采用十六进制编码,长度不超过1021个字节,其中,协议名称为10字节,智能合约地址为20字节,上链数据不超过987个字节,协议版本号、企业编号、数据类型编号和验证位均为一个十六进制表示的1字节的无符号整数。
4.根据权利要求1所述的方法,其特征在于,标签信息采用十六进制编码存储,步骤8.5匹配得到的上链数据也为十六进制,先将匹配得到的上链数据转换成字符数据后再执行步骤8.6。
5.根据权利要求1所述的方法,其特征在于,数据上链的协议采用Silkscreen协议。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110360758.6A CN113098876B (zh) | 2021-04-02 | 2021-04-02 | 一种基于区块链与智能合约的产品数据上链方法和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110360758.6A CN113098876B (zh) | 2021-04-02 | 2021-04-02 | 一种基于区块链与智能合约的产品数据上链方法和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098876A CN113098876A (zh) | 2021-07-09 |
CN113098876B true CN113098876B (zh) | 2021-11-23 |
Family
ID=76673505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110360758.6A Active CN113098876B (zh) | 2021-04-02 | 2021-04-02 | 一种基于区块链与智能合约的产品数据上链方法和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098876B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645211B (zh) * | 2021-08-02 | 2023-02-28 | 安徽中科晶格技术有限公司 | 通用的数据上链存证系统及方法 |
CN113766034B (zh) * | 2021-09-15 | 2024-02-02 | 城云科技(中国)有限公司 | 基于区块链的业务处理方法和装置 |
CN114221806B (zh) * | 2021-12-14 | 2023-11-03 | 深圳市电子商务安全证书管理有限公司 | 基于区块链的数据存储方法、装置、计算机设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222086A (zh) * | 2019-05-07 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 基于区块链的数据管理方法、装置、设备和存储介质 |
CN110990883A (zh) * | 2019-11-22 | 2020-04-10 | 金蝶软件(中国)有限公司 | 数据访问方法、装置、计算机可读存储介质和计算机设备 |
CN111314363B (zh) * | 2020-02-25 | 2022-08-30 | 深圳市亿道信息股份有限公司 | 一种基于区块链的企业移动设备管理方法及系统 |
CN111586065A (zh) * | 2020-05-12 | 2020-08-25 | 山东浪潮商用系统有限公司 | 一种基于区块链的数据授权方法 |
CN112069262B (zh) * | 2020-09-09 | 2022-05-24 | 上海万向区块链股份公司 | 基于区块链智能合约的对账数据上链方法 |
CN112380179A (zh) * | 2020-12-14 | 2021-02-19 | 河钢数字技术股份有限公司 | 一种基于区块链的钢铁供应链信息秘密共享方法及系统 |
-
2021
- 2021-04-02 CN CN202110360758.6A patent/CN113098876B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113098876A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113098876B (zh) | 一种基于区块链与智能合约的产品数据上链方法和介质 | |
US11805131B2 (en) | Methods and systems for virtual file storage and encryption | |
US11646891B2 (en) | Compact recordation protocol | |
CN102236766B (zh) | 安全的数据项级数据库加密方法 | |
JP7426031B2 (ja) | 鍵セキュリティ管理システムおよび方法、媒体、ならびにコンピュータプログラム | |
JP5536067B2 (ja) | データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント | |
JP4897704B2 (ja) | データ交換の制御 | |
JP4682187B2 (ja) | 認証システム、情報提供方法及び情報提供システム | |
US20080310619A1 (en) | Process of Encryption and Operational Control of Tagged Data Elements | |
EP3477891A1 (en) | Methods for recording and sharing a digital identity of a user using distributed ledgers | |
CN107209787A (zh) | 提高专用加密数据的搜索能力 | |
CN111147432B (zh) | 具隐密性的kyc数据共享系统及其方法 | |
WO2007077601A1 (ja) | タグ認証システム | |
CN114969128A (zh) | 一种基于安全多方计算技术的隐匿查询方法、系统和存储介质 | |
CN116226880A (zh) | 一种基于可搜索加密的区块链密文检索安全溯源系统 | |
CN101308546A (zh) | 具有多级保护的安全存储结构的射频标签及其方法 | |
CN102752112A (zh) | 基于sm1/sm2算法的权限控制方法及装置 | |
CN113127927B (zh) | 一种许可链数据共享及监管的属性重构加密方法及系统 | |
Vignesh et al. | Secured Data Access and Control Abilities Management over Cloud Environment using Novel Cryptographic Principles | |
CN110266641A (zh) | 信息读取方法及装置 | |
CN116432193A (zh) | 一种金融数据库数据保护改造方法及其金融数据保护系统 | |
Kim et al. | Single tag sharing scheme for multiple-object RFID applications | |
WO2011058629A1 (ja) | 情報管理システム | |
CN113965615A (zh) | 一种基于工业互联网的标识解析方法与系统 | |
CN113658709A (zh) | 用于医疗数据信息查询的方法、装置、计算机设备及存储介质 |
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 |