当前位置: 首页 > 专利查询>中山大学专利>正文

无状态分片区块链系统技术方案

技术编号:39803719 阅读:8 留言:0更新日期:2023-12-22 02:35
本申请提供一种无状态分片区块链系统,本申请提供的无状态分片区块链系统包括至少四个无状态节点和至少一个存储节点,其中,每个无状态节点仅存储目标区块链的元数据,每个无状态节点负责所述目标区块链的交易排序和交易执行;每个存储节点用于存储目标区块链的完整状态,负责在每个无状态节点之间转发信息和打包交易数据,由此可见,通过无状态节点和存储节点的双角色的架构设计,可以有效降低区块链系统的节点参与区块链系统的存储门槛,提升了区块链网络规模可扩展性,通过多分片交易执行并行化和交易处理流水线设计,可以有效提升区块链系统性能可扩展性

【技术实现步骤摘要】
无状态分片区块链系统


[0001]本申请涉及区块链
,尤其涉及一种无状态分片区块链系统


技术介绍

[0002]大多数传统区块链系统,它们在一个大型
P2P
网络上维护着一个分布式交易账本,其中,每个节点通过共识协议维护和更新完整的账本

这种传统区块链系统吞吐量较低,并且无法通过扩大网络规模来提高吞吐量

此外,这种传统区块链系统的另一个问题是:每个节点进入系统时都需要从网络下载整个区块链,以独立验证所有交易,因此随着区块数量的增加,节点需要存储的信息不断增加,加入系统的门槛不断提高;并且,目前区块链中交易的处理流程耦合度很高,节点需要全程参与广播交易

验证交易

确定领导者

运行共识算法

执行交易等流程,这间接制约了区块链系统性能

[0003]分片技术是提高系统性能可扩展性的一种有效方案,通过分片技术可以将区块链网络划分为多个分片,然后将工作负载分发到不同的分片中,这些分片可以并行处理多个任务,可以在一定程度上提高系统吞吐量

但是,现有的分片系统依旧没有解决存储开销较大的问题,并没有提高区块链的网络规模可扩展性

具体来说,在现有的分片系统的每个分片中,当新的区块不断生成并提交到区块链时,节点在本地存储的区块链也一直在不断增长,即使增加分片的数量,每个分片中的节点依旧存在这样的问题

资源有限的节点依然无法加入区块链网络,例如,移动设备就无法加入区块链网络,加入系统的所需资源的门槛限制了区块链的网络规模可扩展性

[0004]由此可见,无状态区块链的性能扩展性还是较差,已有的无状态区块链系统每秒交易吞吐量只达到
1000
左右,并且随着网络规模的增加,系统中大量的无状态节点都处于空闲状态,系统性能并不会提高


技术实现思路

[0005]本申请旨在至少能解决上述的技术缺陷之一,有鉴于此,本申请提供了一种无状态分片区块链系统,用于解决现有技术中现有的区块链系统数据处理吞吐量低导致系统性能较差的技术缺陷

[0006]一种无状态分片区块链系统,该系统包括:
[0007]至少四个无状态节点以及至少一个存储节点;
[0008]其中,
[0009]每个所述无状态节点仅存储目标区块链的元数据,每个所述无状态节点负责所述目标区块链的交易排序和交易执行;
[0010]每个所述存储节点用于存储所述目标区块链的完整状态,负责在每个所述无状态节点之间转发信息和打包交易数据

[0011]优选地,所述目标区块链包括至少一个候选区块

至少一个交易区块

排序委员会和至少一个执行委员会;
[0012]其中,
[0013]各个所述候选区块与所述排序委员会相互对应;
[0014]各个所述交易区块与各个所述执行委员会相互对应;
[0015]各个所述交易区块包括所述目标区块链的交易列表,所述交易列表由各个所述存储节点生成,并经由所述排序区块将各个所述交易区块的哈希值存储到与每个交易区块对应的候选区块中;
[0016]各个所述候选区块包括所述排序委员会的信息

所述目标区块链的交易区块列表和所述目标区块链的最新状态树的树根,每个所述候选区块由所述排序委员会成员生成,并通过各个所述候选区块的哈希函数顺序链接,形成所述目标区块链的主链

[0017]优选地,
[0018]在每个所述候选区块生成前,每个所述无状态节点根据委员会选举的结果,被分配到不同的分片和不同的委员会中去,以并行执行交易;
[0019]所述目标区块链的状态采用基于账户的状态模型,每个账户的所有者根据需求生成交易,并将所需要进行的交易发送到每个所述账户对应的分片中去以执行交易;
[0020]在执行交易时,每个所述无状态节点会读取或写入各自对应的分片的账户状态;
[0021]其中,每个所述存储节点均存储完整的账户状态,以保证不同分片的节点访问任一所述存储节点都能获取到所需状态

[0022]优选地,所述目标区块链的交易处理过程,包括:
[0023]确定目标区块链系统的全局唯一的交易顺序;
[0024]依据所述交易顺序,执行已排序的交易,并提交已执行的每个交易的执行结果

[0025]优选地,
[0026]所述目标区块链系统的交易包括见证阶段

排序阶段

执行阶段以及提交阶段;
[0027]其中,
[0028]所述见证阶段

所述排序阶段

