掌桥专利:专业的专利平台
掌桥专利
首页

一种区块链背书方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:26


一种区块链背书方法、装置、电子设备及存储介质

技术领域

本发明涉及区块链技术领域,尤其涉及一种区块链背书方法、装置、电子设备及存储介质。

背景技术

区块链(blockchain)是一种将数据区块以顺序相连的方式组合成一种链式数据结构,并以密码学方式对其存储数据进行保证的分布式数据集。智能合约(smartcontract)是区块链技术的一种典型应用,旨在借助区块链中嵌入的指定计算机程序代码,实现链上各合约节点间智能、有效地业务调度。

具体来讲,参阅图1所示,为使区块链中发起的某一业务提案更具公信力,在该提案对应的触发节点部署智能合约时,通常还需设置指定的背书策略,以在触发节点所发起的业务提案执行之前,预先获得区块链中的指定数目的背书节点对该提案的背书签名;具体来讲,上述区块链中的每个具有背书功能的应用节点,均可基于元信息(表征一个随机产生的数据单元)以及其相应携带的背书私钥,对当前业务提案进行签名,以根据生成的背书签名,反映相应背书节点对上述业务提案的背书结果。

在此基础上,上述触发节点可以通过指定业务提案的题案参数,分别向与其关联的若干个背书节点发起相应的调度请求,以将其响应的多个背书节点的背书签名,进一步附加进上述业务提案对应的数据集合中,基于上述方式,区块链中的共识节点能够基于携带的各个背书公钥,对其获得的多个背书签名进行多次验签,即根据每个背书签名携带的元信息以及其相应的背书公钥,分别验证多个背书节点各自的背书结果。

然而,相关技术中,上述方式尚且存在以下缺陷:

1)在上述过程中,触发节点需要将多个背书节点响应的背书签名,共同附加进当前业务提案对应的数据集合中,才能证明该业务提案已被指定数目的背书节点完成背书,这一方式将增大业务提案在区块链中的传输数据量,从而对区块链中的网络传输造成负担,影响背书结果的验证效率。

2)在共识节点获得触发节点发送的业务提案后,需要基于其自身携带的多个背书公钥,分别验证其携带的多个背书签名各自的背书结果,这一方式会导致共识节点的背书验证过程通常较长,从而导致实际状况下,区块链背书的验证效率通常较低。

发明内容

本申请实施例提供一种区块链背书结果获得方法、装置、电子设备及存储介质,用于提升区块链背书结果的验证效率。

一方面,本申请实施例提供了一种区块链背书方法,该方法应用于区块链中部署有智能合约的背书节点,该方法包括:

获得区块链中的触发节点发起的业务提案,其中,业务提案包含待上链信息。

基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求,获得M个背书节点的背书签名,其中,M∈[1,N],每个背书签名是基于相应背书节点携带的背书私钥获得的。

对获得的M个背书签名进行聚合,生成相应的目标背书签名,其中,所述目标背书签名表征:所述M个背书节点的背书结果。

将携带目标背书签名的业务提案发送给区块链中的共识节点,以使共识节点基于预设的至少M个背书公钥,对目标背书签名进行验证。

一方面,本申请实施例提供了一种区块链背书装置,该装置应用于区块链中部署有智能合约的背书节点,该装置包括:

获取模块,用于获得区块链中的触发节点发起的业务提案,其中,业务提案包含待上链信息。

采集模块,用于基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求,获得M个背书节点的背书签名,其中,M∈[1,N],每个背书签名是基于相应背书节点携带的背书私钥获得的;

聚合模块,用于对获得的M个背书签名进行聚合,生成相应的目标背书签名,其中,所述目标背书签名表征:所述M个背书节点的背书结果;

传递模块,用于将携带目标背书签名的业务提案发送给区块链中的共识节点,以使共识节点基于预设的至少M个背书公钥,验证M个背书节点的背书结果。

可选的,业务提案还包括:触发节点对业务提案的触发签名;

则基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求时,采集模块具体用于:

对触发签名进行验证。

在确定触发签名验证成功时,基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求。

可选的,对获得的M个背书签名进行聚合,生成相应的目标背书签名时,聚合模块具体用于:

对所述M个背书签名各自携带的元信息进行聚合,获得相应的目标元信息,其中,每个元信息表征:相应背书节点针对所述业务提案产生的随机数据单元;

基于所述目标元信息,对获得的M个背书签名进行聚合,生成相应的目标背书签名。

可选的,目标背书签名携带目标元信息;

则将携带目标背书签名的业务提案发送给区块链中的共识节点时,传递模块具体用于:

将携带目标元信息及目标背书签名的业务提案发送给区块链中的共识节点,以使共识节点基于预设的至少M个背书公钥,获得相应的验证公钥后,基于目标元信息及验证公钥,验证M个背书节点的背书结果。

可选的,将目标背书签名发送给区块链中的至少一个共识节点之前,聚合模块还用于:

对M个背书节点的节点标识进行聚合,生成相应的目标标识信息,其中,每个节点标识关联一个预设的背书公钥;

则将携带目标背书签名的业务提案发送给区块链中的至少一个共识节点时,传递模块具体用于:

将携带目标标识信息及目标背书签名的业务提案发送给区块链中的至少一个共识节点,以使至少一个共识节点基于携带的目标标识信息,从预设的至少M个背书公钥中,获得相应的M个目标背书公钥,并基于M个目标背书公钥,对目标背书签名进行验证。

可选的,共识节点在对M个背书节点的背书结果验证成功时,生成包含业务提案的业务区块;

则将携带目标背书签名的业务提案发送给区块链中的共识节点后,传递模块还用于:

对业务区块进行同步。

基于同步到的业务区块,获得所述业务提案的执行结果。

一方面,本申请实施例提供了一种计算机设备,其存储有可由用于区块链背书方法执行的计算机程序,当所述程序在所述计算机设备上运行时,所述计算机设备执行上述区块链背书方法的步骤。

一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述区块链背书方法的步骤。

一方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行如第一方面所述的方法。

本申请实施例提供了一种区块链背书方法、装置、电子设备及存储介质,该方法可以应用于区块链中的背书节点,具体的,应用于上述方法的背书节点可以通过部署的智能合约以及获得的业务提案,向区块链中的指定数目的背书节点发起相应的背书请求,并在获取其响应的各个背书签名时,对各个背书签名进行聚合,生成相应的目标背书签名,并将该目标背书签名发送给区块链中的共识节点,使得共识节点验证上述背书节点的背书结果。

基于上述方式,本申请实施例能够在获得多个背书签名时,对其聚合并生成一个对应的目标背书签名,则通过将上述一个目标背书签名附加进发起的业务提案中,即可证明该业务提案已被多个背书节点进行背书,避免了因多个背书签名同时附加而导致的传输数据量增大的问题;另一方面,由于共识节点只需在获得业务提案后,对其携带的目标背书签名进行一次验证,即可同时验证上述多个背书节点的背书结果,进一步避免了因多个背书签名重复验证而带来的验证时间长的问题,从而提升了区块链背书结果的验证效率。

附图说明

图1为本申请实施例提供的一种相关技术示意图;

图2A为本申请实施例提供的一种数据共享系统示意图;

图2B为本申请实施例提供的一种区块链构成示意图;

图3为本申请实施例提供的一种区块链系统示意图;

图4为本申请实施例提供的一种密钥分发示意图;

图5为本申请实施例提供的一种区块链背书方法流程图;

图6为本申请实施例提供的一种背书签名获取过程示意图;

图7为本申请实施例提供的一种目标背书签名获取过程示意图;

图8为本申请实施例提供的一种区块生成过程示意图;

图9为本申请实施例提供的一种区块链背书场景的逻辑示意图;

图10为本申请实施例提供的另一种区块链背书场景的逻辑示意图;

图11为本申请实施例提供的一种区块链背书装置的结构示意图;

图12为本申请实施例提供的一种电子设备示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

本申请的设计思路如下:

本申请涉及区块链技术领域,其中,区块链技术是利用密码学技术和分布式共识协议保证网络传输与访问安全的一种分布式网络数据管理技术。

相关技术中,为使区块链中,某一触发节点构造的业务提案更具公信力(即获得链中大多数节点的共识),在该提案正式发起之前,还需根据部署的智能合约,构造一个包含上述业务提案对应提案参数的调度请求,并将其广播至当前区块链中的背书节点集群。进一步的,上述区块链中的每个接收到当前调度请求的背书节点,均可基于随机产生的数据单元以及携带的相应背书私钥,对生成的一个相应的背书签名,用于反映相应背书节点对上述业务提案的背书结果。

基于上述过程,触发节点需要在获得指定数目的背书签名时,将其打包并附加进上述业务提案对应的数据集合中,则触发节点通过重新发起的上述业务提案,使得后续过程中,接收到该业务提案的共识节点集群会基于其携带的背书公钥以及接收到的多个背书签名,依次验证多个背书节点的背书结果。

然而,基于上述过程,尚且存在以下缺陷:

1)在上述过程中,触发节点需要将多个背书节点响应的背书签名,共同附加进当前业务提案对应的数据集合中,才能证明该业务提案已被指定数目的背书节点完成背书,这一方式将增大业务提案在区块链中的传输数据量,从而对区块链中的网络传输造成负担,影响背书结果的验证效率。

2)在共识节点获得触发节点发送的业务提案后,需要基于其自身携带的多个背书公钥,分别验证其携带的多个背书签名各自的背书结果,这一方式会导致共识节点的背书验证过程通常较长,从而导致实际状况下,区块链背书的验证效率通常较低。

为提升区块链的背书效率,本申请实施例提出了一种区块链背书方法、装置、电子设备及存储介质,该方法可以应用于区块链中的背书节点,具体的,通过部署的智能合约以及获得的业务提案,向区块链中的指定数目的背书节点发起相应的背书请求,并在获取其响应的各个背书签名时,对各个背书签名进行聚合,生成相应的目标背书签名,并将表征为多个背书节点的背书结果的上述目标背书签名发送给区块链中的共识节点,使得共识节点能够一次步验证多个背书节点的背书结果。

基于上述方式,本申请实施例通过将生成的一个目标背书签名附加进发起的业务提案中,即可体现出多个背书节点的背书结果,避免了因多个背书签名共同附加而导致的传输数据量增大的问题;另一方面,由于区块链中的共识节点只需将预设的背书公钥进行聚合,即可基于聚合后的验证公钥,一次验证多个背书节点的背书结果,大大缩短了共识节点对于多个背书节点的背书结果存在的验证时间长的问题,从而提升了区块链的背书结果的验证效率。

下面对本申请实施例中的区块链背书方法所适用的应用场景进行示例介绍,参阅图2A所示,其为本申请实施例适用的一种应用场景示意图,该应用场景图中包括部署有区块链的数据共享系统。

参见图2A所示的数据共享系统,数据共享系统用于进行节点与节点之间进行数据共享,该数据共享系统中可以包括多个节点202,多个节点202可以是指数据共享系统中各个客户端。每个节点202在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。

对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以节点的序列号为例进行说明。

表1

数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图2B,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。

在上述数据共享系统中,任何机器如服务器、终端都可以加入而成为节点,该节点可以处于区块链的应用层中,用于根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到数据共享系统中的其他节点,以供其他节点在验证记录数据来源以及完整性成功(即达成数据共识)时,将记录数据添加到临时区块中。

具体而言,上述数据共享系统中,节点具备的业务功能可包括:

1)密钥生成,用于为数据共享系统中的每个节点生成特定的公私钥对,以使每个节点分别根据其公开的系统参数及携带的相应公私钥对,实现后续过程中其他节点针对指定业务提案的数据共识。

2)提案共享,用于构建并发起针对某一指定业务功能的业务提案,该业务提案可以包含指定的业务类型,以分别表示其对存储的指定业务数据进行的查询或修改等操作。

3)背书,用于获得上述业务提案的预执行结果,并基于获得的预执行结果,生成针对业务提案的一个背书签名,具体的,该背书签名可以是基于上述公开节点发布的系统参数以及其携带的相应背书私钥生成的。

在一种可选的实施例中,上述数据共享系统中的其中一个具备背书功能的背书节点可以作为代理背书节点,以在上述业务提案发起时,收集区块链中的指定数目的其他背书节点的背书签名,从而减缓触发节点的操作压力。

4)共识,用于验证后续发起的业务提案中携带的背书签名,以判断当前业务提案的数据来源以及完整性等,可选的,在验证成功时,共识节点可将相应业务数据添加到指定的临时区块中。

值得注意的是,上述包括的各个系统节点仅表示实际场景中,相应物理节点所具备的一个业务功能,而不代表该物理节点的节点本身,因此,在一种可选的实施例中,每个物理节点还可实际承载上述指定的一个或多个业务功能,如,可以同时具有上述中提到的背书及共识这两个不同业务功能,以在本申请实施例中,作为相应的一个背书节点及共识节点进行使用。

例如,在一种可选的实施例中,假设上述数据共享系统中包含10个物理节点(节点1-节点10),且各节点各自具备的业务功能如下表2所示:

表2

则基于上述表2所示的业务功能,参阅图3所示,为上述数据共享系统对应的一个区块链系统示意图,该系统包含密钥生成节点301、触发节点302、背书节点303以及共识节点304。

在一种可选的实施例中,上述区块链系统中可以搭载有智能合约,该智能合约通过部署在区块链上的用于在满足一定条件时而执行的代码实现,表征执行特定节点间的合约条款,如,针对触发节点302的背书策略等,具体的,上述智能合约可以表示为:触发节点302在发起业务提案时,需要获得区块链中的指定数目的背书节点的背书签名。值得注意的是,在实际场景中,上述智能合约不仅限于执行用于指定业务提案的合约,还可以执行对接收的信息进行处理的合约。

在一种可选的实施例中,参阅图4所示,在触发节点302发起业务提案之前,密钥生成节点301可以采用特定的密钥生成算法,为区块链中的每个其他节点生成并发放一个特定的公私钥对

x

其中,p是一个使得在GF(p)上计算离散对数不可行的大素数,g是GF(p)的本原,GF(p)为指定素域,则基于上式,密钥生成节点301能够为区块链系统中的每个其他节点生成并发放一个特定的公私钥对,并将上述系统参数p、g与一个预设的安全的哈希函数H向系统中的每个其他节点进行公开,作为区块链中节点共识的基础条件。

进一步的,基于上述图3所示的区块链系统,本申请实施例提供了一种区块链背书方法,该方法可以由上述区块链系统中,指定的具有背书功能的背书节点执行,为便于描述,本申请实施例将上述节点3作为指定的一个代理背书节点,参阅图5所示,该方法包括:

S501:获得区块链中的触发节点发起的业务提案。

具体的,上述业务提案表征触发节点发起的某一包含待上链信息的交易提案,如,共享账本等。

在一种可选的实施例中,该业务提案还可包含触发节点针对当前业务提案的触发签名,该触发签名可以基于触发节点携带的触发私钥以及上述业务提案的业务参数获得,以用于代理背书节点在获得发起的业务提案时,对其中携带的触发签名进行验证,用于判断触发节点自身签名的合法性。

在一种可选的实施例中,该业务提案还可包含当前提案对应的业务类型,例如,本申请实施例中,上述业务类型可以分别表示为“读”业务类型及“写”业务类型,其中,“读”业务类型用于表征当前业务提案对存储的指定业务数据进行的查询操作,“写”业务类型用于表征当前业务提案对存储的指定业务数据进行的修改操作,则在获得当前触发节点发送的业务提案时,代理背书节点可以基于其携带的“写”业务类型,响应当前业务提案待进行的背书操作。

在一种可选的实施例中,该业务提案还可包含对应的业务时间戳,以表示当前业务提案对应的发起时间。

例如,上述代理背书节点可接收触发节点发起的业务提案

S502:基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求,获得M个背书节点的背书签名。

具体的,在代理背书节点对业务提案中携带的触发签名及业务时间戳验证成功时,可以基于区块链系统中部署的智能合约,向该区块链中的N个其他背书节点发起针对该业务提案的背书请求,以获得区块链中的M个背书节点针对该业务提案的背书签名,其中,M∈[1,N],N为与触发节点关联的背书节点的数目,M为智能合约中指定的背书签名数目。

例如,参阅图6所示,假设智能合约中指定的背书签名数目为3,则在代理背书节点获得的业务提案中,相应触发签名以及业务时间戳验证成功时,可基于图示区块链中部署的智能合约,向区块链中的其他背书节点(节点4-节点6)发起相应的背书请求,为便于理解,本申请实施例中,采用广播的方式,同时发起针对多个其他背书节点的背书请求,并根据部署的智能合约,收集到3个任意的背书节点的背书签名。

可以理解是,上述提到的背书节点,可以是上述发起背书请求的各个其他背书节点(节点4-节点6),还可以是执行当前区块链背书方法的代理背书节点,本申请对此不作限制。

在一种可选的实施例中,对应于上述密钥生成节点所公开的系统参数p,g与预设的安全的哈希函数H,上述提到的各其他背书或代理背书节点自身可以采用以下方式获得相应的背书签名:

其中,l表示相应背书节点的节点标识,k

S503:对获得的M个背书签名进行聚合,生成相应的目标背书签名。

进一步的,在收集到智能合约指定数目的背书签名后,基于多重签名算法,对获得的M个背书签名进行聚合,生成相应的目标背书签名。

在一种可选的实施例中,对应于上述密钥生成节点所公开的系统参数p,g与预设的安全的哈希函数H,可以基于每个背书节点根据业务提案随机生成的元信息r

进一步的,基于上述方式,通过代理背书节点获得的M个背书签名,分别确定各个背书节点各自的背书结果,并将多个背书结果转换为一个单独的多重背书签名,即可同时表征M个背书节点的背书结果,由于上述目标背书签名的数据量远小于原M个背书签名的数据量总和,因此,在目标背书签名附加进当前业务提案对应的数据集合时,相应的传输数据量大幅降低,进一步提升了区块链中的背书验证效率。

在一种可选的实施例中,在将目标背书签名发送给所述区块链中的共识节点之前,还可对M个背书节点的节点标识进行聚合,生成相应的目标标识信息,其中,每个节点标识关联一个预设的背书公钥,则通过将该目标标识信息进一步附加进当前业务提案对应的数据集合中,可使得各共识节点能够基于携带的目标标识信息,确定相应的M个目标背书公钥,并基于目标背书公钥聚合得到的验证公钥,验证M个背书节点的背书结果。

例如,参阅图7所示,假设上述过程中,获得代理背书节点(节点3)及两个背书节点(节点4、节点5)对当前业务提案的背书签名,则基于上述方式,代理背书结果可基于获得的多个背书签名,对其进行聚合并生成相应的目标背书签名,则基于上述各背书节点各自的节点标识,代理背书节点可以进一步生成表征多个背书节点标识的目标标识信息,以便于后续共识节点基于携带的目标标识信息,对生成的目标背书签名进行验证。

S504:将携带目标背书签名的业务提案发送给区块链中的共识节点,以使共识节点基于预设的至少M个背书公钥,验证M个背书节点的背书结果。

进一步的,代理背书节点将携带目标背书签名的业务提案广播至区块链中的共识节点集群,可选的,也可将携带目标背书签名的业务提案发送至集群中指定的至少一个共识节点,以使上述至少一个共识节点通过广播等方式,将其公开至区块链中的共识节点集群。

在一种可选的实施例中,对应于上述密钥生成节点所公开的系统参数p,g与预设的安全的哈希函数H,上述共识节点可以采用以下方式确定目标背书签名对应的验证公钥:

其中,y

进一步的,在获得验证公钥后,各共识节点基于公开的系统参数,对当前业务提案携带的目标背书签名进行验证,在一种可选的实施例中,可以基于配置的验证等式,对目标背书签名进行验证,如下所示:

R

其中,R为上述目标背书签名携带的目标元信息,S为M个背书签名相应的目标背书签名,p、g、H分别为上述公开的系统参数。

基于上述方式,共识节点能够通过公开的系统参数,通过对目标背书签名进行一次验证,即可同时验证出多个背书节点的背书结果,从而避免了因多次验证而造成的大量等待时间,进一步提升了区块链的背书验证效率。

