CN113377768A - 一种基于联盟链的分布式账本存取方法 - Google Patents

一种基于联盟链的分布式账本存取方法 Download PDF

Info

Publication number
CN113377768A
CN113377768A CN202110612259.1A CN202110612259A CN113377768A CN 113377768 A CN113377768 A CN 113377768A CN 202110612259 A CN202110612259 A CN 202110612259A CN 113377768 A CN113377768 A CN 113377768A
Authority
CN
China
Prior art keywords
alliance link
link node
alliance
node
data
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
CN202110612259.1A
Other languages
English (en)
Other versions
CN113377768B (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.)
Zhejiang Shuqin Technology Co Ltd
Original Assignee
Zhejiang Shuqin Technology Co Ltd
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 Zhejiang Shuqin Technology Co Ltd filed Critical Zhejiang Shuqin Technology Co Ltd
Priority to CN202110612259.1A priority Critical patent/CN113377768B/zh
Publication of CN113377768A publication Critical patent/CN113377768A/zh
Application granted granted Critical
Publication of CN113377768B publication Critical patent/CN113377768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Accounting & Taxation (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及联盟链数据安全技术领域,具体涉及一种基于联盟链的分布式账本存取方法,包括步骤A)将记账数据加密;步骤B)将Dk拆分成n份;步骤C)将dkj公开,记录参与记账数据Dk存取的联盟链节点Pj的标识;步骤D)产生公私秘钥对,随机选取联盟链节点Pe,将公钥加密,公开在联盟链内网中;步骤E)联盟链节点Pe将获得公钥,联盟链节点Pe使用公钥加密
Figure DDA0003097284050000011
重复本步骤直到子数据均被加密;步骤F)联盟链节点Pi请求解密,记账子数据汇集到联盟链节点Pi,联盟链节点均用存储的私钥解密,获得记账数据Dk0。本发明的实质性效果是:将记账数据Dk分散存储,提高了记账数据Dk的保密性和安全性。

Description

