基于区块链的多方签名认证方法、装置、设备及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种基于区块链的多方签名认证方法、装置、设备及存储介质。
背景技术
随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被记录在一个云***之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上公开的账本。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。
现有的区块链技术中,区块链中的很多重要交易需要多方背书才能通过,例如区块链网络配置变更等。而现有技术多方背书的收集流程通常分为两种,一种为手动收集,另一中为由中心化管理平台发起交易,并由中心化管理平台收集背书结果。现有技术的多方背书的收集流程存在流程时间长、交易执行过程中心化的问题,降低了交易效率。
发明内容
本发明提供一种基于区块链的多方签名认证方法、装置、设备及存储介质,以简化多方背书的流程,缩短流程时间,从而提高交易效率,并且不需要设置中心化管理平台。
第一方面,本发明实施例提供一种基于区块链的多方签名认证方法,包括:
交易发起方生成交易信息,其中所述交易发起方为区块链网络中任一参与方;
所述交易发起方通过点对点通信将所述交易信息广播给所述区块链网络的各参与方,以使每一参与方对所述交易信息表决,并根据表决结果对所述交易信息签名,再通过点对点通信将经签名的交易信息广播给各参与方;
所述交易发起方获取各参与方广播的经签名的交易信息,经过对签名验证后获取各参与方的表决结果;
所述交易发起方根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
进一步的,所述交易发起方生成交易信息,包括:
所述交易发起方从所述区块链获取区块链配置信息;
所述交易发起方从所述区块链获取所述区块链各参与方的证书信息,并与本地存储的各参与方的证书信息进行比对;
若比对一致,则所述交易发起方根据需要变更的配置修改所述区块链配置信息,从而生成所述交易信息。
进一步的,所述交易发起方通过点对点通信将所述交易信息广播给所述区块链网络的各参与方前,还包括:
所述交易发起方根据本地签名证书和私钥对所述交易信息进行签名,以使各参与方在接收到所述交易信息后对所述交易信息进行有效性判别和交易发起方身份验证。
进一步的,所述交易发起方获取各参与方的表决结果后,所述交易发起方根据各参与方的表决结果和交易信息原文生成交易区块前,还包括:
所述交易发起方根据各参与方的表决结果判断所述交易信息是否被表决通过;若未被表决通过,则停止生成交易区块。
第二方面,本发明实施例提供一种基于区块链的多方签名认证方法,包括:
区块链网络的参与方接收交易发起方通过点对点通信广播的交易信息,其中所述交易发起方为区块链网络中任一参与方;
所述区块链网络的参与方对于所述交易信息进行表决,并根据表决结果对所述交易信息签名;
所述区块链网络的参与方通过点对点通信将经签名的交易信息广播给所述区块链网络的各参与方,以使所述交易发起方获取各参与方广播的经签名的交易信息,经过对签名验证后获取各参与方的表决结果,根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
进一步的,所述区块链网络的参与方对于所述交易信息进行表决,并根据表决结果对所述交易信息签名,包括:
所述区块链网络的参与方若同意所述交易信息,则直接对所述交易信息进行签名;
所述区块链网络的参与方若不同意所述交易信息,则在所述交易信息中增加不同意原因字段并进行签名。
进一步的,所述区块链网络的参与方对于所述交易信息进行表决前,还包括:
所述区块链网络的参与方对所述交易信息进行有效性判别和交易发起方身份验证。
第三方面,本发明实施例提供一种基于区块链的多方签名认证装置,包括:
交易生成模块,用于生成交易信息,其中所述交易发起方为区块链网络中任一参与方;
通信模块,用于通过点对点通信将所述交易信息广播给所述区块链网络的各参与方,以使每一参与方对所述交易信息表决,并根据表决结果对所述交易信息签名,再通过点对点通信将经签名的交易信息广播给各参与方;
所述通信模块还用于,获取各参与方广播的经签名的交易信息;
处理模块,用于经过对签名验证后获取各参与方的表决结果;根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
进一步的,所述交易生成模块用于:
从所述区块链获取区块链配置信息;
从所述区块链获取所述区块链各参与方的证书信息,并与本地存储的各参与方的证书信息进行比对;
若比对一致,则根据需要变更的配置修改所述区块链配置信息,从而生成所述交易信息。
进一步的,所述处理模块还用于:
在交易发起方通过点对点通信将所述交易信息广播给所述区块链网络的各参与方前,根据本地签名证书和私钥对所述交易信息进行签名,以使各参与方在接收到所述交易信息后对所述交易信息进行有效性判别和交易发起方身份验证。
进一步的,所述处理模块还用于:
根据各参与方的表决结果判断所述交易信息是否被表决通过;若未被表决通过,则停止生成交易区块。
第四方面,本发明实施例提供一种基于区块链的多方签名认证装置,包括:
通信模块,用于接收交易发起方通过点对点通信广播的交易信息,其中所述交易发起方为区块链网络中任一参与方;
处理模块,用于对于所述交易信息进行表决,并根据表决结果对所述交易信息签名;
所述通信模块还用于,通过点对点通信将经签名的交易信息广播给所述区块链网络的各参与方,以使所述交易发起方获取各参与方广播的经签名的交易信息,经过对签名验证后获取各参与方的表决结果,根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
进一步的,所述处理模块用于:
若同意所述交易信息,则直接对所述交易信息进行签名;
若不同意所述交易信息,则在所述交易信息中增加不同意原因字段并进行签名。
进一步的,所述处理模块还用于:
对所述交易信息进行有效性判别和交易发起方身份验证。
第五方面,本发明实施例提供一种基于区块链的多方签名认证设备,包括:存储器;处理器;以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第六方面,本发明实施例提供一种基于区块链的多方签名认证设备,包括:存储器;处理器;以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第二方面所述的方法。
第七方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序;
所述计算机程序被处理器执行时实现如第一方面所述的方法。
第八方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序;
所述计算机程序被处理器执行时实现如第二方面所述的方法。
本发明提供的基于区块链的多方签名认证方法、装置、设备及存储介质,区块链网络中的任一参与方均可作为交易发起方生成交易信息,并通过点对点通信将交易信息广播给区块链网络的各参与方,由各参与方进行表决、签名后通过点对点通信将交易信息广播给各参与方,然后交易发起方汇总各参与方的表决结果,根据表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中,从而完成多方背书的流程,不需要设置中心化管理平台,简化了多方背书的流程,缩短流程时间,从而提高交易效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于区块链的多方签名认证方法流程图;
图2为本发明另一实施例提供的基于区块链的多方签名认证方法流程图;
图3为本发明另一实施例提供的基于区块链的多方签名认证方法流程图;
图4为本发明实施例提供的基于区块链的多方签名认证装置的结构图;
图5为本发明另一实施例提供的基于区块链的多方签名认证装置的结构图;
图6为本发明实施例提供的基于区块链的多方签名认证设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的基于区块链的多方签名认证方法流程图。本实施例提供了一种基于区块链的多方签名认证方法,执行主体为交易发起方,该方法具体步骤如下:
S101、交易发起方生成交易信息,其中所述交易发起方为区块链网络中任一参与方。
在本实施例中,交易发起方为区块链网络中的任一参与方,当交易发起方需要变更区块链网络中的配置,例如在区块链网络增加新的参与方或删除已有参与方、或者变更证书等,由交易发起方根据需要变更的配置生成交易信息。具体的,例如区块链网络增加新的参与方,可由新参与方向交易发起方发起申请或者由交易发起方向新参与方发起邀请,然后交易发起方获取新参与方的证书等信息,然后生成交易信息,再进行后续的多方背书。再如区块链网络删除已有参与方,可以由交易发起方根据待删除参与方的证书等信息生成交易信息,再进行后续的多方背书,当然交易发起方也可将自身从区块链网络中删除。
S102、所述交易发起方通过点对点通信将所述交易信息广播给所述区块链网络的各参与方,以使每一参与方对所述交易信息表决,并根据表决结果对所述交易信息签名,再通过点对点通信将经签名的交易信息广播给各参与方。
在本实施例中,由于区块链网络尤其是联盟链网络中通常仅进行交易信息的发布,而无法进行多方签名认证的过程,因此交易发起方通过点对点通信将交易信息广播到区块链网络的各参与方,各参与方在收到交易信息后,对交易信息进行表决,并根据表决结果对交易信息进行签名,具体的,例如可以在交易信息中添加同意或不同的字段然后添加其签名信息,当然也可以在同意的情况下直接在交易信息中添加其签名信息,在不同意的情况下在交易信息中添加不同意原因字段然后再添加其签名信息。在各参与方完成签名后将经签名的交易信息通过点对点通信广播给每一参与方。需要说明的是,由于交易发起方也是区块链网络中的参与方,因此交易发起方也可单独广播经其表决后签名的交易信息,当然由于交易信息是由交易发起方生成,可默认其自身是同意该交易信息的,也可不单独广播经其表决后签名的交易信息,或者直接在其生成交易信息时增加同意字段以及其签名信息。
此外,需要说明的是,点对点通信为区块链网络的各参与方预先构建,首先选出一个或多个参与方作为种子节点,以提供各参与方间的点对点通信的服务地址,任意参与方可从种子节点获取其他参与方的服务地址,从而建立点对点通信。而当新参与方加入时可向种子节点发送地址获取请求,其中地址获取请求包括新参与方的服务地址以及新参与方的MSPID,MSPID为区块链中参与方的唯一标识;种子节点通过点对点通信向区块链所有参与方广播新参与方的地址和MSPID,以使区块链各参与方与新参与方建立点对点通信,并进行证书的交换。
S103、所述交易发起方获取各参与方广播的经签名的交易信息,经过对签名验证后获取各参与方的表决结果。
在本实施例中,由于各参与方通过点对点通信将经签名的交易信息广播到每一参与方,且交易发起方也是区块链网络中的参与方,因此交易发起方可以获取到所有参与方广播的经签名的交易信息,然后对各参与方的签名进行验证,以确认各参与方的身份,然后再获取表决结果,也即由交易发起方汇总各参与方的表决结果。具体的对各参与方的签名进行验证,可以先从各个经签名的交易信息中提取签名信息,然后与交易发起方本地存储的各参与方的证书信息进行比对,如果比对一致,则说明该参与方属于本区块链网络。
S104、所述交易发起方根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
在本实施例中,交易发起方可以根据表决通过参与方的签名以及交易信息原文生成交易区块,并将交易区块发布到区块链中,而区块链网络能否根据该交易区块进行配置变更可根据区块链的智能合约来判断。当然可以由交易发起方根据表决结果判断是否继续生成交易区块并发布到区块链中,例如当同意交易信息的参与方占所有参与方的比例高于预设阈值时,生成交易区块并发布到区块链中,而低于预设阈值时则可以结束流程。
本发明实施例提供的基于区块链的多方签名认证方法,区块链网络中的任一参与方均可作为交易发起方生成交易信息,并通过点对点通信将交易信息广播给区块链网络的各参与方,由各参与方进行表决、签名后通过点对点通信将交易信息广播给各参与方,然后交易发起方汇总各参与方的表决结果,根据表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中,从而完成多方背书的流程,不需要设置中心化管理平台,简化了多方背书的流程,缩短流程时间,从而提高交易效率。
在上述实施例的基础上,如图2所示,S101所述的交易发起方生成交易信息,具体包括:
S1011、所述交易发起方从所述区块链获取区块链配置信息。
在本实施例中,由于交易发起方需要变更区块链网络中的配置,因此需要先从区块链获取当前区块链配置信息。
S1012、所述交易发起方从所述区块链获取所述区块链各参与方的证书信息,并与本地存储的各参与方的证书信息进行比对。
在本实施例中,交易发起方还需要从区块链获取区块链各参与方的证书信息,当然若区块链配置信息中包含区块链各参与方的证书信息也可不进行S1012,或者S1012为从区块链配置信息中获取区块链各参与方的证书信息。当交易发起方获取到区块链各参与方的证书信息后,与本地存储的各参与方的证书信息进行比对,若比对一致,说明本地存储的各参与方的证书信息无误,在后续收到各参与方广播的经签名的交易信息后,才能依据正确的各参与方的证书信息校验签名,从而确认各参与方的身份。其中证书信息可以为MSP(Membership Service Provider)信息,也即区块链中身份信息的组合,其中包括签名证书、通信证书、签名根证书、通信根证书。此外,由于交易发起方可能同时属于不同的区块链网络,其本地可能存储了不同区块链网络参与者的证书信息,因此交易发起方需要根据从本区块链获取的各参与方的证书信息从本地存储的证书信息中筛选出本区块链各参与方的证书信息。
S1013、若比对一致,则所述交易发起方根据需要变更的配置修改所述区块链配置信息,从而生成所述交易信息。
在本实施例中,在比对一致后,交易发起方根据需要变更的配置修改区块链配置信息,从而生成所述交易信息。当然如果比对不一致,交易发起方需要根据从区块链获取的区块链各参与方的证书信息对本地存储的各参与方的证书信息进行更新。进一步的,所述交易发起方根据本地签名证书和私钥对所述交易信息进行签名,以使各参与方在接收到所述交易信息后对所述交易信息进行有效性判别和交易发起方身份验证。本实施例中交易信息的数据结构具体可以如表1所示:
表1
MSPID |
TXID |
transactioninfo |
signature |
其中,MSPID为交易发起方的MSPID,用于表征区块链中参与方的唯一标识,TXID为交易ID,transactioninfo为交易内容,signature为发起方对交易的签名。其中签名是经过Base64编码以后进行传输的。需要说明的是,区块链本身要求构建中需要填入签名私钥对应的证书,因此在交易信息中可以不用附带交易的签名证书。
进一步的,在S103所述的交易发起方获取各参与方的表决结果之后,S104所述的交易发起方根据各参与方的表决结果和交易信息原文生成交易区块之前,还可包括:
所述交易发起方根据各参与方的表决结果判断所述交易信息是否被表决通过;若未被表决通过,则停止生成交易区块。
在本实施例中,当交易发起方根据各参与方表决结果判断同意交易信息的参与方占所有参与方的比例低于预设阈值,则可以结束流程,不再执行生成交易区块、以及向区块链发布交易区块的步骤,从而避免浪费资源。其中预设阈值可以根据实际需要进行设置,例如若必须所有参与方均同意才算表决通过,则预设阈值可设置为100%;若需要多数参与方同意即可,预设阈值可设置为50%。
本发明实施例提供的基于区块链的多方签名认证方法,区块链网络中的任一参与方均可作为交易发起方生成交易信息,并通过点对点通信将交易信息广播给区块链网络的各参与方,由各参与方进行表决、签名后通过点对点通信将交易信息广播给各参与方,然后交易发起方汇总各参与方的表决结果,根据表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中,从而完成多方背书的流程,不需要设置中心化管理平台,简化了多方背书的流程,缩短流程时间,从而提高交易效率。
图3为本发明实施例提供的基于区块链的多方签名认证方法流程图。本实施例提供了一种基于区块链的多方签名认证方法,执行主体为区块链网络的参与方,需要说明的是,虽然交易发起方也是区块链网络的参与方,但本实施例中的执行主体是除交易发起方外的其他参与方,其需要对交易发起方广播的交易信息进行背书。本实施例中的方法具体步骤如下:
S201、区块链网络的参与方接收交易发起方通过点对点通信广播的交易信息,其中所述交易发起方为区块链网络中任一参与方。
在本实施例中,当交易发起方需要变更区块链网络中的配置,例如在区块链网络增加新的参与方或删除已有参与方、或者变更证书等,由交易发起方根据需要变更的配置生成交易信息,并通过点对点通信将交易信息广播到区块链网络的各参与方,从而使得区块链网络的参与方接收交易发起方通过点对点通信广播的交易信息。
S202、所述区块链网络的参与方对于所述交易信息进行表决,并根据表决结果对所述交易信息签名。
在本实施例中,各参与方在收到交易信息后,对交易信息进行表决,并根据表决结果对交易信息进行签名,具体的,例如可以在交易信息中添加同意或不同的字段然后添加其签名信息,当然也可以在同意的情况下直接在交易信息中添加其签名信息,在不同意的情况下在交易信息中添加不同意原因字段然后再添加其签名信息。
S203、所述区块链网络的参与方通过点对点通信将经签名的交易信息广播给所述区块链网络的各参与方,以使所述交易发起方获取各参与方广播的经签名的交易信息,经过对签名验证后获取各参与方的表决结果,根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
在本实施例中,在各参与方完成签名后将经签名的交易信息通过点对点通信广播给每一参与方。交易发起方可以获取到所有参与方广播的经签名的交易信息,然后对各参与方的签名进行验证,以确认各参与方的身份,然后再获取表决结果,也即由交易发起方汇总各参与方的表决结果,然后根据各参与方的表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中。
进一步的,S202所述区块链网络的参与方对于所述交易信息进行表决,并根据表决结果对所述交易信息签名,具体可包括:
所述区块链网络的参与方若同意所述交易信息,则直接对所述交易信息进行签名;
所述区块链网络的参与方若不同意所述交易信息,则在所述交易信息中增加不同意原因字段并进行签名。
在本实施例中,在同意的情况下直接在交易信息中添加其签名信息,在不同意的情况下在交易信息中添加不同意原因字段然后再添加其签名信息。此外,参与方在收到交易信息后进行解析,比对解析结果与交易内容是否一致,若不一致可否决该交易。其经签名的交易信息的数据结构具体可以如表2所示:
表2
MSPID |
TXID |
transactioninfo |
msg |
signature |
其中,MSPID为区块链网络的参与方的MSPID,用于表征区块链中参与方的唯一标识,TXID为交易ID,transactioninfo为交易内容,msg字段为附加信息(例如不同意原因字段或者其他字段),signature为区块链网络的参与方对交易的签名。
进一步的,S202所述的区块链网络的参与方对于所述交易信息进行表决前,还可包括:
所述区块链网络的参与方对所述交易信息进行有效性判别和交易发起方身份验证。
在本实施例中,交易发起方在广播交易信息前根据本地签名证书和私钥对所述交易信息进行签名,而区块链网络的参与方在收到交易信息后,先解析该交易信息,获取交易中的证书和交易的签名,判别交易信息是否为证书对应的用户发起;区块链网络的参与方从本地读取签名根证书,然后用签名根证书对交易发起方证书进行验证,校验交易发起方是否为区块链网络中的参与方,从而提高交易的安全性。
本实施例提供的区块链网络的参与方侧的基于区块链的多方签名认证方法与上述实施例交易发起方侧的方法相对应,其具体功能此处不再赘述。
本发明实施例提供的基于区块链的多方签名认证方法,区块链网络中的任一参与方均可作为交易发起方生成交易信息,并通过点对点通信将交易信息广播给区块链网络的各参与方,由各参与方进行表决、签名后通过点对点通信将交易信息广播给各参与方,然后交易发起方汇总各参与方的表决结果,根据表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中,从而完成多方背书的流程,不需要设置中心化管理平台,简化了多方背书的流程,缩短流程时间,从而提高交易效率。
图4为本发明实施例提供的基于区块链的多方签名认证装置的结构图。该区块链网络组网装置具体可以是上述实施例中的交易发起方。本实施例提供的基于区块链的多方签名认证装置可以执行上述交易发起方侧的基于区块链的多方签名认证方法实施例提供的处理流程,如图3所示,所述基于区块链的多方签名认证装置包括交易生成模块31、通信模块32以及处理模块33。
交易生成模块31,用于生成交易信息,其中所述交易发起方为区块链网络中任一参与方;
通信模块32,用于通过点对点通信将所述交易信息广播给所述区块链网络的各参与方,以使每一参与方对所述交易信息表决,并根据表决结果对所述交易信息签名,再通过点对点通信将经签名的交易信息广播给各参与方;
所述通信模块32还用于,获取各参与方广播的经签名的交易信息;
处理模块33,用于经过对签名验证后获取各参与方的表决结果;根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
进一步的,所述交易生成模块31用于:
从所述区块链获取区块链配置信息;
从所述区块链获取所述区块链各参与方的证书信息,并与本地存储的各参与方的证书信息进行比对;
若比对一致,则根据需要变更的配置修改所述区块链配置信息,从而生成所述交易信息。
进一步的,所述处理模块33还用于:
在交易发起方通过点对点通信将所述交易信息广播给所述区块链网络的各参与方前,根据本地签名证书和私钥对所述交易信息进行签名,以使各参与方在接收到所述交易信息后对所述交易信息进行有效性判别和交易发起方身份验证。
进一步的,所述处理模块33还用于:
根据各参与方的表决结果判断所述交易信息是否被表决通过;若未被表决通过,则停止生成交易区块。
本发明实施例提供的基于区块链的多方签名认证装置可以具体用于执行上述图1和图2所提供的方法实施例,具体功能此处不再赘述。
本发明实施例基于区块链的多方签名认证装置,区块链网络中的任一参与方均可作为交易发起方生成交易信息,并通过点对点通信将交易信息广播给区块链网络的各参与方,由各参与方进行表决、签名后通过点对点通信将交易信息广播给各参与方,然后交易发起方汇总各参与方的表决结果,根据表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中,从而完成多方背书的流程,不需要设置中心化管理平台,简化了多方背书的流程,缩短流程时间,从而提高交易效率。
图5为本发明实施例提供的基于区块链的多方签名认证装置的结构图。该区块链网络组网装置具体可以是上述实施例中的区块链网络的参与方。本实施例提供的基于区块链的多方签名认证装置可以执行上述区块链网络的参与方侧的基于区块链的多方签名认证方法实施例提供的处理流程,如图3所示,所述基于区块链的多方签名认证装置包括通信模块41以及处理模块42。
通信模块41,用于接收交易发起方通过点对点通信广播的交易信息,其中所述交易发起方为区块链网络中任一参与方;
处理模块42,用于对于所述交易信息进行表决,并根据表决结果对所述交易信息签名;
所述通信模块41还用于,通过点对点通信将经签名的交易信息广播给所述区块链网络的各参与方,以使所述交易发起方获取各参与方广播的经签名的交易信息,经过对签名验证后获取各参与方的表决结果,根据各参与方的表决结果和交易信息原文生成交易区块,并将所述交易区块发布到区块链中。
进一步的,所述处理模块42用于:
若同意所述交易信息,则直接对所述交易信息进行签名;
若不同意所述交易信息,则在所述交易信息中增加不同意原因字段并进行签名。
进一步的,所述处理模块42还用于:
对所述交易信息进行有效性判别和交易发起方身份验证。
本发明实施例提供的基于区块链的多方签名认证装置可以具体用于执行上述图3所提供的方法实施例,具体功能此处不再赘述。
本发明实施例基于区块链的多方签名认证装置,区块链网络中的任一参与方均可作为交易发起方生成交易信息,并通过点对点通信将交易信息广播给区块链网络的各参与方,由各参与方进行表决、签名后通过点对点通信将交易信息广播给各参与方,然后交易发起方汇总各参与方的表决结果,根据表决结果和交易信息原文生成交易区块,并将交易区块发布到区块链中,从而完成多方背书的流程,不需要设置中心化管理平台,简化了多方背书的流程,缩短流程时间,从而提高交易效率。
需要说明的是,由于交易发起方可以为区块链网络中的任一参与方,因此在区块链网络的任意参与方的设备上均可部署上述图4所示的装置和图5所示的装置,当某一参与方需要作为交易发起方时由图4所示的装置完成,当需要对其他交易发起方的交易信息背书时由图5所示的装置完成。
图6为本发明另一实施例提供的基于区块链的多方签名认证设备的结构图。如图6所示,本实施例提供一种基于区块链的多方签名认证设备,所述设备包括:处理器51;存储器52;以及计算机程序。
其中,所述计算机程序存储在所述存储器52中,并被配置为由所述处理器51执行以实现上述实施例提供的基于区块链的多方签名认证方法的处理流程,包括交易发起方侧和/或区块链网络的参与方的基于区块链的多方签名认证方法,具体功能此处不再赘述。
更具体的,所述设备还包括接收器53和发送器54,接收器53和发送器54、处理器51、和存储器52通过总线连接。
本发明另一实施例还提供一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器执行时实现如上述交易发起方侧的基于区块链的多方签名认证方法实施例所述的方法。
本发明另一实施例还提供一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器执行时实现如上述区块链网络的参与方侧的基于区块链的多方签名认证方法实施例所述的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。