会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 资料储存系统 / 工作量证明 / 一种区块链的区块压缩方法和系统

一种区块链的区块压缩方法和系统

阅读:837发布:2020-07-25

IPRDB可以提供一种区块链的区块压缩方法和系统专利检索,专利查询,专利分析的服务。并且本申请公开了一种区块链的区块压缩方法和系统,该方法和系统应用于区块链系统的终端设备,具体为在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。从而使产生的区块的文件大小有效降低,当新加入终端下载区块链中的数据区块时,能够有效降低所需下载的数据量,从而提高了下载效率。,下面是一种区块链的区块压缩方法和系统专利的具体信息内容。

1.一种区块链的区块压缩方法,应用于区块链系统的终端设备,其特征在于,所述区块压缩方法具体包括步骤:在根据既定的工作量证明方法产生新区块过程中,对所述新区块通过加注标记点的方式进行标记;

根据预设的判断规则依次对所述标记点进行判断,当所述标记点符合所述判断规则时,将符合所述判断规则的标记点作为压缩标记;

每产生一个新的所述压缩标记,将所述压缩标记之前的未经压缩的所述新区块进行压缩处理;

所述对所述新区块通过加注标记点的方式进行标记,包括:在产生所述新区块过程中,如果根据工作量证明方法计算哈西值的前n位为0时产生所述新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,所述n为正整数;

将所述标记点加入到所述待添加标记区块内,得到标记后的新区块;

所述根据预设的判断规则对所述标记点进行判断,包括:利用预设计算公式对所述标记点进行计算,得到一个计算结果;

如果所述计算结果符合预设的结果规律,则判定所述标记点符合所述判断规则;

所述将所述压缩标记之前的未经压缩的所述新区块进行压缩处理,包括:仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的、且未经压缩处理的新区块按预设压缩方式进行压缩处理。

2.如权利要求1所述的区块压缩方法,其特征在于,所述将所述标记点加入到所述待添加标记区块内,包括:将所述标记点加入到所述待添加标记区块的区块头中。

3.如权利要求1所述的区块压缩方法,其特征在于,所述多个压缩标记为至少大于或等于2个压缩标记。

4.一种区块链的区块压缩系统,应用于区块链系统的终端设备,其特征在于,所述区块压缩系统具体包括:区块标记模块,用于在根据既定的工作量证明方法产生新区块过程中,对所述新区块通过加注标记点的方式进行标记;

标记判断模块,用于根据预设的判断规则依次对所述标记点进行判断,当所述标记点符合所述判断规则时,将符合所述判断规则的标记点作为压缩标记;

压缩处理模块,用于每产生一个新的所述压缩标记,将所述压缩标记之前的未经压缩的所述新区块进行压缩处理;

所述区块标记模块包括:

区块选定单元,用于在产生所述新区块过程中,如果根据工作量证明方法计算哈西值的前n位为0时产生所述新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,所述n为正整数;

标记添加单元,用于将所述标记点加入到所述待添加标记区块内,得到标记后的新区块;

所述标记判断模块包括:

标记计算单元,用于利用预设计算公式对所述标记点进行计算,得到一个计算结果;

合规判定单元,用于如果所述计算结果符合预设的结果规律,则判定所述标记点符合所述判断规则;

所述压缩处理模块包括:

数据压缩单元,用于仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的、且未经压缩处理的新区块按预设压缩方式进行压缩处理。

5.如权利要求4所述的区块压缩系统,其特征在于,所述标记添加单元包括:区块头处理子单元,用于将所述标记点加入到所述待添加标记区块的区块头中。

6.如权利要求4所述的区块压缩系统,其特征在于,所述多个压缩标记为至少大于或等于2个压缩标记。

说明书全文

一种区块链的区块压缩方法和系统

技术领域

[0001] 本申请涉及区块链技术领域,更具体地说,涉及一种区块链的区块压缩方法和系统。

背景技术