一种基于联盟链的分布式账本存取方法
技术领域
本发明涉及联盟链数据安全技术领域,具体涉及一种基于联盟链的分布式账本存取方法。
背景技术
联盟链是由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点。联盟链的数据只允许在系统内不同的机构进行传递。联盟链的各个节点通常有与之对应的实体机构组织,联盟链需要通过授权后才能加入与退出。由于联盟链中的机构通常具有相关的利益,共同维护区块链的运转,因而相对于私有链应用范围更广,相对于公有链则数据隐私性和安全性均较高。联盟链是目前最适合企业区块链业务的方式。但联盟链中的节点意外离线或暴露在公网环境时,仍然会造成联盟链记账数据的丢失、泄露或损坏。因而需要提高联盟链内数据存储的安全性。
如中国专利CN111522831B,公开日2020年12月29日,一种联盟链账本平台的数据记录方法及系统,包括:创建所述联盟链账本平台的数据记录结构,该数据记录结构包括创始区块、正向数据记录结构和反向数据记录结构;设置联盟链账本平台的节点的管理权限;基于所述联盟链账本平台的数据记录结构,利用所述节点的管理权限对联盟链账本平台的数据进行记录及分发,以生成包含数据分发轨迹的记录信息;以及在所述记录的过程中,还对所述联盟链账本平台的数据进行隔离。其可以确保撤销记录可追溯的同时又不影响正常交易打包上链的操作,但其仅能保证数据的准确性不能保证联盟链记账数据的保密性和安全性。
发明内容
本发明要解决的技术问题是:联盟链数据保密性和安全性不够高的技术问题。提出了一种基于联盟链的分布式账本存取方法,能够提高联盟链上记账数据的保密性和安全性。
为解决上述技术问题,本发明所采取的技术方案为:一种基于联盟链的分布式账本存取方法,包括:记账数据存储:步骤A)联盟链节点P0将记账数据加密后拆分成n个子数据,n个联盟链节点决定参与记账数据的存取并分别被分配一个子数据;步骤B)联盟链节点P0产生公私秘钥对,将公钥使用n个联盟链节点中的任意一个节点的公钥加密后广播;步骤C)能够成功解密获得公钥的联盟链节点,使用解密获得的公钥加密被分配到的子数据,而后产生一对新的公私秘钥对,将公钥使用n个联盟链节点中的任意一个节点的公钥加密后广播;步骤D)能够成功解密获得公钥的联盟链节点执行步骤C),直到全部子数据完成加密;记账数据读取:步骤E)联盟链节点P0向n个联盟链节点发出记账数据解密请求,联盟链节点将保存的加密记账子数据在联盟链内广播;步骤F)联盟链节点均使用自身保存的私钥尝试解密广播的加密子数据,若能成功解密,则将解密后的子数据发送给联盟链节点P0,收集到全部子数据后拼接,联盟链节点P0再次解密后获得记账数据,完成记账数据的读取。将记账数据截断拆分成子数据,而后对子数据加密后,分别存储在不同的联盟链节点中,分散了数据,提高了记账数据的保密性,存储有子数据的联盟链节点并不保存对应的解密秘钥,且在解密过程中,联盟链节点不会接触到解密秘钥,且解密秘钥不需要传递,因而提高了记账数据的保密性,分散存储提高了记账数据的安全性。记账数据的解密需要在联盟链内网环境中才能完成,有效避免了记账数据泄露出联盟链之外的风险。
作为优选,联盟链节点P0将记账数据复制一份,重新执行步骤A)至步骤D),作为记账数据的备份存储。提高了记账数据的安全性,使其不易损毁丢失。
作为优选,步骤A)中,联盟链节点P0将记账数据拆分成n个子数据后,提取子数据的哈希值,为子数据建立标签,所述标签记载子数据的所有者标识、次序和哈希值;步骤F)中,联盟链节点判断能成功解密子数据的方法为,将解密后的子数据提取哈希值,将提取的哈希值与标签记载哈希值对比,若一致则判断成功解密,反之,则判定解密失败。通过验证哈希值能够判断解密后是否正确获得了原数据。
作为优选,步骤A)中,联盟链节点P0发布智能合约,所述智能合约记录记账数据的标识、参与标识数组和奖励,所述参与标识数组长度为n且具有初始空值,联盟链节点若决定参与记账数据的存取,则随机选取参与标识数组中的一个空值替换为自身的标识。通过智能合约能够方便的记录参与记账数据的存取的联盟链节点,提高记账数据存取效率。
作为优选,步骤A)中,联盟链节点P0将子数据随机排序,而后按照参与标识数组顺序中记录的联盟链节点,将dk发送给对应的联盟链节点。通过本优选方案能够使得取数据时不出现重复现象,保证数据一一分发给联盟链节点。
作为优选,步骤D)中,若联盟链节点能够成功解密获得公钥,但其已经将被分配的子数据加密,则传递解密得到的公钥,具体包括:将解密得到的公钥使用联盟链节点P0的公钥加密后广播,联盟链节点P0收到后,再次随机选取一个联盟链节点的公钥加密后广播,联盟链节点P0维护一个被选取过的联盟链节点的列表,当联盟链节点的列表包含了全部n个参与记账数据的联盟链节点时,判定全部子数据完成加密。本优选方案能够确保所有联盟链节点均能够收到一个加密秘钥,且能够快速判定全部联盟链节点读取的子数据均被加密。
作为优选,步骤D)中,若联盟链节点能够成功解密获得公钥,但其已经将被分配的子数据加密,则在联盟链内网中广播公开解密得到的公钥,产生被公开的公钥的联盟链节点收到广播后,重新生成公私秘钥对,并重新随机选取一个联盟链节点的公钥加密重新生成的公钥,每个联盟链节点均维护一个被选取过的联盟链节点的列表,当某个联盟链节点维护的被选取过的联盟链节点的列表包含除自身外的其他n-1个参与记账数据的联盟链节点时,判定全部子数据完成加密。本优选方案能够确保所有联盟链节点均能够收到一个加密公钥。
作为优选,步骤A)中,联盟链节点P0发布智能合约,所述智能合约记录记账数据的标识、两个参与标识数组和奖励,两个所述参与标识数组长度为n且具有初始空值,联盟链节点若决定参与记账数据的存取,则在两个参与标识数组中分别选取参与标识数组中的一个空值替换为自身的标识,联盟链节点P0按照两个标识数组顺序中记录的联盟链节点,两次将子数据随机排序后按参与标识数组发送给对应的联盟链节点。通过本优选方案能够形成备用存储,单一联盟链节点上存储的数据损坏时,记账数据仍然能够恢复。
本发明的实质性效果是:1)将记账数据分散存储,提高了记账数据的保密性和安全性;2)存储有子数据的联盟链节点并不保存对应的解密秘钥,且在解密过程中,联盟链节点不需要传递解密秘钥,因而提高了记账数据的保密性;3)记账数据的解密需要在联盟链内网环境中才能完成,有效避免了记账数据泄露出联盟链之外的风险。
附图说明
图1为实施例一记账数据预处理示意图。
图2为实施例一记账子数据加密示意图。
图3为实施例一记账数据存储读取流程框图。
图4为实施例一智能合约示意图。
其中:100、智能合约,101、标识数组,102、奖励。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种基于联盟链的分布式账本存取方法,包括:
记账数据存储步骤:
预处理记账数据,包括步骤A)联盟链节点P0产生记账数据Dk0,联盟链节点P0将记账数据Dk0加密为记账数据Dk,解密秘钥为key0,k为记账数据标识,联盟链节点P0将记账数据Dk拆分成n份,提取子数据dkj,j∈[1,n]的哈希值,记为子数据dkj,j∈[1,n],j表示子数据的次序标识,n为拟参与记账数据Dk存取的联盟链节点数量,数据dkj关联有标识标签,标识标签记录有k、j和哈希值。记账数据预处理过程请参阅附图1。
联盟链节点P0将dkj,j∈[1,n]公开在联盟链内网环境中,联盟链节点P0发布智能合约100,智能合约100记录记账数据标识k、标识数组101和奖励102,标识数组101长度为n且具有初始空值,联盟链节点Pj若决定参与记账数据Dk的存取,则随机选取标识数组101中的一个初始空值,将初始空值替换为自身的标识。n个联盟链节点Pj,j∈[1,n]决定参与记账数据Dk的存取,而后联盟链节点P0将dkj随机排序,而后按照标识数组101顺序中记录的联盟链节点Pj,将dkj发送给对应的联盟链节点Pj。联盟链节点P0记录联盟链节点Pj,j∈[1,n]的标识,n个联盟链节点分别读取记账数据Dk拆分后的一个子数据,记为
Figure BDA0003097284030000041
联盟链内网环境通常为较为安全的网络环境,可以采用专用网络或采用VPN的方式构建。联盟链内的记账数据,仅允许在联盟链内使用并需要保证其正确性。
步骤B)联盟链节点P0产生一个公私秘钥对
Figure BDA0003097284030000042
Figure BDA0003097284030000043
从联盟链节点Pj,j∈[1,n]中,随机选取一个联盟链节点Pe,将
Figure BDA0003097284030000044
使用联盟链节点Pe的公钥加密,记为
Figure BDA0003097284030000045
而后公开在联盟链内网中,将
Figure BDA0003097284030000046
与记账数据标识k关联后存储。联盟链节点Pe虽然知道联盟链节点Pe2接收了其发送的公钥,但联盟链节点Pe并不能确定联盟链节点Pe2存储了哪一个子数据,只有在全部联盟链节点均将其存储的子数据汇集时,联盟链节点Pe才能确保能够找到对应的子数据,使用其保存的私钥解密对应的子数据,使得只有全部参与记账数据Dk的联盟链节点Pj,j∈[1,n]同时进行解密步骤时,才能完成解密过程,使得意外的解密行为无法进行,确保了联盟链记账数据的安全性。
步骤C)联盟链节点Pj,j∈[1,n]均读取并尝试使用自己的私钥解密
Figure BDA0003097284030000051
其余联盟链节点不做操作,联盟链节点Pe使用
Figure BDA0003097284030000052
加密
Figure BDA0003097284030000053
获得加密后的记账子数据
Figure BDA0003097284030000054
Figure BDA0003097284030000055
存储在本地,而后联盟链节点Pe产生一个公私秘钥对
Figure BDA0003097284030000056
Figure BDA0003097284030000057
Figure BDA0003097284030000058
与记账数据标识k关联后存储,随机选取一个联盟链节点Pe2,将
Figure BDA0003097284030000059
使用联盟链节点Pe2的公钥加密,记为
Figure BDA00030972840300000510
而后公开在联盟链内网中。
步骤D)重复步骤C),直到全部联盟链节点Pj读取的子数据均被加密,联盟链节点Pi删除记账数据Dk,完成记账数据Dk的分布式存储。
在步骤D)中,随机选取一个联盟链节点Pe2时,可能会出现联盟链节点被重复选取或漏选的情况,本实施例提供了避免联盟链节点被漏选的技术方案,请参阅附图2,在步骤D)中,若联盟链节点Pe已经将子数据加密,但再次成功解密
Figure BDA00030972840300000511
获得
Figure BDA00030972840300000512
则传递
Figure BDA00030972840300000513
具体为:将
Figure BDA00030972840300000514
使用联盟链节点Pi的公钥加密后公开在联盟链内网中,联盟链节点P0收到
Figure BDA00030972840300000515
后,随机选取一个联盟链节点Pe2,将
Figure BDA00030972840300000516
使用联盟链节点Pe2的公钥加密,记为
Figure BDA00030972840300000517
而后公开在联盟链内网中,联盟链节点P0维护一个被选取联盟链节点的列表,当联盟链节点的列表包含了全部参与记账数据Dk存取的联盟链节点时,判定全部联盟链节点Pj读取的子数据均被加密。本优选方案能够确保所有联盟链节点Pj,j∈[1,n]均能够收到一个加密秘钥,且能够快速判定全部联盟链节点Pj读取的子数据均被加密。
记账数据存储读取流程示意请参阅附图3,本实施例中,共有3个联盟链节点参与账本数据的加密存储,即j取值1/2/3。联盟链节点P0将产生的账本数据拆分为子数据:d_203_1,d_203_2,d_203_3,其中203表示账本数据在联盟链中的唯一编号为203。三个子数据随机分配给三个联盟链节点P1、联盟链节点P2和联盟链节点P3。联盟链节点P1被分配子数据d_203_3,联盟链节点P2被分配子数据d_203_1,联盟链节点P3被分配子数据d_203_2。联盟链节点P0产生公私秘钥对,Key_P0_pub和Key_P0_priate,将Key_P0_pub使用联盟链节点P2的公钥加密后广播。
联盟链节点P2将收到Key_P0_pub,使用Key_P0_pub加密子数据d_203_1后,产生公私秘钥对,Key_P2_pub和Key_P2_priate,将Key_P2_pub使用随机选取的联盟链节点P1的公钥加密后广播。
联盟链节点P1将收到Key_P2_pub,使用Key_P2_pub加密子数据d_203_3后,产生公私秘钥对,Key_P1_pub和Key_P1_priate,将Key_P1_pub使用随机选取的联盟链节点P2的公钥加密后广播。
联盟链节点P2将收到Key_P1_pub,由于联盟链节点P2收到的子数据d_203_1已经被加密,因而联盟链节点P2将Key_P1_pub用联盟链节点P0的公钥加密后广播,联盟链节点P0收到后,再次随机选取一个联盟链节点P3的公钥加密后广播,并在已被选取的联盟链节点列表中添加联盟链节点P3的标识。
联盟链节点P3将收到Key_P1_pub,使用Key_P1_pub加密子数据d_203_2后,产生公私秘钥对,Key_P3_pub和Key_P3_priate,将Key_P3_pub使用随机选取的联盟链节点P2的公钥加密后广播。
联盟链节点P2将收到Key_P3_pub,由于联盟链节点P2收到的子数据d_203_1已经被加密,因而联盟链节点P2将Key_P3_pub用联盟链节点P0的公钥加密后广播,联盟链节点P0收到后,再次随机选取一个联盟链节点P1的公钥加密后广播,并在已被选取的联盟链节点列表中添加联盟链节点P1的标识。
联盟链节点P1也将退回Key_P3_pub,联盟链节点P0再次随机选取一个联盟链节点P2的公钥加密后广播,并在已被选取的联盟链节点列表中添加联盟链节点P1的标识。联盟链节点P2也将退回Key_P3_pub,联盟链节点P0将发现联盟链节点P1、联盟链节点P2和联盟链节点P3均已在被选取的联盟链节点列表中,因而判断全部子数据已完成加密。因而不再转发公钥Key_P3_pub,完成联盟链账本数据的存储。
记账数据读取:
步骤E)联盟链节点P0向联盟链节点Pj,j∈[1,n]发出记账数据Dk解密请求,联盟链节点Pj,j∈[1,n]将全部记账子数据
Figure BDA0003097284030000061
在联盟链内广播。
步骤F)联盟链节点P0以及联盟链节点Pj,j∈[1,n]均尝试使用各自存储的与k关联的私钥
Figure BDA0003097284030000071
解密加密后的记账子数据
Figure BDA0003097284030000072
将记账子数据
Figure BDA0003097284030000073
解密后的哈希值与对应的标识标签含有的哈希值比对,若一致则判定解密成功,反之,则判定解密失败,若解密成功则将解密后的记账子数据
Figure BDA0003097284030000074
发送给联盟链节点P0,联盟链节点P0将收到全部解密后的记账子数据
Figure BDA0003097284030000075
即记账子数据dkj,j∈[1,n]根据标识标签排序后,获得记账数据Dk,将记账数据Dk使用解密秘钥key0解密后获得记账数据Dk0。将记账数据Dk截断拆分成子数据,而后对子数据加密后,分别存储在不同的联盟链节点中,分散了数据,提高了记账数据Dk的保密性,存储有子数据的联盟链节点并不保存对应的解密秘钥,且在解密过程中,联盟链节点不会接触到解密秘钥,且解密秘钥不需要传递,因而提高了记账数据Dk的保密性,分散存储提高了记账数据Dk的安全性。记账数据Dk的解密需要在联盟链内网环境中才能完成,有效避免了记账数据Dk泄露出联盟链之外的风险。
本实施例的有益技术效果是:将记账数据Dk分散存储,提高了记账数据Dk的保密性和安全性;存储有子数据的联盟链节点并不保存对应的解密秘钥,且在解密过程中,联盟链节点不需要传递解密秘钥,因而提高了记账数据Dk的保密性;记账数据Dk的解密需要在联盟链内网环境中才能完成,有效避免了记账数据Dk泄露出联盟链之外的风险。
实施例二:
相对于实施例一,实施例二提供了另一种避免联盟链节点被漏选的技术方案,步骤D)中,若联盟链节点Pe已经将子数据加密,但再次成功解密
Figure BDA0003097284030000076
获得
Figure BDA0003097284030000077
则在联盟链内网中广播公开
Figure BDA0003097284030000078
产生
Figure BDA0003097284030000079
的联盟链节点收到广播后,重新生成一个公私秘钥对
Figure BDA00030972840300000710
Figure BDA00030972840300000711
并再次随机选取一个联盟链节点Pe2,将
Figure BDA00030972840300000712
使用联盟链节点Pe2的公钥加密,记为
Figure BDA00030972840300000713
而后公开在联盟链内网中,联盟链节点Pj,j∈[1,n]均记录选取列表,若某个联盟链节点Pj记录的选取列表包含了除自身外的全部参与记账数据Dk存取的联盟链节点时,则在联盟链内广播预定的完成信号,表示全部联盟链节点Pj读取的子数据均被加密。
相对于实施例一,实施例二还提供了冗余存储的两个技术方案,分别为:联盟链节点Pi将记账数据Dk0复制一份作为Dk0,执行步骤A)至步骤D),作为记账数据Dk0的备份存储。
和在步骤A)中,联盟链节点Pi发布智能合约100,智能合约100记录记账数据标识k、两个标识数组101和奖励102,两个标识数组101长度为n且具有初始空值,请参阅附图4,联盟链节点Pj若决定参与记账数据Dk,则在两个标识数组101中分别选取一个初始空值,将初始空值替换为自身的标识,联盟链节点P0按照两个标识数组101顺序中记录的联盟链节点Pj,两次将dkj随机排序后按排序发送给标识数组101中对应顺序的联盟链节点Pj
本实施例构建有惩罚机制,当在步骤F)中,记账子数据
Figure BDA0003097284030000081
解密后的哈希值与对应的标识标签含有的哈希值比对全部不一致,则对相应的联盟链节点进行惩罚,扣除其奖励或加入黑名单。其余步骤同实施例一。相对于实施例一,实施例二能够形成备用存储,单一联盟链节点上存储的数据损坏时,记账数据Dk仍然能够恢复。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (8)

