CN113127562A - 一种低冗余区块链数据存储和检索方法及系统 - Google Patents

一种低冗余区块链数据存储和检索方法及系统 Download PDF

Info

Publication number
CN113127562A
CN113127562A CN202110339456.0A CN202110339456A CN113127562A CN 113127562 A CN113127562 A CN 113127562A CN 202110339456 A CN202110339456 A CN 202110339456A CN 113127562 A CN113127562 A CN 113127562A
Authority
CN
China
Prior art keywords
data
account book
node
block
backup
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.)
Pending
Application number
CN202110339456.0A
Other languages
English (en)
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.)
Henan Jiuyu Tenglong Information Engineering Co ltd
Original Assignee
Henan Jiuyu Tenglong Information Engineering 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 Henan Jiuyu Tenglong Information Engineering Co ltd filed Critical Henan Jiuyu Tenglong Information Engineering Co ltd
Priority to CN202110339456.0A priority Critical patent/CN113127562A/zh
Publication of CN113127562A publication Critical patent/CN113127562A/zh
Pending legal-status Critical Current

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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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
    • 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
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/50Cryptographic 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种低冗余区块链数据存储和检索方法及系统,上述方法包括:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;基于Raft协议实现区块链节点之间的上链共识机制;领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。本发明通过重构区块数据结构,剔除冗余账本数据,并新增查询索引结构,提出基于Raft协议和Hash散列的低冗余账本数据存储和检索方法,最终实现区块链低冗余数据存储和溯源。

Description

