CN117640093A - 区块链数字签名改造的方法、系统、存储介质及计算设备 - Google Patents
区块链数字签名改造的方法、系统、存储介质及计算设备 Download PDFInfo
- Publication number
- CN117640093A CN117640093A CN202210203511.8A CN202210203511A CN117640093A CN 117640093 A CN117640093 A CN 117640093A CN 202210203511 A CN202210203511 A CN 202210203511A CN 117640093 A CN117640093 A CN 117640093A
- Authority
- CN
- China
- Prior art keywords
- signature
- nodes
- public key
- node
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 9
- 230000002776 aggregation Effects 0.000 claims description 30
- 238000004220 aggregation Methods 0.000 claims description 30
- 230000004931 aggregating effect Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 5
- 238000011426 transformation method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 24
- 239000000284 extract Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Abstract
本发明公开了一种区块链数字签名改造的方法、系统、存储介质及计算设备,包括:服务器统计链上节点,收集各个节点的公钥P;所述服务器发出数据上链请求,生成消息推送列表M;所述节点通过公钥,对上链消息进行签名,生成签名信息S;所述服务器将所述签名信息S,所述公钥信息P,以及所述消息列表M,通过算法生成聚合签名AggS;所述服务器直接验证聚合签名AggS,确保上链数据的真实性;本发明通过将多个节点的公钥P、节点交易的消息推送列表M、以及签名信息S,三者进行减半提取,可以直接生成聚合签名信息,从而提高节点之间的验证速度,增加链上存储空间。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种区块链数字签名改造的方法、系统、存储介质及计算设备。
背景技术
区块链技术是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景。
数字签名是用于验证数字数据的真实性和完整性的加密机制。我们可能会将其视为普通手写签名的数字版本,但具有更高的复杂性和安全性。
智能合约做到无需的信任的前置条件是将与合约相关的数据存储到区块链上,从而做到合约数据不可被篡改。但区块链是去中心化数据库的本质决定了其难以像传统的数据库一样对单个应用存储大量的数据,从而限制了难以承载拥有海量数据的大型应用。
发明内容
为了解决上述问题,本发明提供了一种区块链数字签名改造的方法,利用聚合签名节省链上数据,提高区块验证速度。
本发明的技术方案为:一种区块链数字签名改造的方法,包括以下步骤:
S1:服务器统计链上节点,收集各个节点的公钥P;
S2:所述服务器发出数据上链请求,生成消息推送列表M;
S3:所述节点通过公钥,对上链消息进行签名,生成签名信息S;
S4:所述服务器将所述签名信息S,所述公钥信息P,以及所述消息列表M,通过算法生成聚合签名AggS;
S5:所述服务器直接验证聚合签名AggS,确保上链数据的真实性;
本发明通过将多个节点的多个签名聚合成一个签名的变体签名方案,确保上链信息的真实性,同时节省上链数据,提高节点验证效率;同时也大大减小多个签名计算难度,提高节点之间交互数据的验证速度;
作为优选,节点收到2/3签名之后,停止处理其余节点对该区块的签名,区块验证进入完成状态;
通过用2/3的节点签名验证成功之后,结束节点验证,保证所有验证节点对消息数据的审核,同时提高节点验证速度;
作为优选,通过哈希计算生成节点公钥的摘要,对节点公钥的摘要进行聚合,可以提高公钥聚合速度;
作为优选,所述区块签名验证方法,包括以下步骤:
S1:识别签名者信息,判断聚合签名是否存在;
S2:如果存在就聚合所有节点的公钥,如果不存在,就先生成聚合签名,在聚合所有节点的公钥;
S3:通过聚合签名、聚合公钥,验证区块签名信息;
本发明还提供了一种区块链数字签名改造的系统,包括:
公钥收集模块:用于收集节点公钥,用户通过在服务器上认证,可以获得节点唯一身份标识地址,以及获得随机生成的公私钥一对,公钥可以公开,不会对节点地址的数字资产产生安全威胁,私钥需要保密,用户只有通过私钥,才能获得节点地址的数字资产;
消息接收模块:用于接收节点发送的消息包括节点请求上链、节点查询地址上的数字资产,节点之间进行交易等事件;
公钥签名模块:用于对节点的消息进行签名,节点生成的上链请求、数据查询、资产交易等事件,都需要通过公钥进行签名,确保节点和交易的关联性;
聚合模块:用于将节点签名信息生成聚合签名,将公钥信息生成聚合公钥;
作为优选,所述聚合模块的内部包含签名聚合模块,公钥聚合模块,通过两个独立的模块,保证节点聚合签名和聚合公钥生成的效率,提高节点之间的验证效率;
与现有技术相比,本发明的有益效果体现在:通过聚合签名将多个签名聚合成一个短签名,保证链上数据的简洁,提高节点之间的验证速度;
本发明利用聚合签名将多个节点签名聚合成一个签名的变体签名方案,通过将节点的公钥进行聚合,生成聚合签名,对消息、聚合公钥、聚合签名三者进行验证,节省链上数据,提高节点之间的验证速度;
附图说明
图1为本发明中的一个实施例的区块链数字签名改造的方法流程图。
图2为本发明中另一个实施例的区块链数字签名改造的方法流程图。
图3为本发明中区块签名验证的流程图。
图4为本发明中区块链数字签名改造系统的架构图。
图5为一实施例中的计算设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
2)区块链网络,通过共识的方式将新区块纳入区块链的一系列的节点的集合。区块链网络可以包括多个节点,该多个节点形成一个去中心化的、能够协同运转的数据库存储系统。如图1所示,任意两个区块链节点2之间采用P2P(Peer To Peer,点对点)协议进行网络通信。
3)交易,也称为交易请求,交易包括了需要提交到区块链网络执行的操作,以及对应的交易结果。并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
在一个实施例中,如图1所示,一种区块链数字签名改造的方法,包括以下步骤:
S1:服务器统计链上节点,收集各个节点的公钥P;
链上节点{U1,U2,U3…,Ui}通过服务器获得节点地址,以及对应的公私钥对,服务器通过采集节点注册信息,获得节点对应的唯一公钥集合{P1,P2,P3…,Pi};
S2:所述服务器发出数据上链请求,生成消息推送列表M;
服务器发出节点交易的数据上链请求,请求中包含节点的地址信息,节点交易信息等,将上述信息进行加密,生成对应的数据摘要,并同时生成消息推送列表M,消息列表内部和节点的交易成一一映射关系;
S3:所述节点通过公钥,对上链消息进行签名,生成签名信息S;
链上节点{U1,U2,U3…,Ui}通过自身公钥{P1,P2,P3…,Pi},对上链信息进行签名,通过在每笔交易信息的数据摘要上加上自身公钥,生成特定的签名信息{S1,S2,S3…,Si};
S4:所述服务器将所述签名信息S,所述公钥信息P,以及所述消息列表M,通过算法生成聚合签名AggS;
服务器通过聚合算法,将节点的签名信息集合{S1,S2,S3…,Si},分别提取每个签名信息的前半部分,将节点的公钥信息集合{P1,P2, P3…,Pi},分别提取每个公钥信息的前半部分,生成聚合签名 AggS{p1,…,pi,m,s1,…,si};
S5:所述服务器直接验证聚合签名AggS,确保上链数据的真实性;
服务器通过聚合签名AggS与验证节点公钥进行匹配验证,可以判断聚合签名的真实性,从而确保上链数据的真实性;
本实施例通过将多个节点的公钥P、节点交易的消息推送列表M、以及签名信息S,三者进行减半提取,可以直接生成聚合签名信息,从而提高节点之间的验证速度,增加链上存储空间;
在一个实施例中,如图1和图2所示,一种区块链数字签名改造的方法,包括以下步骤:
S1:服务器统计链上节点,收集各个节点的公钥P;
链上节点{U1,U2,U3…,Ui}通过服务器获得节点地址,以及对应的公私钥对,服务器通过采集节点注册信息,获得节点对应的唯一公钥集合{P1,P2,P3…,Pi};
S2:所述服务器发出数据上链请求,生成消息推送列表M;
服务器发出节点交易的数据上链请求,请求中包含节点的地址信息,节点交易信息等,将上述信息进行加密,生成对应的数据摘要,并同时生成消息推送列表M,消息列表内部和节点的交易成一一映射关系;
S3:所述节点通过公钥,对上链消息进行签名,生成签名信息S;
链上节点{U1,U2,U3…,Ui}通过自身公钥{P1,P2,P3…,Pi},对上链信息进行签名,通过在每笔交易信息的数据摘要上加上自身公钥,生成特定的签名信息{S1,S2,S3…,Si};
S4:节点收到2/3签名信息之后,停止处理其余节点对该区块的签名;
节点收到2/3的签名信息之后,相当于已经把读取了该区块的大部分节点处理结果,且后续签名信息和前面2/3的签名信息,区别点仅在于节点的公钥,由于在同一个消息处理进程中,每个节点通过自身公钥对上链信息签名的过程,都是使用的同一个函数,所以可以用前2/3的签名信息代表所有的签名信息,而且不会发生上链数据的丢失、错乱等问题;
S5:将收集的2/3签名聚合成短签名,并将签名者记录在缓存区;
通过将收集的节点签名聚合成短签名,可以大大节省链上数据存储空间,同时保存已经参与验证的节点信息,便于后期对区块签名进行验证;
本实施例通过先收集节点的公钥信息、消息列表、签名信息,同时只收集2/3的节点签名信息,可以大大缩短节点签名信息的收集时间,提高节点之间的验证效率;
在一个实施例中,如图1和图3所示,一种区块签名验证的方法,包括以下步骤:
S1:识别签名者信息,判断聚合签名是否存在;
S2:如果存在就聚合所有节点的公钥,如果不存在,就先生成聚合签名,在聚合所有节点的公钥;
S3:通过聚合签名、聚合公钥,验证区块签名信息;
本实施例通过聚合所有节点的签名和公钥信息,可以快速的对当前区块进行验证,保证链上数据的真实性;通过数据摘要的比对,可以进行区块的快速验证;
如图4所述,本发明还提供了一种区块链数字签名改造系统,包括公钥收集模块、消息接收模块、公钥签名模块、聚合模块;
公钥收集模块:用于收集节点公钥,用户通过在服务器上认证,可以获得节点唯一身份标识地址,以及获得随机生成的公私钥一对,公钥可以公开,不会对节点地址的数字资产产生安全威胁,私钥需要保密,用户只有通过私钥,才能获得节点地址的数字资产;
消息接收模块:用于接收节点发送的消息包括节点请求上链、节点查询地址上的数字资产,节点之间进行交易等事件;
公钥签名模块:用于对节点的消息进行签名,节点生成的上链请求、数据查询、资产交易等事件,都需要通过公钥进行签名,确保节点和交易的关联性;
聚合模块:用于将节点签名信息生成聚合签名,将公钥信息生成聚合公钥;
在一个实施例中,该系统还包括:所述聚合模块的内部包含签名聚合模块,公钥聚合模块,通过两个独立的模块,保证节点聚合签名和聚合公钥生成的效率,提高节点之间的验证效率;
关于区块链数字签名改造系统的具体限定可以参见上文中对于区块链数字签名改造方法的限定,在此不再赘述。上述区块链数字签名改造系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算设备中的处理器中,也可以以软件形式存储于计算设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算设备,其内部结构图可以如图 5所示。该计算设备包括通过设备总线连接的处理器、存储器、网络接口和数据库。其中,该计算设备的处理器用于提供计算和控制能力。该计算设备的存储器包括介质和内存储器。该介质为计算机可读存储介质。具体地,该计算机可读存储介质为非易失性计算机可读存储介质。该非易失性计算机可读存储介质存储有操作设备、计算机程序和数据库。该内存储器为非易失性计算机可读存储介质中的操作设备和计算机程序的运行提供环境。该计算设备的数据库用于存储数据。该计算设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的抵押借贷方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
S1:统计链上节点,收集各个节点的公钥P;
S2:服务器发出数据上链请求,生成消息推送列表M;
S3:节点通过公钥,对上链消息进行签名,生成签名信息S;
S4:将所述签名信息S通过算法生成聚合签名AggS,将所述公钥信息P通过算法生成聚合公钥AggP;
S5:服务器直接验证聚合签名,确保上链数据的真实性;
在一个实施例中,提供了一种存储介质,该介质为计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1:服务器统计链上节点,收集各个节点的公钥P;
链上节点{U1,U2,U3…,Ui}通过服务器获得节点地址,以及对应的公私钥对,服务器通过采集节点注册信息,获得节点对应的唯一公钥集合{P1,P2,P3…,Pi};
S2:所述服务器发出数据上链请求,生成消息推送列表M;
服务器发出节点交易的数据上链请求,请求中包含节点的地址信息,节点交易信息等,将上述信息进行加密,生成对应的数据摘要,并同时生成消息推送列表M,消息列表内部和节点的交易成一一映射关系;
S3:所述节点通过公钥,对上链消息进行签名,生成签名信息S;
链上节点{U1,U2,U3…,Ui}通过自身公钥{P1,P2,P3…,Pi},对上链信息进行签名,通过在每笔交易信息的数据摘要上加上自身公钥,生成特定的签名信息{S1,S2,S3…,Si};
S4:所述服务器将所述签名信息S,所述公钥信息P,以及所述消息列表M,通过算法生成聚合签名AggS;
服务器通过聚合算法,将节点的签名信息集合{S1,S2,S3…,Si},分别提取每个签名信息的前半部分,将节点的公钥信息集合{P1,P2, P3…,Pi},分别提取每个公钥信息的前半部分,生成聚合签名 AggS{p1,…,pi,m,s1,…,si};
S5:所述服务器直接验证聚合签名AggS,确保上链数据的真实性;
服务器通过聚合签名AggS与验证节点公钥进行匹配验证,可以判断聚合签名的真实性,从而确保上链数据的真实性;
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态 RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.区块链数字签名改造方法,其特征在于,包括以下步骤:
S1:服务器统计链上节点,收集各个节点的公钥P;
S2:所述服务器发出数据上链请求,生成消息推送列表M;
S3:所述节点通过公钥,对上链消息进行签名,生成签名信息S;
S4:所述服务器将所述签名信息S,所述公钥信息P,以及所述消息列表M,通过算法生成聚合签名AggS;
S5:所述服务器直接验证聚合签名AggS,确保上链数据的真实性;
2.如权利要求1所述的区块链数字签名改造方法,其特征在于,
所述节点收到2/3签名信息之后,停止处理其余节点对该区块的签名;
3.如权利要求1所述的区块链数字签名改造方法,其特征在于,
通过哈希计算生成公钥的摘要,对公钥摘要进行聚合;
4.如权利要求1所述的区块链数字签名改造方法,其特征在于,
通过识别签名者信息,验证聚合签名,在聚合所有节点的公钥;通过聚合签名、聚合公钥,验证区块签名信息;
5.一种区块链数字签名改造系统,其特征在于,包括公钥收集模块、消息接收模块、公钥签名模块、聚合模块;
公钥收集模块:用于收集节点公钥,用户通过在服务器上认证,可以获得节点唯一身份标识地址,以及获得随机生成的公私钥一对,公钥可以公开,不会对节点地址的数字资产产生安全威胁,私钥需要保密,用户只有通过私钥,才能获得节点地址的数字资产;
消息接收模块:用于接收节点发送的消息包括节点请求上链、节点查询地址上的数字资产,节点之间进行交易等事件;
公钥签名模块:用于对节点的消息进行签名,节点生成的上链请求、数据查询、资产交易等事件,都需要通过公钥进行签名,确保节点和交易的关联性;
聚合模块:用于将节点签名信息生成聚合签名,将公钥信息生成聚合公钥;
6.一种计算设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任意一项所述的区块链数字签名改造方法的步骤。
7.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任意一项所述的基于区块链的区块链数字签名改造方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210203511.8A CN117640093A (zh) | 2022-08-18 | 2022-08-18 | 区块链数字签名改造的方法、系统、存储介质及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210203511.8A CN117640093A (zh) | 2022-08-18 | 2022-08-18 | 区块链数字签名改造的方法、系统、存储介质及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640093A true CN117640093A (zh) | 2024-03-01 |
Family
ID=90022047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210203511.8A Pending CN117640093A (zh) | 2022-08-18 | 2022-08-18 | 区块链数字签名改造的方法、系统、存储介质及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117640093A (zh) |
-
2022
- 2022-08-18 CN CN202210203511.8A patent/CN117640093A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102469024B1 (ko) | 디지털 인증서 검증 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체 | |
CN109067543B (zh) | 数字证书管理方法、装置、计算机设备和存储介质 | |
CN109492983B (zh) | 基于区块链智能合约的电子印章签署方法、装置、设备和介质 | |
CN107342867B (zh) | 签名验签方法和装置 | |
CN110881063B (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
CN111541551B (zh) | 门限签名消息的处理方法、系统、存储介质及服务器 | |
CN110633963B (zh) | 电子票据处理方法、装置、计算机可读存储介质和设备 | |
CN110096903B (zh) | 基于区块链的资产验证方法及区块链网络系统 | |
CN113301114B (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CN111339116A (zh) | 一种基于区块链的用于开放银行数据共享的方式 | |
CN109840769B (zh) | 基于区块链的存证方法及装置、系统与存储介质 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN113378148A (zh) | 一种基于区块链的物联网设备身份认证系统及方法 | |
CN107370599A (zh) | 一种远程销毁私钥的管理方法、装置和系统 | |
CN115208628B (zh) | 基于区块链的数据完整性验证方法 | |
Miao et al. | Blockchain assisted multi-copy provable data possession with faults localization in multi-cloud storage | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN114691669A (zh) | 一种电子存证方法、装置、电子设备及存储介质 | |
Gulati et al. | Self-sovereign dynamic digital identities based on blockchain technology | |
CN113961908B (zh) | 数据存证方法、装置、计算机设备和存储介质 | |
Jia et al. | PROCESS: Privacy-preserving on-chain certificate status service | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN115883646A (zh) | 交叉跨链方法、系统、存储介质及服务器 | |
CN117640093A (zh) | 区块链数字签名改造的方法、系统、存储介质及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |