首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块头 / 一种区块链交易信息的优化方法及相关设备

一种链交易信息的优化方法及相关设备

阅读:1022发布:2020-06-12

专利汇可以提供一种链交易信息的优化方法及相关设备专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种 区 块 链 交易信息的优化方法及其相关设备,用于实现对 区块链交易 信息中签名空间的优化。本申请实施例方法包括:聚合 节点 获取待广播区块,所述待广播区块包括签名信息;使用聚合签名 算法 对所述签名信息进行压缩聚合,得到聚合签名;在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;将所述新区块在所述区块链中进行广播。本申请还公开了一种区块链交易信息的优化装置及系统,其中,使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名,相较于传统的签名信息,经过压缩得到的聚合签名的数据体积更小,从而实现对区块链交易信息中签名空间的优化。,下面是一种链交易信息的优化方法及相关设备专利的具体信息内容。

1.一种链交易信息的优化方法,其特征在于,应用于聚合节点,所述聚合节点为区块链上的节点,所述方法包括:
获取待广播区块,所述待广播区块包括签名信息;
使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
将所述新区块在所述区块链中进行广播。
2.根据权利要求1所述的方法,其特征在于,使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名具体包括:
使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
3.根据权利要求2所述的方法,其特征在于,所述区块链还包括签名节点,在使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名之前,所述方法还包括:
接收签名节点发送的承诺信息;
根据所述承诺信息向所述签名节点发送挑战信息;
接收所述签名节点发送的回应信息,所述回应信息为所述签名节点根据所述挑战信息生成;
当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述签名信息包括原值和目标值,所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名包括:
在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
5.根据权利要求4所述的方法,其特征在于,所述待广播区块包括区块头和区块体,所述区块体包括所述签名信息,所述在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块包括:
在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
使用所述目标值生成新区块头;
根据所述新区块体与所述新区块头生成新区块。
6.一种区块链交易信息的优化装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的区块链交易信息的优化程序,所述区块链交易信息的优化程序被所述处理器执行时实现如下方法:
获取待广播区块,所述待广播区块包括签名信息;
使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
将所述新区块在所述区块链中进行广播。
7.根据权利要求6所述的装置,其特征在于,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
所述使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名具体包括:
使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
8.根据权利要求7所述的装置,其特征在于,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
接收签名节点发送的承诺信息;
根据所述承诺信息向所述签名节点发送挑战信息;
接收所述签名节点发送的回应信息,所述回应信息为所述签名节点根据所述挑战信息生成;
当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述签名信息包括原值和目标值,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
10.根据权利要求9所述的装置,其特征在于,所述待广播区块包括区块头和区块体,所述区块体包括所述签名信息,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
使用所述目标值生成新区块头;
根据所述新区块体与所述新区块头生成新区块。
11.一种区块链交易信息的优化系统,其特征在于,应用于聚合节点,所述聚合节点为区块链上的节点,所述系统包括:
获取单元,用于获取待广播区块,所述待广播区块包括签名信息;
聚合单元,用于使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
替代单元,用于在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
广播单元,用于将所述新区块在所述区块链中进行广播。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有区块链交易信息的优化程序,所述区块链交易信息的优化程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的区块链交易信息的优化方法。

说明书全文

一种链交易信息的优化方法及相关设备

技术领域

[0001] 本申请涉及区块链技术领域,尤其涉及一种区块链交易信息的优化方法及相关设备。

背景技术

