基于区块链的电子发票开具方法、装置及系统制造方法及图纸

技术编号:24124696 阅读:25 留言:0更新日期:2020-05-13 04:12
本发明专利技术公开了一种基于区块链的电子发票开具方法、装置及系统,所述方法包括:第一客户端向全链广播身份验证请求,装有背书策略的客户端验证第一客户端的身份,当超过一定数量的客户端发布通过验证的信息,即可生成身份验证区块作为第一客户端的身份签章,然后,第一客户端全链广播携带身份签章和开票信息的发票开具请求,装有智能合约的客户端通过智能合约校验身份签章和开票信息,若超过一定数量的客户端发布通过校验的信息,表明开票信息合法有效,将开票信息存入区块链的主链中,供其他客户端或者税务局查询调用,大大优化电子发票开票流程,使得开票过程中的交易数据无法篡改、不可伪造,实现了更加安全可靠快捷的开票方式。

【技术实现步骤摘要】
基于区块链的电子发票开具方法、装置及系统
本专利技术涉及电子发票
,尤其涉及一种基于区块链的电子发票开具方法、装置及系统。
技术介绍
随着互联网的不断发展,网络购物逐渐取代传统的购物方式,应运而生的是电子发票这种购买凭证。电子发票是指一切单位和个人在购销商品、提供或接受服务以及从事其他经营活动中,所开具和收取的以电子形式存储和流转的业务凭证。电子发票不仅节约了印制成本,而且易于保管、查询和调阅。电子发票的开具过程为:客户端发起发票开具请求,通过信道传递给税务局检验签名,再到51电子发票签章平台执行签章,最后才能接收到通过审核认证的电子发票。其中,开票端与税局服务端系统的开发、维护成本较高,且电子发票的开具流程繁琐,其中任何一个环节的脱节都会导致电子发票无法正常开具。另一个显著问题是,一旦税务局或签章平台的服务器遭到黑客的攻击,服务器中的开票数据极易被拦截、篡改,甚至遭到损毁。
技术实现思路
本专利技术实施例提供一种基于区块链的电子发票开具方法、装置、电子设备、系统及存储介质,以解决现有技术中电子发票的开具流程繁琐、安全性低的问题。第一方面,本专利技术一实施例提供了一种基于区块链的电子发票开具方法,包括:第一客户端向区块链中的第二客户端发送身份验证请求,身份验证请求中包括纳税人信息,第二客户端为区块链中除第一客户端以外的客户端;第一客户端接收第二客户端反馈的身份验证结果,根据身份验证结果确定第一客户端是否通过身份验证,身份验证结果为第二客户端对纳税人信息进行验证后得到的;第一客户端在确认通过身份验证后,将身份验证结果和纳税人信息封装到一个新的区块中得到身份验证区块,并向第二客户端发送发票开具请求,发票开具请求中包括开票信息和身份验证区块;第一客户端接收第二客户端反馈的发票校验结果,根据发票校验结果确定开票信息是否合法,发票校验结果为第二客户端对开票信息和身份验证区块进行验证后得到的;第一客户端在确认开票信息合法后,将发票校验结果和开票信息封装到一个新的区块中得到电子发票区块,并将身份验证区块和电子发票区块加入区块链的主链中。第二方面,本专利技术一实施例提供了一种基于区块链的电子发票开具方法,包括:第二客户端在收到第一客户端发送的身份验证请求后,根据预存在第二客户端中的纳税人信息表对身份验证请求中的纳税人信息进行验证,并将得到的身份验证结果发送给区块链中的其他客户端,纳税人信息表中包括已登记的客户端对应的纳税人信息,其他客户端为区块链中除第二客户端以外的客户端;第二客户端接收第一客户端发送的发票开具请求,发票开具请求中包括开票信息和身份验证区块,身份验证区块为在根据身份验证结果确定第一客户端通过身份验证后生成的用于证明第一客户端身份的身份签章;第二客户端根据身份验证区块确定第一客户端是否为合法终端,若第一客户端为合法终端,则根据预存在第二客户端中的智能合约校验开票信息,并将发票校验结果发送给其他客户端,以使第一客户端根据第二客户端反馈的发票校验结果确认该开票信息是否合法,智能合约包括电子发票的开具规则。第三方面,本专利技术一实施例提供了一种基于区块链的电子发票开具系统,包括:组成区块链的多个客户端;区块链中的任一客户端为第一客户端,第二客户端为区块链中除第一客户端以外的客户端;第一客户端用于向第二客户端发送身份验证请求,身份验证请求中包括纳税人信息;第二客户端用于在收到身份验证请求后,根据预存在第二客户端中的纳税人信息表对身份验证请求中的纳税人信息进行验证,并将得到的身份验证结果发送给区块链中的其他客户端,纳税人信息表中包括已登记的客户端对应的纳税人信息,其他客户端为区块链中除第二客户端以外的客户端;第一客户端还用于接收第二客户端反馈的身份验证结果,根据身份验证结果确定第一客户端是否通过身份验证,在确认通过身份验证后,将身份验证结果和纳税人信息封装到一个新的区块中得到身份验证区块,并向第二客户端发送发票开具请求,发票开具请求中包括开票信息和身份验证区块;第二客户端还用于接收第一客户端发送的发票开具请求,根据身份验证区块确定第一客户端是否为合法终端,若第一客户端为合法终端,则根据预存在第二客户端中的智能合约校验开票信息,并将发票校验结果发送给其他客户端,智能合约包括电子发票的开具规则;第一客户端还用于接收第二客户端反馈的发票校验结果,根据发票校验结果确定开票信息是否合法,在确认开票信息合法后,将发票校验结果和开票信息封装到一个新的区块中得到电子发票区块,并将身份验证区块和电子发票区块加入区块链的主链中。第四方面,本专利技术一实施例提供了一种基于区块链的电子发票开具装置,包括:第一发送模块,用于向区块链中的第二客户端发送身份验证请求,身份验证请求中包括纳税人信息,第二客户端为区块链中除第一客户端以外的客户端;第一接收模块,用于接收第二客户端反馈的身份验证结果;身份验证区块生成模块,用于根据身份验证结果确定第一客户端是否通过身份验证,身份验证结果为第二客户端对纳税人信息进行验证后得到的,在确认通过身份验证后,将身份验证结果和纳税人信息封装到一个新的区块中得到身份验证区块;第一发送模块还用于向第二客户端发送发票开具请求,发票开具请求中包括开票信息和身份验证区块;第一接收模块还用于接收第二客户端反馈的发票校验结果;电子发票区块生成模块,用于根据发票校验结果确定开票信息是否合法,发票校验结果为第二客户端对开票信息和身份验证区块进行验证后得到的,在确认开票信息合法后,将发票校验结果和开票信息封装到一个新的区块中得到电子发票区块,并将身份验证区块和电子发票区块加入区块链的主链中。第五方面,本专利技术一实施例提供了一种基于区块链的电子发票开具装置,包括:身份验证模块,用于在收到第一客户端发送的身份验证请求后,根据预存在第二客户端中的纳税人信息表对身份验证请求中的纳税人信息进行验证;第二发送模块,用于将得到的身份验证结果发送给区块链中的其他客户端,纳税人信息表中包括已登记的客户端对应的纳税人信息,其他客户端为区块链中除第二客户端以外的客户端;第二接收模块,用于接收第一客户端发送的发票开具请求,发票开具请求中包括开票信息和身份验证区块,身份验证区块为在根据身份验证结果确定第一客户端通过身份验证后生成的用于证明第一客户端身份的身份签章;发票校验模块,用于根据身份验证区块确定第一客户端是否为合法终端,若第一客户端为合法终端,则根据预存在第二客户端中的智能合约校验开票信息;第二发送模块还用于将发票校验结果发送给其他客户端,以使第一客户端根据第二客户端反馈的发票校验结果确认该开票信息是否合法,智能合约包括电子发票的开具规则。第六方面,本专利技术一实施例提供了一种电子设备,包括收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,收发机用于在处理器的控制下接收和发送数据,处理器执行程序时实现上述任一种方法的步骤。...

【技术保护点】
1.一种基于区块链的电子发票开具方法,其特征在于,包括:/n第一客户端向区块链中的第二客户端发送身份验证请求,所述身份验证请求中包括纳税人信息,所述第二客户端为区块链中除第一客户端以外的客户端;/n所述第一客户端接收所述第二客户端反馈的身份验证结果,根据所述身份验证结果确定所述第一客户端是否通过身份验证,所述身份验证结果为所述第二客户端对所述纳税人信息进行验证后得到的;/n所述第一客户端在确认通过身份验证后,将所述身份验证结果和所述纳税人信息封装到一个新的区块中得到身份验证区块,并向所述第二客户端发送发票开具请求,所述发票开具请求中包括开票信息和所述身份验证区块;/n所述第一客户端接收所述第二客户端反馈的发票校验结果,根据所述发票校验结果确定所述开票信息是否合法,所述发票校验结果为所述第二客户端对所述开票信息和所述身份验证区块进行验证后得到的;/n所述第一客户端在确认所述开票信息合法后,将所述发票校验结果和所述开票信息封装到一个新的区块中得到电子发票区块,并将所述身份验证区块和所述电子发票区块加入所述区块链的主链中。/n

【技术特征摘要】
1.一种基于区块链的电子发票开具方法,其特征在于,包括:
第一客户端向区块链中的第二客户端发送身份验证请求,所述身份验证请求中包括纳税人信息,所述第二客户端为区块链中除第一客户端以外的客户端;
所述第一客户端接收所述第二客户端反馈的身份验证结果,根据所述身份验证结果确定所述第一客户端是否通过身份验证,所述身份验证结果为所述第二客户端对所述纳税人信息进行验证后得到的;
所述第一客户端在确认通过身份验证后,将所述身份验证结果和所述纳税人信息封装到一个新的区块中得到身份验证区块,并向所述第二客户端发送发票开具请求,所述发票开具请求中包括开票信息和所述身份验证区块;
所述第一客户端接收所述第二客户端反馈的发票校验结果,根据所述发票校验结果确定所述开票信息是否合法,所述发票校验结果为所述第二客户端对所述开票信息和所述身份验证区块进行验证后得到的;
所述第一客户端在确认所述开票信息合法后,将所述发票校验结果和所述开票信息封装到一个新的区块中得到电子发票区块,并将所述身份验证区块和所述电子发票区块加入所述区块链的主链中。