[0002] 区块链是一种去中心化的技术,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个与前一区块链接起来的HASH值,从而使得数据不可被篡改,任何对区块链的交易信息一旦记录下来,在一个区块中的将被永远记载。
[0003] 区块链的设计是一种保护措施,比如应用于高容错的分布式计算系统,这使区块链适合记录事件、标题、医疗记录和其他需要收录数据的活动、身份识别管理,交易流程管理和出处证明管理。
[0004] 中本聪提出了区块链的概念,在随后的几年中,成为了电子货币比特币的核心组成部分,即作为所有交易的公共账簿。通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理。为比特币而发明的区块链使它成为第一个解决重复消费问题的数字货币。
[0005] 目前在区块链技术中,每次新生成一个区块,就会将该新生区块追加到即有区块链条中,参与区块链计算的每台终端都保存有同样的多个区块组成的链条。随着区块链的不断增长,新加入的终端需下载全部区块后才能参与到整个区块链的计算中,数据下载量极大,需要极长的时间才能完成下载。以比特币区块链为例,经过几年的蓬勃发展,目前已有区块的下载耗时已达到几天甚至十几天。

发明内容

[0006] 有鉴于此,本申请提供一种区块链的区块压缩方法和系统,用于对区块链中的数据区块进行压缩,以降低新加入终端所需下载的数据量,从而提高下载效率。
[0007] 为了实现上述目的,现提出的方案如下:
[0008] 一种区块链的区块压缩方法,应用于区块链系统的终端设备,所述区块压缩方法具体包括步骤:
[0009] 在根据既定的工作量证明方法产生新区块过程中,对所述新区块通过加注标记点的方式进行标记;
[0010] 根据预设的判断规则依次对所述标记点进行判断,当所述标记点符合所述判断规则时,将符合所述判断规则的标记点作为压缩标记;
[0011] 每产生一个新的压缩标记,将所述压缩标记之前的未经压缩的所述新区块进行压缩处理。
[0012] 可选的,所述对所述新区块通过加注标记点的方式进行标记,包括:
[0013] 在产生所述新区块过程中,如果根据工作量证明方法计算哈西值的前n位为0时产生所述新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,所述n为正整数;
[0014] 将所述标记点加入到所述待添加标记区块内,得到标记后的新区块。
[0015] 可选的,所述将所述标记点加入到所述待添加标记区块内,包括:
[0016] 将所述标记点加入到所述待添加标记区块的区块头中。
[0017] 可选的,所述根据预设的判断规则对所述标记点进行判断,包括:
[0018] 利用预设计算公式对所述标记点进行计算,得到一个计算结果;
[0019] 如果所述计算结果符合预设的结果规律,则判定所述标记点符合所述判断规则。
[0020] 可选的,所述将所述压缩标记之前的未经压缩的所述新区块进行压缩处理,包括:
[0021] 仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的、且未经压缩处理的新区块按预设压缩方式进行压缩处理。
[0022] 可选的,所述多个压缩标记为至少大于或等于2个压缩标记。
[0023] 一种区块链的区块压缩系统,应用于区块链系统的终端设备,所述区块压缩系统具体包括:
[0024] 区块标记模块,用于在根据既定的工作量证明方法产生新区块过程中,对所述新区块通过加注标记点的方式进行标记;
[0025] 标记判断模块,用于根据预设的判断规则依次对所述标记点进行判断,当所述标记点符合所述判断规则时,将符合所述判断规则的标记点作为压缩标记;
[0026] 压缩处理模块,用于每产生一个新的压缩标记,将所述压缩标记之前的未经压缩的所述新区块进行压缩处理。
[0027] 可选的,所述区块标记模块包括:
[0028] 区块选定单元,用于在产生所述新区块过程中,如果根据工作量证明方法计算哈西值的前n位为0时产生所述新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,所述n为正整数;
[0029] 标记添加单元,用于将所述标记点加入到所述待添加标记区块内,得到标记后的新区块。
[0030] 可选的,所述标记添加单元包括:
[0031] 区块头处理子单元,用于将所述标记点加入到所述待添加标记区块的区块头中。
[0032] 可选的,所述标记判断模块包括:
[0033] 标记计算单元,用于利用预设计算公式对所述标记点进行计算,得到一个计算结果;
[0034] 合规判定单元,用于如果所述计算结果符合预设的结果规律,则判定所述标记点符合所述判断规则。
[0035] 可选的,所述压缩处理模块包括:
[0036] 数据压缩单元,用于仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的、且未经压缩处理的新区块按预设压缩方式进行压缩处理。
[0037] 可选的,所述多个压缩标记为至少大于或等于2个压缩标记。
[0038] 从上述的技术方案可以看出,本申请公开了一种区块链的区块压缩方法和系统,该方法和系统应用于区块链系统的终端设备,具体为在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。从而使产生的区块的文件大小有效降低,这样一来,当新加入终端下载区块链中的数据区块时,能够有效降低所需下载的数据量,从而提高了下载效率。