一种低冗余区块链数据存储和检索方法及系统
技术领域
本发明属于区块链技术领域,具体涉及一种低冗余区块链数据存储和检索方法及系统、设备、存储介质。
背景技术
区块链本质上是一个分布式共享数据库,基于P2P网络、密码学、数据库等技术,在无需可信认证中心的情况下,实现数据的不可篡改、不可抵赖等性质。目前,区块链技术已成功应用于电子政务中的存证管理、互联网货币交易平台、数据交换与共享等领域,已经是政府、产业界和学术界备受关注的热点技术。
区块链采用P2P网络以全连接的方式将一个个对等节点连接起来,节点之间采取广播的方式传输数据,每个节点以链式结构同步分布式账本;采用MD5等方法提取账本数据的Hash摘要以防止账本数据被篡改,采用数字签名等方法确保账本数据不可抵赖;采用分布式数据库共识方法实现去中心化的节点间信任机制。
尽管区块链技术有着去中心化、不可篡改、不可抵赖等优点,然而传统的区块链仍然存在一些缺点:为了保障分布式账本的安全性和可靠性,所有节点需要同步存储相同的分布式账本,造成区块链网络中存在大量冗余数据,特别是面向大量节点、海量数据场景,不利用于区块链技术的广泛应用。=。
发明内容
有鉴于此,本发明提出了一种低冗余区块链数据存储和检索方法及系统、设备、存储介质,用于解决区块链网络中存在大量冗余数据的问题。
本发明第一方面,公开一种低冗余区块链数据存储和检索方法,所述方法包括:
对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
优选的,所述方法还包括:
当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
优选的,所述低冗余区块数据结构包括时间戳、数字签名、账本摘要、查询索引;
所述时间戳是由区块链网络中的领导者节点记录系统时间;
所述数字签名是区块链网络中的领导者节点利用自己的私钥对节点的身份信息进行的数字签名;
所述账本摘要是将账本数据、时间戳、数字签名合并成一个区块文件,采用MD5算法提取区块文件的Hash摘要得到;
所述查询索是引通过索引结构存放领导者节点的本地网络地址和数据备份节点的网络地址。
优选的,所述基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制具体包括:
当区块链网络中有节点需要发布账本数据时,基于Raft协议,通过随机投票方式选举出区块链网络中的领导者节点;
领导者节点生成时间戳、账本数据、数字签名和账本摘要,基于所述低冗余区块数据结构构造账本区块和账本数据一并广播给其他所有节点;
其他任意节点接收到账本区块以及账本数据后,进行合法性验证;其他任意节点进行合法性验证通过后向其他所有节点发送确认信息,除领导者节点外的其他节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,并舍弃账本数据。
优选的,所述领导者节点将账本区块上链后,保存数据至本地具体包括:
领导者节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,同时将账本数据及其账本摘要保存至本地账本数据库中,并建立一份账本数据备份。
优选的,所述基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引具体包括:
领导者节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点;
领导者节点将账本数据备份及账本摘要发送至备份节点进行存储;
领导者节点获取本地网络地址和备份节点网络地址并发送至其他所有节点,其他所有节点接收到后更新本地区块链上低冗余账本区块中的查询索引。
优选的,所述Hash散列函数为:
Hash(md5,N)=md5%(N-1)
其中md5为账本摘要,N为区块链网络的节点总数。
本发明第二方面,公开一种低冗余区块链数据存储和检索系统,所述系统包括:
区块重构模块:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
共识机制模块:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
备份存储模块:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
分布式检索模块:当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
本发明第三方面,公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如本发明第一方面所述的方法。
本发明第四方面,公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现如本发明第一方面所述所述的方法。
本发明相对于现有技术具有以下有益效果:
1)本发明通过重构区块数据结构,保留时间戳、账本摘要、数字签名等结构,剔除冗余账本数据,并新增查询索引结构,该区块数据结构不包含账本数据,除领导者节点和数据备份节点外的任意节点确认账本数据的有效性后,即可删除账本数据,即每次数据上链仅有领导者节点和账本数据备份节点会存储数据,而其他节点不保存账本数据,能有效降低区块链网络中的存储冗余,从而保障区块链安全性的同时减少区块链网络中的数据冗余。
2)为了保障账本数据的可靠性,同时不影响分布式账本溯源,提出基于Raft协议和Hash散列的低冗余账本数据存储和检索方法,通过采用Raft协议实现数据上链、备份存储的共识机制,在区块链网络中随机散列存储账本数据备份,通过区块中的索引结构进行溯源,最终实现区块链低冗余数据存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明低冗余区块数据结构示意图;
图2为基于Raft协议和Hash散列的低冗余账本数据存储和检索工作流程图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本发明提出一种低冗余区块链数据存储和检索方法,所述方法包括:
S1、构造低冗余区块数据结构:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
请参阅图1,图1为本发明低冗余区块数据结构示意图,本发明对传统分布式账本进行重构,提取其中时间戳、账本摘要、数字签名等部分,剔除账本数据部分,并新增查询索引部分,从而构造一种新型区块数据结构,主要包含时间戳time、数字签名sign、账本摘要md5和查询索引index等。所述账本摘要包括当前区块MD5摘要以及父节点MD5摘要。
其中,时间戳time:由区块链网络中的领导者节点记录的系统时间,并记录在生成的数据区块文件中,用于记录账本生成时间;
数字签名sign:区块链网络中的领导者节点利用自己的私钥keyprivate(秘钥长度为1024位),采用RSA加密方法sign=RSAEncrypt(identity,keyprivate)对节点的身份信息identity进行数字签名,该签名可以利用领导者节点公开的公钥keypublic(秘钥长度为1024位),采用RSA解密方法identity=RSADecrypt(sign,keypublic)进行解密以确认该节点的身份信息是否正确,用于记录生成账本的节点并防止抵赖;
账本摘要md5:将账本数据data、时间戳time、数字签名sign合并成一个区块文件,采用MD5算法
Figure BDA0002998710330000051
提取区块文件的Hash摘要组成账本摘要,用于唯一标识账本并防止账本被篡改,其中
Figure BDA0002998710330000052
为文本拼接符号;
查询索引index:通过新增的索引结构存放领导者节点的本地网络地址ipleader和数据备份节点的网络地址ipcopy,表示为
Figure BDA0002998710330000053
用于查询少量散列存储在分布式节点中的区块数据,便于账本数据溯源。
账本区块数据结构即由上述时间戳time、数字签名sign、账本摘要md5和查询索引index的文本数据组成,表示为
Figure BDA0002998710330000061
其中
Figure BDA0002998710330000062
为文本拼接符号。该区块数据结构不包含账本数据data,当任意节点(除领导者节点和数据备份节点外)确认账本数据的有效性后,即可删除账本数据,从而减少区块链网络中的数据冗余。相对于传统分布式账本,因剔除账本数据、增加查询索引部分,从而降低区块链网络中大量冗余存储的数据。
请参阅图2,图2为本发明基于Raft协议和Hash散列的低冗余账本数据存储和检索工作流程示意图,对应于以下步骤S2、S3。
S2、基于Raft协议实现区块链节点共识:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
当区块链网络中有节点需要发布账本数据时,基于Raft协议,通过随机投票方式选举出区块链网络中的领导者节点;比如,随机投票方式选举时,超过1/2的节点通过则认为选举成功,重复选举直至选举成功为止。
领导者节点生成时间戳time、账本数据data,并生成数字签名sign和账本摘要md5,基于上述低冗余区块数据结构构造账本区块ledger,表示为ledger=generate(time,sign,md5,index),将ledger和账本数据data一并广播给其他所有节点,即广播
Figure BDA0002998710330000063
其他任意节点接收到账本区块以及账本数据后,进行合法性验证;具体的,所述合法性验证包括:从账本区块中提取时间戳time、数字签名sign、账本摘要md5,表示为(time,sign,md5)=Disassemble(ledger)。通过验证当前账本区块时间戳timei是否大于区块链中上一区块的时间戳timei-1以验证时间正确性,即timei>timei-1;通过比较数字签名解密后的信息与签名者身份信息是否一致来验证账本区块未被伪造,表示为Match(identityleader,RSADecrypt(sign,keypublic))==0;通过比较账本摘要md5与由账本数据data、时间戳time、数字签名sign生成的MD5标签是否一致来验证账本区块未被篡改,表示为
Figure BDA0002998710330000064
任意节点进行合法性验证通过后向其他所有节点发送确认信息,除领导者节点外的其他节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块ledger上链,并舍弃账本数据data,表示为Onchain(ledger)。
本发明采用Raft协议实现区块链节点之间的共识机制,区块链网络中各节点通过投票机制选出临时领导节点,由领导节点构造低冗余账本区块(附上账本数据)
Figure BDA0002998710330000071
并广播给其他跟随节点,其他节点收到账本区块后验证区块的合法性并向所有其他节点反馈确认信息,任一节点当且仅当收到一半以上的节点反馈确认信息后,则将账本区块上链并舍弃其中的账本数据部分。
S3、基于Hash散列的随机备份存储:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。具体包括:
S31、领导者节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块ledger上链Onchain(ledger),同时将账本数据data及其账本摘要md5保存至本地账本数据库中,表示为Store(ledger,md5),并建立一份账本数据备份datacopy
S32、领导者节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点;所述Hash散列函数为:
Hash(md5,N)=md5%(N-1)
其中md5为账本摘要,N为区块链网络的节点总数。
S33、选取出账本数据备份节点后,领导者节点将账本数据备份datacopy及账本摘要md5发送至备份节点进行存储;
S34、发送至备份节点进行存储的同时,领导者节点获取本地网络地址ipleader和备份节点网络地址ipcopy并发送至其他所有节点,其他所有节点接收到后更新本地区块链上低冗余账本区块中的查询索引index,表示为
Figure BDA0002998710330000072
本发明通过Hash散列的随机备份存储,当领导节点收到一半以上的节点反馈确认信息后,将账本数据及其账本摘要保存至本地的账本数据库中,并建立一份账本数据备份。领导节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点,并将账本账本数据备份及账本摘要发送至备份节点进行存储。领导节点获得本地网络地址和备份节点网络地址,一并发送至其他所有节点,所有节点随后更新低冗余账本区块中查询索引部分。因为每次数据上链仅有领导者节点和账本数据备份节点会存储数据,而其他节点不保存账本数据,所以能有效降低区块链网络中的存储冗余。
S4、分布式账本检索:当任意节点需要对账本数据进行溯源时,通过提取区块链上的查询索引数据获取账本数据存储节点的网络地址ipleader或ipcopy以及账本摘要md5,并在存储节点的账本数据库中通过账本摘要检索账本数据。
如果被查询的存储节点出现故障或存在其他安全问题,则可以查询备份节点的账本数据库。
与上述方法实施例相对应,本发明还提出一种低冗余区块链数据存储和检索系统,所述系统包括:
区块重构模块:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
共识机制模块:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
备份存储模块:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
分布式检索模块:当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
以上系统实施例是与方法实施例相对应的,方法实施例简述之处请参阅方法实施例即可。
本发明还公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明前述的低冗余区块链数据存储和检索方法方法。
本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现本发明实施例所述低冗余区块链数据存储和检索方法方法的全部或部分步骤。所述存储介质包括:U盘、移动硬盘、只议存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以分布到多个网络单元上。可以根据实际的衙要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种低冗余区块链数据存储和检索方法,其特征在于,所述方法包括:
对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
2.根据权利要求1所述低冗余区块链数据存储和检索方法,其特征在于,所述方法还包括:
当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
3.根据权利要求1所述低冗余区块链数据存储和检索方法,其特征在于,所述低冗余区块数据结构包括时间戳、数字签名、账本摘要、查询索引;
所述时间戳是由区块链网络中的领导者节点记录系统时间;
所述数字签名是区块链网络中的领导者节点利用自己的私钥对节点的身份信息进行的数字签名;
所述账本摘要是将账本数据、时间戳、数字签名合并成一个区块文件,采用MD5算法提取区块文件的Hash摘要得到;
所述查询索是引通过索引结构存放领导者节点的本地网络地址和数据备份节点的网络地址。
4.根据权利要求3所述低冗余区块链数据存储和检索方法,其特征在于,所述基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制具体包括:
当区块链网络中有节点需要发布账本数据时,基于Raft协议,通过随机投票方式选举出区块链网络中的领导者节点;
领导者节点生成时间戳、账本数据、数字签名和账本摘要,基于所述低冗余区块数据结构构造账本区块和账本数据一并广播给其他所有节点;
其他任意节点接收到账本区块以及账本数据后,进行合法性验证;其他任意节点进行合法性验证通过后向其他所有节点发送确认信息,除领导者节点外的其他节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,并舍弃账本数据。
5.根据权利要求4所述低冗余区块链数据存储和检索方法,其特征在于,所述领导者节点将账本区块上链后,保存数据至本地具体包括:
领导者节点当且仅当收到超过预设比例的节点的确认信息后,将账本区块上链,同时将账本数据及其账本摘要保存至本地账本数据库中,并建立一份账本数据备份。
6.根据权利要求5所述低冗余区块链数据存储和检索方法,其特征在于,所述基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引具体包括:
领导者节点采用Hash散列函数在区块链网络中选取一个账本数据备份节点;
领导者节点将账本数据备份及账本摘要发送至备份节点进行存储;
领导者节点获取本地网络地址和备份节点网络地址并发送至其他所有节点,其他所有节点接收到后更新本地区块链上低冗余账本区块中的查询索引。
7.根据权利要求6所述低冗余区块链数据存储和检索方法,其特征在于,所述Hash散列函数为:
Hash(md5,N)=md5%(N-1)
其中md5为账本摘要,N为区块链网络的节点总数。
8.一种低冗余区块链数据存储和检索系统,其特征在于,所述系统包括:
区块重构模块:对传统分布式账本进行重构,剔除账本数据部分,增加查询索引部分,构造低冗余区块数据结构;
共识机制模块:基于Raft协议实现基于所述低冗余区块数据结构的区块链节点之间的上链共识机制;
备份存储模块:领导者节点将账本区块上链后,保存数据至本地,并基于Hash散列函数从区块链网络中选取账本数据备份节点,发送备份数据至备份节点以进行备份存储,发送查询索引数据至其他所有节点以更新查询索引。
分布式检索模块:当任意节点需要对账本数据进行溯源时,通过查询区块链上的查询索引数据获取账本数据存储节点的网络地址,并在存储节点的账本数据库中通过账本摘要检索账本数据。
9.一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;
其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现权利要求1~7任一项所述的方法。
CN202110339456.0A 2021-03-30 2021-03-30 一种低冗余区块链数据存储和检索方法及系统 Pending CN113127562A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110339456.0A CN113127562A (zh) 2021-03-30 2021-03-30 一种低冗余区块链数据存储和检索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110339456.0A CN113127562A (zh) 2021-03-30 2021-03-30 一种低冗余区块链数据存储和检索方法及系统

