一种开具票据的方法以及区块链节点设备转让专利

申请号 : CN202010058592.8

文献号 : CN111275506A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑罗海

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例公开了一种开具票据的方法以及区块链节点设备。其中,所述方法包括:第一区块链节点设备接收第二区块链节点设备发送的票据开具请求,其中,票据开具请求包括第二区块链节点设备的数字证书;第一区块链节点设备将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;若相同,则第一区块链节点设备响应票据开具请求生成票据,并将票据发送给第二区块链节点设备。相应的,第二区块链节点设备对票据签名后,将得到的数字签名、票据以及数字证书发布至区块链网络。采用本申请实施例可以在票据与开票方之间建立关联关系,减少票据虚开的情况。

权利要求 :

1.一种开具票据的方法,其特征在于,包括:

第一区块链节点设备接收第二区块链节点设备发送的票据开具请求,其中,所述票据开具请求包括所述第二区块链节点设备的数字证书,所述第一区块链节点设备以及所述第二区块链节点设备属于同一区块链网络;

所述第一区块链节点设备将所述票据开具请求包括的数字证书与所述第一区块链节点设备存储的所述第二区块链节点设备的数字证书进行比较;

若所述票据开具请求包括的数字证书与所述第一区块链节点设备存储的数字证书相同,则所述第一区块链节点设备响应所述票据开具请求生成票据,并将所述票据发送给所述第二区块链节点设备,以使所述第二区块链节点设备根据所述第二区块链节点设备的私钥对所述票据进行签名,得到所述票据的数字签名,以及所述第二区块链节点设备将所述票据、所述数字签名以及所述第二区块链节点设备的数字证书发布至所述区块链网络。

2.根据权利要求1所述的方法,其特征在于,所述第一区块链节点设备接收第二区块链节点设备发送的票据开具请求之前,还包括:所述第一区块链节点设备接收所述第二区块链节点设备发送的企业信息,并根据所述企业信息从管理设备中获取所述企业信息对应企业的注册信息,所述管理设备用于存储企业的注册信息;

所述第一区块链节点设备根据所述注册信息判断所述企业信息对应企业是否为信用企业;

若是,则所述第一区块链节点设备根据所述注册信息生成数字证书,并将所述数字证书发送给所述第二区块链节点设备。

3.根据权利要求2所述的方法,其特征在于,所述第一区块链节点设备根据所述注册信息判断所述企业信息对应的企业是否为信用企业,包括:所述第一区块链节点设备根据所述注册信息,得到所述企业信息对应企业的历史信用信息;

若所述历史信用信息指示所述企业为信用企业,则执行所述第一区块链节点设备根据所述注册信息生成数字证书的步骤。

4.根据权利要求2所述的方法,其特征在于,所述第一区块链节点设备根据所述注册信息判断所述企业信息对应的企业是否为信用企业,包括:所述第一区块链节点设备将所述企业信息与所述注册信息进行比较;

若所述企业信息与所述注册信息相同,则所述第一区块链节点设备确定所述企业信息对应企业为信用企业。

5.根据权利要求2所述的方法,其特征在于,所述第一区块链节点设备接收所述第二区块链节点设备发送的企业信息之前,还包括:所述第一区块链节点设备接收所述第二区块链节点设备发送的身份信息和生物特征信息;

所述第一区块链节点设备查找所述身份信息对应的生物特征信息;

若所述第二区块链节点设备发送的生物特征信息与查找到的生物特征信息相同,则执行所述第一区块链节点设备接收所述第二区块链节点设备发送的企业信息的步骤。

6.根据权利要求5所述的方法,其特征在于,所述第一区块链节点设备根据所述注册信息生成数字证书,包括:所述第一区块链节点设备生成所述生物特征信息的哈希;

所述第一区块链节点设备根据所述注册信息生成包含所述哈希的数字证书。

7.根据权利要求6所述的方法,其特征在于,所述第一区块链节点设备将所述票据发送给所述第二区块链节点设备之后,还包括:所述第一区块链节点设备从所述区块链网络中获取所述票据、所述数字签名以及所述第二区块链节点设备的数字证书;

所述第一区块链节点设备根据所述票据和所述第二区块链节点设备的公钥,对从所述区块链网络中获取的所述数字签名进行验签;

若验签成功,则所述第一区块链节点设备在所述第二区块链节点设备的数字证书中获取哈希;