所述执行阶段以及所述提交阶段按照顺序依次进行;
[0029]其中,
[0030]在所述见证阶段,所述目标区块链系统的各个执行委员会的各个成员必须在进入所述排序阶段前下载交易数据,且所述执行委员会的各个成员在确定已成功下载任意一个所述交易区块中的所有交易之后,在下载所有交易对应的交易区块中生成一个见证证明,并将该见证证明上传到任意一个存储节点;
[0031]判断各个所述交易区块收到来自各个所述执行委员会的委员会成员的见证证明数量是否为预设的第一阈值,其中,所述预设第一阈值为各个所述执行委员会的所有委员会成员总数的三分之二;
[0032]若确定各个所述交易区块收到来自各个所述执行委员会的委员会成员的见证证明数量为预设的第一阈值,则确定所述目标区块链系统进入排序阶段;
[0033]当所述目标区块链系统进入排序阶段,排序委员会的各个成员从任意一个存储节点下载已通过所述见证阶段的交易区块和见证证明,并验证所下载的每一个所述见证证明;
[0034]所述排序委员会的领导人产生一个包含有效交易区块列表的候选区块,并将该有
效交易区块列表广播给所述排序委员会的全部委员会成员;
[0035]所述排序委员会的全部委员会成员下载并就同一个交易列表达成共识协议;
[0036]当所述排序委员会的领导人所确定的候选区块达成共识协议后,所述排序委员根据所确定的候选区块达成共识协议的共识的结果,将所确定的候选区块以及所确定的候选区块链接着的交易区块发送给所述执行委员会;
[0037]每个所述执行委员依据所述排序委员会所确定的候选区块以及所确定的候选区块链接着的交易区块,请求相应的交易区块来执行交易;
[0038]所述排序委员会的每个排序委员会成员根据签名收集已收到的默克尔树根;
[0039]所述排序委员会对排序委员会成员所收集的默克尔树根,判断所收集的默克尔树根中相同的默克尔树根的数量是否超过预设的第二阈值,其中,所述预设的第二阈值为所述排序委员会的所有委员会成员总数的三分之二;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种无状态分片区块链系统,其特征在于,该系统包括:至少四个无状态节点以及至少一个存储节点;其中,每个所述无状态节点仅存储目标区块链的元数据,每个所述无状态节点负责所述目标区块链的交易排序和交易执行;每个所述存储节点用于存储所述目标区块链的完整状态,负责在每个所述无状态节点之间转发信息和打包交易数据
。2.
根据权利要求1所述的系统,其特征在于,所述目标区块链包括至少一个候选区块

至少一个交易区块

排序委员会和至少一个执行委员会;其中,各个所述候选区块与所述排序委员会相互对应;各个所述交易区块与各个所述执行委员会相互对应;各个所述交易区块包括所述目标区块链的交易列表,所述交易列表由各个所述存储节点生成,并经由所述排序区块将各个所述交易区块的哈希值存储到与每个交易区块对应的候选区块中;各个所述候选区块包括所述排序委员会的信息

所述目标区块链的交易区块列表和所述目标区块链的最新状态树的树根,每个所述候选区块由所述排序委员会成员生成,并通过各个所述候选区块的哈希函数顺序链接,形成所述目标区块链的主链
。3.
根据权利要求2所述的系统,其特征在于,在每个所述候选区块生成前,每个所述无状态节点根据委员会选举的结果,被分配到不同的分片和不同的委员会中去,以并行执行交易;所述目标区块链的状态采用基于账户的状态模型,每个账户的所有者根据需求生成交易,并将所需要进行的交易发送到每个所述账户对应的分片中去以执行交易;在执行交易时,每个所述无状态节点会读取或写入各自对应的分片的账户状态;其中,每个所述存储节点均存储完整的账户状态,以保证不同分片的节点访问任一所述存储节点都能获取到所需状态
。4.
根据权利要求1‑3任一项所述系统,所述目标区块链的交易处理过程,包括:确定目标区块链系统的全局唯一的交易顺序;依据所述交易顺序,执行已排序的交易,并提交已执行的每个交易的执行结果
。5.
根据权利要求4所述的系统,其特征在于,所述目标区块链系统的交易包括见证阶段

排序阶段

执行阶段以及提交阶段;其中,所述见证阶段

所述排序阶段

所述执行阶段以及所述提交阶段按照顺序依次进行;其中,在所述见证阶段,所述目标区块链系统的各个执行委员会的各个成员必须在进入所述排序阶段前下载交易数据,且所述执行委员会的各个成员在确定已成功下载任意一个所述交易区块中的所有交易之后,在下载所有交易对应的交易区块中生成一个见证证明,并将该见证证明上传到任意一个存储节点;判断各个所述交易区块收到来自各个所述执行委员会的委员会成员的见证证明数量
是否为预设的第一阈值,其中,所述预设第一阈值为各个所述执行委员会的所有委员会成员总数的三分之二;若确定各个所述交易区块收到来自各个所述执行委员会的委员会成员的见证证明数量为预设的第一阈值,则确定所述目标区块链系统进入排序阶段;当所述目标区块链系统进入排序阶段,排序委员会的各个成员从任意一个存储节点下载已通过所述见证阶段的交易...

【专利技术属性】
技术研发人员:陈武辉夏鼎蔡忠腾郑子彬
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1