1.一种基于联盟链的分布式账本存取方法,其特征在于,
包括:
记账数据存储:
步骤A)联盟链节点P0将记账数据加密后拆分成n个子数据,n个联盟链节点决定参与记账数据的存取并分别被分配一个子数据;
步骤B)联盟链节点P0产生公私秘钥对,将公钥使用n个联盟链节点中的任意一个节点的公钥加密后广播;
步骤C)能够成功解密获得公钥的联盟链节点,使用解密获得的公钥加密被分配到的子数据,而后产生一对新的公私秘钥对,将公钥使用n个联盟链节点中的任意一个节点的公钥加密后广播;
步骤D)能够成功解密获得公钥的联盟链节点执行步骤C),直到全部子数据完成加密;
记账数据读取:
步骤E)联盟链节点P0向n个联盟链节点发出记账数据解密请求,联盟链节点将保存的加密记账子数据在联盟链内广播;
步骤F)联盟链节点均使用自身保存的私钥尝试解密广播的加密子数据,若能成功解密,则将解密后的子数据发送给联盟链节点P0,收集到全部子数据后拼接,联盟链节点P0再次解密后获得记账数据,完成记账数据的读取。
2.根据权利要求1所述的一种基于联盟链的分布式账本存取方法,其特征在于,
联盟链节点P0将记账数据复制一份,重新执行步骤A)至步骤D),作为记账数据的备份存储。
3.根据权利要求1或2所述的一种基于联盟链的分布式账本存取方法,其特征在于,
步骤A)中,联盟链节点P0将记账数据拆分成n个子数据后,提取子数据的哈希值,为子数据建立标签,所述标签记载子数据的所有者标识、次序和哈希值;
步骤F)中,联盟链节点判断能成功解密子数据的方法为,将解密后的子数据提取哈希值,将提取的哈希值与标签记载哈希值对比,若一致则判断成功解密,反之,则判定解密失败。
4.根据权利要求1或2所述的一种基于联盟链的分布式账本存取方法,其特征在于,
步骤A)中,联盟链节点P0发布智能合约,所述智能合约记录记账数据的标识、参与标识数组和奖励,所述参与标识数组长度为n且具有初始空值,联盟链节点若决定参与记账数据的存取,则随机选取参与标识数组中的一个空值替换为自身的标识。
5.根据权利要求4所述的一种基于联盟链的分布式账本存取方法,其特征在于,
步骤A)中,联盟链节点P0将子数据随机排序,而后按照参与标识数组顺序中记录的联盟链节点,将dk发送给对应的联盟链节点。
6.根据权利要求1或2所述的一种基于联盟链的分布式账本存取方法,其特征在于,
步骤D)中,若联盟链节点能够成功解密获得公钥,但其已经将被分配的子数据加密,则传递解密得到的公钥,具体包括:
将解密得到的公钥使用联盟链节点P0的公钥加密后广播,联盟链节点P0收到后,再次随机选取一个联盟链节点的公钥加密后广播,联盟链节点P0维护一个被选取过的联盟链节点的列表,当联盟链节点的列表包含了全部n个参与记账数据的联盟链节点时,判定全部子数据完成加密。
7.根据权利要求1或2所述的一种基于联盟链的分布式账本存取方法,其特征在于,
步骤D)中,若联盟链节点能够成功解密获得公钥,但其已经将被分配的子数据加密,则在联盟链内网中广播公开解密得到的公钥,产生被公开的公钥的联盟链节点收到广播后,重新生成公私秘钥对,并重新随机选取一个联盟链节点的公钥加密重新生成的公钥,每个联盟链节点均维护一个被选取过的联盟链节点的列表,当某个联盟链节点维护的被选取过的联盟链节点的列表包含除自身外的其他n-1个参与记账数据的联盟链节点时,判定全部子数据完成加密。
8.根据权利要求1所述的一种基于联盟链的分布式账本存取方法,其特征在于,
步骤A)中,联盟链节点P0发布智能合约,所述智能合约记录记账数据的标识、两个参与标识数组和奖励,两个所述参与标识数组长度为n且具有初始空值,联盟链节点若决定参与记账数据的存取,则在两个参与标识数组中分别选取参与标识数组中的一个空值替换为自身的标识,联盟链节点P0按照两个标识数组顺序中记录的联盟链节点,两次将子数据随机排序后按参与标识数组发送给对应的联盟链节点。
CN202110612259.1A 2021-06-02 2021-06-02 一种基于联盟链的分布式账本存取方法 Active CN113377768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110612259.1A CN113377768B (zh) 2021-06-02 2021-06-02 一种基于联盟链的分布式账本存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110612259.1A CN113377768B (zh) 2021-06-02 2021-06-02 一种基于联盟链的分布式账本存取方法