进一步的,参阅图8所示,上述共识节点对目标背书签名进行验证成功后,可通过Raft、PBFT等共识算法,生成对应当前业务提案的业务区块,并将该业务区块置入当前配置的区块链中,则在该业务区块上链后,上述代理背书节点可以进一步从共识节点同步得到最新的区块,以获得其所发起业务提案的执行结果。

参阅图9所示,为本申请实施例提供的一种区块链背书场景的逻辑示意图,该逻辑示意图包含由多个终端设备或服务器设备构成的区块链,其中,每个终端设备或服务器可视作该区块链包含的一个相应的区块链节点;假设该区块链中搭载有可用于共享账本的智能合约。

作为一种实施例,在如图9所示的上述区块链背书场景中,目标对象可通过该区块链中的具有提案构建功能的触发节点,构建并向区块链中的其他节点发起针对其存储业务数据修改的业务提案TRANSACTION,并通过接收该业务提案的指定背书节点对该提案的背书操作,收集指定数目的背书签名并对其进行聚合,以使目标对象发起的业务提案满足区块链中配置的背书策略,进一步的,上述背书节点经由聚合获得的目标背书签名,重新构建并发起当前相应的业务提案,在共识节点在对目标背书签名进行验证成功后,可以进一步的生成新的区块,则基于上述步骤,可以使得目标对象无需再自行获得指定数目的背书签名,即可获得相应的业务执行结果。

参阅图10所示,为本申请实施例提供的另一种区块链背书场景的逻辑示意图,该逻辑示意图包含加入区块链中的终端设备以及多个服务器,其中,每个终端设备或服务器可视作该区块链包含的一个区块链节点。

作为另一种实施例,在如图10所示的上述另一种区块链背书场景中,基于本申请实施例提出的区块链背书方法,终端设备可在发起指定的业务提案T时,无需进行进一步的签名收集工作,而是以接收该业务提案的物流服务器对该业务提案的进行背书的方式,收集管理服务器的背书签名s1并对其自身生成的背书签名s2进行聚合,并在聚合成功时,将生成的目标背书签名S附加进上述业务提案T并通过发送至指定的审计服务器中。

进一步的,在上述另一种实施例中,审计服务器基于本申请实施例所提出的验证方式,只需对接收的目标背书签名S进行一次验证,即可快速确定背书签名s1以及s2的验证结果。上述方式使得生成区块B前的背书操作的效率大幅提高,并进一步提高了区块链中共识节点对背书签名的验证效率,保证了所发起业务提案的快速共识,另一方面,基于上述方式,终端设备无需再进行过多的收集操作,即可从同步到的业务区块中,快速获得当前业务提案的执行结果,从而进一步提升了目标对象对区块链上所执行业务的业务体验。

基于上述两种实施例所各自呈现的应用场景,可以见得,本申请提出的区块链背书方法能够通过生成的一个目标背书签名,即可验证当前业务提案已获得多个背书节点的背书结果,避免了因多个背书签名共同附加而导致的传输数据量增大的问题,提升了当前业务提案在网络中的传输速率,另一方面,由于共识节点只需基于聚合的验证公钥,即可获得多个背书结果的验证结果,从而极大地缩短了区块链中背书签名的验证时间,提升了区块链的背书效率。

基于相同的技术构思,本申请实施例提供了一种区块链背书装置的结构示意图,如图11所示,该装置1100包括:

获取模块1101,用于获得区块链中的触发节点发起的业务提案,其中,业务提案包含待上链信息。

采集模块1102,用于基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求,获得M个背书节点的背书签名,其中,M∈[1,N],每个背书签名是基于相应背书节点携带的背书私钥获得的;

聚合模块1103,用于对获得的M个背书签名进行聚合,生成相应的目标背书签名,其中,所述目标背书签名表征:所述M个背书节点的背书结果;

传递模块1104,用于将携带目标背书签名的业务提案发送给区块链中的共识节点,以使共识节点基于预设的至少M个背书公钥,验证M个背书节点的背书结果。

可选的,业务提案还包括:触发节点对业务提案的触发签名;

则基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求时,采集模块1102具体用于:

对触发签名进行验证。

在确定触发签名验证成功时,基于智能合约,向区块链中的N个其他背书节点发起针对业务提案的背书请求。