Publications (1)

Publication Number Publication Date
CN113127562A true CN113127562A (zh) 2021-07-16

Family

ID=76775373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110339456.0A Pending CN113127562A (zh) 2021-03-30 2021-03-30 一种低冗余区块链数据存储和检索方法及系统

Country Status (1)

Country Link
CN (1) CN113127562A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821549A (zh) * 2021-09-23 2021-12-21 广东科学技术职业学院 一种基于云存储的区块链数据检索系统及方法
CN113901131A (zh) * 2021-09-02 2022-01-07 北京邮电大学 基于索引的链上数据查询方法及装置
CN114881760A (zh) * 2022-04-29 2022-08-09 深圳市智策科技有限公司 基于区块链的数据管理方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180004744A1 (en) * 2016-07-01 2018-01-04 Intel Corporation Optimized selection of hash collision chains
CN109542980A (zh) * 2018-11-20 2019-03-29 北京磁云数字科技有限公司 一种区块链的数据处理方法、装置、设备及介质
CN110032547A (zh) * 2019-01-29 2019-07-19 香港贝尔科技有限公司 一种分布式环境下文件存储改进方法
CN110322352A (zh) * 2019-07-09 2019-10-11 深圳市炳德区块链技术有限公司 一种基于区块链的账本建立及查询方法、电子设备
CN110399373A (zh) * 2019-06-26 2019-11-01 杭州慧牧科技有限公司 一种区块链账本存储系统、存储查询方法及删除方法
CN111177277A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 数据存储方法、交易存储方法及装置
US20200159726A1 (en) * 2015-09-04 2020-05-21 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US20210014066A1 (en) * 2019-07-11 2021-01-14 Alibaba Group Holding Limited Shared blockchain data storage
US20210026740A1 (en) * 2018-09-30 2021-01-28 Tencent Technology (Shenzhen) Company Ltd Data backup method, storage medium, and computing device
US20210044422A1 (en) * 2019-11-06 2021-02-11 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
CN112380010A (zh) * 2020-11-13 2021-02-19 成都纵上行信息科技有限公司 一种物联网环境下负载均衡的层次化区块链

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200159726A1 (en) * 2015-09-04 2020-05-21 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US20180004744A1 (en) * 2016-07-01 2018-01-04 Intel Corporation Optimized selection of hash collision chains
US20210026740A1 (en) * 2018-09-30 2021-01-28 Tencent Technology (Shenzhen) Company Ltd Data backup method, storage medium, and computing device
CN109542980A (zh) * 2018-11-20 2019-03-29 北京磁云数字科技有限公司 一种区块链的数据处理方法、装置、设备及介质
CN110032547A (zh) * 2019-01-29 2019-07-19 香港贝尔科技有限公司 一种分布式环境下文件存储改进方法
CN110399373A (zh) * 2019-06-26 2019-11-01 杭州慧牧科技有限公司 一种区块链账本存储系统、存储查询方法及删除方法
CN110322352A (zh) * 2019-07-09 2019-10-11 深圳市炳德区块链技术有限公司 一种基于区块链的账本建立及查询方法、电子设备
US20210014066A1 (en) * 2019-07-11 2021-01-14 Alibaba Group Holding Limited Shared blockchain data storage
US20210044422A1 (en) * 2019-11-06 2021-02-11 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
CN111177277A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 数据存储方法、交易存储方法及装置
CN112380010A (zh) * 2020-11-13 2021-02-19 成都纵上行信息科技有限公司 一种物联网环境下负载均衡的层次化区块链

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XINYING YANG: "LedgerDB: A Centarlized Ledger Database for Universal Audit and Verfication", PROCEEDINGS OF THE VLDB ENDOWMENT *
符纯浩: "基于分布式账本的去中心化存储系统框架", 硕士电子期刊2020年第07期 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901131A (zh) * 2021-09-02 2022-01-07 北京邮电大学 基于索引的链上数据查询方法及装置
CN113821549A (zh) * 2021-09-23 2021-12-21 广东科学技术职业学院 一种基于云存储的区块链数据检索系统及方法
CN113821549B (zh) * 2021-09-23 2023-08-08 广东科学技术职业学院 一种基于云存储的区块链数据检索系统及方法
CN114881760A (zh) * 2022-04-29 2022-08-09 深圳市智策科技有限公司 基于区块链的数据管理方法及系统

Similar Documents

Publication Publication Date Title
AU2018348334C1 (en) Achieving consensus among network nodes in a distributed system
AU2018348335B2 (en) Performing a recovery process for a network node in a distributed system
AU2018348336B2 (en) Performing a change of primary node in a distributed system
US11057187B2 (en) Blockchain-assisted hash-based data signature system and method
CN113127562A (zh) 一种低冗余区块链数据存储和检索方法及系统
CN111786812B (zh) 节点管理方法、装置、计算机设备和存储介质
US20220005029A1 (en) Blockchain-based identity verification method and related hardware
CN111212139A (zh) 对信任节点信息进行更新的方法及装置
Jämthagen et al. Blockchain-based publishing layer for the keyless signing infrastructure
US11316698B2 (en) Delegated signatures for smart devices
US20240073045A1 (en) Blockchain-based data processing method and apparatus, device, medium, and product
CN111414417B (zh) 一种基于区块链的视频版权管理方法
CN116069856A (zh) 一种基于区块链的数据完整性验证方法及系统
Song et al. New techniques for ensuring the long term integrity of digital archives

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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20240528