Publications (2)

Publication Number Publication Date
CN113377768A true CN113377768A (zh) 2021-09-10
CN113377768B CN113377768B (zh) 2022-07-15

Family

ID=77575355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110612259.1A Active CN113377768B (zh) 2021-06-02 2021-06-02 一种基于联盟链的分布式账本存取方法

Country Status (1)

Country Link
CN (1) CN113377768B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180101842A1 (en) * 2016-10-10 2018-04-12 AlphaPoint User account management via a distributed ledger
CN111292014A (zh) * 2020-03-10 2020-06-16 江苏大学 一种基于联盟链的智能农机调度系统及其调度方法
CN111783151A (zh) * 2020-06-30 2020-10-16 平安科技(深圳)有限公司 区块链账本的管理方法、装置和计算机设备
CN111917748A (zh) * 2020-07-22 2020-11-10 上海飞博激光科技有限公司 基于ipfs+联盟链的智能激光器远程控制系统和方法
CN112597526A (zh) * 2021-03-05 2021-04-02 浙江数秦科技有限公司 一种用于联盟链的安全数据存取方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180101842A1 (en) * 2016-10-10 2018-04-12 AlphaPoint User account management via a distributed ledger
CN111292014A (zh) * 2020-03-10 2020-06-16 江苏大学 一种基于联盟链的智能农机调度系统及其调度方法
CN111783151A (zh) * 2020-06-30 2020-10-16 平安科技(深圳)有限公司 区块链账本的管理方法、装置和计算机设备
CN111917748A (zh) * 2020-07-22 2020-11-10 上海飞博激光科技有限公司 基于ipfs+联盟链的智能激光器远程控制系统和方法
CN112597526A (zh) * 2021-03-05 2021-04-02 浙江数秦科技有限公司 一种用于联盟链的安全数据存取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
高昊昱等: "《区块链在数据完整性保护领域的研究与应用进展》", 《计算机应用》 *
高昊昱等: "《区块链在数据完整性保护领域的研究与应用进展》", 《计算机应用》, 10 March 2021 (2021-03-10), pages 0745 *