所述第一区块链节点设备根据所述哈希,确定所述哈希对应的身份信息为所述票据关联的身份信息。

8.根据权利要求7所述的方法,其特征在于,所述第一区块链节点设备根据所述第二区块链节点设备的公钥,对从所述区块链网络中获取的所述数字签名进行验签之前,还包括:所述第一区块链节点设备将从所述区块链网络中获取的所述第二区块链节点设备的数字证书,与所述第一区块链节点设备存储的所述第二区块链节点设备的数字证书进行比较;

若从所述区块链网络中获取的所述第二区块链节点设备的数字证书,与所述第一区块链节点设备存储的所述第二区块链节点设备的数字证书相同,则执行所述第一区块链节点设备根据所述第二区块链节点设备的公钥,对从所述区块链网络中获取的所述数字签名进行验签的步骤。

9.一种区块链节点设备,其特征在于,包括用于执行如权利要求1~8任一项所述的方法的模块。

10.一种区块链节点设备,包括处理器,所述处理器与存储器耦合,其特征在于,所述存储器,用于存储计算机程序;

所述处理器,用于调用所述计算机程序,使得所述区块链节点设备执行如权利要求1~

8中任一项所述的方法。

说明书 :

一种开具票据的方法以及区块链节点设备

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种开具票据的方法以及区块链节点设备。

背景技术

[0002] 随着互联网应用的普及,互联网的安全问题也日益凸显。比如,信息泄露、虚假信息传播等等。
[0003] 当前,套取别人的身份信息,用于虚开票据的现象屡见不鲜。比如,开票方在互联网上窃取他人的身份信息,并且利用虚假的身份信息开取票据后,将票据售卖给其他企业或个人谋取私利。由于开具票据时开票方使用的是虚假的身份信息,所以难以根据开具的票据抓获开票方,造成国家资金流失。因此,如何避免票据虚开的问题,成为研究的热点话题。

发明内容

[0004] 本申请实施例提供了一种开具票据的方法以及区块链节点设备,能够对开票方的身份信息进行验证,并且将票据与开票方之间建立关联关系,进而避免票据虚开的问题。
[0005] 第一方面,本申请实施例提供了一种开具票据的方法,该方法包括:第一区块链节点设备接收第二区块链节点设备发送的票据开具请求,其中,票据开具请求包括第二区块链节点设备的数字证书;第一区块链节点设备将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;若票据开具请求包括的数字证书与第一区块链节点设备存储的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据,并将票据发送给第二区块链节点设备,以使第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到票据的数字签名,以及第二区块链节点设备将票据、数字签名以及第二区块链节点设备的数字证书发布至区块链网络。第二方面,本申请实施例提供一种区块链节点设备,该设备具有实现第一方面所述的开具票据的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0006] 在一种实现方式中,该区块链节点设备包括接收模块、比较模块、生成模块以及发送模块。其中,接收模块,用于接收第二区块链节点设备发送的票据开具请求,其中,票据开具请求包括第二区块链节点设备的数字证书。比较模块,用于将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较。生成模块,用于若票据开具请求包括的数字证书与第一区块链节点设备存储的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据。发送模块,用于将票据发送给第二区块链节点设备,以使第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到票据的数字签名,以及第二区块链节点设备将票据、数字签名以及第二区块链节点设备的数字证书发布至区块链网络。
[0007] 第三方面,本申请实施例提供一种区块链节点设备,该区块链节点设备包括处理器和存储器,处理器和存储器耦合。存储器,用于存储计算机程序。处理器,用于调用计算机程序,使得区块链节点设备执行如第一方面所述的开具票据的方法。
[0008] 第四方面,本申请实施例提供一种计算机可读存储介质,用于存储为区块链节点设备所用的计算机程序,其包含用于执行上述第一方面所述的程序。
[0009] 通过本申请实施例,第一区块链节点设备在对第二区块链节点设备发送的数字证书验证成功时,将生成的票据发送第二区块链节点设备。相应的,第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名并上链。能够确保开票方的身份信息是真实可靠的,并且在票据与开票方之间建立关联关系,以便于根据票据追溯到开票方,减少票据虚开的情况。

附图说明