2.根据权利要求1所述的方法,其特征在于,所述将所述身份验证结果和所述纳税人信息封装到一个新的区块中得到身份验证区块,具体包括:
利用Merkle树算法计算所述身份验证结果对应的第一Merkle树,并计算所述第一Merkle树的Merkle根的第一哈希值;
将所述纳税人信息、所述第一哈希值封装到一个新的区块中,得到身份验证区块,所述身份验证区块中还包括生成所述身份验证区块时的时间戳。


3.根据权利要求2所述的方法,其特征在于,所述将所述发票校验结果和所述开票信息封装到一个新的区块中得到电子发票区块,具体包括:
利用Merkle树算法计算所述发票校验结果对应的第二Merkle树,并计算所述第二Merkle树的Merkle根的第二哈希值;
将所述开票信息、所述第一哈希值、所述第二哈希值封装到一个新的区块中,得到电子发票区块。


4.根据权利要求1至3任一项所述的方法,其特征在于,所述身份验证请求中还包括所述第一客户端的机器标识,以使所述区块链中的第二客户端验证所述身份验证请求中的机器标识与纳税人信息是否匹配。


5.一种基于区块链的电子发票开具方法,其特征在于,包括:
第二客户端在收到第一客户端发送的身份验证请求后,根据预存在所述第二客户端中的纳税人信息表对所述身份验证请求中的纳税人信息进行验证,并将得到的身份验证结果发送给所述区块链中的其他客户端,所述纳税人信息表中包括已登记的客户端对应的纳税人信息,所述其他客户端为所述区块链中除所述第二客户端以外的客户端;
所述第二客户端接收所述第一客户端发送的发票开具请求,所述发票开具请求中包括开票信息和身份验证区块,所述身份验证区块为在根据所述身份验证结果确定所述第一客户端通过身份验证后生成的用于证明所述第一客户端身份的身份签章;
所述第二客户端根据所述身份验证区块确定所述第一客户端是否为合法终端,若所述第一客户端为合法终端,则根据预存在所述第二客户端中的智能合约校验所述开票信息,并将发票校验结果发送给所述其他客户端,以使所述第一客户端根据所述第二客户端反馈的发票校验结果确认该开票信息是否合法,所述智能合约包括电子发票的开具规则。


6.根据权利要求5所述的方法,其特征在于,所述身份验证区块中还包括生成所述身份验证区块时的时间戳;
所述根据所述身份验证区块确定所述第一客户端是否为合法终端,具体包括:通过校验所述身份验证区块中的时间戳确定所述第一客户端是否为合法终端。


7.根据权利要求5所述的方法,其特征在于,所述身份验证请求中还包括所述第一客户端的机器标识;
根据预存在所述第二客户端中的纳税人信息表对所述身份验证请求中的述纳税人信息进行验证,具体包括:
根据预存在所述第二客户端中的纳税人信息表验证所述身份验证请求中的机器标识与所述纳税人信息是否匹配,若匹配,则根据所述纳税人信息表验证所述纳税人信息,其中,所述纳税人信息表中还包括所述已登记的客户端的机器标识。


8.一种基于区块链的电子发票开具系统,其特征在于,包括:组成区块链的多个客户端;
所述区块链中的任一客户端为第一客户端...

【专利技术属性】
技术研发人员:任天翔赵轶民卢孟维石雪景李博宇高硕张朝阳曾晨宸袁俊玲
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

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

1