基于RSA累加器的超级账本区块打包方法及系统技术方案

技术编号:33392313 阅读:23 留言:0更新日期:2022-05-11 23:10
本发明专利技术公开了基于RSA累加器的超级账本区块打包方法及系统,属于区块链技术领域,要解决的技术问题为如何通过改进区块打包以减少超级账本系统中的数据存储开销。在初始化阶段,将所述公共参数和初始累加值写入超级系统的配置文件中;在准备阶段,在本地执行模拟交易并通过本地的交易缓存列表存储所有的模拟交易信息;在区块打包阶段,将公共参数、初始化累加值以及当前累加值写入区块的数据部分生成区块文件,并计算模拟交易消息在所述区块文件中当前累加值的证据,将所述区块文件以及当前累计值的证据返回对应的Peer节点;在区块验证阶段,Peer节点验证对区块文件进行验证。Peer节点验证对区块文件进行验证。Peer节点验证对区块文件进行验证。

【技术实现步骤摘要】
基于RSA累加器的超级账本区块打包方法及系统


[0001]本专利技术涉及区块链
,具体地说是基于RSA累加器的超级账本区块打包方法及系统。

技术介绍

[0002]目前,由于区块链系统只能增加区块,不可篡改、不可删除区块的特性,使得包括超级账本系统在内的区块链系统都面临着区块占用的存储不断增加,区块存储开销较大的问题。相比于比特币等公链系统有许多减少区块体积的方法,超级账本这种联盟链系统也有着减少区块体积以节省存储开销的需要。
[0003]超级账本Fabric是区块链中应用最为广泛的联盟链系统,其原有区块结构包含三部分,Header、Data和Metadata。其中,Header部分包含了区块号、上个区块与本区块的哈希值,Data部分包含了多笔交易的具体信息和对应的签名;Metadata部分包含区块的元数据信息。
[0004]在超级账本系统进行区块打包时,由Orderer节点从排序并缓存好的交易列表中取出交易信息,拼接成交易集合列表,并将交易集合列表写入区块中Data部分的交易列表,并对其进行签名,然后据此构造区块的Head本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于RSA累加器的超级账本区块打包方法,其特征在于包括如下步骤:在初始化阶段,通过Setup算法生成公共参数和RSA累加器的初始累加值,并将所述公共参数和初始累加值写入超级系统的配置文件中;在准备阶段,超级账本中Orderer节点和Peer节点启动后,从配置文件中读取公共参数和初始累加值,Orderer节点和Peer节点配合,在本地执行模拟交易并通过本地的交易缓存列表存储所有的模拟交易信息;在区块打包阶段,Orderer节点将所有的模拟交易信息累加值累加在RSA累加器上,得到RSA累加器的当前累加值,将公共参数、初始化累加值以及当前累加值写入区块的数据部分生成区块文件,并计算模拟交易消息在所述区块文件中当前累加值的证据,将所述区块文件以及当前累计值的证据返回对应的Peer节点;在区块验证阶段,Peer节点验证对区块文件进行验证,验证区块是否正确、且是否包含了其提交的模拟交易信息。2.根据权利要求1所述的基于RSA累加器的超级账本区块打包方法,其特征在于在准备阶段,Orderer节点和Peer节点配合,在本地执行模拟交易并通过本地的交易缓存列表存储所有的交易信息。包括如下步骤:Peer节点在本地模拟执行交易,并将获取的模拟交易信息后发送至Orderer节点;超级账本中某个Orderer节点接收到模拟交易信息后,向超级账本中其它Orderer节点广播所述模拟交易信息;超级账本中所有Orderer节点运行共识算法,对接收的所有模拟交易信息进行排序,将排序后模拟交易信息存保存至本地的交易缓存列表中。3.根据权利要求1所述的基于RSA累加器的超级账本区块打包方法,其特征在于在区块打包阶段,当本地的缓存交易列表中模拟交易数量达到预定数量后,Orderer节点遍历缓存列表中模拟交易信息,并计算所述模拟交易信息的哈希映射,基于得到的哈希映射值对RSA累加器进行累加值更新,得到RSA累加器的当前累加值。4.根据权利要求1所述的基于RSA累加器的超级账本区块打包方法,其特征在于在区块打包阶段,Orderer节点将公共参数、初始化累加值以及当前累加值写入区块的数据部分生成区块文件,包括如下步骤:Orderer节点将公共参数、初始化累加值以及当前累加值写入区块data部分的交易列表中;Orderer节点对区块data部分的交易列表进行签名,并将签名写入区块data部分的签名值中;Orderer节点根据已构造的区块data部分创建区块Metadata部分,并基于构造的区块Data部分、区块Metadata部分、上个区块的编号以及哈希值构造区块Header部分,形成完整的区块内容;Orderer节点将区块内容写入本地的存储中形成区块文件。5.根据权利要求1所述的基于RSA累加器的超级账本区块打包方法,其特征在于在区块打包阶段,所述当前累计值的证据W
i
的计算公式为:W
i
=MemCreate(A
i
,Hprime(T
i
))其中,T
i
表示模拟交易,A
i
表示当前累加值,A
i
=Add(A
i
‑1,x
i
);
x
i
=Hprime(T
i
),表示表示模拟交易T
i
的哈希映射函数。6.根据权利要求1所述的基于RSA累加器的超级账本区块打包方法,其特征在于在区块验证阶段,Peer节点验证对区块文件进行验证,包括如下步骤:Peer节点在收到对应的区块文件和累加器证据后,先验证区块Header部分的哈希值与Data部分的签名是否合法,若不合法,则向其他Orderer节点发送模拟交易信息,否则,执行下一步;Peer节点从区块Data部分中获得公共参数、当前累加值和初始累加值,并判断所述获得的公共参数和初始累加值是否与本地配置文件中的是否一致,若不一致,则向其他Orderer节点发送模拟交易信息,否则,执行下一步;Peer节点首先计算其发送的模拟交易的哈希映射,然后通过执行算法VerMem(A
i
,W
i
,x)验证累加器证据是否有效,若无效,则向其他Orderer节点发送模拟交易信息,否则,Peer节点接受所述区块文件并将对应的区块和当前累计值证据保存在本地;其中,A
i
表示当前累加值,A
i
=Add(A
i
‑1,x
i
);x
i
=Hprime(T
i
),表示表示模拟交易T
i
的哈希映射函数;W
i
=MemCreate(A

【专利技术属性】
技术研发人员:孟奇
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1