一种基于区块链的数据共享方法和装置制造方法及图纸

技术编号:24683656 阅读:22 留言:0更新日期:2020-06-27 08:02
本发明专利技术公开了一种基于区块链的数据共享方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收第一业务节点的数据上传请求,所述数据上传请求指示了所述第一业务节点所服务的第一用户的信息;从所述第一用户的信息中提取所述第一用户的信息对应的第一摘要信息;生成所述第一摘要信息对应的第一哈希值;将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链,并将所述第一用户的信息存储至本地数据库。该实施方式在实现数据共享的同时,既降低了区块链上存储的数据量,也进一步保证了数据的安全性。

A data sharing method and device based on blockchain

【技术实现步骤摘要】
一种基于区块链的数据共享方法和装置
本专利技术涉及计算机
,尤其涉及一种基于区块链的数据共享方法和装置。
技术介绍
由于区块链具有去中心化、不可篡改等诸多优点,在数据共享存储方面得到了广泛的应用。目前,各类区块链数据共享的方式是将所有数据加密后放到区块链上,每个区块链数据节点均存储了其他节点所有数据的副本。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:上传至区块链的数据虽进行了加密,但由于各个数据节点的数据一致,一旦一个数据节点被攻克或入侵,则将导致所有数据泄露,对于一些机密性要求较高的数据仍存在一定的泄露的风险;此外,随着上传至区块链的数据量逐渐增加,数据存储空间增大,从区块链上查询获取数据的效率大大降低。
技术实现思路
有鉴于此,本专利技术实施提供了一种基于区块链的数据共享方法和装置,在实现数据共享的同时,既降低了区块链上存储的数据量,也进一步保证了数据的安全性。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种基于区块链的数据共享方法包括:接收第一业务节点的数据上传请求,所述数据上传请求指示了所述第一业务节点所服务的第一用户的信息;从所述第一用户的信息中提取所述第一用户的信息对应的第一摘要信息;生成所述第一摘要信息对应的第一哈希值;将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链,并将所述第一用户的信息存储至本地数据库。可选地,还包括:在将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链之前,判断所述区块链上是否已存在所述第一哈希值;若不存在,则将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链;若存在,则继续判断所述区块链上存储的所述第一哈希值对应的业务节点标识与所述第一业务节点标识是否一致,若不一致则将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链。可选地,还包括:在所述区块链上不存在所述第一哈希值的情况下,向所述第一业务节点对应的奖励值中增加第一奖励值;在所述区块链上存在所述第一哈希值,但所存储的所述第一哈希值对应的业务节点标识与所述第一业务节点标识不一致的情况下,向所述第一业务节点对应的奖励值中增加第二奖励值,且所述第二奖励值小于所述第一奖励值。可选地,还包括:在第二业务节点请求获取所述第一用户的信息的情况下,从所述区块链上获取所述第二业务节点的公钥、所述第一摘要信息;根据所述第一摘要信息,从本地数据库中搜索所述第一摘要信息对应的所述第一用户的信息;使用所述第二业务节点的公钥,对所述第一用户的信息进行加密;将加密后的所述第一用户的信息上传至所述区块链,以供所述第二业务节点从所述区块链上获取所述第一用户的信息。可选地,还包括:接收第一业务节点发送的数据获取请求,所述数据获取请求指示了待获取的第二用户的信息对应的第二摘要信息、所述第一业务节点的公钥;根据所述第二摘要信息对应的第二哈希值,从所述区块链上获取所述第二哈希值对应的一个或多个业务节点标识;从所述业务节点标识中选取一个或多个业务节点标识;根据所选取的业务节点标识、所述第二哈希值、所述第一业务节点的公钥,从所述区块链上获取使用所述第一业务节点的公钥加密的所述第二用户的信息。可选地,还包括:在从所述区块链上获取使用所述第一业务节点的公钥加密的所述第二用户的信息之后,使用所述第一业务节点的公钥对应的私钥解密所述第二用户的信息。可选地,还包括:在使用所述第一业务节点的公钥对应的私钥解密所述第二用户的信息之后,从所述第二用户的信息中提取所述第二用户的信息对应的第三摘要信息;生成所述第三摘要信息对应的第三哈希值;判断所述第三哈希值与所述第二哈希值是否一致,若一致,则向所述第一业务节点展示所述第二用户的信息,若不一致,则根据解密后的所述第二用户的信息向所述区块链申诉。可选地,还包括:在向所述区块链申诉成功的请情况下,通知所述第一业务节点所述数据获取请求失败;在向所述区块链申诉失败的情况下,向所述第一业务节点展示解密后的所述第二用户的信息。可选地,还包括:在向所述第一业务节点展示解密后的所述第二用户的信息之后,将所述第二用户的信息、所述第二摘要信息、所选取的业务节点标识、所述第二哈希值相对应地存储至本地数据库。可选地,在根据所选取的业务节点标识、所述第二哈希值、所述第一业务节点的公钥,从所述区块链上获取使用所述第一业务节点的公钥加密的所述第二用户的信息时,从所述第一业务节点对应的奖励值中扣除第三奖励值。为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种基于区块链的数据共享装置包括:上传请求接收模块、摘要信息提取模块、哈希值生成模块、数据上传模块;其中,所述上传请求接收模块,用于接收第一业务节点的数据上传请求,所述数据上传请求指示了所述第一业务节点所服务的第一用户的信息;所述摘要信息提取模块,用于从所述第一用户的信息中提取所述第一用户的信息对应的第一摘要信息;所述哈希值生成模块,用于生成所述第一摘要信息对应的第一哈希值;所述数据上传模块,用于将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链,并将所述第一用户的信息存储至本地数据库。可选地,所述数据上传模块,还用于,在将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链之前,判断所述区块链上是否已存在所述第一哈希值;若不存在,则将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链;若存在,则继续判断所述区块链上存储的所述第一哈希值对应的业务节点标识与所述第一业务节点标识是否一致,若不一致则将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链。可选地,所述数据上传模块,还用于,在所述区块链上不存在所述第一哈希值的情况下,向所述第一业务节点对应的奖励值中增加第一奖励值;在所述区块链上存在所述第一哈希值,但所存储的所述第一哈希值对应的业务节点标识与所述第一业务节点标识不一致的情况下,向所述第一业务节点对应的奖励值中增加第二奖励值,且所述第二奖励值小于所述第一奖励值。可选地,所述数据上传模块,还用于,在第二业务节点请求获取所述第一用户的信息的情况下,从所述区块链上获取所述第二业务节点的公钥、所述第一摘要信息;根据所述第一摘要信息,从本地数据库中搜索所述第一摘要信息对应的所述第一用户的信息;使用所述第二业务节点的公钥,对所述第一用户的信息进行加密;将加密后的所述第一用户的信息上传至所述区块链,以供所述第二业务节点从所述区块链上获取所述第一用户的信息。可选地,还包括:数据获取模块;所述数据获取模块,用于,接收第一业务节点本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据共享方法,其特征在于,包括:/n接收第一业务节点的数据上传请求,所述数据上传请求指示了所述第一业务节点所服务的第一用户的信息;/n从所述第一用户的信息中提取所述第一用户的信息对应的第一摘要信息;/n生成所述第一摘要信息对应的第一哈希值;/n将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链,并将所述第一用户的信息存储至本地数据库。/n

