CN117131129A - 一种基于局部修复系统码的区块链分片方法、系统与服务器 - Google Patents
一种基于局部修复系统码的区块链分片方法、系统与服务器 Download PDFInfo
- Publication number
- CN117131129A CN117131129A CN202310665982.5A CN202310665982A CN117131129A CN 117131129 A CN117131129 A CN 117131129A CN 202310665982 A CN202310665982 A CN 202310665982A CN 117131129 A CN117131129 A CN 117131129A
- Authority
- CN
- China
- Prior art keywords
- shard
- transaction
- shards
- consensus
- verification
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于局部修复系统码的区块链分片方法、系统与服务器。区块链分片系统包括k个原始分片和n‑k个编码分片,每轮共识中,每个原始分片与m个其参与生成的编码分片形成一个局部验证组(m<<n‑k),每个编码分片与t个参与生成该编码分片的原始分片形成一个局部恢复组(t<<k)。局部验证组负责验证某笔待验证交易是否合法,当验证组内的单个分片被贿赂时,剩下的m个分片可达成一致的验证结果,根据少数服从多数原则,验证组依然可以正确的验证交易的合法性;并且当单个分片被贿赂时,可以通过该分片所在的局部恢复组,经过译码计算恢复出被贿赂分片所存储的内容。该方法通过编码技术在n个分片之间建立关联,解决了现有分片系统因单个分片被贿赂而导致整个系统不安全与不可用的问题。
Description
技术领域
本发明属于区块链技术领域,更为具体地讲,涉及一种基于局部修复系统码的区块链分片方法、系统与服务器。
背景技术
区块链是一种分布式账本,可以实现去中心化的消息验证和共识,其上数据具有不可篡改的特性,是一种可靠的数字证据保护手段。传统区块链中,所有节点验证并存储同一个区块所有内容,导致可扩展性十分有限,吞吐量难以提升,节点存储压力高等缺陷。区块链分片方案由多个分片构成区块链,不同分片并行地共识不同内容,独立生成不同区块,提高了扩展性,降低了存储压力,但单个分片被贿赂将导致系统不安全、不可用。
在2021年05月25日公布的、公布号为CN112835743A、名称为“分布式账本数据存储优化方法、装置、电子设备及介质”的中国发明专利申请中提出对区块链系统进行网络分片,在每个由多台服务器组成的共识单元内部进行编码分存以缓解存储压力,共识单元间通过PBFT算法达成共识。
在2019年08月27日公布的、公布号为CN110175212A、名称为“区块链分布式存储方法、数据读取方法、设备和存储介质”的中国发明专利申请中提出当区块到达一定数量后将区块切分为若干数据段,随后将数据段编码并分布式存储。
在2022年01月07日公布的、公布号为CN113905059A、名称为“一种车联网的轻量型区块链的区块存储方法及模型”的中国发明专利申请中提出区块生成后使用LT喷泉码进行编码,随后将编码块随机发送给网络中的各个节点,将若干个编码块保存到RSU中,当一笔交易需要验证时通过恢复历史区块进行验证。
然而,在现有的结合编码技术的区块链方案中,一笔待验证交易只由一个分片验证,每个分片只能验证其所存储的区块内的信息。因此在这些方案中,都存在着当单个分片被贿赂时,将无法验证某笔待验证交易的合法性,从而导致整个系统不安全与不可用的问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于局部修复系统码的区块链分片方法、系统与服务器,以使整个系统安全与不可用。
为实现上述发明目的,本发明基于局部修复系统码的区块链分片系统,其特征在于,.局部修复系统码的一个码字共包含n个符号位,其中分为k位原始符号和n-k位的校验符号,每一位校验符号由若干原始符号的线性组合生成。对应的,本系统将作为区块链节点的多个服务器分为n个组,每个组代表一个分片,则系统共包含n个分片,其中分为k个原始分片和n-k个编码分片,每个编码分片所存储的区块数据由多个原始分片所存储的区块数据的线性组合生成,所有分片均采用同样的BFT类算法进行片内共识。此外,在这n个分片中选择一个分片作为Leader分片,Leader分片的Leader节点记为LL,LL除了负责本分片内的共识,还参与整个区块链分片系统的共识过程;
在每轮共识中,LL根据历史区块数据与历史VRF随机数序列,计算出系统中的局部验证组与局部恢复组;LL将若干待验证交易分发给分别对应各待验证交易的多个局部验证组,各验证组中的分片分别根据各自存储的区块完成对交易的验证。当系统中单个分片被贿赂时,该分片所在的验证组中仍然有其它分片可以完成对待验证交易的验证,系统仍然是安全的、可用的。各分片经过片内共识后,将共识结果返回给LL,LL统计各分片的共识结果,从而判断待验证交易的合法性。然后,LL将合法交易分为k份,分别打包为k个区块并分发给k个原始分片。每个编码分片在本轮共识中重新生成新的VRF随机数,并广播给其它所有分片。各原始分片收到来在LL的区块后,再根据本轮共识生成的VRF随机数序列,将收到的区块分发给与本原始分片相关联的编码分片。
当系统中单个分片被贿赂时,系统可以通过该分片所在的局部恢复组内其它分片所存储的内容,经过译码计算恢复出被贿赂分片所存储的内容。
此外,本发明还提供一种基于局部修复系统码的区块链分片服务器,基于局部修复系统码的区块链分片服务器,其特征在于,每个服务器代表该区块链分片系统中的一个节点,服务器节点的功能模块包括VRF随机数生成模块、新交易缓存分发模块、交易信息验证模块、片内共识模块、节点身份模块、聚合签名模块、计票与区块生成和分发模块、编码模块和存储模块。
所述VRF随机数生成模块,用于各编码分片在每轮共识开始时生成随机数,并向系统中所有其他分片广播。
所述新交易缓存分发模块,用于LL在收到最新交易后,根据各分片的存储区块和历史VRF随机数序列,判断可验证交易的分片,从而将交易缓存到LL上分别对应着不同分片的缓存区中。当缓存区中交易信息足量后,LL发送给对应分片进行验证。
所述交易信息验证模块,用于根据片内存储交易信息判断交易合法性。
所述片内共识模块,用于在片内节点间就验证结果达成共识,随后片内Leader节点将验证结果返回给LL。
所述节点身份模块,用于帮助节点确定身份并签名,以确保系统中服务器发出的所有消息都进行了签名,从而能够通过签名验证消息来源。
所述聚合签名模块,用于各分片Leader节点在需要片内大部分节点对同一消息达成共识,并发送共识结果给其他分片时,将足量的且支持该消息的片内节点的签名进行聚合。
所述计票与区块生成和分发模块,用于统计各分片返回的交易验证信息,并基于统计结果生成k个区块。
所述编码模块,用于生成编码区块。每轮共识中,LL基于历史区块对若干笔交易完成验证后,将其中的合法交易分为k份,打包为k个区块后发给k个原始分片。各编码分片基于VRF算法生成各自的随机数,并基于该随机数对与参与其生成的原始分片在本轮共识中所存储的区块进行编码,得到本编码分片本轮共识中要存储的编码区块。
所述存储模块,用于存储本节点所在分片所负责存储的区块链数据。
所述存储模块建立在现有数据库基础上,可细分为区块存储模块、交易信息存储模块和区块链信息存储模块,分别存储本分片对应的区块或编码块、区块相关UTXO最新状态信息或账户余额信息,以及VRF历史等区块链历史信息。交易信息存储模块存储的内容与系统采用的交易模型有关。
此外,本发明提供一种基于局部修复系统码的区块链分片方法,其特征在于,包括VRF随机数生成并分发阶段、交易拆分阶段、片内共识阶段、片间投票阶段、区块生成阶段、区块编码阶段和交易信息存储阶段,具体包括如下步骤:
(1)每轮共识开始时,各个编码分片生成VRF随机数、签名并广播给其它所有分片。任意分片根据本轮所有编码分片的随机数序列可将编码分片与原始分片相关联。
(2)LL收集待验证交易信息,并根据历史VRF随机数序列,将待验证交易信息存储到LL上对应不同分片的消息缓存区中。当缓存区中的待验证交易信息总数达到阈值时,向各个分片分别发送对应缓存区中的待验证交易信息。
(3)每个分片的Leader节点领导分片内部节点对待验证交易进行验证,并通过PBFT共识算法就验证结果达成共识,随后各分片的Leader节点聚合片内节点对结果的签名,将共识结果和聚合签名返回给LL。
(4)LL统计各个分片的共识结果,当针对一笔待验证交易,认为其合法的分片个数超过阈值时,系统判定该交易为合法交易。当系统中没有分片被贿赂时,任何一笔合法交易都被认证为合法。当系统中单个分片被贿赂时,某笔合法交易仍然可以被该验证组中的其它多个分片验证为合法,系统仍然是安全的、可用的。
(5)当系统积累了足量的有效交易后,LL将这些有效交易分为k份,即打包为k个区块,将k个区块分别发送给编号对应的原始分片。各原始分片根据本轮生成的VRF随机数序列,将收到的区块分发给其参与生成的编码分片。
(6)各编码分片都基于本轮收到的区块,生成本轮共识中本分片的编码区块。
(7)原始分片保存其对应的区块以及其中的交易信息;编码分片保存从原始分片处收到的区块中的UTXO信息,并保存编码区块,随后删除收到的区块。
所述步骤(2)中接收的交易由四部分组成:交易头、作为支撑的历史交易及其所在区块高度、作为输出的新生成交易k交易用户的签名等其他信息。通过历史交易及其所在区块的高度信息,结合历史VRF随机数序列,LL可以确定能够验证该交易的一个原始分片和多个编码分片。
所述步骤(6)中采用具有局部修复性的系统码,这种编码可以带来以下功能:
1)一个原始分片所存储的某个区块参与了多个编码分片中所存储的编码区块的生成,该原始分片与这些编码分片形成一个验证组。因此,当系统中单个分片被贿赂时,该分片所在验证组中的其它分片仍然可以完成对某笔待验证交易的验证,系统仍然安全。
2)一个编码分片所存储的区块由多个原始分片所存储的区块进行线性组合形成,参与编码的原始分片和编码分片形成一个局部修复组,当组内任意一个分片被贿赂时,可以通过组内其它分片所存储的区块,经过译码计算将被贿赂分片的区块恢复出来。
本发明的目的是这样实现的:
针对当前区块链分片方案中单个分片被贿赂将导致整个系统不安全与不可用的问题,本发明提出了一种基于局部修复系统码的区块链分片方法、系统和服务器,将编码技术与区块链分片系统结合起来。本系统通过将区块分存到各个分片的方式降低了存储压力;通过构建局部验证组,使得验证组内的单个分片被贿赂时,组内剩下的m个分片可达成一致的验证结果,根据少数服从多数原则,验证组依然可以正确的验证交易的合法性;通过构建局部修复组,使得修复组内的单个分片被贿赂时,可以通过组内其它分片所存储的区块,经过译码计算恢复出被贿赂分片所存储的内容。
因此,本发明基于局部修复系统码的区块链分片方法、系统与服务器,通过编码技术,将每个原始分片与m个其参与生成的编码分片构成若干局部验证组,使得当系统中某个分片被贿赂时,其所在验证组内剩下的m个分片可达成一致的验证结果,根据少数服从多数原则,验证组依然可以正确的验证交易的合法性,系统仍然是安全的、可用的;并且,当单个分片被贿赂时,可以通过该分片所在的局部恢复组,经过译码计算恢复出被贿赂分片所存储的内容。综上所述,本专利提出的是一种新颖的,可行的基于局部修复系统码的区块链分片方案。
附图说明
图1为本发明实施例一提供的基于局部修复系统码的区块链分片节点结构示意图;
图2为本发明实施例二提供的基于局部修复系统码的区块链分片方法流程示意图;
图3为本发明实施例三提供的基于局部修复系统码的区块链分片系统结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
为了结合区块链分片技术的可扩展性与节点存储压力低等优点,同时解决现有分片系统因单个分片被贿赂而导致整个系统不安全与不可用的问题,本发明实施例提供了一种基于局部修复系统码的区块链分片方法、系统和服务器,将编码技术引入到区块链分片系统的共识过程中。通过编码技术在多个分片之间形成关联,使得系统在单个分片被贿赂后依旧可以保证交易验证的可靠性。该系统由多个服务器组成,每个服务器的功能模块包括VRF随机数生成模块、新交易缓存分发模块、交易信息验证模块、片内共识模块、节点身份模块、聚合签名模块、计票与区块生成和分发模块、编码模块和存储模块。
所述VRF随机数生成模块,用于各编码分片在每轮共识开始时生成随机数,并向系统中所有其他分片广播。
所述新交易缓存分发模块,用于LL在收到最新交易后,根据各分片的存储区块和历史VRF随机数序列,判断可验证交易的分片,从而将交易缓存到LL上分别对应着不同分片的缓存区中。当缓存区中交易信息足量后,LL发送给对应分片进行验证。
所述交易信息验证模块,用于根据片内存储交易信息判断交易合法性。
所述片内共识模块,用于在片内节点间就验证结果达成共识,随后片内Leader节点将验证结果返回给LL。
所述节点身份模块,用于帮助节点确定身份并签名,以确保系统中服务器发出的所有消息都进行了签名,从而能够通过签名验证消息来源。
所述聚合签名模块,用于各分片Leader节点在需要片内大部分节点对同一消息达成共识,并发送共识结果给其他分片时,将足量的且支持该消息的片内节点的签名进行聚合。
所述计票与区块生成和分发模块,用于统计各分片返回的交易验证信息,并基于统计结果生成k个区块。
所述编码模块,用于生成编码区块。每轮共识中,LL基于历史区块对若干笔交易完成验证后,将其中的合法交易分为k份,打包为k个区块后发给k个原始分片。各编码分片基于VRF算法生成各自的随机数,并基于该随机数对与参与其生成的原始分片在本轮共识中所存储的区块进行编码,得到本编码分片本轮共识中要存储的编码区块。
所述存储模块,用于存储本节点所在分片所负责存储的区块链数据。
为了更好的理解上述技术方案,下面将结合说明书附图以具体的实施方式对上述技术方案进行详细的说明。
实施例一
本实施例提供一种基于局部修复系统码的区块链分片方法、系统与服务器,如图1所示,每个服务器代表该区块链分片系统中的一个节点,服务器节点的功能模块包括VRF随机数生成模块、新交易缓存分发模块、交易信息验证模块、片内共识模块、节点身份模块、聚合签名模块、计票与区块生成和分发模块、编码模块和存储模块。
所述VRF随机数生成模块,用于各编码分片在每轮共识开始时生成随机数,并向系统中所有其他分片广播。
分片生成VRF随机数需要一对公私钥和一个种子。在本系统中,某分片生成VRF采用的公私钥为该分片Leader节点的公私钥,每次使用的种子为该分片所保存的区块的hash。本系统通过这种方式保证了随机数的可验证性、公平性、随机性和防篡改性,可以防止恶意节点控制随机数生成。
所述新交易缓存分发模块,用于LL在收到最新交易后,根据各分片的存储区块和历史VRF随机数序列,判断可验证交易的分片,从而将交易缓存到LL上分别对应着不同分片的缓存区中。当缓存区中交易信息足量后,LL发送给对应分片进行验证。
系统会保存每轮所有编码分片生成的VRF随机数序列,并根据本轮生成的VRF随机数序列,任意节点在得知待验证交易所在区块的高度后,将区块高度除以分片个数即可得到该区块生成的轮次和存储该区块的原始分片序号,LL将该交易信息放入对应着不同分片的LL缓存区中。
所述交易信息验证模块,用于根据片内存储交易信息判断交易合法性。
系统采用UTXO交易模型时,每个服务器的交易信息验证模块通过存储模块查询本交易消耗的UTXO是否可用,以及UTXO面值是否足以支付交易。系统采用Account-balance交易模型时,根据存储模块中的交易信息,查询本分片是否有支出账户的账户信息,随后验证账户余额是否足以支持支付交易。
所述片内共识模块,用于在片内节点间就验证结果达成共识,随后片内Leader节点将验证结果返回给LL。
分片内的节点间可以相互通信,片内共识模块可以支持多种片内共识方案,包括但不限于POW、POS、PBFT等,默认的片内共识方案为PBFT共识方案。
所述节点身份模块,用于帮助节点确定身份并签名,以确保系统中服务器发出的所有消息都进行了签名,从而方便通过签名验证消息来源。
所述聚合签名模块,用于各分片Leader节点在需要片内大部分节点对同一消息达成共识,并发送共识结果给其他分片时,将足量的且支持该消息的片内节点的签名进行聚合。整个合并过程是不可逆的,无法通过合并后的公钥与签名得到合并前的信息,并且聚合签名在验证时仅需一次验证即可。聚合签名在保持信息可靠性的同时,大幅降低了通信和验证成本。
所述计票与区块生成和分发模块,用于统计各分片返回的交易验证信息。当对于某笔交易,参与验证的分片中有一半以上的分片认为它是合法的,则该交易被验证为合法交易。当LL对一定量的交易通过验证并判定为合法后,将这些交易信息分为k份,打包为k个区块,并分发给k个原始分片。
所述编码模块,用于生成编码区块。每轮共识中,LL基于历史区块对若干笔交易完成验证后,将其中的合法交易分为k份,打包为k个区块后发给k个原始分片。各编码分片基于VRF算法生成各自的随机数,并基于该随机数对与参与其生成的原始分片在本轮共识中所存储的区块进行编码,得到本编码分片本轮共识中要存储的编码区块。
所述存储模块,用于存储本节点所在分片所负责存储的区块链数据。所述存储模块建立在现有数据库基础上,可细分为区块存储模块、交易信息存储模块和区块链信息存储模块,分别存储本分片对应的区块或编码块、区块相关UTXO最新状态信息或账户余额信息,以及VRF历史等区块链历史信息。交易信息存储模块存储的内容与系统采用的交易模型有关。当系统采用UTXO交易模型时,编码分片的交易信息存储模块存储的内容为,与该分片所存储的编码区块相关联的所有原始区块的UTXO状态信息。当系统采用Account-balance模型时,某节点的交易信息存储模块存储的内容为,该节点存储的区块中所涉及的账户的最新状态,当本节点所在分片对某账户的信息存储不再是最新状态时,删除该账户信息,存有该账户最新状态信息的节点所在的分片负责存储该账户最新余额状态。
实施例二
本发明提供一种基于系统码的分布式共识方法,其特征在于,该方法包括VRF随机数生成并分发阶段、交易拆分阶段、片内共识阶段、片间投票阶段、区块生成阶段、区块编码阶段和交易信息存储阶段,如图二所示,所述方法包括以下步骤:
(1)每轮共识开始时,各个编码分片生成VRF随机数、签名并广播给其它所有分片。任意分片根据本轮所有编码分片的随机数序列可将编码分片与原始分片相关联。
(2)LL收集待验证交易信息,并根据历史VRF随机数序列,将待验证交易信息存储到LL上对应不同分片的消息缓存区中。当缓存区中的待验证交易信息总数达到阈值时,向各个分片分别发送对应缓存区中的待验证交易信息。
交易由四部分组成:交易头、作为支撑的历史交易及其所在区块高度、作为输出的新生成交易k交易用户的签名等其他信息。通过历史交易及其所在区块的高度信息,结合历史VRF随机数序列,LL可以确定能够验证该交易的一个原始分片和多个编码分片。当系统使用UTXO模型时,历史交易指的是作为输入的UTXO的生成交易。当系统使用Account-balance模型时,历史交易指的是用户的最后一笔交易。
(3)每个分片的Leader节点领导分片内部节点对待验证交易进行验证,并通过PBFT共识算法就验证结果达成共识,随后各分片的Leader节点聚合片内节点对结果的签名,将共识结果和聚合签名返回给LL。
(4)LL统计各个分片的共识结果,当针对一笔待验证交易,认为其合法的分片个数超过阈值时,系统判定该交易为合法交易。当系统中没有分片被贿赂时,任何一笔合法交易都被认证为合法。当系统中单个分片被贿赂时,某笔合法交易仍然可以被该验证组中的其它多个分片验证为合法,系统仍然是安全的、可用的。
(5)当系统积累了足量的有效交易后,LL将这些有效交易分为k份,即打包为k个区块,将k个区块分别发送给编号对应的原始分片。各原始分片根据本轮生成的VRF随机数序列,将收到的区块分发给其参与生成的编码分片。
(6)各编码分片都基于本轮收到的区块,生成本轮共识中本分片的编码区块。
(7)原始分片保存其对应的区块以及其中的交易信息;编码分片保存从原始分片处收到的区块中的UTXO信息,并保存编码区块,随后删除收到的区块。
实施例三
本发明提供一种基于系统码的区块链系统,其特征在于,如图三所示,本系统将作为区块链节点的多个服务器分为n个组,每个组代表一个分片,则系统共包含n个分片,其中分为k个原始分片和n-k个编码分片,每个编码分片所存储的区块数据由多个原始分片所存储的区块数据的线性组合生成,所有分片均采用同样的BFT类算法进行片内共识。此外,在这n个分片中选择一个分片作为Leader分片,Leader分片的Leader节点记为LL,LL除了负责本分片内的共识,还参与整个区块链分片系统的共识过程。同一分片内所有节点存储相同的区块信息,不同分片的节点存储不同的区块信息。没有哪个节点存储所有的区块,但所有节点都要存储由VRF随机数生成的编码矩阵。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (6)
1.一种基于局部修复系统码的区块链分片系统,其特征在于,.局部修复系统码的一个码字共包含n个符号位,其中分为k位原始符号和n-k位的校验符号,每一位校验符号由若干原始符号的线性组合生成;对应的,本系统将作为区块链节点的多个服务器分为n个组,每个组代表一个分片,则系统共包含n个分片,其中分为k个原始分片和n-k个编码分片,每个编码分片所存储的区块数据由多个原始分片所存储的区块数据的线性组合生成,所有分片均采用同样的BFT类算法进行片内共识;此外,在这n个分片中选择一个分片作为Leader分片,Leader分片的Leader节点记为LL,LL除了负责本分片内的共识,还参与整个区块链分片系统的共识过程;
在每轮共识中,LL根据历史区块数据与历史VRF随机数序列,计算出系统中的局部验证组与局部恢复组;LL将若干待验证交易分发给分别对应各待验证交易的多个局部验证组,各验证组中的分片分别根据各自存储的区块完成对交易的验证;当系统中单个分片被贿赂时,该分片所在的验证组中仍然有其它分片可以完成对待验证交易的验证,系统仍然是安全的、可用的;各分片经过片内共识后,将共识结果返回给LL,LL统计各分片的共识结果,从而判断待验证交易的合法性;然后,LL将合法交易分为k份,分别打包为k个区块并分发给k个原始分片,每个编码分片在本轮共识中重新生成新的VRF随机数,并广播给其它所有分片,各原始分片收到来在LL的区块后,再根据本轮共识生成的VRF随机数序列,将收到的区块分发给与本原始分片相关联的编码分片;
当系统中单个分片被贿赂时,系统可以通过该分片所在的局部恢复组内其它分片所存储的内容,经过译码计算恢复出被贿赂分片所存储的内容;
此外,当系统中单个分片被贿赂时,系统可以通过该分片所在的局部恢复组内其它分片所存储的内容,经过译码计算恢复出被贿赂分片所存储的内容。
2.一种基于局部修复系统码的区块链分片服务器,其特征在于,每个服务器代表该区块链分片系统中的一个节点,服务器节点的功能模块包括VRF随机数生成模块、新交易缓存分发模块、交易信息验证模块、片内共识模块、节点身份模块、聚合签名模块、计票与区块生成和分发模块、编码模块和存储模块;
所述VRF随机数生成模块,用于各编码分片在每轮共识开始时生成随机数,并向系统中所有其他分片广播;
所述新交易缓存分发模块,用于LL在收到最新交易后,根据各分片的存储区块和历史VRF随机数序列,判断可验证交易的分片,从而将交易缓存到LL上分别对应着不同分片的缓存区中,当缓存区中交易信息足量后,LL发送给对应分片进行验证;
所述交易信息验证模块,用于根据片内存储交易信息判断交易合法性;
所述片内共识模块,用于在片内节点间就验证结果达成共识,随后片内Leader节点将验证结果返回给LL;
所述节点身份模块,用于帮助节点确定身份并签名,以确保系统中服务器发出的所有消息都进行了签名,从而能够通过签名验证消息来源;
所述聚合签名模块,用于各分片Leader节点在需要片内大部分节点对同一消息达成共识,并发送共识结果给其他分片时,将足量的且支持该消息的片内节点的签名进行聚合;
所述计票与区块生成和分发模块,用于统计各分片返回的交易验证信息,并基于统计结果生成k个区块;
所述编码模块,用于生成编码区块,每轮共识中,LL基于历史区块对若干笔交易完成验证后,将其中的合法交易分为k份,打包为k个区块后发给k个原始分片,各编码分片基于VRF算法生成各自的随机数,并基于该随机数对与参与其生成的原始分片在本轮共识中所存储的区块进行编码,得到本编码分片本轮共识中要存储的编码区块;
所述存储模块,用于存储本节点所在分片所负责存储的区块链数据。
3.根据权利要求2所述的基于局部修复系统码的区块链分片服务器,其特征在于,所述存储模块建立在现有数据库基础上,可细分为区块存储模块、交易信息存储模块和区块链信息存储模块,分别存储本分片对应的区块或编码块、区块相关UTXO最新状态信息或账户余额信息,以及VRF历史等区块链历史信息,交易信息存储模块存储的内容与系统采用的交易模型有关。
4.一种基于局部修复系统码的区块链分片方法,其特征在于,包括VRF随机数生成并分发阶段、交易拆分阶段、片内共识阶段、片间投票阶段、区块生成阶段、区块编码阶段和交易信息存储阶段,具体包括如下步骤:
(1)每轮共识开始时,各个编码分片生成VRF随机数、签名并广播给其它所有分片,任意分片根据本轮所有编码分片的随机数序列可将编码分片与原始分片相关联;
(2)LL收集待验证交易信息,并根据历史VRF随机数序列,将待验证交易信息存储到LL上对应不同分片的消息缓存区中,当缓存区中的待验证交易信息总数达到阈值时,向各个分片分别发送对应缓存区中的待验证交易信息;
(3)每个分片的Leader节点领导分片内部节点对待验证交易进行验证,并通过PBFT共识算法就验证结果达成共识,随后各分片的Leader节点聚合片内节点对结果的签名,将共识结果和聚合签名返回给LL;
(4)LL统计各个分片的共识结果,当针对一笔待验证交易,认为其合法的分片个数超过阈值时,系统判定该交易为合法交易,当系统中没有分片被贿赂时,任何一笔合法交易都被认证为合法,当系统中单个分片被贿赂时,某笔合法交易仍然可以被该验证组中的其它多个分片验证为合法,系统仍然是安全的、可用的;
(5)当系统积累了足量的有效交易后,LL将这些有效交易分为k份,即打包为k个区块,将k个区块分别发送给编号对应的原始分片,各原始分片根据本轮生成的VRF随机数序列,将收到的区块分发给其参与生成的编码分片;
(6)各编码分片都基于本轮收到的区块,生成本轮共识中本分片的编码区块;
(7)原始分片保存其对应的区块以及其中的交易信息;编码分片保存从原始分片处收到的区块中的UTXO信息,并保存编码区块,随后删除收到的区块。
5.根据权利要求4所述的基于局部修复系统码的区块链分片方法,其特征在于,所述步骤(2)中接收的交易由四部分组成:交易头、作为支撑的历史交易及其所在区块高度、作为输出的新生成交易k交易用户的签名等其他信息;通过历史交易及其所在区块的高度信息,结合历史VRF随机数序列,LL可以确定能够验证该交易的一个原始分片和多个编码分片。
6.根据权利要求4所述的基于局部修复系统码的区块链分片方法,其特征在于,所述步骤(6)中采用具有局部修复性的系统码,这种编码可以带来以下功能:
1)一个原始分片所存储的某个区块参与了多个编码分片中所存储的编码区块的生成,该原始分片与这些编码分片形成一个验证组,因此,当系统中单个分片被贿赂时,该分片所在验证组中的其它分片仍然可以完成对某笔待验证交易的验证,系统仍然安全;
2)一个编码分片所存储的区块由多个原始分片所存储的区块进行线性组合形成,参与编码的原始分片和编码分片形成一个局部修复组,当组内任意一个分片被贿赂时,可以通过组内其它分片所存储的区块,经过译码计算将被贿赂分片的区块恢复出来。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310665982.5A CN117131129A (zh) | 2023-06-06 | 2023-06-06 | 一种基于局部修复系统码的区块链分片方法、系统与服务器 |
| US18/394,594 US12200054B2 (en) | 2023-06-06 | 2023-12-22 | Blockchain sharding method, system, and server based on locally repairable system codes |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310665982.5A CN117131129A (zh) | 2023-06-06 | 2023-06-06 | 一种基于局部修复系统码的区块链分片方法、系统与服务器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117131129A true CN117131129A (zh) | 2023-11-28 |
Family
ID=88853413
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310665982.5A Pending CN117131129A (zh) | 2023-06-06 | 2023-06-06 | 一种基于局部修复系统码的区块链分片方法、系统与服务器 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12200054B2 (zh) |
| CN (1) | CN117131129A (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12494909B1 (en) | 2020-05-11 | 2025-12-09 | SmartContract Chainlink Limited SEZC | Method and apparatus for producing verifiable randomness within a decentralized computing network |
| US12401532B2 (en) * | 2020-05-11 | 2025-08-26 | SmartContract Chainlink Limited SEZC | Method and apparatus for producing verifiable randomness within a decentralized computing network |
| US12489649B1 (en) | 2021-02-23 | 2025-12-02 | SmartContract Chainlink Limited SEZC | Method and apparatus for providing secure information to a decentralized computing environment |
| CN117422549A (zh) * | 2022-07-11 | 2024-01-19 | 汇丰软件开发(广东)有限公司 | 一种用于受监管加密货币场景中的基于utxo的分片方法 |
| CN116545588B (zh) * | 2023-06-06 | 2025-05-13 | 电子科技大学 | 一种基于可修复喷泉码的分片区块链系统和动态分片方法 |
| US12001550B1 (en) * | 2023-08-28 | 2024-06-04 | Wiz, Inc. | Cybersecurity incident response techniques utilizing artificial intelligence |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110570202A (zh) * | 2019-09-02 | 2019-12-13 | 杭州趣链科技有限公司 | 一种基于分片技术的混合共识方法 |
| CN113037504A (zh) * | 2021-05-28 | 2021-06-25 | 北京邮电大学 | 基于分片的无授权区块链架构下的节点激励方法及系统 |
| US20210365943A1 (en) * | 2020-03-06 | 2021-11-25 | Guardtime Sa | Verifiable Transfer of Data Using Sharded Blockchain |
| CN115426125A (zh) * | 2022-01-28 | 2022-12-02 | 中国科学院计算技术研究所 | 一种用于区块链分片系统的区块有效性验证方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112041873B (zh) * | 2018-04-27 | 2024-04-19 | 区块链控股有限公司 | 区块链网络划分 |
| US11968311B2 (en) * | 2021-07-16 | 2024-04-23 | The Regents Of The University Of California | Multi-shard transactions in a Byzantine computing environment |
-
2023
- 2023-06-06 CN CN202310665982.5A patent/CN117131129A/zh active Pending
- 2023-12-22 US US18/394,594 patent/US12200054B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110570202A (zh) * | 2019-09-02 | 2019-12-13 | 杭州趣链科技有限公司 | 一种基于分片技术的混合共识方法 |
| US20210365943A1 (en) * | 2020-03-06 | 2021-11-25 | Guardtime Sa | Verifiable Transfer of Data Using Sharded Blockchain |
| CN113037504A (zh) * | 2021-05-28 | 2021-06-25 | 北京邮电大学 | 基于分片的无授权区块链架构下的节点激励方法及系统 |
| CN115426125A (zh) * | 2022-01-28 | 2022-12-02 | 中国科学院计算技术研究所 | 一种用于区块链分片系统的区块有效性验证方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240414228A1 (en) | 2024-12-12 |
| US12200054B2 (en) | 2025-01-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117131129A (zh) | 一种基于局部修复系统码的区块链分片方法、系统与服务器 | |
| US11750400B2 (en) | Blockchain post-quantum signature scheme | |
| Dai et al. | A low storage room requirement framework for distributed ledger in blockchain | |
| Krohn et al. | On-the-fly verification of rateless erasure codes for efficient content distribution | |
| Nazirkhanova et al. | Information dispersal with provable retrievability for rollups | |
| Pannetrat et al. | Efficient multicast packet authentication. | |
| Du et al. | Partitionchain: A scalable and reliable data storage strategy for permissioned blockchain | |
| CN106603198A (zh) | 具有网络编码的区块链分布式存储方法及系统 | |
| CN110941859A (zh) | 用于区块链形成共识的方法、设备、计算机可读存储介质和计算机程序产品 | |
| CN114338040B (zh) | 一种区块链节点的分组多链三次共识方法 | |
| US20180026791A1 (en) | Method and system for verifying information of a data item in a plurality of different data items | |
| CN111314090A (zh) | 一种基于比特级门限的安全多云端口令管理方法 | |
| CN115499453B (zh) | 面向联盟链的分片存储方法 | |
| Wang et al. | Low latency cross-shard transactions in coded blockchain | |
| CN116471041A (zh) | 基于联盟链的区块链共识方法、系统、设备及介质 | |
| van der Linde et al. | Post-quantum blockchain using one-time signature chains | |
| Guo et al. | BFT-DSN: A Byzantine fault-tolerant decentralized storage network | |
| CN114928473A (zh) | 适应交易量动态变化的异步共识方法及系统 | |
| CN112800482B (zh) | 基于身份的在线/离线安全云存储审计方法 | |
| CN113708924B (zh) | 基于区块链的椭圆曲线门限签名方法 | |
| CN109104444B (zh) | 一种基于区块链的电子签章方法 | |
| CN109412754B (zh) | 一种编码云的数据存储、分发以及访问方法 | |
| CN102594556A (zh) | 基于时空混沌同步的身份认证方法 | |
| CN105516355A (zh) | 基于喷泉码的智能电能表误差大数据安全存储装置及方法 | |
| CN116861390A (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 |