[0002] 在当前的区块链系统中,区块作为交易集合的载体,通常包含区块头和区块体两部分。其中区块头包含区块整体的一些信息,包括前一个区块的哈希、当前区块哈希、区块生成的时间戳、交易集合的Merkle Root等信息,而区块体中则主要包括当前区块打包的交易的集合。对于每一条交易,都会附带交易发起者的数字签名,用来保证交易数据的确认。由于数字签名具有不可抵赖性,交易的签发者用自己的私钥签名后,交易的内容将无法被修改或是抵赖,以此保护交易双方的权益。
[0003] 当前区块链中最为主流的数字签名算法为ECDSA椭圆曲线数字签名算法,也有一些类似的算法可以被认为是ECDSA算法的变种,其原理和数据形式基本类似。请参阅图6,以ECDSA为例,交易的签名长度为64字节的数据(r,s),其中r和s各占32字节。对于不同的交易格式设计,可能还会有额外的几字节用于区分交易类型等作用,因此交易签名的总长度会在64字节以上。
[0004] 由于区块链具有不可篡改的特点,这样的特点的前提在于区块链历史中的每一笔交易都会被全量节点保留记录下来。随着区块链系统运行时间的增长,历史交易的存储空间逐渐成为节点的负担。大量的存储空间占用也会一定程度上形成对于区块链节点的准入槛,从而使区块链节点从“去中心化”向“中心化”的方向偏移,在一定程度上降低区块链系统的安全性。发明内容
[0005] 本申请实施例提供了一种区块链交易信息的优化方法及其相关设备,用于实现对区块链交易信息中签名空间的优化。
[0006] 本申请实施例第一方面提供了一种区块链交易信息的优化方法,应用于聚合节点,所述聚合节点为区块链上的节点,所述方法包括:
[0007] 获取待广播区块,所述待广播区块包括签名信息;
[0008] 使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
[0009] 在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
[0010] 将所述新区块在所述区块链中进行广播。
[0011] 可选地,使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名具体包括:
[0012] 使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0013] 可选地,所述区块链还包括签名节点,在使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名之前,所述方法还包括:
[0014] 接收签名节点发送的承诺信息;
[0015] 根据所述承诺信息向所述签名节点发送挑战信息;
[0016] 接收所述签名节点发送的回应信息,所述回应信息为所述签名节点根据所述挑战信息生成;
[0017] 当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0018] 可选地,所述签名信息包括原值和目标值,所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名包括:
[0019] 在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
[0020] 可选地,所述待广播区块包括区块头和区块体,所述区块体包括所述签名信息,所述在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块包括:
[0021] 在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
[0022] 使用所述目标值生成新区块头;
[0023] 根据所述新区块体与所述新区块头生成新区块。
[0024] 本申请实施例第二方面提供了一种区块链交易信息的优化装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的区块链交易信息的优化程序,所述区块链交易信息的优化程序被所述处理器执行时实现如下方法:
[0025] 获取待广播区块,所述待广播区块包括签名信息;
[0026] 使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
[0027] 在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
[0028] 将所述新区块在所述区块链中进行广播。
[0029] 可选地,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
[0030] 所述使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名具体包括:
[0031] 使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0032] 可选地,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
[0033] 接收签名节点发送的承诺信息;
[0034] 根据所述承诺信息向所述签名节点发送挑战信息;
[0035] 接收所述签名节点发送的回应信息,所述回应信息为所述签名节点根据所述挑战信息生成;
[0036] 当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0037] 可选地,所述签名信息包括原值和目标值,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
[0038] 在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
[0039] 可选地,所述待广播区块包括区块头和区块体,所述区块体包括所述签名信息,所述区块链交易信息的优化程序还可被所述处理器执行以实现:
[0040] 在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
[0041] 使用所述目标值生成新区块头;
[0042] 根据所述新区块体与所述新区块头生成新区块。
[0043] 本申请实施例第三方面提供了一种区块链交易信息的优化系统,应用于聚合节点,所述聚合节点为区块链上的节点,所述系统包括:
[0044] 获取单元,用于获取待广播区块,所述待广播区块包括签名信息;
[0045] 聚合单元,用于使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
[0046] 替代单元,用于在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
[0047] 广播单元,用于将所述新区块在所述区块链中进行广播。
[0048] 可选地,所述聚合单元具体用于:
[0049] 使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0050] 可选地,所述区块链还包括签名节点,所述系统还包括:
[0051] 第一接收单元,用于接收签名节点发送的承诺信息;
[0052] 发送单元,用于根据所述承诺信息向所述签名节点发送挑战信息;
[0053] 第二接收单元,用于接收所述签名节点发送的回应信息,所述回应信息为所述签名节点根据所述挑战信息生成;
[0054] 触发单元,用于当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0055] 可选地,所述签名信息包括原值和目标值,所述聚合单元具体用于:
[0056] 在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
[0057] 可选地,所述待广播区块包括区块头和区块体,所述区块体包括所述签名信息,所述替代单元具体用于:
[0058] 在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
[0059] 使用所述目标值生成新区块头;
[0060] 根据所述新区块体与所述新区块头生成新区块。
[0061] 本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链交易信息的优化程序,所述区块链交易信息的优化程序可被一个或者多个处理器执行,以实现如前述方法实施例中任一项所述的区块链交易信息的优化方法。
[0062] 从以上技术方案可以看出,本申请实施例具有以下优点:本实施例中,聚合节点获取待广播区块,所述待广播区块包括签名信息;使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;将所述新区块在所述区块链中进行广播。其中,使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名,相较于传统的签名信息,经过压缩得到的聚合签名的数据体积更小,从而实现对区块链交易信息中签名空间的优化。附图说明
[0063] 图1为本申请实施例中一种区块链交易信息的优化方法实施例的一个示意图;
[0064] 图2为本申请实施例中一种区块链交易信息的优化方法实施例的另一个示意图;
[0065] 图3为本申请实施例中一种区块链交易信息的优化方法实施例的另一个示意图;
[0066] 图4为本申请实施例中一种区块链交易信息的优化系统实施例的一个示意图;
[0067] 图5为本申请实施例中一种区块链交易信息的优化装置实施例的一个示意图;
[0068] 图6为现有技术中区块链区块信息的一个示意图;
[0069] 图7为本申请实施例中一种区块链交易信息的优化方法实施例的另一个示意图;
[0070] 图8为本申请实施例中一种区块链交易信息的优化方法实施例的另一个示意图。

