[发明专利]一种基于区块链与智能合约的产品数据上链方法和介质有效
申请号: | 202110360758.6 | 申请日: | 2021-04-02 |
公开(公告)号: | CN113098876B | 公开(公告)日: | 2021-11-23 |
发明(设计)人: | 钟增胜;张辰琦;吴岱霖;杨璐;白东英;谈宜育;周芳芳;赵颖;施荣华 | 申请(专利权)人: | 中南大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L9/08;G06Q40/04;G06Q30/00 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 熊开兰 |
地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 智能 合约 产品 数据 方法 介质 | ||
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要查找的产品数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110360758.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃料电池及其内循环系统
- 下一篇:一种孔径测量装置