CN114389878A - 一种区块链分片方法及区块链网络系统 - Google Patents

一种区块链分片方法及区块链网络系统 Download PDF

Info

Publication number
CN114389878A
CN114389878A CN202210037658.4A CN202210037658A CN114389878A CN 114389878 A CN114389878 A CN 114389878A CN 202210037658 A CN202210037658 A CN 202210037658A CN 114389878 A CN114389878 A CN 114389878A
Authority
CN
China
Prior art keywords
data file
chain
key
encrypted
file
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
Application number
CN202210037658.4A
Other languages
English (en)
Other versions
CN114389878B (zh
Inventor
林少锋
董长富
聂少涛
韩鹍
谢文佳
张明江
杜佳
王喆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210037658.4A priority Critical patent/CN114389878B/zh
Publication of CN114389878A publication Critical patent/CN114389878A/zh
Application granted granted Critical
Publication of CN114389878B publication Critical patent/CN114389878B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种区块链分片方法及区块链网络系统,方法包括:应用于包括多个网络分片的区块链网络系统,在任一网络分片中,在第一用户应用端利用加密密钥对待上传数据文件进行加密,向预设服务器发送文件上传请求,预设服务器将文件上传请求转发给主节点机;通过主节点机在公钥链中查询服务端公钥,并将服务端公钥返回,在第一用户应用端利用服务端公钥加密加密密钥,将加密后密钥以及加密数据文件发送至存储服务器;通过存储服务器存储加密后密钥以及加密数据文件,生成存证信息,将存证信息存入多条存证子链中的目标存证子链,将文件上传行为记录至审计链;将对应的文件索引添加目录主链。能够提升数据存储性能和共享性能。

Description

一种区块链分片方法及区块链网络系统
技术领域
本申请涉及区块链技术领域,特别涉及一种区块链分片方法及区块链网络系统。
背景技术
数据随着时间的推移呈爆发式增长,大量数据存证信息上链存储以及共享需要系统具备高性能才能满足快速响应的交互要求,在现有的主流区块链技术中,比特币网络处理速度是每秒7笔,以太坊网络处理速度是每秒35笔,极低的处理速度大大限制了区块链技术在实际场景中的应用,发明人在实现本发明的过程中,发现现有的区块链网络架构中,整体性能瓶颈在于网络中单个节点的性能较低,且单链极易造成烟囱效应,当区块链过长时,降低了存储性能和共享性能。
发明内容
有鉴于此,本申请的目的在于提供一种区块链分片方法及区块链网络系统,能够提升数据存储性能和共享性能。其具体方案如下:
第一方面,本申请公开了一种区块链分片方法,应用于包括多个网络分片的区块链网络系统,其中,在任一所述网络分片中,
在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给主节点机;
通过所述主节点机在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;
在所述第一用户应用端利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;
通过所述存储服务器存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;其中,不同的存证子链部署于不同的子节点机;
通过所述目标存证子链对应的子节点机将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。
可选的,所述在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,包括:
在第一用户应用端利用本地UKEY生成随机数,并将所述随机数作为加密密钥,利用所述加密密钥对待上传数据文件进行加密,得到加密数据文件。
可选的,所述将所述加密后密钥以及所述加密数据文件发送至存储服务器之后,还包括:
通过所述第一用户应用端获取所述存储服务器返回的所述加密数据文件对应的第一HASH值,并与本地生成的所述加密数据文件对应的第二HASH值进行比较,若一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值一致的第一应答信息,以便所述存储服务器存储所述加密后密钥以及所述加密数据文件,若不一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值不一致的第二应答信息,以便所述存储服务器删除所述加密后密钥以及所述加密数据文件。
可选的,还包括:
通过所述预设服务器获取第二用户应用端发送的针对目标数据文件的读取请求,并将所述读取请求转发至所述主节点机;
通过所述主节点机在所述目录主链中查找所述目标数据文件的文件索引,得到目标文件索引,并利用智能合约、所述目标文件索引以及所述读取请求中携带的分布式身份标识判断所述第二用户应用端是否具有访问权限,若是,则从相应的存证子链中根据所述目标文件索引中确定出所述目标数据文件的存储路径,并根据所述存储路径从所述存储服务器中确定出所述目标数据文件对应的加密后密钥以及加密数据文件以得到目标加密后密钥以及目标加密数据文件;
通过所述存储服务器利用服务端私钥对所述目标加密后密钥进行解密,得到解密后密钥,以及从所述公钥链上获取所述第二用户应用端的用户端公钥,并利用所述用户端公钥加密所述解密后密钥,得到新加密后密钥,以及将所述新加密后密钥以及所述目标加密数据文件发送至所述第二用户应用端。
可选的,所述将所述新加密后密钥以及所述目标加密数据文件发送至所述第二用户应用端之后,还包括:
在所述第二用户应用端计算所述目标加密数据文件对应的HASH值,并与从存证子链中获取的所述目标加密数据文件的HASH值进行比对,若一致,则保存所述加密数据文件。
可选的,所述在所述第二用户应用端计算所述目标加密数据文件对应的HASH值,并与从存证子链中获取的所述目标加密数据文件的HASH值进行比对之后,还包括:
将所述目标数据文件对应的文件读取行为以及相应的HASH值比对结果存储至所述审计链上。
可选的,所述从所述公钥链上获取所述第二用户应用端的用户端公钥,包括:
根据所述读取请求中携带的所述分布式身份标识从所述公钥链上获取所述第二用户应用端的用户端公钥。
可选的,所述将所述存证信息存入多条存证子链中的目标存证子链之后,还包括:
将所述存证信息在本网络分片中广播,以在本网络分片中进行共识运算。
可选的,所述将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链之后,还包括:
将所述文件索引在区块链网络系统中全网广播,以在所述区块链网络系统中进行共识运算。
第二方面,本申请提供了一种区块链网络系统,包括多个网络分片,并且在任一所述网络分片中,包括第一用户应用端、预设服务器、主节点机、子节点机以及存储服务器,其中,
所述第一用户应用端,用于在利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向所述预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给所述主节点机;
所述主节点机,用于在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;
所述第一用户应用端,用于利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;
所述存储服务器,用于存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;其中,不同的存证子链部署于不同的所述子节点机;
所述目标存证子链对应的所述子节点机,用于将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。
可见,本申请提供的区块链分片方法,应用于包括多个网络分片的区块链网络系统,在任一所述网络分片中,在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给主节点机;通过所述主节点机在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;在所述第一用户应用端利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;通过所述存储服务器存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;通过所述目标存证子链所在的子节点机将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。也即,本申请将区块链网络系统分为多个网络分片,每个网络分片独立存储本分片内的数据,并且,在每个网络分片中,部署目录主链、公钥链、审计链以及多条存证子链,分别用目录主链存储文件索引、公钥链存储公钥、审计链记录文件操作行为、多条存证子链存储存证信息,分片内不同的链实现不同的功能,能够提升存储性能,并且检索速度快,提升了共享性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种区块链分片方法流程图;
图2为本申请公开的一种区块链分片方案中的多链服务示意图;
图3为本申请公开的一种具体的数据读取流程图;
图4为本申请公开的一种具体的区块链分片方案实施架构示意图;
图5为本申请公开的一种具体的数据存储流程图;
图6为本申请公开的一种具体的数据共享流程图;
图7为本申请公开的一种区块链网络系统结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有的区块链网络架构中,整体性能瓶颈在于网络中单个节点的性能较低,且单链极易造成烟囱效应,当区块链过长时,降低了存储性能和共享性能。为此,本申请提供了一种区块链分片方案,能够提升数据存储性能和共享性能
参见图1所示,本申请实施例公开了一种区块链分片方法,应用于包括多个网络分片的区块链网络系统,其中,在任一所述网络分片中,包括:
步骤S11:在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给主节点机。
在具体的实施方式中,在第一用户应用端利用本地UKEY生成随机数,并将所述随机数作为加密密钥,利用所述加密密钥对待上传数据文件进行加密,得到加密数据文件。
步骤S12:通过所述主节点机在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端。
步骤S13:在所述第一用户应用端利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器。
步骤S14:通过所述存储服务器存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;其中,不同的存证子链部署于不同的子节点机。
其中,所述存证信息包括:块哈希、文件名、文件摘要、文件哈希、DID(即分布式身份)标识以及存储URL(即uniform resource locator,统一资源定位系统)。
在具体的实施方式中,所述将所述加密后密钥以及所述加密数据文件发送至存储服务器之后,还包括:
通过所述第一用户应用端获取所述存储服务器返回的所述加密数据文件对应的第一HASH值,并与本地生成的所述加密数据文件对应的第二HASH值进行比较,若一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值一致的第一应答信息,以便所述存储服务器存储所述加密后密钥以及所述加密数据文件,若不一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值不一致的第二应答信息,以便所述存储服务器删除所述加密后密钥以及所述加密数据文件。
也即,本申请实施例可以基于HASH校验对上链数据进行完整性检查,保证了上链数据的可信度。
并且,在具体的实施方式中,可以将HASH比对结果存入审计链,来记录文件存储行为是否成功,也即,审计链中包括文件存储行为记录,文件存储行为记录包括文件存储行为以及HASH比对结果,通过审计链记录的数据,
步骤S15:通过所述目标存证子链对应的子节点机将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。
在具体的实施方式中,基于跨链合约,将文件索引添加至所述主节点机中的目录主链。
需要指出的是,本申请实施例中,通过中继方式实现跨链,在目录主链、审计链、公钥链、存证链之间构建中继通道,实现跨链。
例如,参见图2所示,本申请实施例提供了一种区块链分片方案中的多链服务示意图。中继技术通过在两条链之间建立通道,在跨链过程中,充当数据收集者的角色,是处于中间态的数据结构,该技术不依赖于安全第三方进行交易验证。目标链可以在拿到发送链的数据后自行验证。
并且,本申请实施例在所述将所述存证信息存入多条存证子链中的目标存证子链之后,还包括:将所述存证信息在本网络分片中广播,以在本网络分片中进行共识运算。
在所述将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链之后,还包括:将所述文件索引在区块链网络系统中全网广播,以在所述区块链网络系统中进行共识运算。
需要指出的是,本申请实施例中,本网络分片只在本网络分片进行共识运算,提升运算性能,并且,目录主链在整个区块链共识,能够实现跨分片的用户通过目标主链定位数据。
可见,本申请实施例提供的区块链分片方法,应用于包括多个网络分片的区块链网络系统,在任一所述网络分片中,在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给主节点机;通过所述主节点机在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;在所述第一用户应用端利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;通过所述存储服务器存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;通过所述目标存证子链所在的子节点机将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。也即,本申请将区块链网络系统分为多个网络分片,每个网络分片独立存储本分片内的数据,并且,在每个网络分片中,部署目录主链、公钥链、审计链以及多条存证子链,分别用目录主链存储文件索引、公钥链存储公钥、审计链记录文件操作行为、多条存证子链存储存证信息,分片内不同的链实现不同的功能,能够提升存储性能,并且检索速度快,提升了共享性能。
参见图3所示,本申请实施例公开了一种具体的数据读取流程图,包括:
步骤S21:通过所述预设服务器获取第二用户应用端发送的针对目标数据文件的读取请求,并将所述读取请求转发至所述主节点机。
步骤S22:通过所述主节点机在所述目录主链中查找所述目标数据文件的文件索引,得到目标文件索引,并利用智能合约、所述目标文件索引以及所述读取请求中携带的分布式身份标识判断所述第二用户应用端是否具有访问权限,若是,则从相应的存证子链中根据所述目标文件索引中确定出所述目标数据文件的存储路径,并根据所述存储路径从所述存储服务器中确定出所述目标数据文件对应的加密后密钥以及加密数据文件以得到目标加密后密钥以及目标加密数据文件。
步骤S23:通过所述存储服务器利用服务端私钥对所述目标加密后密钥进行解密,得到解密后密钥,以及从所述公钥链上获取所述第二用户应用端的用户端公钥,并利用所述用户端公钥加密所述解密后密钥,得到新加密后密钥,以及将所述新加密后密钥以及所述目标加密数据文件发送至所述第二用户应用端。
在具体的实施方式中,可以根据所述读取请求中携带的所述分布式身份标识从所述公钥链上获取所述第二用户应用端的用户端公钥。
步骤S24:在所述第二用户应用端计算所述目标加密数据文件对应的HASH值,并与从存证子链中获取的所述目标加密数据文件的HASH值进行比对,若一致,则保存所述加密数据文件。
步骤S25:将所述目标数据文件对应的文件读取行为以及相应的HASH值比对结果存储至所述审计链上。
也即,通过审计链可以记录文件操作行为以及行为结果,便于信息溯源。
例如,参见图4所示,图4为本申请实施例公开的一种具体的区块链分片方案实施架构示意图。以装备试验数据的存储为例,对本申请提供的区块链分片方案进行进一步介绍,为了实现高性能数据存储、共享及数据共识运算本申请基于联盟链思想提出了采用状态分片技术思想和网络分片技术思想结合的方式,即将各个装备试验数据相关单位划分为若干个相对独立的区域,对应到区块链网络中,一个区域为一个独立分片,分片内各节点只负责存储和运算自己区域的数据,数据包括该区域的存证信息和装备试验源数据。在任一网络分片中,采用“1目录主链+2条功能链(审计链+公钥链)+N条存证子链的“1+2+N”多链服务以实现状态分片,存证子链主要用于存储各分片用户上传装备试验数据的文件名、文件摘要、文件哈希等存证信息,存证子链存在于每个网络分片中的各子节点内。公钥链主要用于完成分布式用户接入认证以及数据加密密钥保护。审计链主要用于记录操作行为,实现操作行为审计。目录主链主要用于完成目录索引,只存储存证子链上的文件目录索引,跨区域用户可通过目录主链定位目标试验数据文件。本申请实施例中的区块链分片方案运行在多个对等的网络分片里,单个网络分片中运行状态分片方案,通过管理端、应用端、服务器、主节点机、子节点机和IPFS分布式存储服务器之间的分工协作实现该方案,图4中,管理端,用于制定规则比如为用户分配权限等,应用端用于提交数据请求,服务器用于转换请求格式,并提交给主节点机,主节点机,用于定位请求对象、判断访问权限、记录行为,子节点机:定位请求对象位置,IPFS分布式存储服务器,用于将请求对象发送给应用端,通过单链实现单功能提区块链网络系统的性能,通过主链连通不同区域网络分片,包括实体文件链下存储分区域管理,文件存证信息上子链分共识,关键信息上主链全网共识。如图4所示,研究人员提交试验数据文件至本区域IPFS分布式存储服务器;将文件名、文件摘要、文件哈希、DID标识和存储URL记录到存证子链;存证子链在本网络中全网广播,达成共识;将存证子链上的文件索引记录到目录主链,并全网发布,达成共识。
例如,参见图5所示,图5为本申请实施例公开的一种具体的数据存储流程图。利用硬件密码模块生成随机数作为文件加密密钥;利用随机数加密源文件,生成加密文件;利用服务端非对称公钥对随机数进行加密,生成加密密钥;利用SSL/TLS安全通信协议将加密文件+加密密钥上传至安全存储环境。
需要指出的是,本申请实施例针对越权访问、数据泄露、数据溯源等系统应用实际问题,提出基于访问控制权限、公钥链、分布式身份标识技术、SSL/TLS安全通信协议及密钥置换等技术构建一体化数据安全共享方案。
其中,访问权限控制:试验管理单位的CA管理中心统一管理区块链上试验数据管理系统用户接入权限,根据试验业务单位用户申请表和审批情况配发UKEY。配置UKEY时产生一对非对称的公私钥对,私钥保存于UKEY中且永不出UKEY,具有很高的私密性,可用于签名和解密,而公钥可以公开上链。当用户访问业务系统时,用户无需到传统的鉴权中心去认证,而是通过区块链上试验数据管理系统的公钥链结合智能合约进行分布式认证。设计的区块链上试验数据管理系统可在无中心化CA服务器介入的情况下实现用户鉴权和访问控制。公钥链:指通过区块链上试验数据管理系统将许多试验业务单位用户公钥和对应的分布式标识符等相关信息统一记录到区块中,并按照时间顺序连接而成的一条公钥数据库,简称公钥链。将用户分布式身份标识和对应公钥等相关信息绑定并通过区块链上试验数据管理系统上链进行集体维护共用,通过维护公钥链上白名单,对公钥的安全状态进行统一管理,由区块链技术背书,具有很强的公信力。当发现试验业务单位用户UKEY遗失或失信等情况,通过设置公钥链上白名单的方式取消用户权限。分布式身份标识DID:一种用户、设备等在分布式网络系统中使用的唯一标志。利用分布式身份标识技术,对试验管理、业务单位等用户的每个UKEY位置、所属者、状态等进行标识,可用于用户接入识别和溯源。SSL/TLS安全通信协议:采用SSL/TLS安全通信协议为所有通信过程进行加密。SSL/TLS安全通信协议通过互相认证、使用数字签名确保信任度、使用加密算法确保私密性,以实现用户端和区块链服务器之间的安全通讯。密钥置换:通过在UKEY中建立安全硬件环境,对加密随机数的解密和再加密的过程,为数据传输过程中的信息提供仅接收方可解密的加密内容。
参见图6所示,图6为本申请实施例公开的一种具体的数据共享流程图。用户输入文件名、关键词等方式检索目标文件;通过智能合约判断访问控制权限,有权限则执行下一步;从存证子链上获取文件下载URL,并在存证服务端找到目标文件;服务端利用服务端UKEY私钥解密加密密钥得到随机数,并从公钥链链白名单上获取访问者的终端公钥,利用该公钥再加密随机数,生成新加密密钥;利用SSL/TLS安全通信协议传输加密文件+新加密密钥;利用私钥解密新加密密钥,得到随机数(对称算法密钥);利用随机数解密文件。本申请实施例为了试验数据的访问和调用,应用分布式身份标识技术,对试验数据包、节点、组织、用户等进行标识,通过标识符快速定位试验数据所在的位置,在用户获取到试验数据的同时,可用于溯源追责。
参见图7所示,本申请实施例公开了一种区块链网络系统,其特征在于,包括多个网络分片,并且在任一所述网络分片中,包括第一用户应用端11、预设服务器12、主节点机13、多个子节点机14以及存储服务器15,其中,
所述第一用户应用端11,用于在利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向所述预设服务器12发送文件上传请求,以便所述预设服务器12将所述文件上传请求转发给所述主节点机13;
所述主节点机13,用于在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端11;
所述第一用户应用端11,用于利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;
所述存储服务器15,用于存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机13中的审计链;其中,不同的存证子链部署于不同的所述子节点机14;
所述目标存证子链对应的所述子节点机14,用于将所述加密数据文件对应的文件索引添加至所述主节点机14中的目录主链。
可见,本申请提供的区块链网络系统,应用于包括多个网络分片的区块链网络系统,在任一所述网络分片中,在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给主节点机;通过所述主节点机在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;在所述第一用户应用端利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;通过所述存储服务器存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;通过所述目标存证子链所在的子节点机将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。也即,本申请将区块链网络系统分为多个网络分片,每个网络分片独立存储本分片内的数据,并且,在每个网络分片中,部署目录主链、公钥链、审计链以及多条存证子链,分别用目录主链存储文件索引、公钥链存储公钥、审计链记录文件操作行为、多条存证子链存储存证信息,分片内不同的链实现不同的功能,能够提升存储性能,并且检索速度快,提升了共享性能。
其中,第一用户应用端11具体用于:在第一用户应用端利用本地UKEY生成随机数,并将所述随机数作为加密密钥,利用所述加密密钥对待上传数据文件进行加密,得到加密数据文件。
并且,所述第一用户应用端11,还用于获取所述存储服务器返回的所述加密数据文件对应的第一HASH值,并与本地生成的所述加密数据文件对应的第二HASH值进行比较,若一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值一致的第一应答信息,以便所述存储服务器存储所述加密后密钥以及所述加密数据文件,若不一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值不一致的第二应答信息,以便所述存储服务器删除所述加密后密钥以及所述加密数据文件。
通过所述预设服务器12获取第二用户应用端发送的针对目标数据文件的读取请求,并将所述读取请求转发至所述主节点机13;
相应的,所述主节点机13,用于在所述目录主链中查找所述目标数据文件的文件索引,得到目标文件索引,并利用智能合约、所述目标文件索引以及所述读取请求中携带的分布式身份标识判断所述第二用户应用端是否具有访问权限,若是,则从相应的存证子链中根据所述目标文件索引中确定出所述目标数据文件的存储路径,并根据所述存储路径从所述存储服务器中确定出所述目标数据文件对应的加密后密钥以及加密数据文件以得到目标加密后密钥以及目标加密数据文件;
所述存储服务器15,用于利用服务端私钥对所述目标加密后密钥进行解密,得到解密后密钥,以及从所述公钥链上获取所述第二用户应用端的用户端公钥,并利用所述用户端公钥加密所述解密后密钥,得到新加密后密钥,以及将所述新加密后密钥以及所述目标加密数据文件发送至所述第二用户应用端。
进一步的,在所述第二用户应用端计算所述目标加密数据文件对应的HASH值,并与从存证子链中获取的所述目标加密数据文件的HASH值进行比对,若一致,则保存所述加密数据文件。
主节点机13还用于将所述目标数据文件对应的文件读取行为以及相应的HASH值比对结果存储至所述审计链上。
存储服务器15用于根据所述读取请求中携带的所述分布式身份标识从所述公钥链上获取所述第二用户应用端的用户端公钥。
进一步的,子节点机14还用于将所述存证信息在本网络分片中广播,以在本网络分片中进行共识运算。
主节点机13还用于将所述文件索引在区块链网络系统中全网广播,以在所述区块链网络系统中进行共识运算。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种区块链分片方法及区块链网络系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种区块链分片方法,其特征在于,应用于包括多个网络分片的区块链网络系统,其中,在任一所述网络分片中,
在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给主节点机;
通过所述主节点机在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;
在所述第一用户应用端利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;
通过所述存储服务器存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;其中,不同的存证子链部署于不同的子节点机;
通过所述目标存证子链对应的子节点机将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。
2.根据权利要求1所述的区块链分片方法,其特征在于,所述在第一用户应用端利用加密密钥对待上传数据文件进行加密,得到加密数据文件,包括:
在第一用户应用端利用本地UKEY生成随机数,并将所述随机数作为加密密钥,利用所述加密密钥对待上传数据文件进行加密,得到加密数据文件。
3.根据权利要求2所述的区块链分片方法,其特征在于,所述将所述加密后密钥以及所述加密数据文件发送至存储服务器之后,还包括:
通过所述第一用户应用端获取所述存储服务器返回的所述加密数据文件对应的第一HASH值,并与本地生成的所述加密数据文件对应的第二HASH值进行比较,若一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值一致的第一应答信息,以便所述存储服务器存储所述加密后密钥以及所述加密数据文件,若不一致,则向所述存储服务器返回表示所述第一HASH值与所述第二HASH值不一致的第二应答信息,以便所述存储服务器删除所述加密后密钥以及所述加密数据文件。
4.根据权利要求1所述的区块链分片方法,其特征在于,还包括:
通过所述预设服务器获取第二用户应用端发送的针对目标数据文件的读取请求,并将所述读取请求转发至所述主节点机;
通过所述主节点机在所述目录主链中查找所述目标数据文件的文件索引,得到目标文件索引,并利用智能合约、所述目标文件索引以及所述读取请求中携带的分布式身份标识判断所述第二用户应用端是否具有访问权限,若是,则从相应的存证子链中根据所述目标文件索引中确定出所述目标数据文件的存储路径,并根据所述存储路径从所述存储服务器中确定出所述目标数据文件对应的加密后密钥以及加密数据文件以得到目标加密后密钥以及目标加密数据文件;
通过所述存储服务器利用服务端私钥对所述目标加密后密钥进行解密,得到解密后密钥,以及从所述公钥链上获取所述第二用户应用端的用户端公钥,并利用所述用户端公钥加密所述解密后密钥,得到新加密后密钥,以及将所述新加密后密钥以及所述目标加密数据文件发送至所述第二用户应用端。
5.根据权利要求4所述的区块链分片方法,其特征在于,所述将所述新加密后密钥以及所述目标加密数据文件发送至所述第二用户应用端之后,还包括:
在所述第二用户应用端计算所述目标加密数据文件对应的HASH值,并与从存证子链中获取的所述目标加密数据文件的HASH值进行比对,若一致,则保存所述加密数据文件。
6.根据权利要求5所述的区块链分片方法,其特征在于,所述在所述第二用户应用端计算所述目标加密数据文件对应的HASH值,并与从存证子链中获取的所述目标加密数据文件的HASH值进行比对之后,还包括:
将所述目标数据文件对应的文件读取行为以及相应的HASH值比对结果存储至所述审计链上。
7.根据权利要求4所述的区块链分片方法,其特征在于,所述从所述公钥链上获取所述第二用户应用端的用户端公钥,包括:
根据所述读取请求中携带的所述分布式身份标识从所述公钥链上获取所述第二用户应用端的用户端公钥。
8.根据权利要求1所述的区块链分片方法,其特征在于,所述将所述存证信息存入多条存证子链中的目标存证子链之后,还包括:
将所述存证信息在本网络分片中广播,以在本网络分片中进行共识运算。
9.根据权利要求1至8任一项所述的区块链分片方法,其特征在于,所述将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链之后,还包括:
将所述文件索引在区块链网络系统中全网广播,以在所述区块链网络系统中进行共识运算。
10.一种区块链网络系统,其特征在于,包括多个网络分片,并且在任一所述网络分片中,包括第一用户应用端、预设服务器、主节点机、多个子节点机以及存储服务器,其中,
所述第一用户应用端,用于在利用加密密钥对待上传数据文件进行加密,得到加密数据文件,并向所述预设服务器发送文件上传请求,以便所述预设服务器将所述文件上传请求转发给所述主节点机;
所述主节点机,用于在自身的公钥链中查询服务端公钥,并将所述服务端公钥返回至所述第一用户应用端;
所述第一用户应用端,用于利用所述服务端公钥加密所述加密密钥,得到加密后密钥,并将所述加密后密钥以及所述加密数据文件发送至存储服务器;
所述存储服务器,用于存储所述加密后密钥以及所述加密数据文件,并生成所述加密数据文件的存证信息,以及将所述存证信息存入多条存证子链中的目标存证子链,并将所述待上传数据文件对应的文件上传行为记录至所述主节点机中的审计链;其中,不同的存证子链部署于不同的所述子节点机;
所述目标存证子链对应的所述子节点机,用于将所述加密数据文件对应的文件索引添加至所述主节点机中的目录主链。
CN202210037658.4A 2022-01-13 2022-01-13 一种区块链分片方法及区块链网络系统 Active CN114389878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210037658.4A CN114389878B (zh) 2022-01-13 2022-01-13 一种区块链分片方法及区块链网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210037658.4A CN114389878B (zh) 2022-01-13 2022-01-13 一种区块链分片方法及区块链网络系统

Publications (2)

Publication Number Publication Date
CN114389878A true CN114389878A (zh) 2022-04-22
CN114389878B CN114389878B (zh) 2024-03-19

Family

ID=81201263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210037658.4A Active CN114389878B (zh) 2022-01-13 2022-01-13 一种区块链分片方法及区块链网络系统

Country Status (1)

Country Link
CN (1) CN114389878B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695442A (zh) * 2022-10-31 2023-02-03 安徽高山科技有限公司 一种基于p2p技术的电子合同安全传输方法、装置

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055274A (zh) * 2017-12-22 2018-05-18 广东工业大学 一种基于联盟链存储数据的加密与共享方法及系统
CN108389615A (zh) * 2018-02-08 2018-08-10 罗梅琴 一种基于区块链技术的孕婴追溯存证系统及方法
US10114969B1 (en) * 2015-08-04 2018-10-30 Jordan White Chaney Ultra-secure blockchain-based electronic information transfer system
CN109522270A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 基于区块链的文件存读方法、电子装置及可读存储介质
CN110109930A (zh) * 2019-05-15 2019-08-09 山东省计算中心(国家超级计算济南中心) 基于区块链双链结构的政务数据存储、查询方法及系统
US20190342084A1 (en) * 2018-05-03 2019-11-07 International Business Machines Corporation Blockchain for on-chain management of off-chain storage
CN110930251A (zh) * 2019-10-18 2020-03-27 如般量子科技有限公司 基于联盟链和隐式证书的抗量子计算云存储方法及系统
WO2020142835A1 (en) * 2019-01-10 2020-07-16 Bitnobi, Inc. Distributed governance for sharing of big data
CN111639361A (zh) * 2020-05-15 2020-09-08 中国科学院信息工程研究所 一种区块链密钥管理方法、多人共同签名方法及电子装置
KR20200114807A (ko) * 2019-03-29 2020-10-07 주식회사 케이티 멀티 블록체인 기반의 파일 관리 시스템 및 방법
CN111859422A (zh) * 2020-07-10 2020-10-30 郑州信大先进技术研究院 一种基于区块链的数字资产存证系统
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和系统
CN112182609A (zh) * 2020-09-25 2021-01-05 中国建设银行股份有限公司 基于区块链的数据上链存储方法和追溯方法、装置及设备
CN112256663A (zh) * 2020-10-30 2021-01-22 深圳壹账通智能科技有限公司 基于区块链的分布式文件存储方法及系统
CN113326317A (zh) * 2021-05-24 2021-08-31 中国科学院计算技术研究所 基于同构多链架构的区块链存证方法及系统
CN113343256A (zh) * 2021-06-04 2021-09-03 中荧科技股份有限公司 一种基于区块链技术的电子取证存证系统
CN113468599A (zh) * 2021-06-30 2021-10-01 网易(杭州)网络有限公司 文件存证方法、装置、系统、设备和存储介质
WO2021197105A1 (zh) * 2020-04-02 2021-10-07 支付宝(杭州)信息技术有限公司 基于区块链的信息发布
CN113837760A (zh) * 2021-11-25 2021-12-24 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备以及存储介质

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114969B1 (en) * 2015-08-04 2018-10-30 Jordan White Chaney Ultra-secure blockchain-based electronic information transfer system
CN108055274A (zh) * 2017-12-22 2018-05-18 广东工业大学 一种基于联盟链存储数据的加密与共享方法及系统
CN108389615A (zh) * 2018-02-08 2018-08-10 罗梅琴 一种基于区块链技术的孕婴追溯存证系统及方法
US20190342084A1 (en) * 2018-05-03 2019-11-07 International Business Machines Corporation Blockchain for on-chain management of off-chain storage
CN109522270A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 基于区块链的文件存读方法、电子装置及可读存储介质
WO2020142835A1 (en) * 2019-01-10 2020-07-16 Bitnobi, Inc. Distributed governance for sharing of big data
KR20200114807A (ko) * 2019-03-29 2020-10-07 주식회사 케이티 멀티 블록체인 기반의 파일 관리 시스템 및 방법
CN110109930A (zh) * 2019-05-15 2019-08-09 山东省计算中心(国家超级计算济南中心) 基于区块链双链结构的政务数据存储、查询方法及系统
CN110930251A (zh) * 2019-10-18 2020-03-27 如般量子科技有限公司 基于联盟链和隐式证书的抗量子计算云存储方法及系统
WO2021197105A1 (zh) * 2020-04-02 2021-10-07 支付宝(杭州)信息技术有限公司 基于区块链的信息发布
CN111639361A (zh) * 2020-05-15 2020-09-08 中国科学院信息工程研究所 一种区块链密钥管理方法、多人共同签名方法及电子装置
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和系统
CN111859422A (zh) * 2020-07-10 2020-10-30 郑州信大先进技术研究院 一种基于区块链的数字资产存证系统
CN112182609A (zh) * 2020-09-25 2021-01-05 中国建设银行股份有限公司 基于区块链的数据上链存储方法和追溯方法、装置及设备
CN112256663A (zh) * 2020-10-30 2021-01-22 深圳壹账通智能科技有限公司 基于区块链的分布式文件存储方法及系统
CN113326317A (zh) * 2021-05-24 2021-08-31 中国科学院计算技术研究所 基于同构多链架构的区块链存证方法及系统
CN113343256A (zh) * 2021-06-04 2021-09-03 中荧科技股份有限公司 一种基于区块链技术的电子取证存证系统
CN113468599A (zh) * 2021-06-30 2021-10-01 网易(杭州)网络有限公司 文件存证方法、装置、系统、设备和存储介质
CN113837760A (zh) * 2021-11-25 2021-12-24 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备以及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695442A (zh) * 2022-10-31 2023-02-03 安徽高山科技有限公司 一种基于p2p技术的电子合同安全传输方法、装置

Also Published As

Publication number Publication date
CN114389878B (zh) 2024-03-19

Similar Documents

Publication Publication Date Title
US10015150B2 (en) Systems and methods for Smartkey information management
CN105516110B (zh) 移动设备安全数据传送方法
Kaaniche et al. A secure client side deduplication scheme in cloud storage environments
JP6082589B2 (ja) 暗号鍵管理プログラム、データ管理システム
CN112581126A (zh) 基于区块链的平台数据管理方法、装置及存储介质
US20080140849A1 (en) System and method for distributed media streaming and sharing
CN110191153B (zh) 基于区块链的社交通信方法
JP6543743B1 (ja) 管理プログラム
WO2016128070A1 (en) Method for storing a data file of a client on a storage entity
CN101552669A (zh) 数据传输的方法及系统
US11729175B2 (en) Blockchain folding
CN113065961A (zh) 一种电力区块链数据管理系统
KR101285281B1 (ko) 자가조직 저장매체의 보안 시스템 및 그 방법
KR102399667B1 (ko) 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법
GB2454602A (en) Peer-to-peer storage network
CN113541935B (zh) 一种支持密钥托管的加密云存储方法、系统、设备、终端
US11604888B2 (en) Digital storage and data transport system
US10951510B2 (en) Communication device and communication method
CN115567312A (zh) 一种可满足多种场景的联盟链数据权限管理系统和方法
JP2024501326A (ja) アクセス制御方法、装置、ネットワーク側機器、端末及びブロックチェーンノード
CN114389878B (zh) 一种区块链分片方法及区块链网络系统
CN112818401A (zh) 一种区块链健康档案管理系统
JP3215882U (ja) クラウドストレージベースのファイルアクセス制御システム
US20220020010A1 (en) Decentralized electronic contract attestation platform
CN115086337A (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