CN111311270A - 一种基于区块链查验电子发票的方法及装置 - Google Patents
一种基于区块链查验电子发票的方法及装置 Download PDFInfo
- Publication number
- CN111311270A CN111311270A CN201811512510.1A CN201811512510A CN111311270A CN 111311270 A CN111311270 A CN 111311270A CN 201811512510 A CN201811512510 A CN 201811512510A CN 111311270 A CN111311270 A CN 111311270A
- Authority
- CN
- China
- Prior art keywords
- information
- invoice
- block
- node
- electronic invoice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
Landscapes
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种基于区块链查验电子发票的方法及装置,用于提高查验电子发票的效率。该方法包括:获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链查验电子发票的方法及装置。
背景技术
随着电子发票的大规模推广使用,越来越多的商家选择为用户开电子发票。用户拿到电子发票之后,需要对电子发票的真假进行查验,以验证电子发票的真假。
现有的电子发票查验方法一般是用票方在收到电子发票之后,用票方根据电子发票的开票省份,登录相应的省份的发票服务平台,在发票服务平台上输入电子发票的相关信息,发票服务平台根据存储的数据库验证电子发票的真假。如果用票方需要对不同来源的电子发票进行查验,则需要分别登录不同的发票服务平台,在不同的发票服务平台输入对应的电子发票的信息,验证电子发票的真伪。可见,目前这种查验电子发票的方法效率低。
发明内容
本申请实施例提供一种基于区块链查验电子发票的方法及装置,用于提高查验电子发票的效率。
本申请实施例提供的具体技术方案如下:
第一方面,提供一种基于区块链查验电子发票的方法,应用于第一服务节点中,所述第一服务节点是区块链网络中用于验证发票真伪的至少两个服务节点中的任一节点,所述方法包括:
获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;
确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;
若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。
在上述方案中,用票方可以通过服务节点访问区块链网络中的数据来查验电子发票的真伪。即使用票方需要对来源不同的发票进行验证,用票方可以直接通过同一个服务节点来验证电子发票的真伪,可以相对提高验证电子发票真伪的效率,从而为用票方提高了更加便利的查验电子发票的方法,提升用户体验。且,该查验方法将各个服务节点的电子发票数据均存储到区块链网络中,实现了各个服务节点中电子发票的发票信息的共享,保证了电子发票数据不会被篡改,保证了发票信息的可靠性。
在一种可能的设计中,确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息,包括:
根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;
确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。
在上述方案中,通过哈希函数算法计算第一发票信息的第一哈希码,且通过将第一哈希码与区块链网络中的哈希码进行匹配,一方面可以相对减少区块链网络中存储电子发票信息的存储数据量,另一方面,通过哈希函数算法来计算电子发票的哈希码,可以保证电子发票的信息不容易被篡改,保证了区块链网络中电子发票的发票信息的可靠性。
在一种可能的设计中,所述方法还包括:
接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;
每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;
将所述区块同步到所述至少两个服务节点中。
在上述方案中,服务节点可以随时接收相应的存储请求,从而根据存储请求,将各个电子发票的发票信息存储在区块中,实时同步该区块,实现了各个服务节点中电子发票的发票信息的实时共享。且,提供了两种生成区块的方式,提高了生成区块的灵活性。
在一种可能的设计中,所述方法还包括:在将所述区块存储到所述至少两个服务节点中之前,包括:
根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;
广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务节点中除了所述第一服务节点之外的服务节点;
基于接收到的所述第二服务节点的反馈信息,将所述区块存储到所述至少两个服务节点中,所述反馈信息用于表示所述区块合法。
在上述方案中,在服务节点同步新区块之前,通过其它服务节点对新区块进行验证,验证合法的新区块才能同步到区块链网络中,从而保证了区块链网络中所有区块的合法性,从而保证了区块链网络中所有发票信息的可靠性。
在一种可能的设计中,将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中,包括:
按照所述预设的哈希函数算法,计算所述至少一张电子发票中每张电子发票的发票信息的哈希码;
将所述每张电子发票的发票信息的哈希码,存储到所述区块中。
在上述方案中,直接将至少一张电子发票的发票信息的哈希码存储到区块中,一方面可以减少数据存储量,另一方面可以保证发票信息不容易被篡改。
在一种可能的设计中,所述区块链网络中还包括监管节点,在获取查验请求之前,包括:
向所述监管节点发送加入请求,所述加入请求用于请求成为所述区块网络中的合法节点;
若接收到所述监管节点的授权信息,则加入至所述区块链网络中。
在上述方案中,服务节点需要监管节点的授权,才能加入区块链网络中,从而保证了区块链网络中每个服务节点的合法性。
第二方面,提供一种基于区块链查验电子发票的装置,所述装置包括获取模块和处理模块,其中:
所述获取模块,用于获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;
所述处理模块,用于确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;以及,
若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。
在一种可能的设计中,所述处理模块具体用于:
根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;
确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。
在一种可能的设计中,所述获取模块,还用于接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;
所述处理模块,还用于每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;以及,
将所述区块同步到所述至少两个服务节点中。
在一种可能的设计中,所述处理模块还用于:
在将所述区块存储到所述至少两个服务节点中之前,根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;
广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务节点中除了所述第一服务节点之外的服务节点;
基于接收到的所述第二服务节点的反馈信息,将所述区块存储到所述至少两个服务节点中,所述反馈信息用于表示所述区块合法。
在一种可能的设计中,所述处理模块具体用于:
按照所述预设的哈希函数算法,计算所述至少一张电子发票中每张电子发票的发票信息的哈希码;
将所述每张电子发票的发票信息的哈希码,存储到所述区块中。
在一种可能的设计中,所述处理模块还用于:
所述区块链网络中还包括监管节点,在获取查验请求之前,向所述监管节点发送加入请求,所述加入请求用于请求成为所述区块网络中的合法节点;
若接收到所述监管节点的授权信息,则加入至所述区块链网络中。
第三方面,提供一种基于区块链查验电子发票的装置,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任一项所述的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
附图说明
图1为本申请实施例提供的查验电子发票的方法的应用场景图;
图2为本申请实施例提供的查验电子发票的方法的流程图;
图3为本申请实施例提供的查验电子发票的装置的结构图;
图4为本申请实施例提供的查验电子发票的装置的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了便于理解本申请实施例提供的技术方案,下面对本申请实施例使用的一些关键名词进行解释。
区块链(block chain):或称分布式数据记录账本,是一种按照一定顺序将存储数据的区块以顺序相连的方式组合成的一种链式数据结构。将区块按照顺序串联起来在而形成了一条区块链。
区块(block):用于存储按照一定条件划分出的数据集合和状态结果。
终端:可以称之为用户设备、移动台、终端或移动终端等,该终端设备可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网设备进行通信。终端设备可以是移动电话(或称为“蜂窝”电话)或具有移动终端的计算机等,例如,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动设备。终端设备也可以是物联网设备,例如表类终端,穿戴设备,物流跟踪,电梯图片或卫视等物联设备。它们与无线接入网交换语音和/或数据。
为了用于提高查验电子发票的效率,本申请实施例提供一种基于区块链查验电子发票的方法。请参照图1,下面对该方法的应用场景进行示例说明。
该应用场景中的区块链网络中包括监管节点和至少两个服务节点。监管节点用于授权合法的服务节点加入区块链网络中。监管节点对应的可以是税务局,使得税务局可以通过区块链网络对各个服务节点进行监管。
至少两个服务节点中每个服务节点对应的可以是电子发票服务平台。各个服务平台通过区块链网络实现电子发票的数据的共享。各个服务节点的作用均相同。服务节点用于存储开票方上传的发票信息以及验证携带电子发票的信息的区块的合法性、以及验证用票方上传的电子发票的真伪。用票方可以通过终端访问服务节点,或者直接登录服务节点,间接访问区块链网络,从而验证电子发票的真假。同样的,开票方也可以通过终端访问服务节点,或者直接登录服务节点,从而将写入电子发票的信息写入区块链网络的服务节点中。
服务节点以及监管节点均可以通过多种设备实现,例如计算机、手机、矿机、台式机或者服务器等拥有计算能力的设备,本文不对服务节点以及监管节点的具体实现方式进行限制。
应当说明的是,图1中是以一个监管节点为例,但是实际上不限制监管节点的数量。图1中是以至少两个服务节点包括服务节点A、服务节点B、服务节点C、服务节点D以及服务节点E为例,但是实际上不限制服务节点的数量。
如上介绍了本申请实施例的应用场景,下面结合上述应用场景介绍本申请实施例提供的技术方案。请参照图2,本申请实施例提供一种基于区块链查验电子发票的方法。图2中以第一服务节点包括服务节点A为例,以第二服务节点包括服务节点B为例,第二服务节点为至少两个服务节点中除了第一服务节点之外的服务节点。下面对该方法的过程进行介绍。
步骤201、服务节点A向区块链网络中的监管节点发送加入请求。
其中,加入请求用于请求将自身加入区块链网络中。
具体来说,服务节点A在向监管节点发送加入请求,请求成为区块链网络中的合法节点。为了便于监管节点对服务节点A进行验证。加入请求中还可以携带有服务节点A的身份信息,例如服务节点A对应的服务平台的企业信息,例如企业的组织机构代码。
在服务节点A执行步骤201之后,监管节点执行步骤202、即接收加入请求之后,对服务节点A进行验证,从而生成授权信息,并将授权信息发送给服务节点A。
其中,授权信息的形式有很多种,例如数字证书,数字证书可以理解为区块链网络中使用的哈希函数算法的私钥。授权信息用于表示监管节点允许服务节点A加入区块链网络中。
具体来说,监管节点对请求加入区块链网络中的服务节点A的身份进行审核,如果审核通过,就可以给服务节点A反馈授权信息,以允许服务节点A加入区块链网络中。在服务节点A接收到授权信息之后,可以根据授权信息加入区块链网络中,从而可以同步区块链网络中的数据。
服务节点A加入区块链网络中的过程采用的算法例如,拜占庭容错(PBFT)算法。其它服务节点加入区块链网络中的方式与服务节点A加入区块链网络中的方式相同,此处不再赘述。
服务节点A加入区块链网络中之后,可以执行步骤203,即接收存储请求。
其中,存储请求用于请求存储至少一张电子发票的发票信息。另外存储请求还携带有发票的关键信息。发票的关键信息例如,电子发票的七要素和六要素。七要素具体包括票头、字轨号码、联次及用途、客户名称、开票日期、银行开户帐号、开票单位及责任人,六要素具体包括品名、规格、单位、数量、单价、金额。
接收存储请求的方式有很多种。例如,开票方通过终端向服务节点A发送存储请求,服务节点A接收到该存储请求。或者例如,开票方在通过服务节点A的授权下,登录服务节点A所在的服务器,从而在服务器上输入存储请求,也就相当于服务节点A接收到该存储请求。服务节点A授权开票方的方式可以有很多种,例如服务节点A给开票方发送数字证书,开票方通过数字证书访问服务节点A。图2中是服务节点A从终端接收存储请求为例,但是实际上不限制服务节点A接收存储请求的方式。
为了能够保证写入区块链网络中的电子发票的真实性,服务节点A可以对至少一张电子发票的发票信息的真伪进行预查验。预查验例如,服务节点A直接将电子发票的发票信息与服务节点A中的本地数据库中的内容进行匹配。如果匹配不成功,则表示该电子发票初步查验为假;如果匹配成功,则表示该电子发票的初步查验为真,但是由于无法确保本地数据库的内容的可靠性,因此,还需后续通过区块链网络中对电子发票进行验证。
服务节点A执行步骤203之后,可以执行步骤204,即生成区块。
具体来说,服务节点A接收存储请求之后,可以按照预设的哈希函数算法,计算电子发票中的发票信息的哈希码,直接将发票信息的哈希码写到区块中。随着越来越多的发票信息的哈希码写入到区块中,区块的大小会逐渐变大。当达到预设存储容量时,就生成一个新区块。预设存储容量的大小可以根据需求进行设置,例如10M。
或者,设置预设时间段,无论预设时间段内的写入的发票信息的哈希码的多少,只要达到预设时间段,就生成的新区块。新区块中除了包括发票信息的哈希码之外,还可以包括新区块的区块号。预设时间段的时长可以根据需求进行设置,例如10分钟。
其中,预设的哈希函数算法有很多种,例如国密SM2、SM4或SM9算法等。
当然,区块链网络中有多个服务节点,每个服务节点都会将发票信息写入区块,可以按照发票信息的哈希码的先后顺序写入区块中。或者也可以设置不同服务节点的优先级顺序,当优先级高的服务节点和优先级低的服务节点同时请求将发票信息写入区块,优先级高的服务节点可以优先将发票信息写入区块中。
在生成新区块之后,为了保证新区块的合法性,服务节点A执行步骤205,即根据区块,生成验证请求。
其中,验证请求用于请求验证区块的合法性,使用预存的私钥对区块的信息进行加密得到的签名信息。区块的信息包括区块的区块号、区块中包括的发票信息的哈希码。
服务节点A执行步骤205之后,执行步骤206,即广播验证请求。
具体来说,服务节点A可以将验证请求广播到区块链网络中的服务节点。以使得区块链网络中除了服务节点A之外的服务节点根据验证请求对新区块进行验证。
服务节点A执行步骤206之后,服务节点B可以执行步骤207,即根据接收到的签名信息,对新区块合法性进行验证。如果服务节点B验证该新区块合法,则生成反馈信息,并将反馈信息发送给服务节点A。
具体来说,服务节点B验证的方式例如,服务节点B可以根据预存的公钥对签名信息进行验证,如果验证通过,则说明该新区块合法,则可以向服务节点A发送反馈信息,以告知服务节点A该新区块合法。
区块链网络中可能有多个服务节点B,多个服务节点B均会执行步骤207,一般是大部分的服务节点B验证该新区块通过后,则证明该新区块合法。例如,区块链网络节点中有3个服务节点B,那么三个服务节点B根据预存的公钥对签名信息进行验证,如果两个服务节点B或三个服务节点B验证通过,则说明该新区块合法。
服务节点A执行步骤208,即将区块存储到区块链网络中。
具体来说,服务节点A接收到服务节点B发送的反馈信息,就说明该新区块合法,服务节点A就可以将新区块同步到区块链网络中的所有服务节点中。同步可以理解为将区块链网络中的每个服务节点中均存储该新区块的信息。
应当说明的是,区块链中的其它服务节点也可以采用步骤203~步骤208的方式,将用票方的发票信息实时同步到区块链网络中,此处不再赘述。多个服务节点及时地同步发票信息,从而实现各个服务节点之间的发票信息的数据共享。
服务节点A执行步骤208之后,可以执行步骤209,即获取查验请求。
其中,查验请求用于请求查验第一电子发票的真伪,该查验请求还携带第一电子发票的第一发票信息。第一发票信息例如,电子发票的七要素和六要素。关于电子发票的七要素和六要素可以是前文论述的内容,此处不再赘述。
具体来说,获取查验请求的方式有很多种。例如,用票方通过终端向服务节点A发送查验请求,服务节点A接收到该查验请求。或者例如,用票方可以通过服务节点A的授权,登录服务节点A所在的服务器,从而在服务器上输入查验请求,也就相当于服务节点A接收到查验请求。图2中是服务节点A从终端接收查验请求为例,但是实际上不限制服务节点A接收查验请求的方式。
服务节点A在获取查验请求之后,执行步骤210,即确定区块链网络中是否已存储有与第一发票信息匹配的信息,如确定区块链网络中存储有与第一发票信息相匹配的信息,则确定第一电子发票为真。
具体来说,当服务节点A接收到查验请求之后,可以通过预设的哈希函数算法,计算第一发票信息的哈希码,从而获得第一电子发票的第一哈希码。服务节点A中同步了区块链网络中的所有电子发票的哈希码。如果服务节点A确定区块链网络中存储有与第一哈希码相匹配的哈希码,则确定该第一电子发票为真。如果服务节点A确定区块链网络中没有存储与第一哈希码相匹配的哈希码,则确定第一电子发票为假。
服务节点A在确定电子发票的真伪之后,为了使得用票方能够及时得知发票查验的结果,服务节点A可以执行步骤211,即返回电子发票的真伪。
具体来说,如果用票方通过终端向服务节点A发送的查验请求,则服务节点A在确定电子发票的真伪之后,就可以将电子发票的真伪返回给终端,以使用票方可以及时得知电子发票的真伪。或者,直接在用票方登录的服务节点A所在的服务器显示该电子发票的真假,从而使得用票方可以及时获得电子发票的真伪。
应当说明的是,本申请实施例中的步骤201~步骤202、步骤203~步骤208为可选的步骤。
基于前文论述的一种基于区块链查验电子发票的方法,本申请实施例提供一种基于区块链查验电子发票的装置,请参照图3,装置包括获取模301和处理模块302,其中:
获取模块301,用于获取查验请求;其中,查验请求用于请求查验第一电子发票的真伪,携带第一电子发票的第一发票信息;
处理模块302,用于确定至少两个服务节点中是否已存储有与第一发票信息匹配的信息;以及,
若至少两个服务节点中已存储有与第一发票信息匹配的信息,则确定第一电子发票为真。
在一种可能的设计中,处理模块302具体用于:
根据预设的哈希函数算法,对第一发票信息进行计算,获得第一电子发票的第一哈希码;
确定至少两个服务节点中存储的哈希码是否有与第一哈希码相匹配的哈希码,其中,至少两个服务节点中存储的哈希码是根据预设的哈希函数算法,计算电子发票的发票信息得到的。
在一种可能的设计中,获取模块301,还用于接收存储请求,存储请求用于请求存储至少一张电子发票的发票信息;
处理模块302,还用于每间隔预设时间段或每达到预设存储容量,生成区块,并将在预设时间段内或在预设存储容量内接收到的至少一张电子发票的发票信息存储在区块中;以及,
将区块同步到至少两个服务节点中。
在一种可能的设计中,处理模块302还用于:
在将区块存储到至少两个服务节点中之前,根据区块,生成验证请求,验证请求用于请求验证区块的合法性,验证请求包括根据预存的私钥对区块的信息进行加密得到的签名信息;
广播验证请求,以使第二服务节点根据接收到的签名信息,对区块合法性进行验证,第二服务节点为至少两个服务节点中除了第一服务节点之外的服务节点;
基于接收到的第二服务节点的反馈信息,将区块存储到至少两个服务节点中,反馈信息用于表示区块合法。
在一种可能的设计中,处理模块302具体用于:
按照预设的哈希函数算法,计算至少一张电子发票中每张电子发票的发票信息的哈希码;
将每张电子发票的发票信息的哈希码,存储到区块中。
在一种可能的设计中,处理模块302还用于:
区块链网络中还包括监管节点,在获取查验请求之前,向监管节点发送加入请求,加入请求用于请求成为区块网络中的合法节点;
若接收到监管节点的授权信息,则加入至区块链网络中。
本申请实施例中的查验电子发票的装置相当于前文中论述的至少两个服务节点中的任一服务节点。
基于前文论述的一种基于区块链查验电子发票的方法,本申请实施例提供一种基于区块链查验电子发票的装置,包括:
至少一个处理器401,以及
与至少一个处理器401通信连接的存储器402;
其中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令实现如图2中任一所述的查验电子发票的方法。
图4中是以一个处理器402为例,但是实际上不限制处理器402的数量。
作为一种实施例,图3中的处理模块302可以通过图4中的处理器401来实现。
基于前文论述的一种基于区块链查验电子发票的方法,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图2中任一所述的查验电子发票的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种基于区块链查验电子发票的方法,其特征在于,应用于第一服务节点中,所述第一服务节点是区块链网络中用于验证发票真伪的至少两个服务节点中的任一节点,所述方法包括:
获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;
确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;
若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。
2.如权利要求1所述的方法,其特征在于,确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息,包括:
根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;
确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;
每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;
将所述区块同步到所述至少两个服务节点中。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:在将所述区块存储到所述至少两个服务节点中之前,包括:
根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;
广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务节点中除了所述第一服务节点之外的服务节点;
基于接收到的所述第二服务节点的反馈信息,将所述区块存储到所述至少两个服务节点中,所述反馈信息用于表示所述区块合法。
5.如权利要求3或4所述的方法,其特征在于,将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中,包括:
按照所述预设的哈希函数算法,计算所述至少一张电子发票中每张电子发票的发票信息的哈希码;
将所述每张电子发票的发票信息的哈希码,存储到所述区块中。
6.如权利要求1-4任一所述的方法,其特征在于,所述区块链网络中还包括监管节点,在获取查验请求之前,包括:
向所述监管节点发送加入请求,所述加入请求用于请求成为所述区块网络中的合法节点;
若接收到所述监管节点的授权信息,则加入至所述区块链网络中。
7.一种基于区块链查验电子发票的装置,其特征在于,所述装置包括获取模块和处理模块,其中:
所述获取模块,用于获取查验请求;其中,所述查验请求用于请求查验所述第一电子发票的真伪,携带所述第一电子发票的第一发票信息;
所述处理模块,用于确定所述至少两个服务节点中是否已存储有与所述第一发票信息匹配的信息;以及,
若所述至少两个服务节点中已存储有与所述第一发票信息匹配的信息,则确定所述第一电子发票为真。
8.如权利要求7所述的装置,其特征在于,所述处理模块具体用于:
根据预设的哈希函数算法,对所述第一发票信息进行计算,获得所述第一电子发票的第一哈希码;
确定所述至少两个服务节点中存储的哈希码是否有与所述第一哈希码相匹配的哈希码,其中,所述至少两个服务节点中存储的哈希码是根据所述预设的哈希函数算法,计算电子发票的发票信息得到的。
9.如权利要求7所述的装置,其特征在于,
所述获取模块,还用于接收存储请求,所述存储请求用于请求存储至少一张电子发票的发票信息;
所述处理模块,还用于每间隔预设时间段或每达到预设存储容量,生成区块,并将在所述预设时间段内或在所述预设存储容量内接收到的所述至少一张电子发票的发票信息存储在所述区块中;以及,
将所述区块同步到所述至少两个服务节点中。
10.如权利要求9所述的装置,其特征在于,所述处理模块还用于:
在将所述区块存储到所述至少两个服务节点中之前,根据所述区块,生成验证请求,所述验证请求用于请求验证所述区块的合法性,所述验证请求包括根据预存的私钥对所述区块的信息进行加密得到的签名信息;
广播所述验证请求,以使第二服务节点根据接收到的所述签名信息,对所述区块合法性进行验证,所述第二服务节点为所述至少两个服务节点中除了所述第一服务节点之外的服务节点;
基于接收到的所述第二服务节点的反馈信息,将所述区块存储到所述至少两个服务节点中,所述反馈信息用于表示所述区块合法。
11.如权利要求9或10所述的装置,其特征在于,所述处理模块具体用于:
按照所述预设的哈希函数算法,计算所述至少一张电子发票中每张电子发票的发票信息的哈希码;
将所述每张电子发票的发票信息的哈希码,存储到所述区块中。
12.如权利要求7-10任一所述的装置,其特征在于,所述处理模块还用于:
所述区块链网络中还包括监管节点,在获取查验请求之前,向所述监管节点发送加入请求,所述加入请求用于请求成为所述区块网络中的合法节点;
若接收到所述监管节点的授权信息,则加入至所述区块链网络中。
13.一种基于区块链查验电子发票的装置,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811512510.1A CN111311270A (zh) | 2018-12-11 | 2018-12-11 | 一种基于区块链查验电子发票的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811512510.1A CN111311270A (zh) | 2018-12-11 | 2018-12-11 | 一种基于区块链查验电子发票的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111311270A true CN111311270A (zh) | 2020-06-19 |
Family
ID=71148560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811512510.1A Pending CN111311270A (zh) | 2018-12-11 | 2018-12-11 | 一种基于区块链查验电子发票的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311270A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106952124A (zh) * | 2017-03-16 | 2017-07-14 | 北京牛链科技有限公司 | 基于分布式记账的电子发票管理系统和方法 |
WO2017191472A1 (en) * | 2016-05-05 | 2017-11-09 | Invasec Ltd. | A verification system and method |
WO2018106187A1 (en) * | 2016-12-06 | 2018-06-14 | Vesl Pte. Ltd. | System and method for reducing fraud in trade insurance and financing |
CN108648066A (zh) * | 2018-04-28 | 2018-10-12 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链的发票管理系统及方法 |
CN108830600A (zh) * | 2018-06-19 | 2018-11-16 | 方欣科技有限公司 | 一种基于区块链的电子发票系统及实现方法 |
CN108922012A (zh) * | 2018-07-11 | 2018-11-30 | 北京大账房网络科技股份有限公司 | 基于区块链技术不泄露原始信息的发票查验方法 |
CN108961030A (zh) * | 2018-08-15 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、系统、介质和设备 |
-
2018
- 2018-12-11 CN CN201811512510.1A patent/CN111311270A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017191472A1 (en) * | 2016-05-05 | 2017-11-09 | Invasec Ltd. | A verification system and method |
WO2018106187A1 (en) * | 2016-12-06 | 2018-06-14 | Vesl Pte. Ltd. | System and method for reducing fraud in trade insurance and financing |
CN106952124A (zh) * | 2017-03-16 | 2017-07-14 | 北京牛链科技有限公司 | 基于分布式记账的电子发票管理系统和方法 |
CN108648066A (zh) * | 2018-04-28 | 2018-10-12 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链的发票管理系统及方法 |
CN108830600A (zh) * | 2018-06-19 | 2018-11-16 | 方欣科技有限公司 | 一种基于区块链的电子发票系统及实现方法 |
CN108922012A (zh) * | 2018-07-11 | 2018-11-30 | 北京大账房网络科技股份有限公司 | 基于区块链技术不泄露原始信息的发票查验方法 |
CN108961030A (zh) * | 2018-08-15 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 关于电子票据的数据处理方法、装置、系统、介质和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110473105B (zh) | 一种区块链交易结算方法、系统及相关设备 | |
CN109819443B (zh) | 基于区块链的注册认证方法、装置及系统 | |
CN109639410B (zh) | 基于区块链的数据存证方法及装置、电子设备 | |
CN111080295B (zh) | 一种基于区块链的电子合同处理方法以及设备 | |
CN110677376B (zh) | 认证方法、相关设备和系统及计算机可读存储介质 | |
CN112508578B (zh) | 基于区块链的资源转移请求验证、发送方法及装置 | |
CN112000744B (zh) | 一种签名方法及相关设备 | |
CN111753014B (zh) | 基于区块链的身份认证方法及装置 | |
KR102227578B1 (ko) | 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말 | |
CN111314172A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN111325585A (zh) | 一种资产转移方法、装置及计算机可读存储介质 | |
CN111461799B (zh) | 数据处理方法、装置、计算机设备及介质 | |
CN110674531A (zh) | 基于区块链的居住信息管理方法、装置、服务器及介质 | |
CN114003925A (zh) | 一种基于区块链的签名结合在线申报方法及系统 | |
CN114024723B (zh) | 基于esop系统的线上签署方法及装置、设备、介质 | |
CN106656507A (zh) | 一种基于移动终端的电子认证方法及装置 | |
CN113656497A (zh) | 一种基于区块链的数据验证方法和装置 | |
CN106209751A (zh) | 基于操作系统授权证书的面向服务的接口认证方法 | |
CN109660357A (zh) | 数字资产注册方法、验证方法、装置、设备及存储介质 | |
CN111311270A (zh) | 一种基于区块链查验电子发票的方法及装置 | |
CN111724168B (zh) | 基于区块链的交易验证方法、装置、电子设备和介质 | |
CN114387137A (zh) | 基于区块链的电子合同签署方法、装置、设备及存储介质 | |
CN113051623A (zh) | 一种数据处理方法、装置和电子设备 | |
CN112036884A (zh) | 一种签名方法及相关设备 | |
CN112862466A (zh) | 一种资源转移的方法及结账终端、服务器节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |