一种区块链分片系统中降低存储开销的方法、装置及介质

文档序号:36313758发布日期:2023-12-07 19:32阅读:47来源:国知局
一种区块链分片系统中降低存储开销的方法

本发明属于计算机存储领域,更具体地,涉及一种区块链分片系统中降低存储开销的方法、装置及介质。


背景技术:

1、区块链是一种极具前景与潜在应用价值的基础设施,有望革新各行各业传统的生产关系。然而区块链却存在极其严重的可扩展性问题,即长区块同步时间、高昂的存储开销以及低吞吐量,阻碍了区块链的应用落地。

2、在以太坊中,区块链中的每个全节点都需要复制整个网络的状态时,共识系统无法横向扩展。即使实现了高吞吐量,需要快速通信、足够存储和计算能力的工作负载就会为全节点的参与设置高门槛,这又极大地阻碍了实际系统中的去中心化。

3、以太坊社区已经研究了区块链系统中的分片,分片方案可以将单链的吞吐量横向扩展至多链的吞吐量,每条链都能独立处理交易并贡献其吞吐量至总的吞吐量。与传统分布式系统中的分片策略类似,区块链可以分为多个分片来并行处理交易,横向扩展系统,但由于区块链是去中心化的点对点网络,且涉及复杂状态的更迭,因此区块链分片策略面临着诸多挑战。

4、luu等人提出的elastico是最早的区块链分片协议,其基于拜占庭协议完成每个分片内的共识与总的共识。然而为了保证安全性,在全局委员会中的节点仍需要处理来自整个区块链系统的数据,引入了高昂的存储开销与通信开销,且其仅支持片内的交易而无法支持跨分片的交易。

5、kokoris-kogias等人提出的omniledger与mahdi等人提出的rapidchain为了保证分片的安全引入随机分片策略;为了使节点能够处理跨片交易引入两阶段原子提交协议,保证跨片交易的原子性;全节点只需要处理其所在分片的交易,对其他分片只存区块头部信息用于验证两阶段的前置交易是否上链。存储开销与通信开销的降低使这两个方案更具可行性。

6、wang等人提出的monoxide进一步针对跨片交易的锁开销与分片的安全性,提出最终原子性与连弩共识策略。最终原子性保证了跨片交易的一阶段原子性操作一旦完成,二阶段的原子性操作最终也将被执行,消除了两阶段提交的互锁通信开销来提升性能。连弩共识使有能力同步与存储更多分片的节点只需要做一次工作量证明即可完成多个分片的出块,越多节点选择连弩共识,区块链算力被稀释到各个分片的程度就越低,每个分片内都有足够的算力保证其安全性。然而只有全节点聚集的矿池能够承担连弩共识的存储开销,由此可知monoxide为了保证区块链的安全性而牺牲了去中心化的特性。

7、wang提出的repshard是一种基于信誉的区块链分片方案,采用了两层链结构,由独立的交易链和信誉链组成,前者在其分片内记录交易,后者由所有分片共同维护以更新每个参与节点的声誉分数。

8、总体而言,现有的解决方案并没有达到理想分片效果,尽管都能通过分片提高吞吐量,但也有各自缺陷,主要的问题是,过大的存储开销与跨片通信等额外开销,或者较低的安全性。


技术实现思路

1、针对现有技术的缺陷和改进需求,本发明提供了一种区块链分片系统中降低存储开销的方法、装置及介质,旨在解决现有的分片方案过大的存储开销与跨片通信等额外开销的问题,并保证系统较高的安全性。

2、为实现上述目的,按照本发明的第一方面,提供了一种区块链分片系统中降低存储开销的方法,所述区块链分片系统包括若干分片链及一条主链,其中,所述分片链存储片内交易及各节点的余额信息,所述主链存储片间聚合交易及各分片的总余额信息;

3、所述方法包括:

4、将所有节点划分至各分片,每个节点向各自的分片链和主链中质押代币以获得竞争出块的权利;

5、对每个分片,选定出块者收集与该分片相关的片内交易和跨片交易,其中,目的为该分片的跨片交易,通过读取主链上对应源分片的总余额信息验证该组交易的正确性,当余额满足要求后,该组交易被接受;所述出块者将收集的所有交易打包成新区块,并将所述新区块广播到所述出块者所在分片的其他节点;

6、对每个分片,每经过一个主链时间周期,将该分片所有出块者收集的源为该分片的跨片交易根据目的分片的不同进行聚合,得到多个片间聚合交易;其中,每个片间聚合交易包括源分片和目的分片的索引号、被聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额;

7、将所有片间聚合交易在全网进行广播,并从全网选定出块者将所有片间聚合交易打包后追加到主链上。

8、进一步地,从全网选定出块者将所有片间聚合交易打包后追加到主链上后,所述方法还包括:

9、当分片sp中诚实节点举报当前主链时间周期的片间聚合交易有误时,诚实节点向智能合约提供收集的证据并发起挑战,所述证据包括当前主链时间周期内分片sp相关的交易,以及这组交易发生前的状态;