具体实施方式

[0071] 本申请实施例提供了一种区块链交易信息的优化方法及其相关设备,用于实现对区块链交易信息中签名空间的优化。
[0072] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0073] 本申请的说明书权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0074] 在当前的区块链系统中,区块作为交易集合的载体,通常包含区块头和区块体两部分。其中区块头包含区块整体的一些信息,包括前一个区块的哈希、当前区块哈希、区块生成的时间戳、交易集合的Merkle Root等信息,而区块体中则主要包括当前区块打包的交易的集合。对于每一条交易,都会附带交易发起者的数字签名,用来保证交易数据的确认。由于数字签名具有不可抵赖性,交易的签发者用自己的私钥签名后,交易的内容将无法被修改或是抵赖,以此保护交易双方的权益。当前区块链中最为主流的数字签名算法为ECDSA椭圆曲线数字签名算法,也有一些类似的算法可以被认为是ECDSA算法的变种,其原理和数据形式基本类似。请参阅图6,以ECDSA为例,交易的签名长度为64字节的数据(r,s),其中r和s各占32字节。对于不同的交易格式设计,可能还会有额外的几字节用于区分交易类型等作用,因此交易签名的总长度会在64字节以上。由于区块链具有不可篡改的特点,这样的特点的前提在于区块链历史中的每一笔交易都会被全量节点保留记录下来。随着区块链系统运行时间的增长,历史交易的存储空间逐渐成为节点的负担。大量的存储空间占用也会一定程度上形成对于区块链节点的准入门槛,从而使区块链节点从“去中心化”向“中心化”的方向偏移,在一定程度上降低区块链系统的安全性。为此,本申请实施例提供了一种区块链交易信息的优化方法及其相关设备,用于实现对区块链交易信息中签名空间的优化。
[0075] 为了便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图1,本申请实施例中一种区块链交易信息的优化的一个实施例包括:
[0076] 101、获取待广播区块;
[0077] 本实施例中,聚合节点获取待广播区块,所述待广播区块包括签名信息。
[0078] 具体的,区块链系统中包含聚合节点和签名节点,在该区块链系统的共识机制中,新生成的需要由聚合节点和签名节点确认共识之后才可以作为有效区块记录进区块链中。此处,聚合节点获取待广播区块,其中,在待广播区块中包括多个签名节点的签名信息。
[0079] 102、使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
[0080] 本实施例中,聚合节点使用聚合签名算法对步骤101中的签名信息进行压缩聚合,得到聚合签名。
[0081] 具体来说,本方案中使用的聚合签名算法可以是EC-Schnorr算法、BLS算法、Gamma算法或者是其他的常用的聚合签名算法,具体此处不做限定。
[0082] 本实施例中,为了使方案实现的压缩效果更好,本方案中可以使用EC-Schnorr算法作为签名聚合算法的一个实施例,例如,使用EC-Schnorr算法替代区块链系统中常用的ECDSA算法作为签发交易的数字签名算法。一般来说,EC-Schnorr算法中所选取的椭圆曲线参数兼容ECDSA算法中常用的曲线spec256k1,因此系统切换算法可以不需要改变原有的用户公私钥即可实现。
[0083] 103、在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
[0084] 本实施例中,聚合节点在步骤102得到聚合签名之后,可以在该待广播区块中使用所述聚合签名替代所述签名信息,得到新区块。即使用压缩聚合后得到的聚合签名替代签名信息,使得新区块相较于原待广播区块所占的数据空间减小。
[0085] 104、将所述新区块在所述区块链中进行广播。
[0086] 本实施例中,聚合节点将步骤103获取得到的新区块在该区块链系统中进行广播,以使得该区块链系统中的其他节点获取到该新区块的信息。
[0087] 本实施例中,聚合节点获取待广播区块,所述待广播区块包括签名信息;使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;将所述新区块在所述区块链中进行广播。其中,使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名,相较于传统的签名信息,经过压缩得到的聚合签名的数据体积更小,从而实现对区块链交易信息中签名空间的优化。
[0088] 本申请实施例中,该签名信息可以包括原值和目标值,所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名包括:在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
[0089] 具体地,在EC-Schnorr签名算法中,G为椭圆曲线上的基点,私钥:pk,公钥P=pk·G。在椭圆曲线域中选择随机数k时,计算k对应在椭圆曲线上的点R=k·G,并计算s=k+hash(P,R,m)·pk,(R,S)为输出的签名,其中,R为原值,S为目标值。
[0090] 在EC-Schnorr签名算法中,验证过程为:计算(R,s)是否满足S·G=R+hash(P,R,m)·P
[0091] 其中,对于i个签名,Ri=ki×G,si=ki+hash(P,Ri,m)·pki
[0092] 将所有的签名聚合在一起
[0093] (R,s)=(R1+R2+…+Ri,s1+s2+…+si)
[0094] 这样就生成了一个长度为定长的签名,但是在验证的时候,计算
[0095] S·G=R+hash(P,R,m)·P,
[0096] 由于hash函数不具备加法性质,因此我们需要知道hash函数中的原值Ri,才能计算出hash(P,Ri,m)·P,因此之前的每个签名中的Ri不能被压缩掉,仍然需要提供给验证者。于是对Si进行数据压缩聚合之后,如图8所示,压缩比例就是50%。本方案中,区块生产节点在打包交易组成区块的时候,将交易的签名部分进行聚合签名优化操作。通过与交易发起者进行交互,区块提议者可以把原有方案中交易签名的(r,s)中的s部分进行压缩,将区块中总数为N的交易签名中的s部分压缩为一个数据字段TX_S,放到区块头上。r部分无法压缩,仍然需要附属在交易末端。
[0097] 以当前应用最广泛的spec256k1椭圆曲线参数为例,原有的方案中,每条交易后面需要附加一个长度为64字节以上的数字签名(r,s),本方案中,交易由区块提议节点聚合后,只需要在交易后面附加一个长度为32字节的数字签名参数r,区块中所有交易中的s部分可以被聚合在一起,生成一个长度为32字节的参数TX_S。对于包含n条交易的区块,新方案与原方案的签名空间占比为:(32+32n)/(32+32)n=(n+1)/2n。通常,区块中的交易数量为2000甚至更多,在这样的情况下,签名空间的优化比例接近50%。
[0098] 此外,运行效率优化:EC-Schnorr数字签名算法的签名验证效率为ECDSA算法的1/3。在共识过程中,数字签名的验签效率通常是整体流程的效率瓶颈,因此这一部分的优化有助于提升区块链整体的运行效率。
[0099] 本申请实施例中,基于图1所述实施例,请参阅图2,本申请实施例中一种区块链信息的优化的另一个实施例中,区块链还可以包括签名节点,在步骤102使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名之前,该方法还可以包括:
[0100] 201、接收签名节点发送的承诺信息;
[0101] 本实施例中,聚合节点接收签名节点发送的承诺信息(Commitment)。
[0102] 202、根据所述承诺信息向所述签名节点发送挑战信息;
[0103] 本实施例中,在步骤201确认收到签名节点发送的承诺信息之后,聚合节点根据该承诺信息向签名节点发送挑战信息(Challenge)。
[0104] 203、接收所述签名节点发送的回应信息;
[0105] 本实施例中,聚合节点接收所述签名节点发送的回应信息(Response),所述回应信息为所述签名节点根据所述挑战信息生成。
[0106] 204、当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0107] 本实施例中,当聚合节点在步骤203确定接收到所述回应信息时,则触发执行步骤102使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0108] 具体请参阅图7,在EC-Schnoor多重签名算法中,用户之间的交互可以抽象为4个步骤。第一步,签名节点发送承诺(Commitment)给聚合节点,如图中①所示;第二步,聚合节点发送挑战(Challenge)给签名节点,如图中②所示;第三步,签名节点根据挑战生成回应(Response),如图中③所示;第四步,聚合节点根据签名节点的承诺及回应生成聚合签名,并且广播聚合签名给所有的签名验证节点,如图中④所示。聚合节点与签名节点之间的多次交互是为了确保每个签名节点是签名所对应公钥的拥有者,防止签名节点作恶。
[0109] 请参阅图3,本申请实施例中,基于图1或图2所述实施例,本申请实施例中一种区块链信息的优化的另一个实施例中,待广播区块包括区块头和区块体,区块体包括所述签名信息,步骤103待广播区块中使用所述聚合签名替代所述签名信息,得到新区块具体包括:
[0110] 301、在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
[0111] 本实施例中,聚合节点在待广播区块中的区块体中使用所述原值替换所述签名信息,得到新区块体。
[0112] 具体来说,区块作为交易集合的载体,通常包含区块头和区块体两部分。区块体中主要包括当前区块打包的交易的集合,对于每一条交易,都会附带交易发起者的数字签名,用来保证交易数据的确认。由于数字签名具有不可抵赖性,交易的签发者用自己的私钥签名后,交易的内容将无法被修改或是抵赖,以此保护交易双方的权益。
[0113] 302、使用所述目标值生成新区块头;
[0114] 本实施例中,聚合节点使用所述目标值生成得到新区块头。
[0115] 具体地,交易由区块提议节点聚合后,只需要在交易后面附加一个长度为32字节的数字签名参数r,区块中所有交易中的s部分可以被聚合在一起,生成一个长度为32字节的参数TX_S,具体可以参阅图8,TX_S即为在新区块头中的目标值。
[0116] 303、根据所述新区块体与所述新区块头生成新区块。
[0117] 本实施例中,聚合节点根据步骤301得到的新区块体与步骤302生成的新区块头组合生成新区块。
[0118] 本方案使用EC-Schnorr算法替代区块链系统中常用的ECDSA算法作为签发交易的数字签名算法。EC-Schnorr算法中所选取的椭圆曲线参数兼容ECDSA算法中常用的曲线spec256k1,因此系统切换算法不需要改变原有的用户公私钥,因此与现有的区块链系统可以实现较好的匹配。
[0119] 上面从方法的度对本申请进行了说明,下面从虚拟装置的角度对本申请实施例进行介绍。
[0120] 请参阅图4,本申请实施例中一种区块链交易信息的优化系统,应用于聚合节点,所述聚合节点为区块链上的节点,该系统包括:
[0121] 获取单元401,用于获取待广播区块,所述待广播区块包括签名信息;
[0122] 聚合单元402,用于使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;
[0123] 替代单元403,用于在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;
[0124] 广播单元404,用于将所述新区块在所述区块链中进行广播。
[0125] 本实施例中,获取单元401,用于获取待广播区块,所述待广播区块包括签名信息;聚合单元402,用于使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名;替代单元403,用于在所述待广播区块中使用所述聚合签名替代所述签名信息,得到新区块;广播单元404,用于将所述新区块在所述区块链中进行广播。其中,使用聚合签名算法对所述签名信息进行压缩聚合,得到聚合签名,相较于传统的签名信息,经过压缩得到的聚合签名的数据体积更小,从而实现对区块链交易信息中签名空间的优化。
[0126] 作为一个优选方案,所述聚合单元402具体用于:
[0127] 使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0128] 作为一个优选方案,所述区块链还包括签名节点,所述系统还包括:
[0129] 第一接收单元405,用于接收签名节点发送的承诺信息;
[0130] 发送单元406,用于根据所述承诺信息向所述签名节点发送挑战信息;
[0131] 第二接收单元407,用于接收所述签名节点发送的回应信息,所述回应信息为所述签名节点根据所述挑战信息生成;
[0132] 触发单元408,用于当确定接收到所述回应信息时,触发所述使用EC-Schnorr签名算法对所述签名信息进行压缩聚合,得到聚合签名。
[0133] 作为一个优选方案,所述签名信息包括原值和目标值,所述聚合单元402具体用于:
[0134] 在所述签名信息中,使用EC-Schnorr签名算法对所述目标值进行压缩聚合,得到聚合签名。
[0135] 作为一个优选方案,所述待广播区块包括区块头和区块体,所述区块体包括所述签名信息,所述替代单元403具体用于:
[0136] 在所述区块体中使用所述原值替换所述签名信息,得到新区块体;
[0137] 使用所述目标值生成新区块头;
[0138] 根据所述新区块体与所述新区块头生成新区块。
[0139] 在本实施例中,区块链交易信息的优化装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、网络存储设备终端设备。
[0140] 该装置1可以是组成CDN网络或者区块链网络的节点。
[0141] 该区块链交易信息的优化装置1可以包括存储器11、处理器12和总线13。
[0142] 其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是区块链交易信息的优化装置1的内部存储单元,例如该区块链交易信息的优化装置1的硬盘。存储器11在另一些实施例中也可以是区块链交易信息的优化装置1的外部存储设备,例如区块链交易信息的优化装置1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括区块链交易信息的优化装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于区块链交易信息的优化装置1的应用软件及各类数据,例如区块链交易信息的优化程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0143] 处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器微控制器微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行区块链交易信息的优化程序01等。
[0144] 该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0145] 进一步地,区块链交易信息的优化装置还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该装置1与其他电子设备之间建立通信连接。
[0146] 可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在区块链交易信息的优化装置1中处理的信息以及用于显示可视化用户界面
[0147] 图5仅示出了具有组件11-14以及区块链交易信息的优化程序01的区块链交易信息的优化装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对区块链交易信息的优化装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0148] 可以理解的是,在本申请的各种实施例中,上述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0149] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0150] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0151] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0152] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0153] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0154] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
高效检索全球专利

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

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

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