Also Published As

Publication number Publication date
CN113377768B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN110545286B (zh) 加入联盟链、退出联盟链的方法、装置、设备及存储介质
KR101285281B1 (ko) 자가조직 저장매체의 보안 시스템 및 그 방법
CN110286849B (zh) 数据存储系统的数据处理方法和装置
CN113268746B (zh) 一种基于区块链的数据存储加密方法
CN112654972A (zh) 具有受限交易的区块链设置
CN112486736A (zh) 一种基于区块链数据备份系统及备份方法
CN109936620B (zh) 基于区块链的存储方法及装置、系统与存储介质
CN111586010B (zh) 一种密钥分发方法及装置
CN115270145A (zh) 一种基于联盟链和联邦学习的用户窃电行为检测方法及系统
CN113392430A (zh) 基于智能合约认证的数字资源管理方法及系统
CN114389878B (zh) 一种区块链分片方法及区块链网络系统
CN116226880A (zh) 一种基于可搜索加密的区块链密文检索安全溯源系统
CN115964730A (zh) 一种基于联盟链多链式的区块链信息存储方法
Yuvaraj et al. Secure de-duplication over wireless sensing data using convergent encryption
CN110555682B (zh) 基于联盟链的多通道实现方法
CN110008739B (zh) 一种基于群组的区块链系统、群组管理方法及装置
CN113568568B (zh) 一种基于分布式存储的硬件加密方法、系统及装置
CN112989428B (zh) 一种联盟链数据快速加密存储方法
CN110365472B (zh) 基于非对称密钥池对的量子通信服务站数字签名方法、系统
CN114239044A (zh) 一种去中心化的可追溯共享访问系统
CN110659903B (zh) 一种基于区块链的数据交易方法
CN113377768B (zh) 一种基于联盟链的分布式账本存取方法
CN111447057B (zh) 一种基于门限秘密共享技术的安全存储方法及设备
CN116663029A (zh) 银行交易数据保护方法、装置、计算机设备和存储介质
CN110990845A (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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Distributed Ledger Access Method Based on Consortium Chain

Effective date of registration: 20220825

Granted publication date: 20220715

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: ZHEJIANG SHUQIN TECHNOLOGY CO.,LTD.

Registration number: Y2022330001899

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20220715

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: ZHEJIANG SHUQIN TECHNOLOGY CO.,LTD.

Registration number: Y2022330001899

PC01 Cancellation of the registration of the contract for pledge of patent right