CN111127017B - 基于p2p存储网络和多层架构的区块链全分片方法及装置 - Google Patents

基于p2p存储网络和多层架构的区块链全分片方法及装置 Download PDF

Info

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
Application number
CN201911380172.5A
Other languages
English (en)
Other versions
CN111127017A (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.)
Sichuan Star Rongwei Technology Co ltd
Original Assignee
Sichuan Star Rongwei 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 Sichuan Star Rongwei Technology Co ltd filed Critical Sichuan Star Rongwei Technology Co ltd
Priority to CN201911380172.5A priority Critical patent/CN111127017B/zh
Publication of CN111127017A publication Critical patent/CN111127017A/zh
Priority to US17/135,947 priority patent/US11522673B2/en
Application granted granted Critical
Publication of CN111127017B publication Critical patent/CN111127017B/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
    • 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
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • 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/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)
  • 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存储网络和多层架构的区块链全分片方法及装置
技术领域
本发明涉及区块链分片技术领域,具体涉及一种基于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)层架构的分片系统,其通信带宽需求为:
Figure BDA0002342061900000141
证明:我们考察一个具有L层架构的分片系统,不失一般性,我 们假设一个上层分片管理m个下层分片,因此系统中的TPS:K=mL-1, 任意一个中间层I,将要接收到的数据是:
(1)从下层的m个分片得到的m个区块数据,其中每一个区块 数据具有一个默克尔树:
{H|<H1|...|Hm>}
所以,其最优通信为32*m(m+1),32是哈希结果的长度。
(2)本分片产生的区块为:
Figure BDA0002342061900000142
其中
Figure RE-GDA0002418420190000133
是需要上一层跨分片交易的数据哈希值,其对应的数据就是(1)中 的数据,因此数据量为32*(m+1)。
(3)上一层对应分片产生的区块:
Figure RE-GDA0002418420190000134
其中
Figure RE-GDA0002418420190000135
是上一层分片通知本层需要跨分片交易数据的哈希值,分片需要取出其中对应的数据,因此32*(m+1)+32m,因此得到在最优通信下,中间层的带宽需 求为:
S=32*m(m+1)+32*(m+1)+32*(m+1)+32m
因此S∈O(32m2),而K=mL-1,由此可得
Figure BDA0002342061900000153
所以,采 用三层架构则为线性可扩展性,采用三层以上的架构为超线性可 扩展性,可以进一步降低跨分片通信的带宽需求,但是其通信的 复杂度会随之上升。
在本实施例中,由于只需要将跨链传输的数据生成哈希值, 而原始则数据存入到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存储网络和多层架构的区块链全分片方法。
CN201911380172.5A 2019-12-27 2019-12-27 基于p2p存储网络和多层架构的区块链全分片方法及装置 Active CN111127017B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京大学深圳研究生院 基于联盟链投票共识算法产生及管理多模标识网络的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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