附图说明

[0039] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040] 图1为本申请提供的一种区块链的区块压缩方法实施例的步骤流程图;
[0041] 图2为本申请提供的一种区块链的区块压缩系统实施例的结构框图。

具体实施方式

[0042] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0043] 实施例一
[0044] 图1为本发明提供的一种区块链的区块压缩方法实施例的步骤流程图。
[0045] 如图1所示,本实施例提供的区块链的区块压缩方法应用于区块链系统的终端设备,用于对区块链系统中的数据区块进行压缩处理,以降低新加入终端设备的下载数据量,具体的区块压缩方法包括如下步骤:
[0046] S101:在新区块产生过程中,对产生的新区块进行标记。
[0047] 新区块的产生方法同样基于传统的工作量证明方法,简称POW(Proof of Work),简单理解就是一份证明,用来确认你做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。比如现实生活中的毕业证、驾驶证等等,也是通过检验结果的方式(通过相关的考试)所取得的证明。
[0048] 工作量证明系统(或者说协议、函数),是一种应对拒绝服务攻击和其他服务滥用的经济对策。它要求发起者进行一定量的运算,也就意味着需要消耗计算机一定的时间。这个概念由Cynthia Dwork和Moni Naor 1993年在学术论文中首次提出。而工作量证明(POW)这个名词,则是在1999年Markus Jakobsson和Ari Juels的文章中才被真正提出。
[0049] 哈希现金是一种工作量证明机制,它是亚当·贝克(Adam Back)在1997年发明的,用于抵抗邮件的拒绝服务攻击及垃圾邮件网关滥用。在比特币之前,哈希现金被用于垃圾邮件的过滤,也被微软用于hotmail/exchange/outlook等产品中(微软使用一种与哈希现金不兼容的格式并将之命名为电子邮戳)。
[0050] 哈希现金也被哈尔·芬尼以可重复使用的工作量证明(RPOW)的形式用于一种比特币之前的加密货币实验中。另外,戴伟的B-money、尼克·萨博的比特金(Bit-Gold)这些比特币的先行者,都是在哈希现金的框架下进行挖矿的。
[0051] 哈希函数(Hash Function),也称为散列函数,给定一个输入x,它会算出相应的输出H(x)。哈希函数的主要特征是:输入x可以是任意长度的字符串,输出结果即H(x)的长度是固定的。
[0052] 计算H(x)的过程是高效的(对于长度为n的字符串x,计算出H(x)的时间复杂度应为O(n)),而对于比特币这种加密系统所使用的哈希函数,它需要另外具备免碰撞和隐匿性。
[0053] 免碰撞,即不会出现输入x≠y,但是H(x)=H(y)。其实这个特点在理论上并不成立,比如,比特币使用的SHA256算法,会有2^256种输出,如果我们进行2^256+1次输入,那么必然会产生一次碰撞;甚至从概率的角度看,进行2^130次输入就会有99%的可能发生一次碰撞。不过我们可以计算一下,假设一台计算机以每秒10000次的速度进行哈希运算,要经过10^27年才能完成2^128次哈希!甚至可以这么说,即便是人类制造的所有计算机自宇宙诞生开始一直运算到今天,发现碰撞的几率也是极其小的。
[0054] 隐匿性,也就是说,对于一个给定的输出结果H(x),想要逆推出输入x,在计算上是不可能的。
[0055] 工作量证明系统主要特征是客户端需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中的,对于验证方则是易于验证的。它与验证码不同,验证码的设计出发点是易于被人类解决而不易被计算机解决。
[0056] 例如,在比特币这种典型的区块链系统中,如果想生成一个新的区块并写入区块链,必须解出比特币网络出的工作量证明的迷题。这道题关键的三个要素是工作量证明函数、区块及难度值。工作量证明函数是这道题的计算方法,区块决定了这道题的输入数据,难度值决定了这道题的所需要的计算量。
[0057] 比特币系统中使用的工作量证明函正是SHA256。SHA是安全散列算法(Secure Hash Algorithm)的缩写,是一个密码散列函数家族。这一组函数是由美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的,主要适用于数字签名标准。SHA256就是这个函数家族中的一个,是输出值为256位的哈希算法。到目前为止,还没有出现对SHA256算法的有效攻击。
[0058] 比特币的区块由区块头及该区块所包含的交易列表组成。区块头的大小为80字节,由4字节的版本号、32字节的上一个区块的散列值、32字节的Merkle Root Hash、4字节的时间缀(当前时间)、4字节的当前难度值、4字节的随机数组成。区块包含的交易列表则附加在区块头后面,其中的第一笔交易是coinbase交易,这是一笔为了让矿工获得奖励及手续费的特殊交易。
[0059] 每个区块拥有80字节固定长度的区块头,就是用于比特币工作量证明的输入字符串。因此,为了使区块头能体现区块所包含的所有交易,在区块的构造过程中,需要将该区块要包含的交易列表,通过Merkle Tree算法生成Merkle Root Hash,并以此作为交易列表的摘要存到区块头中。
[0060] 难度值(difficulty)是矿工们在挖矿时候的重要参考指标,它决定了矿工大约需要经过多少次哈希运算才能产生一个合法的区块。比特币的区块大约每10分钟生成一个,如果要在不同的全网算力条件下,新区块的产生保持都基本这个速率,难度值必须根据全网算力的变化进行调整。简单地说,难度值被设定在无论挖矿能力如何,新区块产生速率都保持在10分钟一个。
[0061] 难度的调整是在每个完整节点中独立自动发生的。每2016个区块,所有节点都会按统一的公式自动调整难度,这个公式是由最新2016个区块的花费时长与期望时长(期望时长为20160分钟即两周,是按每10分钟一个区块的产生速率计算出的总时长)比较得出的,根据实际时长与期望时长的比值,进行相应调整(或变难或变易)。也就是说,如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度。
[0062] 这个公式可以总结为如下形式:
[0063] 新难度值=旧难度值*(过去2016个区块花费时长/20160分钟)
[0064] 工作量证明需要有一个目标值。比特币工作量证明的目标值(Target)的计算公式如下:
[0065] 目标值=最大目标值/难度值
[0066] 其中最大目标值为一个恒定值:
[0067] 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[0068] 目标值的大小与难度值成反比。比特币工作量证明的达成就是矿工计算出来的区块哈希值必须小于目标值。
[0069] 我们也可以简单理解成,比特币工作量证明的过程,就是通过不停的变换区块头(即尝试不同的nouce值)作为输入进行SHA256哈希运算,找出一个特定格式哈希值的过程(即要求有一定数量的前导0)。而要求的前导0的个数越多,代表难度越大。
[0070] 我们可以把比特币矿工解这道工作量证明迷题的步骤大致归纳如下:
[0071] 生成Coinbase交易,并与其他所有准备打包进区块的交易组成交易列表,通过Merkle Tree算法生成Merkle Root Hash;
[0072] 把Merkle Root Hash及其他相关字段组装成区块头,将区块头的80字节数据(Block Header)作为工作量证明的输入;
[0073] 不停的变更区块头中的随机数即nonce的数值,并对每次变更后的的区块头做双重SHA256运算(即SHA256(SHA256(Block_Header))),将结果值与当前网络的目标值做对比,如果小于目标值,则解题成功,工作量证明完成。
[0074] 基于以上的阐述,本实施例也是利用上述的基本方法产生新区块。例如,可以在计算出哈西值前n位为0时,产生一个新区块,其中n为正整数,例如可以选择n为4。
[0075] 本申请在对新区块的标记过程中,可以不对每个新区块进行标记,如果是那样,则需要标记的新区块太多,无法起到减少下载工作量的目的。当确定每计算的哈西值的前n位为0时产生新区块时,将前n+1位为预设值的新区块作为待添加标记区块,这里的预设值可以为数值、字幕或者特定的字符;然后将预设的标记点添加到待添加标记区块,完成新区块的标记工作。
[0076] 另外,鉴于区块由区块头和交易列表组成,为了不影响交易列表的完整性,本申请将标记点添加到新区块的区块头中。且为了对标记点进行识别,一般可以用带有序号的标记Mx作为标记点,如M1、M2、M3、……、M10、……、M20、……、M30……。
[0077] S102:通过对标记点的判断选定合适的标记点作为压缩标记。
[0078] 在产生上述新区块、并利用预设的标记点对相应新区块进行标记的同时,对新区块上的标记点根据预设的判断规则进行判断,当某个标记点符合上述判断规则时,则将该标记点作为压缩标记。
[0079] 具体来说,上述判断规则可以理解为一种计算公式,用于对标记点进行计算,例如,对于带有序号的标记点,可以利用简单的除法公式,将Mx中的X除以10,从而得到一个结果,该结果为整数或者普通的带有小树的有理数或无理数;如果上述结果符合预设的结果规律,例如整好为整数时,判定该标记点为压缩标记,如果除数选择10,这时M10、M20、M30、M40……这些标记点则为判定的压缩标记。
[0080] S103:根据新产生的压缩标记,将该压缩标记之前的区块做压缩处理。
[0081] 在新区块的产生过程中,通过对标记与新区块的标记点的判断产生压缩标记过程中,每产生一个新的压缩标记,表明新的区块已经产生了一定的数量。这时,为了将区块的数据量降低、且不影响后续区块的链接,可以将新产生的压缩标记之前的区块进行数据压缩,压缩方式可以选择rar、zip、z7等。
[0082] 具体压缩时,是将新产生的压缩标记的前一个压缩标签之前的区块进行数据压缩,即不对最新产生的压缩标记与前一个压缩标记之前的区块进行数据压缩,以便保证后续新产生的新区块与原有区块之前的连续性。
[0083] 这样一来,对于整个区块链来说,仅在产生起码两个以上的压缩标记以后才对区块进行数据压缩处理。并且具体来说,是对携带有新产生的压缩标记的前一个压缩标记以前、再前一个的压缩标记之后的区块,且包括具有该前一个压缩标记的区块总体进行分别压缩或者总体压缩。分别压缩的意义是指将每个区块压缩为一个压缩文件,而总体压缩是指将前述多个区块压缩为一个压缩文件,具体选择哪个压缩方式可根据实际情况确定。
[0084] 从上述技术方案可以看出,本实施例提供了一种区块链的区块压缩方法,该方法应用于区块链系统的终端设备,具体为在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。从而使产生的区块的文件大小有效降低,这样一来,当新加入终端下载区块链中的数据区块时,能够有效降低所需下载的数据量,从而提高了下载效率。
[0085] 实施例二
[0086] 图2为本发明提供的一种区块链的区块压缩系统实施例的结构框图。
[0087] 如图2所示,本实施例提供的区块链的区块压缩系统应用于区块链系统的终端设备,用于对区块链系统中的数据区块进行压缩处理,以降低新加入终端设备的下载数据量,具体的区块压缩系统包括区块标记模块10、标记判断模块20和压缩处理模块30。
[0088] 区块标记模块用于在新区块产生过程中,对产生的新区块进行标记。
[0089] 新区块的产生方法同样基于传统的工作量证明方法POW。基于前一实施例的具体阐述,本实施例也是利用上述的基本方法产生新区块。例如,可以在计算出哈西值前n位为0时,产生一个新区块,其中n为正整数,例如可以选择n为4。
[0090] 本模块具体包括区块选定单元11和标记添加单元12,本申请在对新区块的标记过程中,可以不对每个新区块进行标记,如果是那样,则需要标记的新区块太多,无法起到减少下载工作量的目的。区块选定单元用于当确定每计算的哈西值的前n位为0时产生新区块时,将前n+1位为预设值的新区块作为待添加标记区块,这里的预设值可以为数值、字幕或者特定的字符;标记添加单元则将预设的标记点添加到待添加标记区块,完成新区块的标记工作。
[0091] 另外,标记添加单元具体包括区块头处理子单元121,鉴于区块由区块头和交易列表组成,为了不影响交易列表的完整性,本申请利用区块头处理子单元将标记点添加到新区块的区块头中。且为了对标记点进行识别,一般可以用带有序号的标记Mx作为标记点,如M1、M2、M3、……、M10、……、M20、……、M30……。
[0092] 标记判断模块用于通过对标记点的判断选定合适的标记点作为压缩标记[0093] 在产生上述新区块、并利用预设的标记点对相应新区块进行标记的同时,对新区块上的标记点根据预设的判断规则进行判断,当某个标记点符合上述判断规则时,则将该标记点作为压缩标记。
[0094] 该模块具体包括标记计算单元21和合规判定单元22,具体来说,上述判断规则可以理解为一种计算公式,用于对标记点进行计算,例如,对于带有序号的标记点,标记计算单元利用简单的除法公式,将Mx中的X除以10,从而得到一个结果,该结果为整数或者普通的带有小树的有理数或无理数;合规判定单元则在上述结果符合预设的结果规律、例如整好为整数时,判定该标记点为压缩标记,如果除数选择10,这时M10、M20、M30、M40……这些标记点则为判定的压缩标记。
[0095] 压缩处理模块用于根据新产生的压缩标记,将该压缩标记之前的区块做压缩处理。
[0096] 在新区块的产生过程中,通过对标记与新区块的标记点的判断产生压缩标记过程中,每产生一个新的压缩标记,表明新的区块已经产生了一定的数量。这时,为了将区块的数据量降低、且不影响后续区块的链接,可以将新产生的压缩标记之前的区块进行数据压缩,压缩方式可以选择rar、zip、z7等。
[0097] 该模块包括数据压缩单元31,具体压缩时,数据压缩单元是将新产生的压缩标记的前一个压缩标签之前的区块进行数据压缩,即不对最新产生的压缩标记与前一个压缩标记之前的区块进行数据压缩,以便保证后续新产生的新区块与原有区块之前的连续性。
[0098] 这样一来,对于整个区块链来说,仅在产生起码两个以上的压缩标记以后才对区块进行数据压缩处理。并且具体来说,是对携带有新产生的压缩标记的前一个压缩标记以前、再前一个的压缩标记之后的区块,且包括具有该前一个压缩标记的区块总体进行分别压缩或者总体压缩。分别压缩的意义是指将每个区块压缩为一个压缩文件,而总体压缩是指将前述多个区块压缩为一个压缩文件,具体选择哪个压缩方式可根据实际情况确定。
[0099] 从上述技术方案可以看出,本实施例提供了一种区块链的区块压缩系统,该系统应用于区块链系统的终端设备,具体为在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。从而使产生的区块的文件大小有效降低,这样一来,当新加入终端下载区块链中的数据区块时,能够有效降低所需下载的数据量,从而提高了下载效率。
[0100] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0101] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0102] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0103] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0104] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0105] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0106] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0107] 以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用