可选的,对获得的M个背书签名进行聚合,生成相应的目标背书签名时,聚合模块1103具体用于:

对所述M个背书签名各自携带的元信息进行聚合,获得相应的目标元信息,其中,每个元信息表征:相应背书节点针对所述业务提案产生的随机数据单元;

基于所述目标元信息,对获得的M个背书签名进行聚合,生成相应的目标背书签名。

可选的,目标背书签名携带目标元信息;

则将携带目标背书签名的业务提案发送给区块链中的共识节点时,传递模块1104具体用于:

将携带目标元信息及目标背书签名的业务提案发送给区块链中的共识节点,以使共识节点基于预设的至少M个背书公钥,获得相应的验证公钥后,基于目标元信息及验证公钥,验证M个背书节点的背书结果。

可选的,将目标背书签名发送给区块链中的至少一个共识节点之前,聚合模块1103还用于:

对M个背书节点的节点标识进行聚合,生成相应的目标标识信息,其中,每个节点标识关联一个预设的背书公钥;

则将携带目标背书签名的业务提案发送给区块链中的至少一个共识节点时,传递模块1104具体用于:

将携带目标标识信息及目标背书签名的业务提案发送给区块链中的至少一个共识节点,以使至少一个共识节点基于携带的目标标识信息,从预设的至少M个背书公钥中,获得相应的M个目标背书公钥,并基于M个目标背书公钥,对目标背书签名进行验证。

可选的,共识节点在对M个背书节点的背书结果验证成功时,生成包含业务提案的业务区块;

则将携带目标背书签名的业务提案发送给区块链中的共识节点后,传递模块1104还用于:

对业务区块进行同步。

基于同步到的业务区块,获得所述业务提案的执行结果。

本申请实施例提供了一种区块链背书方法、装置、电子设备及存储介质,该方法可以应用于区块链中的背书节点,具体的,应用于上述方法的背书节点可以通过部署的智能合约以及获得的业务提案,向区块链中的指定数目的背书节点发起相应的背书请求,并在获取其响应的各个背书签名时,对各个背书签名进行聚合,生成相应的目标背书签名,并将该目标背书签名发送给区块链中的共识节点,使得共识节点验证上述背书节点的背书结果。

基于上述方式,本申请实施例能够在获得多个背书签名时,对其聚合并生成一个对应的目标背书签名,则通过将上述一个目标背书签名附加进发起的业务提案中,即可证明该业务提案已被多个背书节点进行背书,避免了因多个背书签名同时附加而导致的传输数据量增大的问题;另一方面,由于共识节点只需在获得业务提案后,对其携带的目标背书签名进行一次验证,即可同时验证上述多个背书节点的背书结果,进一步避免了因多个背书签名重复验证而带来的验证时间长的问题,从而提升了区块链的背书效率。

基于相同的技术构思,本申请实施例提供了一种计算机设备,该计算设备可以是终端设备和/或服务器,如图12所示,包括至少一个处理器1201,以及与至少一个处理器连接的存储器1202,本申请实施例中不限定处理器1201与存储器1202之间的具体连接介质,图12中处理器1201和存储器1202之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。

在本申请实施例中,存储器1202存储有可被至少一个处理器1201执行的指令,至少一个处理器1201通过执行存储器1202存储的指令,可以执行上述区块链背书方法的步骤。

其中,处理器1201是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1202内的指令以及调用存储在存储器1202内的数据,从而实现区块链背书。可选的,处理器1201可包括一个或多个处理单元,处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1201中。在一些实施例中,处理器1201和存储器1202可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器1201可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器1202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1202可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述区块链背书方法的步骤。

基于同一发明构思,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述区块链背书方法的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

相关技术
  • 一种区块链ID生成及使用方法、装置、电子设备以及存储介质
  • 基于区块链的交易验证方法、装置、存储介质及电子设备
  • 基于区块链的贷款审批方法、装置、存储介质及电子设备
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种区块链私钥的存储方法、装置及电子设备
  • 基于区块链的动态背书方法、装置、电子设备和存储介质
  • 区块链上背书签名压缩方法、电子设备及存储介质
技术分类

06120116486988