【技术特征摘要】
1.一种基于区块链的数据共享方法,其特征在于,包括:
接收第一业务节点的数据上传请求,所述数据上传请求指示了所述第一业务节点所服务的第一用户的信息;
从所述第一用户的信息中提取所述第一用户的信息对应的第一摘要信息;
生成所述第一摘要信息对应的第一哈希值;
将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链,并将所述第一用户的信息存储至本地数据库。


2.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,还包括:
在将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链之前,判断所述区块链上是否已存在所述第一哈希值;
若不存在,则将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链;
若存在,则继续判断所述区块链上存储的所述第一哈希值对应的业务节点标识与所述第一业务节点标识是否一致,若不一致则将所述第一摘要信息、所述第一哈希值、第一业务节点标识相对应地上传至区块链。


3.根据权利要求2所述的基于区块链的数据共享方法,其特征在于,还包括:
在所述区块链上不存在所述第一哈希值的情况下,向所述第一业务节点对应的奖励值中增加第一奖励值;
在所述区块链上存在所述第一哈希值,但所存储的所述第一哈希值对应的业务节点标识与所述第一业务节点标识不一致的情况下,向所述第一业务节点对应的奖励值中增加第二奖励值,且所述第二奖励值小于所述第一奖励值。


4.根据权利要求3所述的基于区块链的数据共享方法,其特征在于,还包括:
在第二业务节点请求获取所述第一用户的信息的情况下,从所述区块链上获取所述第二业务节点的公钥、所述第一摘要信息;
根据所述第一摘要信息,从本地数据库中搜索所述第一摘要信息对应的所述第一用户的信息;
使用所述第二业务节点的公钥,对所述第一用户的信息进行加密;
将加密后的所述第一用户的信息上传至所述区块链,以供所述第二业务节点从所述区块链上获取所述第一用户的信息。


5.根据权利要求3所述的基于区块链的数据共享方法,其特征在于,还包括:
接收第一业务节点发送的数据获取请求,所述数据获取请求指示了待获取的第二用户的信息对应的第二摘要信息、所述第一业务节点的公钥;
根据所述第二摘要信息对应的第二哈希值,从所述区块链上获取所述第二哈希值对应的一个或多个业务节点标识;
从所述业务节点标识中选取一个或多个业务节点标识;
根据所选取的业务节点标识、所述第二哈希值、所述第一业务节点的公钥,从所述区块链上获取使用所述第一业务节点的公钥加密的所述第二用户的信息。


6.根据权利要求5所述的基于区块链的数据共享方法,其特征在于,还包括:
在从所述区块链上获取使用所述第一业务节点的公钥加密的所述第二用户的信息之后,使用所述第一业务节点的公钥对应的私钥解密所述第二用户的信息。


7.根据权利要求6所述的基于区块链的数据共享方法,其特征在于,还包括:
在使用所述第一业务节点的公钥对应的私钥解密所述第二用户的信息之后,从所述第二用户的信息中提取所述第二用户的信息对应的第三摘要信息;
生成所述第三摘要信息对应的第三哈希值;
判断所述第三哈希值与所述第二哈希值是否一致,若一致,则向所述第一业务节点展示所述第二用户的信息,若不一致,则根据解密后的所述第二用户的信息向所述区块链申诉。


8.根据权利要求7所述的基于区块链的数据共享方法,其特征在于,还包括:
在向所述区块链申诉成功的情况下,通知所述第一业务节点所述数据获取请求失败;
在向所述区块链申诉失败的情况下,向所述第一业务节点展示解密后的所述第二用户的信息。


9.根据权利要求8所述的基于区块链的数据共享方法,其特征在于,还包括:
在向所述第一业务节点展示解密后的所述第二用户的信息之后,将所述第二用户的信息、所述第二摘要信息、所选取的业务节点标识、所述第二哈希值相对应地存储至本地数据库。


10.根据权利要求5所述的基于区块链的数据共享方法,其特征在于,
在根据所选取的业务节点标识、所述第二哈希值、所述第一业务节点的公钥,从所述区块链上获取使用所述第一业务节点的公钥加密的所述第二用户的信息时,从所述第一业务节点对应的奖励值中扣除第三奖励值。


11.一种基于区块链的数据共享装置,其特征在于,包括:上传请求接收模块、摘要信息提取模块、哈希值生成模块、数据上传模块;其中,
所述上传请求接收模块,用于接收第一业务节点的数据上传请求,所述数据上传请求指示了所述第一业务节点所服务的第一用户的信息;
所述摘要信息提取模块,用于从所述第一用户的信息中提取所述第一用户的信息对应的第一摘要信息;
所述哈希值生成模块,用于生成所述...

【专利技术属性】
技术研发人员:洪蜀宁余昌龙熊潇庄磊刘俊杰雷刚黄发培胡伟邹浩李诗寰彭聪郁微王雪钱程尹涛边鹏
申请(专利权)人:中国建设银行股份有限公司建信金融科技有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1