一种基于区块链查验电子发票的方法及装置制造方法及图纸

技术编号:24579361 阅读:40 留言:0更新日期:2020-06-21 00:51
本申请提供一种基于区块链查验电子发票的方法及装置,用于提高查验电子发票的效率。该方法包括:获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。

A method and device of checking electronic invoice based on blockchain

【技术实现步骤摘要】
一种基于区块链查验电子发票的方法及装置
本申请涉及区块链
,尤其涉及一种基于区块链查验电子发票的方法及装置。
技术介绍
随着电子发票的大规模推广使用,越来越多的商家选择为用户开电子发票。用户拿到电子发票之后,需要对电子发票的真假进行查验,以验证电子发票的真假。现有的电子发票查验方法一般是用票方在收到电子发票之后,用票方根据电子发票的开票省份,登录相应的省份的发票服务平台,在发票服务平台上输入电子发票的相关信息,发票服务平台根据存储的数据库验证电子发票的真假。如果用票方需要对不同来源的电子发票进行查验,则需要分别登录不同的发票服务平台,在不同的发票服务平台输入对应的电子发票的信息,验证电子发票的真伪。可见,目前这种查验电子发票的方法效率低。
技术实现思路
本申请实施例提供一种基于区块链查验电子发票的方法及装置,用于提高查验电子发票的效率。本申请实施例提供的具体技术方案如下:第一方面,提供一种基于区块链查验电子发票的方法,应用于第一服务节点中,所述第一服务节点是区块链网络中用于验证发票真伪的至少两个服务节点中的任一节点,所述方法包括:获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。在上述方案中,用票方可以通过服务节点访问区块链网络中的数据来查验电子发票的真伪。即使用票方需要对来源不同的发票进行验证,用票方可以直接通过同一个服务节点来验证电子发票的真伪,可以相对提高验证电子发票真伪的效率,从而为用票方提高了更加便利的查验电子发票的方法,提升用户体验。且,该查验方法将各个服务节点的电子发票数据均存储到区块链网络中,实现了各个服务节点中电子发票的发票信息的共享,保证了电子发票数据不会被篡改,保证了发票信息的可靠性。在一种可能的设计中,确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息,包括:根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。在上述方案中,通过哈希函数算法计算第一发票信息的第一哈希码,且通过将第一哈希码与区块链网络中的哈希码进行匹配,一方面可以相对减少区块链网络中存储电子发票信息的存储数据量,另一方面,通过哈希函数算法来计算电子发票的哈希码,可以保证电子发票的信息不容易被篡改,保证了区块链网络中电子发票的发票信息的可靠性。在一种可能的设计中,所述方法还包括:接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;将所述区块同步到所述至少两个服务节点中。在上述方案中,服务节点可以随时接收相应的存储请求,从而根据存储请求,将各个电子发票的发票信息存储在区块中,实时同步该区块,实现了各个服务节点中电子发票的发票信息的实时共享。且,提供了两种生成区块的方式,提高了生成区块的灵活性。在一种可能的设计中,所述方法还包括:在将所述区块存储到所述至少两个服务节点中之前,包括:根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务节点中除了所述第一服务节点之外的服务节点;基于接收到的所述第二服务节点的反馈信息,将所述区块存储到所述至少两个服务节点中,所述反馈信息用于表示所述区块合法。在上述方案中,在服务节点同步新区块之前,通过其它服务节点对新区块进行验证,验证合法的新区块才能同步到区块链网络中,从而保证了区块链网络中所有区块的合法性,从而保证了区块链网络中所有发票信息的可靠性。在一种可能的设计中,将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中,包括:按照所述预设的哈希函数算法,计算所述至少一张电子发票中每张电子发票的发票信息的哈希码;将所述每张电子发票的发票信息的哈希码,存储到所述区块中。在上述方案中,直接将至少一张电子发票的发票信息的哈希码存储到区块中,一方面可以减少数据存储量,另一方面可以保证发票信息不容易被篡改。在一种可能的设计中,所述区块链网络中还包括监管节点,在获取查验请求之前,包括:向所述监管节点发送加入请求,所述加入请求用于请求成为所述区块网络中的合法节点;若接收到所述监管节点的授权信息,则加入至所述区块链网络中。在上述方案中,服务节点需要监管节点的授权,才能加入区块链网络中,从而保证了区块链网络中每个服务节点的合法性。第二方面,提供一种基于区块链查验电子发票的装置,所述装置包括获取模块和处理模块,其中:所述获取模块,用于获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;所述处理模块,用于确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;以及,若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。在一种可能的设计中,所述处理模块具体用于:根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。在一种可能的设计中,所述获取模块,还用于接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;所述处理模块,还用于每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;以及,将所述区块同步到所述至少两个服务节点中。在一种可能的设计中,所述处理模块还用于:在将所述区块存储到所述至少两个服务节点中之前,根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务本文档来自技高网...

【技术保护点】
1.一种基于区块链查验电子发票的方法,其特征在于,应用于第一服务节点中,所述第一服务节点是区块链网络中用于验证发票真伪的至少两个服务节点中的任一节点,所述方法包括:/n获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;/n确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;/n若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。/n

【技术特征摘要】
1.一种基于区块链查验电子发票的方法,其特征在于,应用于第一服务节点中,所述第一服务节点是区块链网络中用于验证发票真伪的至少两个服务节点中的任一节点,所述方法包括:
获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;
确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;
若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。


2.如权利要求1所述的方法,其特征在于,确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息,包括:
根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;
确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。


3.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;
每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;
将所述区块同步到所述至少两个服务节点中。


4.如权利要求3所述的方法,其特征在于,所述方法还包括:在将所述区块存储到所述至少两个服务节点中之前,包括:
根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;
广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务节点中除了所述第一服务节点之外的服务节点;
基于接收到的所述第二服务节点的反馈信息,将所述区块存储到所述至少两个服务节点中,所述反馈信息用于表示所述区块合法。


5.如权利要求3或4所述的方法,其特征在于,将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中,包括:
按照所述预设的哈希函数算法,计算所述至少一张电子发票中每张电子发票的发票信息的哈希码;
将所述每张电子发票的发票信息的哈希码,存储到所述区块中。


6.如权利要求1-4任一所述的方法,其特征在于,所述区块链网络中还包括监管节点,在获取查验请求之前,包括:
向所述监管节点发送加入请求,所述加入请求用于请求成为所述区块网络中的合法节点;
若接收到所述监管节点的授权信息,则加入至所述区块链网络中。


7.一种基于区块链查验电子发票的装置,其特征在于,所述装置包括获取模块和处理模块,其中:
所述获取模块,用于获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真...

【专利技术属性】
技术研发人员:刘海法张庆胜王申
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1