优先处理共享区块链数据存储制造技术

技术编号:24896283 阅读:13 留言:0更新日期:2020-07-14 18:21
本文公开了用于存储区块链数据的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括:从区块链网络中的区块链节点接收多个区块;对于所述多个区块中的每个区块:确定存储从所述区块的纠错编码(ECC)编码版本划分的数据集的区块链节点的第一数量和存储从所述区块的ECC编码版本划分的由冗余位组成的数据集的区块链节点的第二数量;基于所述第一数量和所述第二数量计算所述区块的优先级值,以及基于所述优先级值使用ECC对所述多个区块的至少一部分进行编码,以生成多个编码区块。

【技术实现步骤摘要】
【国外来华专利技术】优先处理共享区块链数据存储
本说明书涉及基于纠错码优先处理区块链数据共享存储。
技术介绍
分布式账本系统(DLS),也可称为共识网络和/或区块链网络,使参与的实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,分布式账本系统通常被称为区块链网络。区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。联盟区块链网络针对选定的实体组群提供,该实体组群控制共识过程,并且所述联盟区块链网络包括访问控制层。基于区块链的程序可以由分布式计算平台执行。例如,分布式计算平台可以包括提供用于执行智能合约的运行时环境的虚拟机。区块链计算平台可以被视为基于交易的状态机。平台中的状态数据可以集合成称为世界状态的全局共享状态。世界状态包括账号地址和账号状态之间的映射。世界状态可以被存储在诸如默克尔帕特里夏树(MPT)的数据结构中。除了状态数据,区块链网络还可以存储其他类型的数据,例如区块数据和索引数据。区块数据可以包括区块头和区块体。区块头可以包括特定区块的身份信息,并且区块体可以包括该区块确认的交易。随着越来越多的交易进入区块链,状态数据和区块数据的大小可能会变得非常大。在某些DLS中,每个节点都存储整个区块链副本,这会占用大量存储空间。这是因为所有区块数据和状态数据以回溯到记录在区块链的第一笔交易的方式被存储。在某些DLS中,一些共享节点存储整个区块链副本,并与其他可能产生“数据不平等”的区块链节点共享区块链数据。也就是说,当数据在不同节点之间分布不均时,当存储大多数数据的节点出现故障时,数据安全性风险可能会很高。因此,期望能够实现一种在容忍故障节点存在的同时保持数据同等性和完整性的数据存储方案。还期望数据存储方案可根据对区块链网络所做的更改进行调整,并指示可带来存储节省最大化的数据处理方式。
技术实现思路
所描述的主题的实施方案可以包括单独或组合的一个或多个特征。例如,在一个实施例中,公开了一种计算机实现的在由计算设备执行的可信执行环境(TEE)中处理区块链数据的方法。所述计算设备从区块链网络中的区块链节点接收多个区块。对于所述多个区块中的每个区块,所述计算设备确定存储从所述区块的纠错编码(ECC)编码版本划分的数据集的区块链节点的第一数量和存储从所述区块的ECC编码版本划分的由冗余位组成的数据集的区块链节点的第二数量,基于所述第一数量和所述第二数量计算所述区块的优先级值。并使用ECC对所述多个区块的至少一部分进行编码,以生成多个编码区块,其中所述多个区块的所述至少一部分的优先级值比所述多个区块中除所述多个区块的所述至少一部分以外的剩余部分的优先级值小,并且所述多个编码区块的至少一部分的编码率等于所述区块链网络所需的最小诚实区块链节点数除以所述区块链网络中的区块链节点的总数。在一些实施例中,这些一般和特定方面可以使用系统、方法或计算机程序,或系统、方法和计算机程序的任何组合来实现。前述和其他描述的实施例可以各自可选地包括以下特征中的一个或多个:在一些实施例中,在对所述多个区块的至少一部分进行编码之后,所述计算设备基于所述区块链网络可容忍的最大故障节点数和所述区块链节点的总数,计算所述多个区块的更新的优先级值,其中所需的最小诚实区块链节点数加可容忍的最大故障区块链节点数为所述总数。在一些实施例中,所述计算设备生成提供所述多个区块的区块标识(ID)与所述多个区块的优先级值之间的对应关系的索引,并用更新的优先级值更新所述多个区块的至少一部分的优先级值。在一些实施例中,所述计算设备将所述多个编码区块分别划分为多个数据集,计算所述多个数据集的哈希值,并且向所述区块链节点分别发送所述多个数据集中的至少一个数据集、所述哈希值以及提供所述多个数据集与所述哈希值之间的对应关系的索引。在一些实施例中,所述多个区块的至少一部分是所述多个区块的第一至少一部分,所述计算设备还执行以下操作:接收通知,所述通知表示在存储由所述计算设备发送的所述多个数据集中的至少一个数据集并删除所述多个区块的所述第一至少一部分之后,所述区块链节点上存储的区块链数据的大小超过预定数据存储阈值;使用ECC对所述多个区块的第二至少一部分进行编码,其中,所述多个区块的第二至少一部分的优先级值比所述多个区块的所述第一至少一部分的优先级值大,并且比所述多个区块中除所述多个区块的所述第一至少一部分和所述多个区块的所述第二至少一部分之外的剩余部分的优先级值小;以及使用更新的优先级值更新所述多个区块的所述第二至少一部分的优先级值。在一些实施例中,当所述计算设备的计算资源的利用率小于或等于预定值时,执行所述ECC。在一些实施例中,所述ECC是通过向所述多个区块添加冗余位来执行的纠删编码。在一些实施例中,优先级值被计算为所述第一数量减去所述第一数量除以所述第一数量和所述第二数量之间的差。在一些实施例中,所述区块链节点是存储所述区块链的副本的全节点。在一些实施例中,所需的最小诚实区块链节点数基于实用拜占庭容错(PBFT)共识协议确定。应该了解,根据本文的方法可以包括本文描述的方面和特征的任意组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。以下在附图和描述中阐述了本文的一个或多个实施方式的细节。根据说明书和附图以及权利要求书,本文的其他特征和优点将显现。附图说明图1描绘了可用于执行本文实施例的环境的示例。图2描绘了根据本文的实施例的架构的示例。图3描绘了根据本文的实施例的区块数据的编码和哈希处理的示例。图4描绘了根据本文的实施例的数据存储方案的示例。图5描绘了根据本文的实施例的区块数据的编码和哈希处理的另一示例。图6描绘了根据本文的实施例的基于可信执行环境(TEE)的共享区块链数据存储过程的示例。图7描绘了根据本文的实施例的向区块链网络添加区块链节点的示例。图8描绘了根据本文的实施例的共识处理的示例。图9描绘了可以根据本文的实施例执行的过程的示例。图10描绘了根据本文的实施例的装置的模块的示例。各附图中相同的附图标记和名称表示相同的元件。具体实施方式本说明书描述了在可信执行环境(TEE)中处理区块链数据的技术。这些技术通常涉及从区块链网络中的区块链节点接收多个区块;对于多个区块中的每个区块:确定存储从所述区块的纠错编码(ECC)编码版本划分的数据集的区块链节点的第一数量和存储从所述区块的ECC编码版本划分的由冗余位组成的数据集的区块链节点的第二数量,基于所述第一数量和所述第二数量计算所述区块的优先级值,以及使用ECC对所述多个区块的至少一部分进行编码,以生成多个编码区块,其中所述多个区块的所述至少一部分的优先级值比所述多个区块中除所述多个区块的所述至少一部分以外的剩余部分的优先级值小,并且所述多个编码区块中的至少一部分的编码率等于区块链网络所需的最小诚实区块链节点数除以区块链网络本文档来自技高网
...

【技术保护点】
1.一种计算机实现的用于在可通信地耦接到区块链网络的计算设备上执行的可信执行环境TEE中处理区块链数据的方法,所述方法包括:/n从所述区块链网络中的区块链节点接收多个区块;/n对于所述多个区块中的每个区块:/n确定存储从所述区块的纠错编码ECC编码版本中划分的数据集的区块链节点的第一数量和存储从所述区块的ECC编码版本中划分的由冗余位组成的数据集的区块链节点的第二数量;/n基于所述第一数量和所述第二数量,计算所述区块的优先级值;并且/n使用ECC对所述多个区块的至少一部分进行编码以生成多个编码区块,其中,所述多个区块的所述至少一部分的优先级值比所述多个区块中除所述多个区块的所述至少一部分以外的剩余部分的优先级值小,并且所述多个编码区块的至少一部分的编码率等于所述区块链网络所需的最小诚实区块链节点数除以所述区块链网络中的区块链节点的总数。/n

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于在可通信地耦接到区块链网络的计算设备上执行的可信执行环境TEE中处理区块链数据的方法,所述方法包括:
从所述区块链网络中的区块链节点接收多个区块;
对于所述多个区块中的每个区块:
确定存储从所述区块的纠错编码ECC编码版本中划分的数据集的区块链节点的第一数量和存储从所述区块的ECC编码版本中划分的由冗余位组成的数据集的区块链节点的第二数量;
基于所述第一数量和所述第二数量,计算所述区块的优先级值;并且
使用ECC对所述多个区块的至少一部分进行编码以生成多个编码区块,其中,所述多个区块的所述至少一部分的优先级值比所述多个区块中除所述多个区块的所述至少一部分以外的剩余部分的优先级值小,并且所述多个编码区块的至少一部分的编码率等于所述区块链网络所需的最小诚实区块链节点数除以所述区块链网络中的区块链节点的总数。


2.如权利要求1所述的方法,还包括:
在对所述多个区块的至少一部分进行编码之后,基于所述区块链网络可容忍的最大故障节点数和所述区块链节点的总数,计算所述多个区块的更新的优先级值,其中所述所需的最小诚实区块链节点数加所述可容忍的最大故障区块链节点数为所述总数。


3.如权利要求2所述的方法,还包括:
生成提供所述多个区块的区块标识ID与所述多个区块的优先级值之间的对应关系的索引;以及
用所述更新的优先级值更新所述多个区块的至少一部分的优先级值。


4.如权利要求1所述的方法,还包括:
将所述多个编码区块分别划分为多个数据集;
计算所述多个数据集的哈希值;并且
向所述区块链节点分别发送所述多个数据集中的至少一个数据集、所述哈希值以及提供所述多个数据集与所述哈希值之间的对应关系的索引。


5.如权利要求1所述的方法,其中,所述多个区块的至少...

【专利技术属性】
技术研发人员:陆钟豪卓海振
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1