CN111127017B - 基于p2p存储网络和多层架构的区块链全分片方法及装置 - Google Patents
基于p2p存储网络和多层架构的区块链全分片方法及装置 Download PDFInfo
- Publication number
- CN111127017B CN111127017B CN201911380172.5A CN201911380172A CN111127017B CN 111127017 B CN111127017 B CN 111127017B CN 201911380172 A CN201911380172 A CN 201911380172A CN 111127017 B CN111127017 B CN 111127017B
- Authority
- CN
- China
- Prior art keywords
- chain
- relay
- block
- primitive
- fragmentation
- 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.)
- Active
Links
Images
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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于P2P存储网络和多层架构的区块链全分片方法及装置,一方面,本发明利用网络分片将全网区块链节点分为分片链、中继链和信标链,即采用信标‑中继‑分片三层架构实现分片的跨链通信,使节点的网络需求与网络的总TPS数成线性关系,另一方面,本发明将交易分为W原语和D原语,且本发明对D原语进行分组,并计算其对应的哈希值,其实质为:W原语在发起者的分片上执行,D原语存储在P2P存储网络中,而D原语对应的哈希值则会进行跨链通信,在最终在接收者的分片上执行。通过上述设计,通过P2P存储网络,使大量的数据只需要将其哈希值通过跨链通信,降低了通信复杂度和带宽需求,大大的提高了区块链分片技术的扩展性。
Description
技术领域
本发明涉及区块链分片技术领域,具体涉及一种基于P2P存储网 络和多层架构的区块链全分片方法及装置。
背景技术
在区块链技术中,对数据进行打包、出块之前,需要对该数据进 行全网广播,随着网络的增长,区块链的数据以及节点也越来越多, 往往会花费大量的数据广播时间,这使得同一个区块链的出块性能大 大降低。
所以,区块链分片技术应运而生,分片是一种基于数据库分成若 干片段的传统概念扩容技术,它将数据库分割成多个碎片,并将这些 碎片放置在不同的服务器上,在底层公有链的系统内,网络上的交易 将被分成不同的碎片,其由网络上的不同节点组成,因此,只需要处 理一小部分输入的交易,并且通过与网络上其它节点并行处理就能够 完成大量的验证工作。
目前区块链的分片技术主要存在以下两个问题:(1)分片中跨链 交易具有极高的通信复杂和带宽要求,这个带宽需求与系统的TPS能 力成平方阶关系,导致目前的分片技术只有有限扩展性;(2)状态分 片难度极高,需要某些设备存储某个分片的数据,又需要在合适的时 候,被网络中的任何节点访问和同步。
问题(2)又反过来影响问题(1),最终导致目前的分片技术方 案中节点的通信带宽随分片数量的二次方增加,使得分片要么只能在 网络条件非常好的环境下运行,要么只能限制分片的数量,致使区块 链系统的扩展性受到了严重的限制。
发明内容
为了解决现有区块链分片技术中存在的扩展性不高的问题,本发 明的目的在于提供一种使用P2P存储网络解决状态分片问题,使用三 层架构分片使带宽需求与网络的总TPS数成线性关系,降低了通信复 杂度和带宽需求,提高了分片的扩展性的分片方法及装置。
本发明所采用的技术方案为:
一种基于P2P存储和多层架构的区块链全分片方法,包括跨分片 交易打包阶段和跨分片交易解包阶段;
所述跨分片交易打包阶段包括以下步骤:
S101.根据地址对全网区块链节点进行网络分片,分别得到分片 链、中继链和信标链,其中,所述信标链包括若干条中继链,所述中 继链包括若干条分片链,所述分片链包括若干个区块链节点;
S102.将一个交易T分解为两个原语,得到T={W,D},其中,W 原语为交易T中付款账户的数字资产扣除信息,D原语为交易T中收 款账户的数字资产增加信息;
S103.针对每个分片链,统计每个分片链中所有交易T对应的D 原语,并对每个分片链中所有的D原语进行分组,分组完毕后,分别 得到每组对应的D原语集合ch,将每组对应的D原语集合ch存入P2P 存储网络中,并分别计算得到每个D原语集合ch对应的哈希集合Hg;
S104.针对每个分片链,在生成分片区块Bs时,将每个哈希集合 Hg打包至其对应的分片区块Bs中,并将所述分片区块Bs发送至本分 片链内所有的区块链节点和所属的中继链;
S105.针对每个中继链,在生成中继区块Br时,根据接收到的所 有分片区块Bs,将所有分片区块Bs中的哈希集合Hg根据所有中继链 进行整合,得到哈希集合Hr,将哈希集合Hr打包至所述中继区块Br中,并将所有分片区块Bs中的哈希集合Hg存入P2P存储网络中,然后将所述中继区块Br发送至当前中继链和所述信标链中;
所述跨分片交易解包阶段包括以下步骤:
S201.所述信标链在生成信标区块Bb时,根据接收到的所有中继 区块Br,将所有中继区块Br中的哈希集合Hr根据所有中继链进行整 合,得到哈希集合Hs,将所述哈希集合Hs打包至所述信标区块Bb, 并将所有中继区块Br中的哈希集合Hr存入P2P存储网络中,然后将所述信标区块Bb发送至信标链和所有的中继链;
S202.针对每个中继链,在生成中继区块B′r时,根据接收到的信 标区块Bb中的哈希集合Hs,通过数据推断,重新分组组合每个D原 语集合ch,得到属于当前中继链的D原语集合ch′以及其对应的所有 哈希值h′,将所述D原语集合ch′存入P2P存储网络中,并将所有哈希 值h′打包至所述中继区块B′r,然后发送至当前中继链管理所有分片链 中;
S203.针对每个分片链,在生成分片区块B′s时,根据接收到的中 继区块B′r中的哈希值h′,在P2P存储网络中读取需要当前分片链执行 的D原语集合ch′,得到所述D原语,然后根据所述D原语更新分片状 态。
优化的,所述步骤S103中对每个分片链中所有的D原语进行分 组的条件为:根据所述D原语中收款账户所对应的中继链进行分组, 将属于同一中继链的收款账户所对应的D原语分为一组。
优化的,在所述步骤S104前,还需进行以下步骤:
针对每个分片链,根据每个分片链中的W原语,更新每个分片链 的状态,并得到每个分片链对应的状态默克尔树根Rshard。
优化的,在所述步骤S104中,还需将每个分片链对应的状态默 克尔树根Rshard打包至其对应的分片区块Bs中,与所述哈希集合Hg一 起经过共识确认后,发送至本分片链内所有的区块链节点和所属的中 继链中。
优化的,在所述步骤S105中,还包括以下步骤:
S105a.针对每个中继链,在生成所述中继区块Br时,还需记录 所述中继区块Br处理的所有分片区块Bs,形成第一区块记录{HB};
S105b.将所述第一区块记录{HB}和所述哈希集合Hr打包至该 中继链对应的中继区块Br,经过共识确认后,发送至当前中继链和所 述信标链。
优化的,所述步骤S201还包括以下步骤:
S201a.所述信标链在生成所述信标区块Bb时,还需记录所述信 标区块Bb处理的所有中继区块Br,形成第二区块记录{HBR};
S201b.将所述第二区块记录{HBR}和所述哈希集合Hs打包进所 述信标链对应的信标区块Bb,并经过共识确认后发送至所述信标链和 所有的中继链。
优化的,所述步骤S202还包括以下步骤:
S202a.针对每个中继链,在生成中继区块B′r时,还需记录所述中 继区块B′r处理的信标区块Bb,形成第三区块记录{HBB};
S202b.将所述第三区块记录{HBB}、所述第一区块记录{HB}和所 述哈希值h′打包至所述中继区块B′r,经过共识确认后,发送至当前中 继链管理的所有分片链中。
优化的,在所述步骤S202,采用以下步骤计算得到D原语集合ch′ 以及其对应的哈希值h′:
从所述哈希集合Hs中提取包含有哈希集合Hg的数据;
从提取的包含有哈希集合Hg的数据中,提取所有的D原语集合 ch;
将所有的D原语集合ch进行重新分组组合,得到所述D原语集合 ch′以及其对应的哈希值h′。
本发明还提供了另一种技术方案:
一种基于P2P存储网络和多层架构的区块链全分片装置,包括通 信连接的存储器和处理器,其中,所述存储器上存储有计算机程序, 所述处理器用于执行所述计算机程序实现所述基于P2P存储网络和 多层架构的区块链全分片方法
本发明的有益效果为:
(1)本发明提供了一种基于P2P存储网络和多层架构的区块链 全分片方法及装置,本发明根据地址,利用网络分片将全网区块链节 点分为分片链、中继链和信标链,即采用信标-中继-分片三层架构实 现分片的跨链通信,使节点的网络需求与网络的总TPS数成线性关 系;
(2)本发明将交易分为W原语和D原语,其中,W原语为交易T 中付款账户的数字资产扣除信息,D原语为交易T中收款账户的数字 资产增加信息,且本发明对D原语进行分组,并计算其对应的哈希值, 其实质为:W原语在发起者的分片上执行,D原语存储在P2P存储网络中,而D原语对应的哈希值则会进行跨链通信,在最终在接收者的 分片上执行。
通过上述设计,通过P2P存储网络,使大量的数据只需要将其哈 希值通过跨链通信,降低了通信复杂度和带宽需求,大大的提高了区 块链分片技术的扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面 将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而 易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些 附图获得其他的附图。
图1是本发明提供的基于P2P存储网络和多层架构的区块链全分 片方法的步骤流程示意图。
图2是本发明提供的分片链、中继链和信标链的通信结构示意 图。
图3是本发明提供的跨分片交易打包阶段的传输示意图。
图4是本发明提供的跨分片交易解包阶段的传输示意图。
图5是本发明提供的基于P2P存储网络和多层架构的区块链全分 片装置的结构示意图。
具体实施方式
下面结合具体实施例对本发明作进一步阐述。在此需要说明的 是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对 本发明的限定。
文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示 可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独 存在B,同时存在A和B三种情况,本文中术语“/和”是描述另一 种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示: 单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一 般表示前后关联对象是一种“或”关系。
实施例一
如图1~4所示,本实施例所提供的基于P2P存储网络和多层架 构的区块链全分片方法,包括跨分片交易打包阶段和跨分片交易解包 阶段。
下面对跨分片交易打包阶段的步骤流程进行具体的阐述:
交易打包即是交易的发出过程:
所述跨分片交易打包阶段包括以下步骤:
首先,在本实施例中,采用多层架构实现交易的分片,进而使得 区块链线性可扩展,在区块允许的大小范围内,使区块链系统的总分 片数量从数十扩展到数千。具体的多层架构创建方法如步骤S101。
S101.根据地址对全网区块链节点进行网络分片,分别得到分片 链、中继链和信标链,其中,所述信标链包括若干条中继链,所述中 继链包括若干条分片链,所述分片链包括若干个区块链节点。
在本实施例中,三层分片架构则是根据区块链节点的地址划分 的,即听过网络分片实现全网区块链节点的划分,形成分片链-中继 链-信标链三层的分片架构。
如图2所示,图2可清楚的表明分片链、中继链以及信标链之间 的大小关系以及通信关系。
在本实施例中,一个信标链中可管理多个中继链,而一个中继链 中可管理多个分片链,而一个分片链又可管理多个区块链节点。
形成三层分片架构后,本实施例中还进行了交易分片,即步骤 S102。
S102.将一个交易T分解为两个原语,得到T={W,D},其中,W 原语为交易T中付款账户的数字资产扣除信息,D原语为交易T中收 款账户的数字资产增加信息。
在本实施例中,将一个交易分解为W原语和D原语,即是将交易 按照交易发送方和交易接收方,而在本实施例中,只有交易接收方接 收的信息才会进行跨链传输,即D原语才会进行跨链传输,在交易接 收方上进行执行,即在接收方的分片链上执行。
由于区块链中交易数量非常多,造成了数据量非常庞大,如果所 有交易接收方的信息,即D原语都跨链传输,会增加通信的复杂度, 也会对网络带宽的要求非常高,无法实现分片的高扩展性,所以,在 本实施例中,对D原语的跨链传输做出了以下改变,具体为步骤 S103~S105。
S103.针对每个分片链,统计每个分片链中所有交易T对应的D 原语,并对每个分片链中所有的D原语进行分组,分组完毕后,分别 得到每组对应的D原语集合ch,将每组对应的D原语集合ch存入P2P 存储网络中,并分别计算得到每个D原语集合ch对应的哈希集合Hg。
S104.针对每个分片链,在生成分片区块Bs时,将每个哈希集合 Hg打包至其对应的分片区块Bs中,并将所述分片区块Bs发送至本分 片链内所有的区块链节点和所属的中继链。
在本实施例中,只将每个D原语的哈希值进行跨链传输,而D原 语本身即存储在P2P存储网络中,具体过程阐述如下:
首先,由于一个中继链管理有多个分片链,而每个分片链中均会 存在交易,所以需要将每个分片链中交易的D原语进行统计,并进行 分组,得到每组中所有D原语所对应的哈希值,进而形成每组D原语 的哈希集合Hg。
在本实施例中,通过分组即可得到的D原语集合ch,即每个D原 语集合ch中包括多个D原语,而分组得到的多个D原语集合ch即可存 储在P2P存储网络中,而每个D原语集合ch对应的哈希集合Hg,则 会进行跨链通信,发送至接收方分片链上进行交易。
在本实施例中,所述步骤S103中对每个分片链中所有的D原语 进行分组的条件为:根据所述D原语中收款账户所对应的中继链进行 分组,将属于同一中继链的收款账户所对应的D原语分为一组。
上述分组的标准其实质为:判断每个D原语是发送至哪个区块链 节点,因为D原语为交易T中收款账户的数字资产增加信息,所以, 即可根据收款账户得到接收节点地址,进而得到接收区块链节点,根 据接收区块链节点判断其属于哪个分片链,进而得到其属于哪个中继 链管理,将属于同一中继链管理的D原语分为一组,得到D原语集合 ch,存储在P2P网络上。
在得到每一个D原语集合ch后,即可根据哈希函数计算每个D原 语集合ch中每一个D原语的哈希值,进而得到每个D原语集合ch的哈 希集合Hg,从而将哈希集合Hg打包至其所属分片链对应的分别区块 Bs中,将此分别区块Bs发送至中继链,进行跨链传输。
在本实施例中,对哈希集合Hg打包进分片区块Bs,则是指D原 语所属分片链对应的分片区块Bs,也就是接收方区块链节点对应的区 块。
在本实施例中哈希值的计算采用哈希函数,哈希函数为一种现 有函数。
在本实施例中,在进行步骤S104前,还需进行以下步骤:
针对每个分片链,根据每个分片链中的W原语,更新每个分片链 的状态,并得到每个分片链对应的状态默克尔树根Rshard。
在本实施例中,通过W原语,也就是根据交易T中收款账户的数 字资产扣除信息,得到每个分片链对应的状态默克尔树根Rshard。其实 质就为:记录每个分片链上的发送交易记录,并同时也要和哈希集合 Hg一起打包进行区块,上传至中继链中,具体步骤如下:
在所述步骤S104中,还需将每个分片链对应的状态默克尔树根 Rshard打包至其对应的分片区块Bs中,与所述哈希集合Hg一起经过共 识确认后,发送至本分片链内所有的区块链节点和所属的中继链中。
通过上述设计,可根据每个分片链的状态默克尔树根Rshard,即根 据每个分片链中的交易发送记录进行交易核对,保证交易可靠性。
将状态默克尔树根Rshard和哈希集合Hg上传至中继链后,则会进 行步骤S105,具体如下:
S105.针对每个中继链,在生成中继区块Br时,根据接收到的所 有分片区块Bs,将所有分片区块Bs中的哈希集合Hg根据所有中继链 进行整合,得到哈希集合Hr,将哈希集合Hr打包至所述中继区块Br中,并将所有分片区块Bs中的哈希集合Hg存入P2P存储网络中,然后将所述中继区块Br发送至当前中继链和所述信标链中。
由于上述就已说明,一个中继链会管理多个分片链,所以一个中 继链会接收到其管理的所有分片链上传分片区块Bs,通过对每个分片 区块Bs中哈希集合Hg的整合,即可得到哈希集合Hr,整合的实质为: 提取每个分片区块Bs中的哈希集合Hg,从每个哈希集合Hg中提取其 包含的哈希值,将提取的哈希值进行合并为一个集合,即形成哈希集 合Hr。
在本实施例中,还会将所有分片区块Bs中的哈希集合Hg存入P2P 存储网络中,进行数据存储,保证数据不会丢失。
同时在步骤S105中还需进行以下步骤:
S105a.针对每个中继链,在生成所述中继区块Br时,还需记录 所述中继区块Br处理的所有分片区块Bs,形成第一区块记录{HB}。
S105b.将所述第一区块记录{HB}和所述哈希集合Hr打包至该 中继链对应的中继区块Br,经过共识确认后,发送至当前中继链和所 述信标链。
步骤S105a和步骤S105b的作用即是起到记录数据的作用,即是 将所述中继区块Br处理的所有分片区块Bs中的信息,记录成第一区块 记录{HB},保存在中继区块Br,一起进行跨链传输,进而可防止数据 丢失,也能便于数据核对,增加分片的可靠性与安全性。
步骤S101~S105以及每个步骤含有的子步骤,均为跨分片交易 打包阶段的过程,可用图3为跨分片交易打包阶段传输示意图,即哈 希集合Hg、哈希集合Hr在分片链、中继链以及信标链的传递过程。
跨分片交易打包阶段完毕后,即可进入跨分片交易解包阶段,即 交易进入接收分片链执行的过程,具体如下:
所述跨分片交易解包阶段包括以下步骤:
S201.所述信标链在生成信标区块Bb时,根据接收到的所有中继 区块Br,将所有中继区块Br中的哈希集合Hr根据所有中继链进行整 合,得到哈希集合Hs,将所述哈希集合Hs打包至所述信标区块Bb, 并将所有中继区块Br中的哈希集合Hr存入P2P存储网络中,然后将所述信标区块Bb发送至信标链和所有的中继链。
所述步骤S201则是对中继链发送的哈希集合Hr进行整合的过 程,其整合过程与步骤S105中整合的过程原理相同,也是先提取每 个分片区块Br中的哈希集合Hr,从每个哈希集合Hr中提取其包含的 哈希值,将提取的哈希值进行合并为一个集合,即形成哈希集合Hs。
同时,也会将所有分片区块中Br的哈希集合Hr存入P2P存储网 络中,进行数据存储,保证数据不会丢失。
另外,在步骤S201中还会进行以下步骤:
具体步骤如下:
S201a.所述信标链在生成所述信标区块Bb时,还需记录所述信 标区块Bb处理的所有中继区块Br,形成第二区块记录{HBR}。
S201b.将所述第二区块记录{HBR}和所述哈希集合Hs打包进所 述信标链对应的信标区块Bb,并经过共识确认后发送至所述信标链和 所有的中继链。
在信标链中,步骤S201a和步骤S201b与中继链中进行记录的自 作用相同,都是为了防止数据丢失,也能便于数据核对,增加分片的 可靠性与安全性。
其向D原语所在区块链节点发送交易信息,则与跨分片交易打包 阶段相反,跨分片交易解包阶段则是由信标链发送至中继链,最后在 发送至分片链,步骤S201则是信标链向中继链的发送过程,而步骤 S202则是中继链向其管理的所有分片链的发送过程,具体如下:
S202.针对每个中继链,在生成中继区块B′r时,根据接收到的信 标区块Bb中的哈希集合Hs,通过数据推断,重新分组组合每个D原 语集合ch,得到属于当前中继链的D原语集合ch′以及其对应的所有 哈希值h′,将所述D原语集合ch′存入P2P存储网络中,并将所有哈希 值h′打包至所述中继区块B′r,然后发送至当前中继链管理所有分片链 中。
步骤S202则是通过哈希集合Hs得到属于当前中继链的D原语集 合ch′以及其对应的所有哈希值h′的过程,通过哈希值h′得到D原语, 以便完成分片状态的更新。
其中,步骤S202,采用以下步骤计算得到D原语集合ch′以及其 对应的哈希值h′,具体为:
从所述哈希集合Hs中提取包含有哈希集合Hg的数据。
从提取的包含有哈希集合Hg的数据中,提取所有的D原语集合 ch。
将所有的D原语集合ch进行重新分组组合,得到所述D原语集合 ch′以及其对应的哈希值h′。
所以,即可通过哈希集合Hs中的哈希值,得到哈希集合Hg,进 而根据哈希集合Hg中的哈希值,得到D原语集合ch,最后将D原语 集合ch进行重新分组组合,即可得到D原语集合ch′以及其对应的哈 希值h′。
当然,一个D原语集合ch′中包含有多个哈希值h′。
在本实施例中,中继区块B′r与中继区块Br属于同一个中继区块。
每个分片链接收到中继链发送的信息后,即可根据哈希值h′进行 D原语的提取,具体过程如下:
S203.针对每个分片链,在生成分片区块B′s时,根据接收到的中 继区块B′r中的哈希值h′,在P2P存储网络中读取需要当前分片链执行 的D原语集合ch′,得到所述D原语,然后根据所述D原语更新分片状 态。
由于在步骤S202中,D原语集合ch′就已存储至P2P存储网络中 了,而D原语集合ch′又是由D原语集合ch重新分组组合得到,所以 即可根据哈希值h′,匹配对应的D原语集合ch′,从而得到D原语集合 ch′中包含的D原语集合ch,进而得到D原语集合ch中的D原语,实 现本次交易的数据更新。
同理,分片区块B′s和分片区块Bs也属于同一个分片区块。
另外,在步骤S202中还具体需要进行以下步骤:
S202a.针对每个中继链,在生成中继区块B′r时,还需记录所述中 继区块B′r处理的信标区块Bb,形成第三区块记录{HBB}。
S202b.将所述第三区块记录{HBB}、所述第一区块记录{HB}和所 述哈希值h′打包至所述中继区块B′r,经过共识确认后,发送至当前中 继链管理的所有分片链中。
步骤S202a和步骤S202b的作用也是为了实现数据记录,为了防 止数据丢失,也能便于数据核对,增加分片的可靠性与安全性。
通过上述阐述,步骤S201~S203则是交易信息发送至接收分片 链的过程,图4即可进行清楚的表示,数据的传输过程。
在本实施例中,对3层架构的系统的可扩展性进行具体的阐述:
可扩展性定理:
L(L>1)层架构的分片系统,其通信带宽需求为:
证明:我们考察一个具有L层架构的分片系统,不失一般性,我 们假设一个上层分片管理m个下层分片,因此系统中的TPS:K=mL-1, 任意一个中间层I,将要接收到的数据是:
(1)从下层的m个分片得到的m个区块数据,其中每一个区块 数据具有一个默克尔树:
{H|<H1|...|Hm>}
所以,其最优通信为32*m(m+1),32是哈希结果的长度。
(2)本分片产生的区块为:
(3)上一层对应分片产生的区块:
S=32*m(m+1)+32*(m+1)+32*(m+1)+32m
在本实施例中,由于只需要将跨链传输的数据生成哈希值, 而原始则数据存入到P2P网络中,且哈希值通过链上传播,所以 网络至少具有三层架构。
综上,采用本实施例所提供的基于P2P存储网络和多层架构的区 块链全分片方法及装置,具有如下技术效果:
(1)本发明提供了一种基于P2P存储网络和多层架构的区块链 全分片方法及装置,本发明根据地址,利用网络分片将全网区块链节 点分为分片链、中继链和信标链,即采用信标-中继-分片三层架构实 现分片的跨链通信,使节点的网络需求与网络的总TPS数成线性关 系;
(2)本发明将交易分为W原语和D原语,其中,W原语为交易T 中付款账户的数字资产扣除信息,D原语为交易T中收款账户的数字 资产增加信息,且本发明对D原语进行分组,并计算其对应的哈希值, 其实质为:W原语在发起者的分片上执行,D原语存储在P2P存储网络中,而D原语对应的哈希值则会进行跨链通信,在最终在接收者的 分片上执行。
通过上述设计,通过P2P存储网络,使大量的数据只需要将其哈 希值通过跨链通信,降低了通信答复杂度和带宽需求,大大的提高了 区块链分片技术的扩展性。
实施例二
如图5所示,本实施例提供了实施例一种基于P2P存储网络 和多层架构的区块链全分片装置,包括通信连接的存储器和处理 器,其中,所述存储器上存储有计算机程序,所述处理器用于执 行所述计算机程序实现如实施例一所述的基于P2P存储网络和多 层架构的区块链全分片方法。
本实施例的工作过程、达到的技术效果与实施例一中一致, 于此不多加赘述。
本发明不局限于上述可选实施方式,任何人在本发明的启示下都 可得出其他各种形式的产品,但不论在其形状或结构上作任何变化, 凡是落入本发明权利要求界定范围内的技术方案,均落在本发明的保护范围之内。
Claims (9)
1.一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于:包括跨分片交易打包阶段和跨分片交易解包阶段;
所述跨分片交易打包阶段包括以下步骤:
S101.根据地址对全网区块链节点进行网络分片,分别得到分片链、中继链和信标链,其中,所述信标链包括若干条中继链,所述中继链包括若干条分片链,所述分片链包括若干个区块链节点;
S102.将一个交易T分解为两个原语,得到T={W,D},其中,W原语为交易T中付款账户的数字资产扣除信息,D原语为交易T中收款账户的数字资产增加信息;
S103.针对每个分片链,统计每个分片链中所有交易T对应的D原语,并对每个分片链中所有的D原语进行分组,分组完毕后,分别得到每组对应的D原语集合ch,将每组对应的D原语集合ch存入P2P存储网络中,并分别计算得到每个D原语集合ch对应的哈希集合Hg;
S104.针对每个分片链,在生成分片区块Bs时,将每个哈希集合Hg打包至其对应的分片区块Bs中,并将所述分片区块Bs发送至本分片链内所有的区块链节点和所属的中继链;
S105.针对每个中继链,在生成中继区块Br时,根据接收到的所有分片区块Bs,将所有分片区块Bs中的哈希集合Hg根据所有中继链进行整合,得到哈希集合Hr,将哈希集合Hr打包至所述中继区块Br中,并将所有分片区块Bs中的哈希集合Hg存入P2P存储网络中,然后将所述中继区块Br发送至当前中继链和所述信标链中;
所述跨分片交易解包阶段包括以下步骤:
S201.所述信标链在生成信标区块Bb时,根据接收到的所有中继区块Br,将所有中继区块Br中的哈希集合Hr根据所有中继链进行整合,得到哈希集合Hs,将所述哈希集合Hs打包至所述信标区块Bb,并将所有中继区块Br中的哈希集合Hr存入P2P存储网络中,然后将所述信标区块Bb发送至信标链和所有的中继链;
S202.针对每个中继链,在生成中继区块B′r时,根据接收到的信标区块Bb中的哈希集合Hs,通过数据推断,重新分组组合每个D原语集合ch,得到属于当前中继链的D原语集合ch′以及其对应的所有哈希值h′,将所述D原语集合ch′存入P2P存储网络中,并将所有哈希值h′打包至所述中继区块B′r,然后发送至当前中继链管理所有分片链中;
S203.针对每个分片链,在生成分片区块B′s时,根据接收到的中继区块B′r中的哈希值h′,在P2P存储网络中读取需要当前分片链执行的D原语集合ch′,得到所述D原语,然后根据所述D原语更新分片状态。
2.根据权利要求1所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,所述步骤S103中对每个分片链中所有的D原语进行分组的条件为:根据所述D原语中收款账户所对应的中继链进行分组,将属于同一中继链的收款账户所对应的D原语分为一组。
3.根据权利要求1所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,在所述步骤S104前,还需进行以下步骤:
针对每个分片链,根据每个分片链中的W原语,更新每个分片链的状态,并得到每个分片链对应的状态默克尔树根Rshard。
4.根据权利要求3所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,在所述步骤S104中,还需将每个分片链对应的状态默克尔树根Rshard打包至其对应的分片区块Bs中,与所述哈希集合Hg一起经过共识确认后,发送至本分片链内所有的区块链节点和所属的中继链中。
5.根据权利要求4所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,在所述步骤S105中,还包括以下步骤:
S105a.针对每个中继链,在生成所述中继区块Br时,还需记录所述中继区块Br处理的所有分片区块Bs,形成第一区块记录{HB};
S105b.将所述第一区块记录{HB}和所述哈希集合Hr打包至该中继链对应的中继区块Br,经过共识确认后,发送至当前中继链和所述信标链。
6.根据权利要求5所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,所述步骤S201还包括以下步骤:
S201a.所述信标链在生成所述信标区块Bb时,还需记录所述信标区块Bb处理的所有中继区块Br,形成第二区块记录{HBR};
S201b.将所述第二区块记录{HBR}和所述哈希集合Hs打包进所述信标链对应的信标区块Bb,并经过共识确认后发送至所述信标链和所有的中继链。
7.根据权利要求6所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,所述步骤S202还包括以下步骤:
S202a.针对每个中继链,在生成中继区块B′r时,还需记录所述中继区块B′r处理的信标区块Bb,形成第三区块记录{HBB};
S202b.将所述第三区块记录{HBB}、所述第一区块记录{HB}和所述哈希值h′打包至所述中继区块B′r,经过共识确认后,发送至当前中继链管理的所有分片链中。
8.根据权利要求7所述的一种基于P2P存储网络和多层架构的区块链全分片方法,其特征在于,在所述步骤S202,采用以下步骤计算得到D原语集合ch′以及其对应的哈希值h′:
从所述哈希集合Hs中提取包含有哈希集合Hg的数据;
从提取的包含有哈希集合Hg的数据中,提取所有的D原语集合ch;
将所有的D原语集合ch进行重新分组组合,得到所述D原语集合ch′以及其对应的哈希值h′。
9.一种基于P2P存储网络和多层架构的区块链全分片装置,其特征在于:包括通信连接的存储器和处理器,其中,所述存储器上存储有计算机程序,所述处理器用于执行所述计算机程序实现如权利要求1~8任意一项所述的基于P2P存储网络和多层架构的区块链全分片方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380172.5A CN111127017B (zh) | 2019-12-27 | 2019-12-27 | 基于p2p存储网络和多层架构的区块链全分片方法及装置 |
US17/135,947 US11522673B2 (en) | 2019-12-27 | 2020-12-28 | Method and device for blockchain full sharding based on a P2P storage network and a multi-layer architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911380172.5A CN111127017B (zh) | 2019-12-27 | 2019-12-27 | 基于p2p存储网络和多层架构的区块链全分片方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111127017A CN111127017A (zh) | 2020-05-08 |
CN111127017B true CN111127017B (zh) | 2022-11-08 |
Family
ID=70504482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911380172.5A Active CN111127017B (zh) | 2019-12-27 | 2019-12-27 | 基于p2p存储网络和多层架构的区块链全分片方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11522673B2 (zh) |
CN (1) | CN111127017B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597268B (zh) * | 2020-05-21 | 2023-09-12 | 昆明大棒客科技有限公司 | 一种区块链扩展方法、区块链节点及区块链系统 |
CN112202863B (zh) * | 2020-09-24 | 2022-09-20 | 成都质数斯达克科技有限公司 | 数据同步方法、装置、电子设备及可读存储介质 |
CN112801665B (zh) * | 2021-03-19 | 2021-08-24 | 北京万物智链科技有限公司 | 一种基于服务器中继的跨链交易方法及系统 |
CN113079008B (zh) | 2021-04-26 | 2021-11-16 | 北京玻色量子科技有限公司 | 数据通信方法、装置以及系统 |
CN113468200B (zh) * | 2021-09-01 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 对区块链系统中的分片进行扩容的方法及装置 |
CN114866478B (zh) * | 2022-04-26 | 2024-01-05 | 深圳大学 | 一种1.5层区块链及其操作方法、设备和可读存储介质 |
CN117422549A (zh) * | 2022-07-11 | 2024-01-19 | 汇丰软件开发(广东)有限公司 | 一种用于受监管加密货币场景中的基于utxo的分片方法 |
CN115310137B (zh) * | 2022-10-11 | 2023-04-07 | 深圳市深信信息技术有限公司 | 一种智能结算系统的保密方法及相关装置 |
CN116055064B (zh) * | 2023-03-17 | 2023-06-23 | 安徽中科晶格技术有限公司 | 区块链分片中多区块同时共识方法、系统、介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010283612A (ja) * | 2009-06-04 | 2010-12-16 | Mitsubishi Electric Corp | ネットワーク通信方法、通信端末装置、および、通信中継装置 |
WO2018217804A1 (en) * | 2017-05-22 | 2018-11-29 | Visa International Service Association | Network for improved verification speed with tamper resistant data |
CN109345387A (zh) * | 2018-09-04 | 2019-02-15 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、跨链通信装置及存储介质 |
CN109389502A (zh) * | 2018-10-08 | 2019-02-26 | 莆田市烛火信息技术有限公司 | 一种依附相关链算力的区块链的共识方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146380B2 (en) * | 2017-08-03 | 2021-10-12 | Parity Technologies Ltd. | Methods and systems for a heterogeneous multi-chain framework |
TWI659373B (zh) * | 2018-02-14 | 2019-05-11 | 財團法人工業技術研究院 | 區塊鏈系統及應用其的方法 |
WO2020113545A1 (zh) * | 2018-12-07 | 2020-06-11 | 北京大学深圳研究生院 | 基于联盟链投票共识算法产生及管理多模标识网络的方法 |
-
2019
- 2019-12-27 CN CN201911380172.5A patent/CN111127017B/zh active Active
-
2020
- 2020-12-28 US US17/135,947 patent/US11522673B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010283612A (ja) * | 2009-06-04 | 2010-12-16 | Mitsubishi Electric Corp | ネットワーク通信方法、通信端末装置、および、通信中継装置 |
WO2018217804A1 (en) * | 2017-05-22 | 2018-11-29 | Visa International Service Association | Network for improved verification speed with tamper resistant data |
CN109345387A (zh) * | 2018-09-04 | 2019-02-15 | 湖南宸瀚信息科技有限责任公司 | 区块链跨链交易方法、跨链通信装置及存储介质 |
CN109389502A (zh) * | 2018-10-08 | 2019-02-26 | 莆田市烛火信息技术有限公司 | 一种依附相关链算力的区块链的共识方法 |
Non-Patent Citations (1)
Title |
---|
分布式账本技术研究进展综述;姚前;《武汉金融》;20180331(第3期);第04-09页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111127017A (zh) | 2020-05-08 |
US20210203477A1 (en) | 2021-07-01 |
US11522673B2 (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111127017B (zh) | 基于p2p存储网络和多层架构的区块链全分片方法及装置 | |
CN101996102B (zh) | 数据关联规则挖掘实现方法与系统 | |
CN113329031A (zh) | 一种区块的状态树的生成方法及装置 | |
CN112257118B (zh) | 一种锁定包含分片的区块链系统中跨片事务的方法及系统 | |
Dryja | Utreexo: A dynamic hash-based accumulator optimized for the Bitcoin UTXO set | |
CN111026511A (zh) | 基于事务数据分区-链间融合的区块链并行系统及方法 | |
CN111782620B (zh) | 一种信用链路自动跟踪平台及其方法 | |
CN106484322A (zh) | 一种挂载文件系统的方法、装置及设备 | |
CN112039926B (zh) | 一种区块链的双层链式架构实现方法 | |
CN112261162A (zh) | 执行跨片事务的方法及系统、主链节点和目标分片节点 | |
CN112561700A (zh) | 区块链中交易数据的存储方法、验证方法、及区块链系统 | |
CN117390020A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN116226139B (zh) | 一种适用大规模海洋数据的分布式存储和处理方法及系统 | |
CN111596862B (zh) | 一种区块链历史交易数据自主优化方法及系统 | |
CN111340496A (zh) | 一种自动优化历史交易数据的区块链系统及方法 | |
CN107948233A (zh) | 处理写请求或读请求的方法、交换机、控制节点 | |
CN112261161B (zh) | 一种锁定区块链系统中分片区块的方法及区块链系统 | |
CN114024977B (zh) | 一种基于边缘计算的数据调度方法、装置及系统 | |
CN111932265B (zh) | 一种基于双层链式架构区块链的区块交易转化方法 | |
CN116795790A (zh) | 小文件合并的方法、装置、电子设备及存储介质 | |
CN112269423B (zh) | 一种锁定区块链系统中全局时钟的方法及区块链系统 | |
CN111161069B (zh) | 区块链系统 | |
CN112995340B (zh) | 一种基于区块链的去中心化文件系统再平衡方法 | |
US7542431B2 (en) | Nodal pattern configuration | |
CN113495982B (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 |