10、智能合约从主链中读取分片sp在上一个主链时间周期内的状态根和当前主链时间周期内的所有交易根,并与根据诚实节点提供的证据计算得到的状态根和交易根进行比较,若均相同,则认为诚实节点提供的证据正确,智能合约根据所述证据判定挑战是否成功;否则,挑战失败;

11、智能合约将根据挑战结果,通过质押的代币进行惩罚与奖励;

12、其中,所述状态根为一组状态组成的默克尔根,所述交易根为一组交易组成的默克尔根。

13、进一步地,所述智能合约根据所述证据判定挑战是否成功,包括:

14、智能合约对诚实节点提供的所有交易进行遍历,对每笔交易进行验证,同时通过该交易,对诚实节点提供的状态进行状态变迁;遍历过程中,当出现交易验证失败或出现负数余额的状态则证明挑战成功;

15、遍历所有交易后,智能合约读取当前主链时间周期内分片sp的状态根,与遍历后新得到的状态计算出的状态根进行比较,若不同则挑战成功,若相同则挑战失败。

16、进一步地,在出块者收集跨片交易时,对于源分片和目的分片相同的一组跨片交易,出块者通过bls聚合签名算法将一组带签名的跨片交易转化为一组不带签名的跨片交易与一个聚合签名。

17、进一步地,所述将所有节点划分至各分片,包括:

18、计算每个节点的地址的哈希值,取后k位确定节点所处的分片索引号,其中,k为分片规模,分片总数为2k。

19、为实现上述目的,按照本发明的第二方面,提供了一种区块链分片系统中降低存储开销的装置,所述区块链分片系统包括若干分片链及一条主链,其中,所述分片链存储片内交易及各节点的余额信息,所述主链存储片间聚合交易及各分片的总余额信息;

20、所述装置包括:

21、第一处理单元,用于将所有节点划分至各分片,每个节点向各自的分片链和主链中质押代币以获得竞争出块的权利;

22、第二处理单元,用于对每个分片,选定出块者收集与该分片相关的片内交易和跨片交易,其中,目的为该分片的跨片交易,通过读取主链上对应源分片的总余额信息验证该组交易的正确性,当余额满足要求后,该组交易被接受;所述出块者将收集的所有交易打包成新区块,并将所述新区块广播到所述出块者所在分片的其他节点;

23、第三处理单元,用于对每个分片,每经过一个主链时间周期,将该分片所有出块者收集的源为该分片的跨片交易根据目的分片的不同进行聚合,得到多个片间聚合交易;其中,每个片间聚合交易包括源分片和目的分片的索引号、被聚合的所有交易组成的默克尔根、该分片所有状态组成的默克尔根、被聚合的所有交易的总余额;

24、第四处理单元,用于将所有片间聚合交易在全网进行广播,并从全网选定出块者将所有片间聚合交易打包后追加到主链上。

25、进一步地,所述装置还包括:

26、第五处理单元,用于执行:当分片sp中诚实节点举报当前主链时间周期的片间聚合交易有误时,诚实节点向智能合约提供收集的证据并发起挑战,所述证据包括当前主链时间周期内分片sp相关的交易,以及这组交易发生前的状态;智能合约从主链中读取分片sp在上一个主链时间周期内的状态根和当前主链时间周期内的所有交易根,并与根据诚实节点提供的证据计算得到的状态根和交易根进行比较,若均相同,则认为诚实节点提供的证据正确,智能合约根据所述证据判定挑战是否成功;否则,挑战失败;智能合约将根据挑战结果,通过质押的代币进行惩罚与奖励;其中,所述状态根为一组状态组成的默克尔根,所述交易根为一组交易组成的默克尔根。

27、进一步地,所述第五处理单元,还用于执行:智能合约对诚实节点提供的所有交易进行遍历,对每笔交易进行验证,同时通过该交易,对诚实节点提供的状态进行状态变迁;遍历过程中,当出现交易验证失败或出现负数余额的状态则证明挑战成功;遍历所有交易后,智能合约读取当前主链时间周期内分片sp的状态根,与遍历后新得到的状态计算出的状态根进行比较,若不同则挑战成功,若相同则挑战失败。

28、为实现上述目的,按照本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的区块链分片系统中降低存储开销的方法。

29、总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

30、(1)本发明在一个区块链分片系统,使用双层分片方案,并引入随机算法进行节点划分;引入一条主链,存储整个分片之间经过聚合的跨片交易等信息,通过主链冗余存储的安全信息保障分片系统的安全;提出跨片交易的简化验证流程,缩减存储相关状态数据的开销,步骤包括:将一组跨片交易发送至目的分片,以主链冗余安全数据进行快速验证,此时目的分片不需要持有发送分片的相关状态信息。如此,提升区块链系统的整体tps,并降低存储开销。

31、(2)本发明提出基于智能合约实现挑战机制,保证分片的安全性。

32、(3)本发明通过bls聚合签名算法将一组带签名的跨片交易转化为一组不带签名的跨片交易与一个聚合签名,缩减跨片交易的存储开销和通信开销。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1