[0010] 为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例中所需要使用的附图进行说明。
[0011] 图1是本申请实施例公开的一种开具票据系统的架构示意图;
[0012] 图2是本申请实施例公开的一种开具票据的方法的流程示意图;
[0013] 图3是本申请实施例公开的一种数字证书的示意图;
[0014] 图4是本申请实施例公开的一种票据的示意图;
[0015] 图5是本申请实施例公开的另一种开具票据的方法的流程示意图;
[0016] 图6是本申请实施例公开的又一种开具票据的方法的流程示意图;
[0017] 图7是本申请实施例公开的一种区块链节点设备的结构示意图;
[0018] 图8是本申请实施例公开的另一种区块链节点设备的结构示意图。

具体实施方式

[0019] 下面结合本申请实施例中的附图对本申请实施例进行描述。
[0020] 随着科学技术的快速发展,人类社会逐渐迈入互联网时代,互联网技术加快信息的传播,便捷现代通讯,缩小世界范围。但是互联网技术也是一把双刃剑,在给我们带来便利的同时,更给我们带来了隐患。比如,信息泄露、虚假信息传播等等。
[0021] 以票据虚开为例,票据虚开是指开票方利用虚假的身份信息开具票据,再将开具的票据转售给其他公司或者个人,以便于谋取私利。比如,开票方通过互联网非法获取他人的身份信息,并利用他人的身份信息注册空壳公司,在经营空壳公司一段时间后,开票方便利用空壳公司进行开取发票,再将发票转售给其他公司或者个人谋取利益。可知,在开票方凭借虚假的身份信息进行开具票据的过程中,票据未与开票方之间建立关联关系,因此在后续票据出现问题时,无法根据票据追溯到开票方的信息,从而导致国家资金流失验证。
[0022] 为了解决上述问题,本申请实施例提出一种开具票据的方法以及区块链节点设备,该开具票据的方法以及区块链节点设备是基于区块链技术实现的。
[0023] 区块链(Block Chain,BC)是分布式数据存储、共识机制、加密算法等计算机技术的新型应用模式。区块链技术具有去中心化、开放性、独立性、安全性和匿名性等特征。一般地,传统的交易模型是基于中心化思维构建的交易模型,即交易双方在不信任对方的前提下,会促进第三方中心化的形成,第三方作为仲裁者,在交易过程中,见证交易双方的活动。而区块链技术的去中心化特征是指在区块链网络中,每一个节点设备都存储数据,通过分布式存储实现数据的冗余,让所有节点有能力彼此维护数据库的安全,使得整个交易自主化、简单化。
[0024] 本申请实施例将区块链技术引入开具票据的场景中,本申请实施例提出的开具票据的方法包括:第一区块链节点设备接收第二区块链节点设备发送的票据开具请求,其中,票据开具请求包括第二区块链节点设备的数字证书;第一区块链节点设备将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;若票据开具请求包括的数字证书与第一区块链节点设备存储的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据,并将票据发送给第二区块链节点设备,以使第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到票据的数字签名,以及第二区块链节点设备将票据、数字签名以及第二区块链节点设备的数字证书发布至区块链网络。
[0025] 需要说明的是,第一区块链节点设备以及第二区块链节点设备属于同一区块链网络。在票据虚开的场景中,第一区块链节点设备可以为税务局,第二区块链节点设备可以为客户端。本申请实施例对其他场景中的第一区块链节点设备或第二区块链节点设备不作限定。
[0026] 可见,第一区块链节点设备对票据开具请求中数字证书进行验证,可确保开票方的身份信息是真实可靠的。第二区块链节点设备接收第一区块链节点设备发送的票据,并根据第二区块链节点设备的私钥对票据进行签名和上链。可在票据与开票方之间建立关联关系,从而确保后续票据的追溯过程更加可靠,能够减少票据虚开的情况。
[0027] 请参见图1,图1是本申请实施例公开的一种开具票据系统的架构示意图。如图1所示,该开具票据系统包括:第一区块链节点设备、至少一个第二区块链节点设备。第一区块链节点设备和各个第二区块链节点设备组成区块链网络,区块链网络中所有的区块链节点设备共享区块链中的信息。其中,第一区块链节点设备可以为税务局,第二区块链节点设备可以为客户端。
[0028] 第二区块链节点设备将票据开具请求发送给第一区块链节点设备,票据开具请求包括第二区块链节点设备的数字证书。第一区块链节点设备将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较。若票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据,并将票据发送给第二区块链节点设备。相应的,第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到数字签名。第二区块链节点设备还将票据、数字签名以及数字证书发布至区块链网络。
[0029] 基于图1所示的开具票据系统的架构示意图,请参见图2,图2是本申请实施例提供的一种开具票据的方法的流程示意图,该方法包括但不限于如下步骤:
[0030] 步骤S201:第一区块链节点设备接收第二区块链节点设备发送的票据开具请求。
[0031] 其中,票据开具请求包括第二区块链节点设备的数字证书。需要说明的是,票据开具请求中除包括第二区块链节点设备的数字证书以外,还可以包括开票方的信息。比如,企业名称、企业地址等等。
[0032] 比如,第一区块链节点设备为税务局,第二区块链节点设备公司B,那么公司B要开具票据时,需要将票据开具请求发送给税务局。那么票据开具请求中应该包括公司B的数字证书、公司B的名称、公司B的地址、公司B的开户账号、公司B的开户行、公司B的电话等等。
[0033] 步骤S202:第一区块链节点设备将票据开具请求中的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较。
[0034] 数字证书是由证书颁发机构(Certificate Authority,CA)颁发的一种较为权威与公正的证书,数字证书是指在互联网通讯中标志用户身份信息的一个数字认证。数字证书对网络用户在计算机网络交流中的信息和数据进行加密或解密,保证信息和数据的完整性和安全性。请参见图3,图3是本申请实施例公开的一种数字证书的示意图,如图3所示,数字证书中可以包括但不限于:企业名称、企业地址、纳税人识别号、开户账号、开户行、公钥以及哈希等等。
[0035] 在一种实现方式中,第一区块链节点设备将票据开具请求中的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较。若票据开具请求中的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书相同,则第一区块链节点设备可以确定通过第二区块链节点设备发送票据开具请求开票方的身份是合法的。也就是说,第一区块链节点设备允许发送票据开具请求的开票方开具票据。
[0036] 票据开具请求中的数字证书是通过以下方式得到的:第一区块链节点设备签发第二区块链节点设备的数字证书,并将数字证书发送给第二区块链节点设备。因此,开票方通过第二区块链节点设备向第一区块链节点设备发送的票据开具请求中包括数字证书。
[0037] 可以理解的是,第一区块链节点设备存储的数字证书不仅仅包括第二区块链节点设备的数字证书。比如,若第一区块链节点设备对区块链网络中的第三区块链节点设备验证成功,则第一区块链节点设备还会存储第三区块链节点设备的数字证书。
[0038] 可知,第一区块链节点设备对票据开具请求中的数字证书进行校验,若校验通过,则第一区块链节点设备响应票据开具请求。能够确保开票方的身份是可信的,进而避免票据虚开。
[0039] 步骤S203:若票据开具请求中的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据。
[0040] 具体地,第一区块链节点设备根据票据开具请求生成票据。其中,票据开具请求中包括开票方的信息,比如,企业名称、企业地址等等。票据是具有一定金额的有价证券。票据可以为汇票、本票、支票以及发票等等。请参见图4,图4是本申请实施例提供的一种票据的示意图,如图4所示,票据可以包括但不限于:受票方的姓名、受票方的纳税人识别号、受票方的地址、受票方的电话、受票方的开户行及账号、开票方的姓名、开票方的纳税人识别号、开票方的地址、开票方的电话、开票方的开户行及账号、交易信息以及价税合计等等。
[0041] 步骤S204:第一区块链节点设备将票据发送给第二区块链节点设备。
[0042] 步骤S205:第二区块链节点设备根据私钥对票据进行签名,得到票据的数字签名。
[0043] 具体地,第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到票据的数字签名。也就是说,票据与开票方之间建立关联关系,那么通过票据可以找到通过第二区块链节点设备进行开具票据的开票方。
[0044] 步骤S206:第二区块链节点设备将票据、数字签名以及数字证书发布至区块链网络。
[0045] 具体地,第二区块链节点设备将票据、数字签名以及数字证书发布至区块链网络。也就是将票据、数字签名以及数字证书进行上链。相应的,区块链网路中的第一区块链节点设备可以获取到票据、数字签名以及数字证书。
[0046] 可见,第一区块链节点设备对票据开具请求中的数字证书验证成功后,第一区块链节点设备生成票据并将票据发送给第二区块链节点设备。第二区块链节点设备对票据签名,并将票据进行上链。可以在票据与开票方之间建立关联关系,确保后续票据的追溯过程更加可靠,能够减少票据虚开的情况
[0047] 请参见图5,图5是本申请实施例提供的另一种开具票据的方法的流程示意图,该方法可以包括:
[0048] 步骤S501:第一区块链节点设备接收第二区块链节点设备发送的身份信息和生物特征信息。
[0049] 其中,身份信息包括开票人的姓名、性别、电话等等。生物特征信息包括开票人的指纹特征信息、脸部特征信息或者虹膜特征信息等等。
[0050] 步骤S502:第一区块链节点设备对身份信息和生物特征信息进行比较。
[0051] 在一种实现方中,第一区块链节点设备对身份信息和生物特征信息进行比较的方法可以包括:第一区块链节点设备查找身份信息对应的生物特征信息;第一区块链节点设备对第二区块链节点设备发送的生物特征信息与查找到的生物特征信息进行比较。若第二区块链节点设备发送的生物特征信息与查找到的生物特征信息相同,则第一区块链节点设备可以确定开票人所用来开票的身份信息是真实有效的,那么第一区块链节点设备可以执行步骤S503的操作。
[0052] 具体地,第一区块链节点设备可以通过其他设备获取身份信息对应的生物特征信息。比如,第一区块链节点设备为税务局,那么税务局可以通过与税务局通信连通的公安局获取到身份信息对应的身份证信息,身份证信息中包括身份信息对应的脸部特征信息(生物特征信息)等等。
[0053] 步骤S503:若第二区块链节点设备发送的生物特征信息与查找到的生物特征信息相同,则第一区块链节点设备获取企业信息。
[0054] 步骤S504:第一区块链节点设备接收第二区块链节点设备发送的企业信息。
[0055] 企业信息是指开票人所代表的企业的信息,企业信息可以包括但不限于:企业名称、企业地址、企业纳税人识别号、企业开户行及账户、企业电话等等。
[0056] 步骤S505:第一区块链节点设备根据企业信息判断企业信息对应企业是否为信用企业。
[0057] 在一种实现方式中,步骤S505的实现过程可以包括:第一区块链节点设备根据企业信息从管理设备中获取企业信息对应的注册信息;第一区块链节点设备根据注册信息判断企业信息对应企业是否为信用企业。可选的,管理设备也可以为区块链节点设备。管理设备用于存储企业的注册信息。
[0058] 比如,第一区块链节点设备为税务局,管理设备为工商局,工商局存储有至少一个企业的注册信息,并且税务局与工商局之间可以相互获取信息。那么税务局获取到企业的企业信息之后,税务局可以从工商局处获取企业信息对应企业的注册信息。
[0059] 在一种实现方式中,第一区块链节点设备根据注册信息判断企业信息对应企业是否为信用企业的方法可以包括:第一区块链节点设备根据注册信息,得到企业信息对应企业的历史信用信息;第一区块链节点设备检测历史信用信息是否指示企业为信用企业。其中,历史信用信息可以包括但不限于:企业信息对应企业的历史交易数据、风险管控信息等等。
[0060] 比如,第一区块链节点设备获取到企业信息对应企业的历史信用信息指示,企业的信用等级较低,那么第一区块链节点设备可以确定企业信息对应企业为低信用企业。
[0061] 在另一种实现方式中,第一区块链节点设备根据注册信息判断企业信息对应企业是否为信用企业的方法可以包括:第一区块链节点设备将企业信息与注册信息进行比较;若企业信息与注册信息相同,则第一区块链节点设备确定企业信息对应企业为信用企业。
[0062] 比如,第一区块链节点设备可以要求第二区块链节点设发送的企业信息包括注册信息包括的全部信息,那么第一区块链节点设备将企业信息包括的内容与注册信息包括的内容进行比较,若企业信息包括的内容与注册信息包括的内容均相同,则确定企业信息对应企业为信用企业。
[0063] 可见,第一区块链节点设备对开票方提供的企业信息进行验证,在验证成功的情况下执行步骤S506的操作。可确保开票方提供的企业信息是真实可靠的信息,进而减少票据虚开的情况。
[0064] 步骤S506:若企业信息对应企业是信用企业,则第一区块链节点设备生成第二区块链节点设备的数字证书。
[0065] 在一种实现方式中,第一区块链节点设备根据注册信息生成第二区块链节点设备的数字证书。具体地,第一区块链节点设备接收第二区块链节点设备发送的生物特征信息之后,可以生成生物特征信息的哈希;第一区块链节点设备根据注册信息生成包含哈希的数字证书。其中,第一区块链节点设备可以根据哈希算法生成生物特征信息的哈希。
[0066] 步骤S507:第一区块链节点设备将数字证书发送给第二区块链节点设备。
[0067] 步骤S508:第一区块链节点设备接收第二区块链节点设备的票据开具请求。
[0068] 步骤S509:第一区块链节点设备将票据开具请求中的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较。
[0069] 步骤S510:若相同,则第一区块链节点设备响应票据开具请求生成票据。
[0070] 步骤S511:第一区块链节点设备将票据发送给第二区块链节点设备。
[0071] 步骤S512:第二区块链节点设备根据私钥对票据进行签名,得到票据的数字签名。
[0072] 步骤S513:第二区块链节点设备将票据、数字签名及数字证书发布至区块链网络。
[0073] 需要说明的是,步骤507~步骤513的实施过程可以参照步骤S201~步骤206的实施过程,在此不再赘述。
[0074] 可见,第一区块链节点设对第二区块链节点设备发送的身份信息和企业信息分别进行验证,身份信息和企业信息均验证成功,第一区块链节点设备再签发第二区块链节点设备的数字证书。能够确保开票人的身份信息是真实可靠的,进而减少票据虚开的情况。
[0075] 可以理解的是,第二区块链节点设备将票据、数字签名及数字证书发布至区块链网络之后,第一区块链节点设备可以从区块链网络上获取票据、数字签名及数字证书,并且第一区块链节点设备可以根据票据、数字签名及数字证书追溯到开具票据的开票人。
[0076] 具体的实现过程可以参见图6,图6为本申请实施例提供的又一种开具票据的方法的流程示意图,该方法可以包括:
[0077] 步骤S601:第一区块链节点设备获取票据、数字签名以及数字证书。
[0078] 可选的,第一区块链节点设备从区块链网络中获取票据、数字签名以及数字证书。可选的,第一区块链节点设备还可以从区块链网络以外的设备处获取票据、数字签名以及数字证书。
[0079] 步骤S602:第一区块链节点设备将从区块链网络中获取的数字证书与第一区块链节点设备存储的数字证书进行比较。
[0080] 其中,第一区块链节点设备存储有至少一个数字证书,因此,第一区块链节点设备将从区块链网络中获取的第二区块链节点设备的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较。
[0081] 步骤S603:若从区块链网络中获取的数字证书与第一区块链节点设备存储的数字证书相同,则第一区块链节点是对数字签名进行验签。
[0082] 在一种实现方式中,第一区块链节点设备根据第二区块链节点设备的公钥对从区块链网络中获取的第二区块链节点设备的数字签名进行验签。通过前述可知,第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到数字签名。因此,第一区块链节点设备根据第二区块链节点设备的公钥可以对数字签名进行验签,若验签成功,则第一区块链节点设备确定该数字签名是可信的。
[0083] 步骤S604:若验签成功,则第一区块链节点设备从数字证书中获取哈希,并确定哈希对应的身份信息为票据关联的身份信息。
[0084] 由于哈希是根据开票人的生物特征信息生成的,所以哈希与开票人的身份信息之间存在关联关系。因此,第一区块链节点设备从数字证书中获取哈希,就可以确定票据对应的开票人。
[0085] 可见,本申请实施例通过将票据与开票人之间建立关联关系,使得第一区块链节点设备可以依据票据,追溯到开此票据的开票人,进而减少票据虚开的情况。
[0086] 请参见图7,图7是本申请实施例提供的一种区块链节点设备的结构示意图,该区块链节点设备70用于执行图2、图5及图6对应的方法实施例中第一区块链节点设备所执行的步骤。该区块链节点设备70可包括接收模块701、比较模块702、生成模块703以及发送模块704。其中,接收模块701可包括查找单元7011以及验签单元7012。该区块链节点设备70中各个模块具体用于:
[0087] 接收模块701,用于接收第二区块链节点设备发送的票据开具请求,其中,票据开具请求包括第二区块链节点设备的数字证书,第一区块链节点设备以及第二区块链节点设备属于同一区块链网络;
[0088] 比较模块702,用于将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;
[0089] 生成模块703,用于若票据开具请求包括的数字证书与第一区块链节点设备存储的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据;
[0090] 发送模块704,用于将票据发送给第二区块链节点设备,以使第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到票据的数字签名,以及第二区块链节点设备将票据、数字签名以及第二区块链节点设备的数字证书发布至区块链网络。
[0091] 在一种实现方式中,接收模块701在接收第二区块链节点设备发送的票据开具请求之前,还用于:接收第二区块链节点设备发送的企业信息,并根据企业信息从管理设备中获取企业信息对应企业的注册信息,其中,管理设备用于存储企业的注册信息;
[0092] 比较模块702,用于判断企业信息对应企业是否为信用企业;
[0093] 若企业信息对应企业是信用企业,则生成模块703根据注册信息生成数字证书,发送模块704将数字证书发送给第二区块链节点设备。
[0094] 在一种实现方式中,比较模块702在判断企业信息对应企业是否为信用企业时,具体用于:根据注册信息德达企业信息对应企业的历史信用信息;
[0095] 若历史信用信息只是企业为信用企业,则执行生成模块703根据注册信息生成数字证书的步骤。
[0096] 在一种实现方式中,比较模块702在判断企业信息对应企业是否为信用企业时,具体用于:将企业信息与注册信息进行比较;
[0097] 若企业信息与注册信息相同,则确定企业信息对应企业为信用企业。
[0098] 在一种实现方式中,接收模块701在接收第二区块链节点设备发送的企业信息之前,还用于:接收第二区块链节点设备发送的身份信息和生物特征信息;
[0099] 查找单元7011查找身份信息对应的生物特征信息;
[0100] 若比较模块702比较第二区块链节点设备发送的生物特征信息与查找到的生物特征信息相同时,则执行接收模块701在接收第二区块链节点设备发送的企业信息的步骤。
[0101] 在一种实现方式中,生成模块703在根据注册信息生成数字证书时,具体用于:生成生物特征信息的哈希;
[0102] 生成模块703还用于根据注册信息生成包含哈希的数字证书。
[0103] 在一种实现方式中,发送模块704在将票据发送给第二区块链节点设备之后,接收模块701还用于:从区块链网络中获取票据,数字签名以及第二区块链节点设备的数字证书;
[0104] 验签单元7012根据票据和第二区块链节点设备的公钥,对从区块链网络中获取的数字签名进行验签;
[0105] 若验签成功,则接收模块701在第二区块链节点设备的数字证书中获取哈希;
[0106] 根据哈希确定哈希对应的身份信息为票据关联的身份信息。
[0107] 在一种实现方式中,验签单元7012根据票据和第二区块链节点设备的公钥,对从区块链网络中获取的数字签名进行验签之前,比较模块702还用于:将从区块链网络中获取的第二区块链节点设备的数字证书,与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;
[0108] 若从区块链网络中获取的第二区块链节点设备的数字证书,与第一区块链节点设备存储的第二区块链节点设备的数字证书相同,则执行验签单元7012根据票据和第二区块链节点设备的公钥,对从区块链网络中获取的数字签名进行验签的步骤。
[0109] 需要说明的是,图7对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图2、图5及图6所示实施例以及前述内容,这里不再赘述。
[0110] 请参见图8,图8是本申请实施例提供的另一种区块链节点设备的结构示意图。该区块链节点设备80包括处理器801、存储器802、通信接口803,所述处理器801、所述存储器802、所述通信接口803通过一条或多条通信总线连接。
[0111] 处理器801被配置为支持区块链节点设备执行图2、图5及图6所述方法中第一区块链节点设备相应的功能。该处理器801可以是中央处理器(Central Processing Unit,CPU),网络处理器(Network Processor,NP),硬件芯片或者其任意组合。
[0112] 存储器802用于存储程序代码等。存储器802可以包括易失性存储器(volatile memory),例如,随机存取存储器(Random Access Memory,RAM);存储器802也可以包括非易失性存储器(non-volatile memory),例如只读存储器(Read Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid State Drive,SSD);存储器802还可以包括上述种类的存储器的组合。
[0113] 通信接口803用于接收和发送数据,例如,通信接口803用于接收第二区块节点设备发送的票据开具请求,或者,通信接口803用于接收第二区块链节点设备发送的企业信息等等,或者,通信接口803用于将票据发送给第二区块链节点设备等等。
[0114] 在本发明实施例中,该区块链节点设备80包括多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
[0115] 处理器801可以调用存储器802中存储的程序代码以执行以下操作:
[0116] 通信接口803,用于接收第二区块链节点设备发送的票据开具请求其中,票据开具请求包括第二区块链节点设备的数字证书,第一区块链节点设备以及第二区块链节点设备属于同一区块链网络;
[0117] 处理器801,用于将票据开具请求包括的数字证书与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;
[0118] 若票据开具请求包括的数字证书与第一区块链节点设备存储的数字证书相同,则第一区块链节点设备响应票据开具请求生成票据;
[0119] 通信接口803,用于将票据发送给第二区块链节点设备,以使第二区块链节点设备根据第二区块链节点设备的私钥对票据进行签名,得到票据的数字签名,以及第二区块链节点设备将票据、数字签名以及第二区块链节点设备的数字证书发布至区块链网络。
[0120] 在一种实现方式中,通信接口803在接收第二区块链节点设备发送的票据开具请求之前,还用于:接收第二区块链节点设备发送的企业信息,并根据企业信息从管理设备中获取企业信息对应企业的注册信息,其中,管理设备用于存储企业的注册信息;
[0121] 处理器801,用于判断企业信息对应企业是否为信用企业;
[0122] 若企业信息对应企业是信用企业,则处理器801根据注册信息生成数字证书,通信接口803将数字证书发送给第二区块链节点设备。
[0123] 在一种实现方式中,处理器801在判断企业信息对应企业是否为信用企业时,具体用于:根据注册信息德达企业信息对应企业的历史信用信息;
[0124] 若历史信用信息只是企业为信用企业,则处理器801执行根据注册信息生成数字证书的步骤。
[0125] 在一种实现方式中,处理器801在判断企业信息对应企业是否为信用企业时,具体用于:将企业信息与注册信息进行比较;
[0126] 若企业信息与注册信息相同,则确定企业信息对应企业为信用企业。
[0127] 在一种实现方式中,通信接口803在接收第二区块链节点设备发送的企业信息之前,还用于:接收第二区块链节点设备发送的身份信息和生物特征信息;
[0128] 处理器801,用于查找身份信息对应的生物特征信息;
[0129] 比较第二区块链节点设备发送的生物特征信息与查找到的生物特征信息相同时,则执行接收第二区块链节点设备发送的企业信息的步骤。
[0130] 在一种实现方式中,处理器801在根据注册信息生成数字证书时,具体用于:生成生物特征信息的哈希;
[0131] 处理器801,还用于根据注册信息生成包含哈希的数字证书。
[0132] 在一种实现方式中,通信接口803在将票据发送给第二区块链节点设备之后,还用于:从区块链网络中获取票据,数字签名以及第二区块链节点设备的数字证书;
[0133] 处理器801,用于根据票据和第二区块链节点设备的公钥,对从区块链网络中获取的数字签名进行验签;
[0134] 若验签成功,则在第二区块链节点设备的数字证书中获取哈希;
[0135] 根据哈希确定哈希对应的身份信息为票据关联的身份信息。
[0136] 在一种实现方式中,处理器801根据票据和第二区块链节点设备的公钥,对从区块链网络中获取的数字签名进行验签之前,通信接口803还用于:将从区块链网络中获取的第二区块链节点设备的数字证书,与第一区块链节点设备存储的第二区块链节点设备的数字证书进行比较;
[0137] 若从区块链网络中获取的第二区块链节点设备的数字证书,与第一区块链节点设备存储的第二区块链节点设备的数字证书相同,则处理器801执行根据票据和第二区块链节点设备的公钥,对从区块链网络中获取的数字签名进行验签的步骤。
[0138] 进一步地,处理器801还可以与通信接口803相配合,执行图2、图5及图6所示方法实施例中第一区块链节点设备对应的操作,具体可参见方法实施例中的描述,在此不作赘述。
[0139] 本申请实施例还提供一种计算机可读存储介质,可以用于存储图2、图5及图6所示实施例中区块链节点设备所用的计算机程序,其包含用于执行上述实施例中为第一区块链节点设备所设计的程序。
[0140] 上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
[0141] 本申请实施例还提供一种计算机程序产品,该计算机程序产品被计算机设备运行时,可以执行上述图2、图5及图6实施例中为第一区块链节点设备所设计的开具票据方法。
[0142] 在本申请实施例中还提供一种芯片,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,该计算机程序用于实现上述方法实施例中的方法。
[0143] 本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0144] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
[0145] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。