CN110659906B - 票据信息处理方法、相关设备及介质 - Google Patents
票据信息处理方法、相关设备及介质 Download PDFInfo
- Publication number
- CN110659906B CN110659906B CN201910897927.2A CN201910897927A CN110659906B CN 110659906 B CN110659906 B CN 110659906B CN 201910897927 A CN201910897927 A CN 201910897927A CN 110659906 B CN110659906 B CN 110659906B
- Authority
- CN
- China
- Prior art keywords
- information
- block
- script
- terminal
- bill
- 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.)
- Active
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了一种票据信息处理方法、相关设备及介质,其中,方法包括:获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;根据第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含票据信息的目标区块;所述初始区块为票据信息所在的区块;获取脚本签名信息对应的待签名字符串,将待签名字符串返回给所述第一终端,以使第一终端通过所述第一用户的私钥信息对待签名字符串进行签名,得到与票据信息相关联的第一解锁脚本;接收第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将目标区块写入所述区块链。本申请实施例可以降低终端的计算难度,并可以提高上链的效率。
Description
技术领域
本申请涉及互联网技术领域,具体涉及票据信息处理方法、相关设备及一种计算机存储介质。
背景技术
消费者在完成一笔数据交互业务时,可以向开票企业请求获取与该数据交互业务对应的电子票据。此时,开票企业可以根据该数据交互业务向区块链请求将该电子票据信息进行上链处理。
然而,现有技术在对票据信息进行上链的过程中,目标对象(比如,开票企业)所对应的终端需要在本地预先准备好待上链的票据信息,并在本地计算该待上链的票据信息的哈希值,进而可以在本地将对这个票据信息的哈希值进行签名后的签名信息、待上链的票据信息、以及该开票企业的公钥信息一并打包提交至区块链进行上链处理。由此可见,目标对象所对应的终端在将票据信息进行上链处理的过程中,需要在本地消耗较多的计算资源,即存在本地计算难度较大的现象,以至于降低了对票据信息进行上链的效率。
申请内容
本申请实施例提供了一种票据信息处理方法、相关设备及介质,可以降低终端的计算难度,并可以提高对数据进行上链的效率。
本申请一方面提供了一种票据信息处理方法,所述方法应用于区块链中的轻节点,包括:
获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;
获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
其中,所述方法还包括:
获取所述第一终端基于数据交互业务发起的票据开具请求;所述票据开具请求中携带与所述第一用户具有关联关系的票据关键信息;
基于所述票据关键信息生成所述数据交互业务对应的票据信息;
为所述票据信息分配唯一识别码,将具有唯一识别码的票据信息返回至所述第一终端。
其中,所述根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块,包括:
根据所述第一上链请求生成所述票据信息对应的初始区块;所述初始区块中包含所述票据信息的数据交互信息以及所述数据交互信息对应的脚本签名信息;
通过隔离见证算法对所述初始区块中的所述脚本签名信息进行隔离;
生成所述脚本签名信息对应的指针信息,将所述指针信息添加至隔离后的初始区块中;
将所述隔离后的初始区块作为所述票据信息的目标区块。
其中,所述轻节点所在的区块链系统中包含多个共识节点;
所述接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链,包括:
接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,从所述第二上链请求中获取所述第一解锁脚本;
将所述目标区块和所述第一解锁脚本广播至所述区块链中的每个共识节点,以使所述每个共识节点在获取到第一锁定脚本时,通过所述第一锁定脚本验证所述第一解锁脚本的合法性;所述第一锁定脚本是根据所述第一用户的公钥信息对所述票据信息进行锁定后所得到的;
在所述多个共识节点中存在超过共识阈值的共识节点达成共识时,将所述目标区块写入所述区块链。
其中,所述方法还包括:
生成所述票据信息对应的上链完成结果,将所述上链完成结果通知到所述第一终端;所述上链完成结果用于指示所述第一用户具备转移所述票据信息的权限。
其中,所述上链完成结果中至少包含以下查询关键信息:所述目标区块的块高和所述目标区块的区块哈希值;
所述方法还包括:
获取所述第一终端基于所述数据交互业务发起的票据查找请求;
基于所述票据查找请求从所述区块链上查找与所述目标区块的块高和所述目标区块的区块哈希值相同的区块;
从查找到的区块中获取所述票据信息;
将所述票据信息输出至所述第一终端。
其中,所述方法还包括:
将所述目标区块中的所述票据信息作为所述第一用户的数字资产;
根据所述第一用户的区块链地址信息、第二用户的区块链地址信息,对所述数字资产执行资产流转操作,得到资产流转信息;
通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链。
其中,所述通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链,包括:
通过所述第二用户的公钥信息对所述数字资产进行锁定,得到与所述第二用户相关联的第二锁定脚本,将所述第二锁定脚本存储至所述第二用户的区块链地址信息;
获取与所述第二用户的私钥信息具有关联关系的第二解锁脚本;
通知所述区块链中的所有共识节点通过所述第二解锁脚本对所述锁定脚本进行验证,
在验证成功时,将所述资产流转信息所对应的区块作为所述区块链的目标区块的下一区块。
本申请一方面提供了一种票据信息处理方法,所述方法应用于第一终端,包括:
响应第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点,以使所述轻节点获取脚本签名信息信息对应的待签名字符串;所述脚本签名信息为对初始区块中的脚本签名信息进行隔离后所得到的;所述初始区块为基于所述票据信息所生成的区块;
接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
响应针对所述第一解锁脚本发送的第二上链请求,将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点,以使所述轻节点将与所述初始区块相关联的目标区块写入所述区块链。
本申请一方面提供了一种票据信息处理装置,所述票据信息处理装置应用于区块链中的轻节点,包括:
第一请求获取模块,用于获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
脚本隔离模块,用于根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;
字符串获取模块,用于获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
第二请求获取模块,用于接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
其中,所述装置还包括:
票据开具模块,用于获取所述第一终端基于数据交互业务发起的票据开具请求;所述票据开具请求中携带与所述第一用户具有关联关系的票据关键信息;
票据生成模块,用于基于所述票据关键信息生成所述数据交互业务对应的票据信息;
识别码分配模块,用于为所述票据信息分配唯一识别码,将具有唯一识别码的票据信息返回至所述第一终端。
其中,所述脚本隔离模块包括:
初始区块生成单元,用于根据所述第一上链请求生成所述票据信息对应的初始区块;所述初始区块中包含所述票据信息的数据交互信息以及所述数据交互信息对应的脚本签名信息;
签名隔离单元,用于通过隔离见证算法对所述初始区块中的所述脚本签名信息进行隔离;
指针添加单元,用于生成所述脚本签名信息对应的指针信息,将所述指针信息添加至隔离后的初始区块中;
目标区块确定单元,用于将所述隔离后的初始区块作为所述票据信息的目标区块。
其中,所述轻节点所在的区块链系统中包含多个共识节点;
所述第二请求获取模块包括:
请求接收单元,用于接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,从所述第二上链请求中获取所述第一解锁脚本;
广播单元,用于将所述目标区块和所述第一解锁脚本广播至所述区块链中的每个共识节点,以使所述每个共识节点在获取到第一锁定脚本时,通过所述第一锁定脚本验证所述第一解锁脚本的合法性;所述第一锁定脚本是根据所述第一用户的公钥信息对所述票据信息进行锁定后所得到的;
共识单元,用于在所述多个共识节点中存在超过共识阈值的共识节点达成共识时,将所述目标区块写入所述区块链。
其中,所述装置还包括:
上链结果生成模块,用于生成所述票据信息对应的上链完成结果,将所述上链完成结果通知到所述第一终端;所述上链完成结果用于指示所述第一用户具备转移所述票据信息的权限。
其中,所述上链完成结果中至少包含以下查询关键信息:所述目标区块的块高和所述目标区块的区块哈希值;
所述装置还包括:
票据查询请求模块,用于获取所述第一终端基于所述数据交互业务发起的票据查找请求;
区块查找模块,用于基于所述票据查找请求从所述区块链上查找与所述目标区块的块高和所述目标区块的区块哈希值相同的区块;
票据获取模块,用于从查找到的区块中获取所述票据信息;
票据输出模块,用于将所述票据信息输出至所述第一终端。
其中,所述装置还包括:
资产确定模块,用于将所述目标区块中的所述票据信息作为所述第一用户的数字资产;
资产流转模块,用于根据所述第一用户的区块链地址信息、第二用户的区块链地址信息,对所述数字资产执行资产流转操作,得到资产流转信息;
流转上链模块,用于通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链。
其中,所述流转上链模块包括:
票据锁定单元,用于通过所述第二用户的公钥信息对所述数字资产进行锁定,得到与所述第二用户相关联的第二锁定脚本,将所述第二锁定脚本存储至所述第二用户的区块链地址信息;
解锁脚本获取单元,用于获取与所述第二用户的私钥信息具有关联关系的第二解锁脚本;
脚本验证单元,用于通知所述区块链中的所有共识节点通过所述第二解锁脚本对所述锁定脚本进行验证,
流转上链单元,用于在验证成功时,将所述资产流转信息所对应的区块作为所述区块链的目标区块的下一区块。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种票据信息处理装置,所述票据信息处理装置应用于第一终端,包括:
第一请求发送模块,用于响应第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点,以使所述轻节点获取脚本签名信息信息对应的待签名字符串;所述脚本签名信息为对初始区块中的脚本签名信息进行隔离后所得到的;所述初始区块为基于所述票据信息所生成的区块;
字符串接收模块,用于接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
第二请求发送模块,用于响应针对所述第一解锁脚本发送的第二上链请求,将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点,以使所述轻节点将与所述初始区块相关联的目标区块写入所述区块链。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
在本申请实施例中,区块链中的轻节点可以用于获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;进一步的,该轻节点可以根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;进一步的,该轻节点可以获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;进一步的,该轻节点可以接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。由此可见,本申请实施例通过对包含票据信息的初始区块中的脚本签名信息进行数据隔离,可以将票据信息中的脚本签名信息独立出来,比如,可以将脚本签名信息存放在区块链上,从而可以在区块链上预先计算得到脚本签名信息对应的待签名字符串,进而可以有效地缩减终端计算哈希值的难度。应当理解,本申请实施例通过预先在区块链中计算得到的待签名的哈希值(即待签名字符串),可以快速将该待签名字符串返回给第一终端,以使第一终端可以快速得到与该第一用户相关联的第一解锁脚本,进而可以在第一终端发起第二上链请求时,触使该轻节点对该第一解锁脚本进行隔离验证,并可以在隔离验证通过时,准许该轻节点将该目标区块写入区块链,以提高上链的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络拓扑结构的结构示意图;
图2是本申请实施例提供的一种进行两阶段上链的场景示意图;
图3是本申请实施例提供的一种票据信息处理方法的流程示意图;
图4是本申请实施例提供的一种电子票据在不同流转阶段中分别进行资产转移的示意图;
图5是本申请实施例提供的一种进行数据隔离的示意图;
图6是本申请实施例提供的一种获取待签名字符串的场景示意图;
图7是本申请实施例提供的另一种票据信息处理方法;
图8是本申请实施例提供的一种进行两阶段上链的场景示意图;
图9是本申请实施例提供的一种区块结构(Block Structure)的示意图;
图10是本申请实施例提供的一种票据信息处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的示意图;
图12是本申请实施例提供的另一种票据信息处理装置;
图13是本申请实施例提供的另一种计算机设备的示意图;
图14是本申请实施例提供的一种票据数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,本申请所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种区块链网络拓扑结构的结构示意图。如图1所示的区块链网络拓扑结构可以应用于电子票据的数据处理系统,该电子票据的数据处理系统可以为图1所示的票据信息处理系统100。可以理解的是,本申请实施例涉及的票据信息处理系统100可以是由客户端、多个节点(接入该区块链网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
可以理解的是,本申请实施例可以将该分布式系统中的多个节点中的任意一个节点作为轻节点,为需要接入该区块链网络中的第一终端所对应的角色(即第一用户)提供接入服务,即该轻节点可以通过网络与该第一终端进行数据交互。为便于理解,本申请实施例以与该第一终端进行数据交互的节点为节点101为例,以阐述针对电子票据中的票据信息执行两阶段上链的具体过程。
其中,本申请实施例中的多个节点可以具体包含图1所示的节点101,节点102,节点103,节点104,以及尚未在图1中所示出的其它节点。此外,本申请实施例中的客户端(可以理解为一种目标应用程序,简称目标应用)可以运行于图1所示的第一用户所使用的用户终端(即第一终端)中,通过该客户端可以允许第一终端通过相应的网络与该票据信息处理系统100中的节点101进行数据交互。
其中,可以理解的是,本申请实施例可以将该分布式系统称之为区块链系统,还可以称之为数据共享系统。在该区块链系统中,可以将与第一终端具有网络连接关系的节点(即节点101,也可以称之为节点设备101)称之为该区块链中的轻节点,该轻节点也可以称之为钱包节点。应当理解,本申请实施例还可以将与该轻节点具有点对点网络连接关系的节点统称为共识节点,比如,可以将节点102、节点103、节点104等节点称之为该区块链系统中的共识节点。其中,应当理解,如图1所示的多个节点之间可以组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。
应当了理解,在一个实施例中,该轻节点可以为该区块链系统中的区块链节点基于共识机制所选举得到的领导节点,此时,本申请实施例可以进一步将该区块链系统中的与该领导节点具有网络连接关系的用于进行共识验证的其他共识节点称之为从节点。
应当理解,在分布式系统(即图1所示的票据信息处理系统100)中,任何机器如服务器、终端都可以加入而成为节点,且一个节点可以对应一个角色(也可以称之为一个对象)。换言之,该票据信息处理系统100可以用于为加入该区块链系统中的角色提供相应的接入接口。比如,可以针对税局(即税务局)、开票企业、消费者以及报销企业等角色分别提供相应的接入接口。比如,税局中的税务人员可以通过浏览器中的目标网页页面访问相应的节点,又比如,消费者在通过目标应用完成数据交互业务时,可以进一步通过该目标应用所提供的子应用程序(例如,嵌入在微信应用中的小程序等)访问相应的节点等。其中,可以理解的是,每个节点均可以包括硬件层、中间层、操作系统层和应用层。
其中,可以理解的是,本申请实施例中的每个角色在对某个数据交互业务所产生的电子票据中的票据信息执行相应操作行为(例如,票据开具、票据查询、票据流转)时,均可以将相应操作行为所对应的记录信息通过两阶段上链的方式写入区块链。
其中,本申请实施例在将相应阶段中的票据信息写入区块链之前,可以将整个待签名字符串的生成过程放在区块链上去执行,即可以为每个角色提供统一的接口,从而可以解决不同角色作为上链发起方时所产生的数据结构不同的问题,从而可以有效地降低与上链发起方相关联的终端在本地进行哈希计算的技术难度。可以理解的是,本申请实施例中的每个角色均可以统称为与该相应节点设备具有关联关系的实体。
可以理解的是,本申请实施例通过隔离见证算法可以将整个待签名字符串的生成过程放在区块链上的区块链节点(例如,轻节点)中去执行,从而可以在上链发起方所在的本地终端计算哈希值之前,预先计算好相应票据信息的脚本签名信息所对应的待签名字符串,可以理解的是,该待签名字符串可以用于指示第一终端通过第一用户的私钥信息对其进行签名,以确保后续对与第一用户相关联的解锁脚本进行隔离验证时,可以有效地确保发起当前两阶段上链请求的上链发起方的真实性和可靠性。
比如,对于消费者(即第二用户)通过目标页面(比如,微信应用中的购票页面)购买虚拟物品(例如,从X地到Y地的乘车产品A)所产生的交易行为信息A而言,第一用户(即开票企业)所对应的第一终端可以在接收到该消费者发起的票据获取指令时,生成该交易行为信息A对应的票据开具请求,并将该票据开具请求给到与该第一终端具有网络连接关系的区块链中的相应节点,以使该区块链中的相应节点可以基于该交易行为信息A生成电子票据,并可以将该电子票据中的票据信息返回给第一终端。此时,第一终端可以基于该电子票据中的票据信息进行两阶段上链处理,以通过两阶段上链的方式确保数据上链的效率。
其中,可以理解的是,该票据开具请求中可以携带与所述第一用户具有关联关系的票据关键信息,比如,可以携带第一用户所在企业的企业名称以及企业纳税人识别号等,还可以携带第二用户的关联数据信息,比如,第二用户所在企业的企业名称以及纳税人识别号等,还可以携带相应的数据交互信息,比如,交易产品名称、参与交易的交易双方的个人账户信息以及交易过程中的电子资源转移量等。这里将不对该票据信息中的具体内容进行限制。
可以理解的是,换言之,开票企业在给消费者开具电子发票、并将电子发票上链到区块链的过程中可以具体包含两个阶段。其中,一个阶段用于通过隔离见证算法在区块链中将计算得到的待签名字符串返回给第一终端,以降低第一终端在本地计算的难度;另一个阶段用于将通过第一用户的私钥信息进行签名所得到解锁脚本(即图2所示的解锁脚本A),在区块链网络中进行公开,以使区块链网络中的其他节点(比如,共识节点)可以对该解锁脚本A进行隔离验证,进而可以在隔离验证成功时将与该票据信息相关联的目标区块(例如,区块(N+1))写入区块链。
为便于理解,进一步地,请参见图2,是本申请实施例提供的一种进行两阶段上链的场景示意图。其中,如图2所示的区块链系统中可以包含多个节点,具体可以包含图2所示的轻节点和图2所示的多个共识节点,所述多个共识节点可以具体包含图2所示的共识节点1,…,共识节点2,共识节点3。本申请实施例可以将图2所示的轻节点和图2所示的多个共识节点统称为区块链系统中的区块链节点(简称为节点)。
应当理解,图2所示的区块链系统中的节点可以是指数据共享系统中运行客户端的终端设备,也可以是指与客户端对应的服务设备,这里将不对其进行限制。可以理解的是,每个节点在进行正常工作时,均可以接收到输入信息,并可以基于接收到的输入信息维护该区块链系统内的共享数据,比如,图2所示的多个节点均可以用于维护同一条区块链中的共享数据。
其中,图2所示的区块链1可以由多个区块组成,比如,可以由图2所示的区块1、…、区块(N-1)、区块N等N个区块组成。其中,N可以为大于1的正整数。其中,区块1可以为创世纪区块,此时,区块N可以为该区块链1中目前具有最大时间戳的区块。
可以理解的是,当图2所示的轻节点在获取到与该第一用户(即开票企业)相关联的锁定脚本(例如,在发行数字资产(比如,开票阶段中的票据信息)时,可以通过开票企业的公钥信息计算得到的与该开票企业相关联的锁定脚本B),可以通过锁定脚本B验证图2所示的解锁脚本A。应当理解,图2所示的轻节点可以在获取到解锁脚本A时,通过共识算法将该解锁脚本A广播至与该轻节点具有关联关系的所有的共识节点(即图2所示的共识节点1、…、共识节点2和共识节点3),进而可以在超过一半的共识节点达成共识时,允许图2所示的轻节点将上述目标区块(即区块(N+1))写入图2所示的区块链1。可以理解的是,该轻节点在完成两阶段上链时,可以生成图2所示的上链完成结果,从而可以将该上链完成结果返回给图2所示的第一终端。
可以理解的是,该轻节点还可以在验证成功时,将与该交易行为信息A对应的电子票据中的票据信息流转至消费者,即可以通过消费者的公钥信息在该开票阶段中将票据信息进行锁定,与得到与该消费者相关联的锁定脚本(比如,锁定脚本C),从而可以使消费者在报销阶段中可以通过自己的私钥信息生成解锁脚本(即解锁脚本D),以将基于获取到的票据信息作为自己的数字资产以进一步进行票据报销业务。应当理解,在报销阶段中的消费者将该票据信息提交至报销企业(即该消费者所属的企业)的具体过程中也会包含上述两阶段上链过程,换言之,该区块链系统中的每个角色在针对该票据信息执行相应业务处理操作时,均会记录相应业务操作所对应的记录数据(即记录信息)。比如,在该区块链所对应的区块链系统为票据信息处理系统时,该区块链可以用于记录开票企业在发行资产过程中的资产发行记录,还可以用于记录该消费者在资产报销过程中的资产流转记录(也可以称之为资产报销记录),还可以记录报销企业在资产上税过程中的资产上税记录。
其中,可以理解的是,在资产发行过程中,本申请实施例可以将通过开票企业的私钥信息所计算得到的解锁脚本A称之为第一解锁脚本,并将通过该开票企业的公钥信息所计算得到的锁定脚本称之为第一解锁脚本。为便于进行区别,该开票企业在将该票据信息流转至消费者的过程中,还会通过消费者的公钥信息对该票据信息进行锁定(即可以在开票阶段得到第二锁定脚本),以便于后续消费者在启动票据流转流程时,可以通过自己的私钥信息对该锁定的票据信息进行解锁,以在报销阶段得到第二解锁脚本,从而可以通过在开票阶段所得到的第二锁定脚本对该在报销阶段所得到的第二解锁脚本进行隔离验证,且可以在验证成功之后,进一步将该票据信息流转至报销企业,启动后续的流程。
其中,该轻节点根据第一上链请求获取待签名字符串以及根据第二上链请求验证第一解锁脚本的具体实现方式可以参见本申请实施例中的图3-图9所对应实施例的描述。
进一步地,请参见图3,是本申请实施例提供的一种票据信息处理方法的流程示意图。所述方法可以应用于区块链中的轻节点,所述方法具体可以包含以下步骤S101-步骤S104。
步骤S101,获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
其中,应当理解,本申请实施例可以将区块链系统中与第一用户对应的第一终端具有关联关系的区块链节点(即节点)统称为轻节点,该轻节点可以为上述图2所对应实施例中的轻节点。换言之,这里的轻节点是指可以用于提供一种基于区块链的票据信息处理方案的节点(也可以称之为节点设备),该轻节点可以用独立的服务器或者是多个服务器所组成的服务器集群来实现,这里将不对其进行限制。该票据信息处理方案可以利用区块链的去中介化特性,有效地确保上链前所得到的与数据交互业务相关联的电子票据中的票据信息的真实性和可靠性。
其中,可以理解的是,本申请实施例中的电子票据可以为消费者在目标应用中向商户购买相应虚拟物品(比如,虚拟资产)时,商户针对该虚拟物品相关联的支付业务(即数据交互业务),向区块链中的轻节点发送票据开具请求之后所得到的区块链电子发票。本申请实施例中的目标应用可以为具有电子资源支付功能的应用,比如,该目标应用可以至少包含以下具有支付功能的应用:微信应用、QQ应用、娱乐应用(例如,王者荣耀等游戏应用)。
其中,应当理解,本申请实施例在通过目标应用购买虚拟物品时,可以通过将发票开具与线上支付相结合的方式,实现链外支付和链上交易的流程闭环。其中,所述虚拟物品可以包含虚拟的生活物品(例如,手机、电脑等电子产品)、游戏物品(如游戏币、游戏装备等)等,这里将不对其进行限制。
其中,链外支付是指采用区块链以外的电子资源进行数据交互业务(即支付业务)。应当理解,该支付业务可以具体包含但不限于游戏应用场景下针对游戏物品(如游戏币、游戏装备等)所执行的数据交互业务。此处的电子资源是指用于购买虚拟物品的资金,即购买虚拟物品所需要的电子资源转移量。该电子资源至少可以包括法币、电子货币等;所谓法币是指一种以法律形式赋予其强制流通使用的货币,如人民币、美元等;所谓电子货币是指以电子形式存储在用户所持有的电子钱包(如QQ钱包、微信钱包等)中的数字货币。此处的数字资产可包括但不限于:与上述数据交互业务具有关联关系的电子票据等。
其中,链上交易是指可以在区块链网络中发起针对数字资产(即可以将上述支付业务对应的电子票据称之为虚拟资产)的交易,比如,可以在区块链网络中进行数字资产的转移以及数字资产的流转状态的查询。此处的数字资产的转移可以包括但不限于:与上述数据交互业务具有关联关系的电子票据的流转。
其中,区块链中的区块链节点(即轻节点)可以为相应数据交互业务相关联的电子票据分别分配唯一识别码,该唯一识别码具体可以包含用于唯一标识该电子票据的票据代码和票据号码。即通过该唯一识别码可以帮助票据信息处理系统中的税务局快速查询到该电子票据在整个生命周期内进行资产流转的情况。其中,该电子票据的整个生命周期具体可包括开票阶段、报销阶段和报税阶段。
应当理解,本申请实施例在将处于不同流转阶段中的票据信息分别写入区块链之前,为避免不同流转阶段中所涉及到的票据信息的来源方(即第一用户)所提交的交易信息(即电子票据中的票据信息)的数据结构不同的现象,本申请实施例考虑采用隔离见证的方式将不同流转阶段中与来源方相关联的交易信息(即票据信息)中的脚本签名信息进行隔离处理,以在票据来源方所对应的终端(即第一终端)在本地计算票据信息中的数据交互信息的哈希值之前,预先在区块链节点(即轻节点)中计算得到脚本签名信息对应的待签名字符串,以执行第一阶段的票据信息的处理。换言之,本申请实施例可以在执行完上述步骤S101之后,进一步执行步骤S102,以通过隔离见证算法对上述票据信息中的数据交互信息和脚本签名信息进行数据隔离,以降低第一终端在本地计算哈希值的难度。
为便于理解,进一步地,请参见图4,是本申请实施例提供的一种电子票据在不同流转阶段中分别进行资产转移的示意图。其中,如图4所示的开票阶段20a是指开票方(即图4所示的开票企业A)可以根据票据关键信息生成电子票据的阶段。当电子票据经历过开票阶段20a之后,与该开票企业相关联的区块链节点(例如,图4所示的节点1)会将表示电子票据处于已开具状态的票据状态添加至票据信息,并为该票据信息相关联的电子票据分配唯一识别码中,并将在该开票阶段20a中所得到的电子票据返回给第一终端,即图4所示的开票企业A可以收到区块链中的节点1所开具的具有唯一识别码的电子票据。
其中,应用理解,开票企业A在将具备已开具状态的电子票据流转至消费者之前,需要将该开票阶段20a中的票据信息通过两阶段上链的方式写入区块链,从而可以在上链成功之后,以实现链上数字资产的转移。此时,本申请实施例可以将开票企业A作为第一用户,并通过该第一用户的第一终端(此时,第一终端为开票终端)向节点1(此时,该节点1可以为开票阶段的轻节点)发送第一阶段的上链请求。可以理解的是,本申请实施例可以将向节点1所发送的第一阶段的上链请求称之为第一上链请求,从而可以基于该第一上链请求进一步执行步骤S102-步骤S104,即可以使该开票阶段中的轻节点基于该第一上链请求在区块链上生成脚本签名信息对应的待签名字符串。
其中,可以理解的是,与该开票企业A相关联的节点1在获取到第一上链请求时,可以获知在开票阶段20a的票据信息的来源方为开票企业A,并可以使用该开票企业A的私钥信息在开票终端中快速构建得到针对该开票阶段20a的票据信息的解锁脚本,以便于后续在接收到第二阶段的上链请求(即第二上链请求)时,该节点1可以将与该开票企业A相关联的解锁脚本在该区块链上进行公开,以使与该节点1相关联的其它共识节点可以通过与该开票企业A相关联的锁定脚本对该解锁脚本进行隔离验证,以在隔离验证所得到的隔离验证结果为真时,该节点1可以将在该开票阶段20a的票据信息中的数据交互信息所在的目标区块写入区块链。
其中,可以理解的是,共识节点可以通过接收由节点1所公开的与该开票企业A相关联的解锁脚本,验证在该开票阶段20a的票据信息的来源方的真实性,从而可以在成功验证与该开票企业A相关联的解锁脚本时,向节点1返回验证值为真的隔离验证结果,此时,节点1可以将该开票信息中的数据交互信息所在的目标区块写入区块链。
同理,在图4所示的报销阶段20b,票据信息的来源方可以为图4所示的消费者(也可以是用于为消费者B提供电子票据存储服务的电子票据终端,比如,图2所示的第二终端)。此时,在该报销阶段20b的第二终端可以作为新的第一终端,以便于该新的第一终端可以通过两阶段上链的方式将该报销阶段20b中的票据信息写入区块链。应当理解,如图4所示的节点1和节点2之间可以通过链上资产流转的方式(即图4所示的资产流转1)进行票据流转,以使图4所示的第二终端(即与消费者B对应的终端)可以得到在前述开票阶段20a中所开具的电子票据,并基于该得到的电子票据中的票据信息发起新一轮的两阶段上链。
其中,如图4所示的报销阶段20b是指消费者B可以根据得到的电子票据向图4所示的报销企业(比如,该消费者B所属的企业)申请核销的阶段,当报销企业核对该电子票据中的票据信息之后,会根据电子票据中的电子资源转移数量向消费者B转移相应数量的电子资源,比如,可以通过链外支付的方式向消费者B转移相应数量的电子资源。可以理解的是,当电子票据经历过报销阶段20b之后,与该消费者B相关联的区块链节点(例如,节点2)会将表示电子票据处于已报销状态的票据状态添加至票据信息中,以启动另一个新一轮的两阶段上链方式将该报销阶段20b中的票据信息写入区块链中。
其中,以此类推,如图4所示的报税阶段20c是指报销企业可以根据电子票据进行相应报税的阶段。当报销企业完成纳税之后,与该报销企业相关联的区块链节点(即节点3)会将表示电子票据处于已报税状态的票据状态添加至票据信息中,进而可以将报销企业所对应的终端作为该报税阶段20c中的第一终端,以启动新一轮的两阶段上链方式将该报税阶段20c中的票据信息写入区块链中。
应当理解,可选地,图4所示的开票企业也可以根据电子票据进行相应报税的阶段。当开票企业作为纳税企业,且完成纳税后,与该开票企业相关联的区块链节点(即前述节点1)会将表示电子票据处于已报税状态的票据状态添加至票据信息中。
其中,可以理解的是,在电子票据流转过程中的每个流转阶段,比如开票阶段、报销阶段和报税阶段,与各流转阶段对应的区块链节点(即前述与开票阶段对应的节点1、与报销阶段对应的节点2以及与上税节点对应的节点3)可以用于分别获取相应流转阶段中的票据信息。换言之,本申请实施例中的电子票据在相应流转阶段中的票据信息的票据状态可以是不同的,其中,票据信息的票据状态具体可以包括电子票据处于已开具状态的票据状态、电子票据处于已报销状态的票据状态和电子票据处于已报税状态的票据状态等。鉴于此,电子票据处于不同的流转阶段时,区块链节点所获取的电子票据的票据状态会有所不同,且不同流转阶段中的票据信息的来源方也会存在不同。
其中,为便于理解,本申请实施例以票据信息的来源方为开票企业为例,以阐述在开票阶段将开票企业所开具的电子票据中的票据信息进行两阶段上链的具体过程,此时,本申请实施例可以将在该开票阶段的节点1称之为轻节点,并将与该节点1相关联的开票企业A称之为第一用户。
步骤S102,根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块。
具体的,轻节点(也可以称之为上述钱包节点)可以根据所述第一上链请求生成所述票据信息对应的初始区块;所述初始区块中可以包含所述票据信息的数据交互信息以及所述数据交互信息对应的脚本签名信息;进一步地,轻节点可以通过隔离见证算法对所述初始区块中的所述脚本签名信息进行隔离;进一步地,轻节点可以生成所述脚本签名信息对应的指针信息,将所述指针信息添加至隔离后的初始区块中,此时,隔离后的初始区块中可以包含用于指向脚本签名信息的指针信息以及前述数据交互信息;进一步地,轻节点可以将所述隔离后的初始区块作为所述票据信息的目标区块。
其中,本申请实施例所描述的隔离见证就是把脚本签名(Sig)信息从基本结构(base block)里拿出来,放在一个新的数据结构当中。然后,做验证工作的节点(即轻节点以及矿工节点(即该轻节点所在区块链系统中的共识节点))会进一步验证这个新的数据结构里的脚本签名(即可以对获取到与第一用户相关联的解锁脚本进行验证),以确保交易是有效的,比如,在本申请实施例中可以通过与开票企业相关联的解锁脚本验证这笔交易是否是由票据信息的来源方所发起的。其中,本申请实施例可以将未做隔离见证的基本结构称之为初始区块,并可以将从该初始区块中取出脚本签名信息后所得到的新的数据结构称之为目标区块,换言之,本申请实施例可以通过隔离见证的方式对需要上链的数据区块的数据结构进行更改,以降低终端计算哈希值的难度。
应当理解,该初始区块可以包含一个区块头和一个区块体;该区块体可以包含一个用于标识该初始区块有多少笔交易的“交易数量”字段,还可以包含一笔一笔的交易。
其中,可以理解的是,在开票阶段所产生的每笔交易即为开票阶段中所开具的电子票据的票据信息,即本申请实施例中的每笔交易(即每个票据信息)都是由输入信息和输出信息两部分组成的。应当理解,区块体中还可以包含“版本号”、“锁定时间”、“输入数量”、“输出数量”等字段,以及每个输入信息和输出信息的详情。可以理解的是,每个输入信息中均可以包含一个解锁脚本,该解锁脚本中可以包含一个数字签名和一个公钥。此时,这个解锁脚本有一个很重要的作用,就是用来做验证,即可以验证初始区块中的相应交易是否由对应的开票企业发起的。比如,初始区块中可以包含多个交易(即包含多个票据信息,例如,票据信息1、票据信息2、…、票据信息3),每个交易(即票据信息)均是由不同的开票企业通过该轻节点所开具的。
为便于理解,进一步地,请参见图5,是本申请实施例提供的一种进行数据隔离的示意图。如图5所示的轻节点可以为区块链系统中能够提供开票服务的节点设备。如图5所示,该轻节点可以为图5所示的每个开票企业所对应的开票终端开具相应数据交互业务所对应的电子票据,并可以将相应的电子票据返回给相应开票企业。
其中,如图5所示的开票终端3000a可以为开票企业1所对应的开票终端,开票终端3000b可以为开票企业2所对应的开票终端,…,开票终端3000c可以为开票企业3所对应的开票终端。可以理解的是,本申请实施例可以将图5所示的开票终端3000a、开票终端3000b、…、开票终端3000c统称为开票阶段中的第一终端。应当理解,在预设的开票时长内与该轻节点相关联的第一终端可以包含一个或者多个开票终端,这里将不对其进行限制。可以理解的是,每个开票终端在获取到轻节点所开具的电子票据时,均可以将电子票据中的票据信息作为需要上链的交易信息。
可以理解的是,轻节点可以在预设的开票时长内,将获取到的交易信息打包成临时区块1,该临时区块1可以为图5所示的初始区块。如图5所示的初始区块中可以包含多个交易信息,所述多个交易信息可以为图5所示的票据信息1、票据信息2、…、票据信息3。
其中,可以理解的是,在该临时区块1中的每个交易信息中均可以包含脚本签名信息和数据交互信息。所以,如图所示的票据信息1中可以包含脚本签名信息1和数据交互信息1;如图所示的票据信息2中可以包含脚本签名信息2和数据交互信息2,以此类推,如图所示的票据信息3中可以包含脚本签名信息3和数据交互信息3,这里将不对获取到的交易信息进行一一列举。
如图5所示,为降低开票企业在本地终端通过自己的私钥信息对整个交易的哈希值进行哈希计算的难度,本申请实施例会将每个交易信息中的见证相关部分隔离出来,即可以从图5所示的初始区块中隔离出每个交易信息的脚本签名信息,并可以把这部分隔离出来的脚本签名信息放在与该开票企业具有关联关系的区块链节点(即轻节点)中,从而可以在轻节点中对该隔离出来的脚本签名信息进行哈希计算,以得到待签名字符串,进而可以继续执行步骤S103。
如图5所示,本申请实施例可以在将脚本签名信息隔离出来以后,生成相应脚本签名信息对应的指针信息,并将相应的指针信息添加至隔离后的初始区块中。比如,如图5所示,本申请实施例可以将与脚本签名信息1对应的指针信息1添加到初始区块中,并在初始区块中将数据交互信息1与该指针信息1进行关联。可以理解的是,该指针信息1可以用于指向轻节点中存在脚本签名信息1的存储地址信息。以此类推,该指针信息2可以用于指向轻节点中存在脚本签名信息2的存储地址信息,该指针信息3可以用于指向轻节点中存在脚本签名信息3的存储地址信息,这里将不再继续进行赘述。
由此可见,如图5所示,本申请实施例可以将进行数据隔离后的初始区块称之为临时区块2,该临时区块2可以为图5所示的目标区块,该目标区块中可以存储有指向相应交易的脚本签名信息的指针信息。
应当理解,本申请实施例中的轻节点在获取到上述第一上链请求时,可以将在开票阶段所开具的电子票据的票据信息所在的初始区块中的脚本签名(scriptSig)信息从基本结构(base block)里拿出来,形成一个新的数据结构。所以,本申请中的轻节点可以根据获取到的第一上链请求,快速在区块链中获取到相应票据信息的待签名字符串;此外,本申请实施例中的轻节点还可以在获取到第二上链请求时,快速将与该开票企业相关联的解锁脚本在区块链中进行公开,进而可以使得区块链中做验证工作的矿工节点可以验证这个解锁脚本,以确保需要上链的票据信息的有效性。
其中,所述初始区块可以为轻节点所接收到的票据信息所在的区块;可以理解的是,本申请实施例中可以将目标区块和初始区块统称为临时区块,且通过数据隔离,可以减小每笔交易信息的大小(即减小每笔交易信息所占用的数据量),从而可以让1M大的目标区块能容纳更多的交易信息,即本申请实施例通过进行数据隔离,可以有效地增加写入目标区块的交易信息的交易数量。
由此可见,为验证相应票据信息的来源方所发送的交易信息(即票据信息)的真实性,且降低相应开票终端在上链之前在本地计算哈希值的难度,本申请实施例可以通过隔离见证算法对该初始区块中的脚本签名信息进行隔离,从而可以基于隔离后的初始区块生成待写入区块链的目标区块。可以理解的是,该隔离后所得到的目标区块中包含能够指向相应脚本签名信息的指针信息。进一步地,轻节点在将目标区块写入区块链之前,可以在区块链中通过哈希算法对脚本签名信息的哈希值进行计算,并将哈希计算所得到的哈希值称之为待签名字符串,以进一步执行步骤S103,即该轻节点可以将待签名字符串返回至相应票据信息的来源方。比如,轻节点可以将与脚本签名信息1对应的待签名字符串返回给图5所示的开票终端3000a,将与脚本签名信息2对应的待签名字符串返回给图5所示的开票终端3000b,将与脚本签名信息3对应的待签名字符串返回给图5所示的开票终端3000c。
步骤S103,获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本。
其中,可以理解的是,由于区块链可以为加入该区块链中的每个角色分配一对密钥对(即一个公钥信息和一个私钥信息),且每个角色均可以通过相应的终端设备来分别存储各自的私钥信息。所以,在开票阶段的第一终端在接收到轻节点返回的待签名字符串之后,可以通过该第一用户(即开票企业)的私钥信息对该待签名字符串进行签名,以得到与票据信息相关联的第一解锁脚本。应当理解,本申请实施例中的第一解锁脚本可以用于指示轻节点在接收到第二上链请求时,可以通过与该开票企业相关联的锁定脚本对该第一解锁脚本进行验证,即可以进一步执行步骤S104。
其中,为便于理解,本申请实施例以单个开票终端作为第一终端为例,该第一终端可以为上述图5所示的开票终端3000。进一步地,请参见图6,是本申请实施例提供的一种获取待签名字符串的场景示意图。如图6所示的签名脚本信息1可以为与上述票据信息1具有关联关系的签名脚本信息。在开票阶段,由于票据信息1的来源方可以为上述图5所示的开票终端3000a,因此,轻节点在接收到开票终端3000a所发起的针对票据信息1的第一上链请求之后,可以基于所述第一上链请求获取与票据信息1相关联的脚本签名信息1。进一步地,该轻节点可以对获取到的脚本签名信息1进行哈希计算,以计算得到该脚本签名信息1对应的待签名字符串1。如图6所示,轻节点可以在获取到待签名字符串1时,进一步将该待签名字符串1返回给图6所示的开票终端3000a,以便于该开票终端3000a在接收到待签名字符串1时,可以通过该开票企业A(即第一用户)的私钥信息对该待签名字符串进行签名,并可以将签名结果和该开票企业的公钥信息一并作为与所述第一用户相关联的第一解锁脚本,以进一步执行步骤S104。
应当理解,对于图6所示的计算脚本签名信息2、…、脚本签名信息3分别对应的待签名字符串的具体实现方式,可以一并参见本申请实施例对计算与脚本签名信息1对应的待签名字符串1的具体过程的描述,这里将不继续进行赘述。
步骤S104,接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
如上述图6所示,开票终端3000a在生成第一解锁脚本之后,可以发起第二阶段的上链请求(即第二上链请求),此时,该轻节点可以通过第一解锁脚本中的公钥信息得到与该开票企业A相关联的第一锁定脚本。此时,该轻节点可以基于第一锁定脚本对第一解锁脚本进行隔离验证,以得到由该轻节点进行隔离验证所得到的隔离验证结果。此时,该隔离验证结果可以用于表征上述票据信息1的来源方是否为开票企业A。
应当理解,在一个实施例中,该轻节点还可以将将第一解锁脚本广播至该轻节点所在的区块链系统中的所有共识节点,以使这些共识节点可以进一步获取上述第一锁定脚本,并可以基于第一锁定脚本对该第一解锁脚本进行共识。
应当理解,在这些共识节点对该第一解锁脚本进行共识验证之后,可以将共识验证后所得到的共识结果返回给该轻节点,从而可以在该轻节点检测到这些共识节点中存在超过共识阈值的共识节点达成共识时,将上述目标区块写入所述区块链。
其中,可以理解的是,该第一锁定脚本是区块链节点(例如,轻节点)根据所述第一用户的公钥信息对所述票据信息进行锁定后所得到的脚本信息。对于上述目标区块中的输入信息而言,可以得到与每个开票企业相关联的第一锁定脚本,区块链中的这些区块链节点(即轻节点和共识节点)均可以基于这些第一锁定脚本对第一解锁脚本进行验证,即本申请实施例通过在区块链网络中公开这些票据信息对应的解锁脚本,进而可以验证该目标区块中的每笔交易信息(即需要上链的票据信息)的真实性和有效性,从而可以在确保这些票据信息的真实性的情况下,快速将该包含真实票据信息的目标区块写入区块链中,以提高数据上链的效率。
其中,应当理解,本申请实施例仅以各流转阶段中的开票阶段为例,以阐述将开票阶段中的票据信息写入区块链中的具体过程。应当理解,对于电子票据在整个生命周期中的其它节点而言,均可以通过两阶段上链的方式将该电子票据在不同流转阶段的交易信息打包生成新的目标区块,以将该新的目标区块添加至区块链中,从而可以确保票据信息处理系统中的税务局可以通过相应的节点(即上述图4所示的节点4)查询该电子票据在每个节点的流转情况,进而可以实现对票据信息的有效监管。
其中,应当理解,在该电子票据的整个生命周期内的不同流转阶段而言,票据信息的来源方是不相同的,即不同来源方均可以通过各自的私钥信息对相应节点所返回的待签名字符串进行签名,以得到与相应票据信息的来源方相关联的第一解锁脚本。此时,各流转阶段中的区块链节点均可以通过与相应票据信息的来源方相关联的锁定脚本对相应来源方所关联的解锁脚本进行隔离验证,并可以在验证通过后,将不同流转阶段中的目标区块写入区块链。应当理解,上述图4所示的税务局能够在区块链中通过不同阶段所生成的目标区块的哈希值对该电子票据的票据状态进行有效地监控,以避免不报或者少报等现象。
本申请实施例通过对包含票据信息的初始区块中的脚本签名信息进行数据隔离,可以将票据信息中的脚本签名信息独立出来,比如,可以将脚本签名信息存放在区块链上,从而可以在区块链上预先计算得到脚本签名信息对应的待签名字符串,进而可以有效地缩减终端计算哈希值的难度。应当理解,本申请实施例通过预先在区块链中计算得到的待签名的哈希值(即待签名字符串),可以快速将该待签名字符串返回给第一终端,以使第一终端可以快速得到与该第一用户相关联的第一解锁脚本,进而可以在第一终端发起第二上链请求时,触使该轻节点对该第一解锁脚本进行隔离验证,并可以在隔离验证通过时,准许该轻节点将该目标区块写入区块链,以提高上链的效率。
进一步地,请参见图7,是本申请实施例提供的另一种票据信息处理方法,该票据信息处理方法可以由上述所提及的票据信息处理系统中的轻节点、第一终端共同执行。如图7所示,该票据信息处理方法可包括以下步骤S201-S213:
S201,轻节点获取所述第一终端基于数据交互业务发起的票据开具请求;
其中,所述票据开具请求中携带与所述第一用户具有关联关系的票据关键信息;
其中,所述数据交互业务可以为第一终端与第二终端之间进行所开展的交互业务,比如,在票据数据处理系统(即区块链系统)中的开票阶段,第一终端可以为开票企业所对应的开票终端,第二终端可以为消费者所使用的用于执行上述数据交互业务的用户终端。又比如,在该票据数据处理系统中的报销阶段,第一终端可以为消费者所使用的用户终端,此时,该消费者所使用的终端可以称之为报销终端(即新的第一终端),第二终端可以为该消费者所在的企业对应的报销核对终端(即新的第二终端)。
应当理解,区块链系统可以为加入该票据数据处理系统中的每个角色分配一个密钥对。此外,该区块链系统中的区块链节点可以为加入该区块链中的每个角色提供统一的接口服务,以解决票据信息的不同来源方(即发起方)在票据信息的流转过程中所产生的数据结构不同的现象。
其中,为便于理解,本申请实施例可以将区块链系统为第一用户所分配的密钥对称之为第一密钥对,将区块链系统为第二用户所分配的密钥对称之为第二密钥对。其中,该第一密钥对可以包括第一用户的公钥信息(即第一公钥)和第一用户的私钥信息(即第一私钥)。其中,该第二密钥对可以包括第二用户的公钥信息(即第二公钥)和第二用户的私钥信息(即第二私钥)。
其中,可以理解的是,第一公钥可以用于标识第一终端在区块链中的第一交易地址,该第一交易地址可以为第一用户的区块链地址信息。其中,第一私钥可以用于在第一终端中对需要上链的交易数据进行签名。需要说明的是,区块链网络中的交易地址是具有唯一性的,一个交易地址对应一个客户端(即一个角色,也可以称之为一个用户);也就是说,第一公钥可以用于标记第一终端所指示的第一用户的用户身份。以此类推,第二公钥可以用于标记第二终端所指示的第二用户的用户身份。
可选地,在另一种实施方式中,第一终端还可将用于存储上述电子资源的第一个人账户的账户信息(如个人账户号码、个人账户名等)上传至区块链网络,使得区块链网络中与该第一终端相关联的区块链节点(即轻节点)可以将该第一个人账户和第一公钥进行关联,以将该第一个人账户作为第一终端用于管理和支付电子资源的链下地址。依次类推,本申请实施例可以将第二个人账户作为第二终端用于管理和支付电子资源的链下地址。
步骤S202,轻节点可以基于所述票据关键信息生成所述数据交互业务对应的票据信息;
步骤S203,轻节点为所述票据信息分配唯一识别码,将具有唯一识别码的票据信息返回至所述第一终端。
需要说明的是,本申请实施例还可根据实际的业务需求将上述所提及的票据信息处理方法运用到不同的应用场景中,例如,游戏物品的交易场景、电子票据的交易场景、数字货币的交易场景,等等。为便于阐述,本申请实施例以将该票据信息处理方法运用到游戏物品(以游戏币为例)的交易场景中为例,对该票据信息处理方法的具体应用进行阐述,在此应用场景中,区块链网络中的数字资产可以为交易游戏物品之后所得到的交易凭证,该交易凭证可以等效为一种票据信息。
其中,可以理解的是,在第一终端与第二终端之间存在数据交互业务(比如,交易业务,也可以称之为支付业务)时,该票据关键信息可以包含第一用户的第一个人账户、第二用户的第二个人账户、第二用户针对该数据交互业务向第一用户所转移的电子资源的数据转移量。可与理解的是,在第二用户完成支付业务时,该第一用户可以通过轻节点为第二用户开具相应的支付凭证,该支付凭证即为本申请实施例中的具有唯一识别码的电子票据。其中,可以理解的是,本申请实施例通过该轻节点在区块链网络中开具电子票据,以避免电子票据的重复性开具等问题,进而可以有效地确保后续第一终端请求将电子票据中的票据信息写入区块链的成功率。
其中,为了避免第二终端在接收到虚拟物品(比如,游戏币)之后,使用该游戏币且不支付相应的电子资源给第一终端,从而造成第一终端损失虚拟物品的情况,本申请实施例可以通过链外支付的方式将第二终端的第二个人账户中相应数量的电子资源转给第一终端的第一个人账户。比如,可以在第二终端完成支付业务时,第一终端可以向第二终端返回支付凭证(即电子票据)。本申请实施例可以将该第一终端所获取到的电子票据作为数字资产,从而可以在将该电子票据中的票据信息成功写入区块链时,通过链上资产转移的方式将该数字资产从第一终端的第一交易地址转移至第二终端的第二交易地址,并通过第二公钥将该数字资产锁定在该第二终端的第二交易地址中,以确保第二终端后续可以通过自己的私钥信息对该锁定的电子票据进行解锁,以获得管理和支配该电子票据的权限。换言之,本申请实施例可以在第二终端的第二解锁脚本被公开之前,控制该数字资产锁定在第二终端的第二交易地址,此时,可以构建得到第二终端的第二锁定脚本,直到第二解锁脚本被该轻节点公开时,第二终端可以具备解锁该数字资产的资格,并可以得到购买游戏币时所开具的电子票据,从而可以在得到电子票据之后,进一步执行下述步骤S204-步骤S213。
步骤S204,响应第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点;
应当理解,第一终端在执行完步骤S204之后,轻节点可以获取到第一用户所对应的第一终端基于票据信息所发起的第一上链请求。
步骤S205,根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块。
其中,所述初始区块为所述票据信息所在的区块;
步骤S206,轻节点获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端。
步骤S207,第一终端接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述票据信息相关联的第一解锁脚本。
步骤S208,响应针对所述第一解锁脚本发送的第二上链请求,第一终端将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点。
步骤S209,接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
步骤S210,轻节点生成所述票据信息对应的上链完成结果,将所述上链完成结果通知到所述第一终端;所述上链完成结果用于指示所述第一用户具备转移所述票据信息的权限。
步骤S211,轻节点将所述目标区块中的所述票据信息作为所述第一用户的数字资产;
步骤S212,轻节点根据所述第一用户的区块链地址信息、第二用户的区块链地址信息,对所述数字资产执行资产流转操作,得到资产流转信息;
步骤S213,轻节点通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链。
具体的,轻节点可以通过所述第二用户的公钥信息(即第二公钥)对所述票据信息进行锁定,得到与所述第二用户相关联的第二锁定脚本,并将所述第二锁定脚本存储至所述第二用户的区块链地址信息(即上述第二交易地址)中;进一步地,轻节点可以获取与所述第二用户的私钥信息(即第二私钥)具有关联关系的第二解锁脚本,该第二解锁脚本为新的第一终端(即第二用户所对应的终端作为上述来源方)通过自己的私钥信息对待签名字符串进行签名后所得到的脚本信息。
进一步地,轻节点(此时,该轻节点可以为与第二终端具有关联关系的区块链节点)可以在获取到第二解锁脚本之后,将其在区块链网络中进行公开,即可以通知所述区块链中的所有共识节点通过所述第二解锁脚本对上述第二锁定脚本进行验证,进一步地,轻节点可以在确定验证成功时,将所述资产流转信息所对应的区块作为所述区块链的目标区块的下一区块,以将该目标区块的下一区块写入区块链中,并通过哈希链的形式对其进行存储。
其中,应当理解,在电子票据的交易场景下,本申请实施例中的开票企业(即第一用户)在获取到电子票据时,可以通过链上资产转移的方式将电子票据转给消费者(即第二用户)。即开票企业所对应的第一终端在将获取到的电子票据中的票据信息写入区块链的过程中,与第一终端具有关联关系的轻节点可以将获取到的第一解锁脚本在区块链上进行公开。此时,该轻节点可以从锁定有电子票据的第一交易地址中获取第一锁定脚本,并通过第一锁定脚本对第一解锁脚本进行隔离验证,以在验证成功时,将目标区块写入区块链。此时,该轻节点可以进一步将已上链的目标区块中的票据信息作为该开票企业的数字资产,进而可以根据该目标区块中的数据交互信息中所记录到的所述第一用户的区块链地址信息(即第一交易地址)、第二用户的区块链地址信息(即第二交易地址),进一步在链上对该数字资产执行资产流转操作,以得到资产流转信息。进一步地,轻节点可以通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链,其中,可以理解的是,该资产流转信息可以统称为资产流转记录。
为便于理解,本申请实施例可以将电子票据在开票阶段和报销阶段之间进行票据流转为例,以阐述通过链上资产转移的方式将第一终端的数字资产转移至第二终端,并将第二终端的数字资产转移至第三终端的具体过程。其中,在开票阶段,与该第一终端具有关联关系的轻节点(例如节点1)在将数字资产从第一终端的第一交易地址转移至第二终端的第二交易地址的过程中,可以通过第二用户的公钥信息对该数字资产(即电子票据中的票据信息)进行锁定,以在第二用户的区块链地址信息(即第二交易地址)中存储与该第二用户相关联的锁定脚本(即第二锁定脚本)。可以理解的是,本申请实施例在开票阶段对数字资产进行锁定后,且在该数字资产的解锁脚本(即在报销阶段中所得到与第二用户相关联的解锁脚本)未被公开前,本申请实施例会控制数字资产在第二交易地址中处于锁定状态,直到该第二终端在报销阶段中作为新的第一终端时,可以重复执行前述两阶段上链方式,此时,新的轻节点可以获取到由该第二用户(即新的第一用户)的私钥信息对新的签名脚本信息进行签名后的第二解锁脚本,进而可以基于该第二用户在开票阶段中的第二锁定脚本对该报销阶段中的第二解锁脚本进行隔离验证,从而可以在验证成功时,将该报销阶段中的票据信息(即资产流转信息)写入新的目标区块。此时,第二用户可以将前述票据信息作为自己的数字资产,以得到管理和支配该数字资产的权限,比如,可以将该数字资产从第二终端(即新的第一终端)流转至第三终端(即新的第二终端)。
其中,为便于理解,进一步地,请参见图8,是本申请实施例提供的一种进行两阶段上链的场景示意图。如图8所示的第一用户(比如,商户A)可以为开票企业,该开票企业所对应的终端可以为图8所示的第一终端,该第一终端中可以运行前述目标应用,即商户A可以通过该目标应用向第二用户(即用户B)出售虚拟物品A,进而可以在用户B完成支付业务时,调用与该目标应用相关联的开票应用提供票据开具服务。此时,第一终端可以通过该开票应用接入图8所示的轻节点,以通过该轻节点在区块链网络中开具具有唯一识别码的电子票据,进而可以确保后续将电子票据中的票据信息进行上链的成功率。
其中,可以理解的是,该第一终端可以通过该商户A在注册开票应用时所采用的注册账号信息(即上述第一个人账户信息)接入图8所示的轻节点,从而可以在该第一终端的开票显示界面中向图8所示的轻节点发起票据开具请求,所述票据开具请求中可以携带与所述第一用户具有关联关系的票据关键信息,该票据关键信息至少可以包含图8所示的第一终端的第一个人账户信息、第二终端的第一个人账户信息以及第二用户在购买虚拟物品A时所需支付的电子资源的数量等。
可以理解的是,该轻节点可以根据根据该票据关键信息生成图8所示的具有唯一识别码的电子票据,进而可以通过图8所示的两阶段上链的方式将需要上链的电子票据中的票据信息写入区块链。可以理解的是,该轻节点可以在开票阶段中获取到第一终端通过开票企业的私钥信息所得到的第一解锁脚本,从而可以进一步将该第一解锁脚本广播至在区块链系统中的其它共识节点,以使其他共识节点可以进行共识验证,从而可以在共识成功之后,将上述目标区块写入区块链。
可选的,在游戏应用场景下,第二用户(比如,游戏玩家B)可以通过目标应用所对应的业务数据平台向第一用户(比如,游戏玩家A)购买游戏物品(如游戏币、游戏装备等),以在完成付款时得到购买相应游戏物品(例如,游戏装备X)的支付凭证(该支付凭证可以理解为一种用于表征游戏资源转移的电子票据)。可以理解的是,该支付凭证可以为卖家(例如,游戏玩家A)通过上述轻节点为消费者(即游戏玩家B)所开具购买游戏物品时的电子票据。
其中,本申请实施例可以将在该游戏应用场景下,在第二用户的第二解锁脚本未被公开之前,第一用户可以将通过第二用户购买游戏装备X所得到的电子票据称之为该游戏玩家A(即第一用户)当前所持有的虚拟资产。
其中,可以理解的是,本申请实施例通过将该电子票据进行两阶段的上链处理,可以在上链过程中轻节点可以获得与该游戏玩家A具有关联关系的第一解锁脚本,该第一解锁脚本用于指示该游戏玩家A当前具有向游戏玩家B转移该虚拟资产的权限。所以,当轻节点将购买该游戏装备X的电子票据中的票据信息成功写入区块链时,该游戏玩家A可以将该虚拟资产通过链上资产转移的方式给到游戏玩家B所在的区块链地址信息,以在该游戏玩家B所在的区块链地址信息中将该游戏资产进行新一轮的锁定,从而可以将新一轮锁定时的第二锁定脚本存储在第二用户的第二交易地址中。可以理解的是,依次类推,游戏玩家B可以进一步对购买该游戏装备X的电子票据进行相应的资产转移操作,比如,由此游戏玩家A可以通过区块链将该电子票据中的游戏物品(即游戏装备X)赠送给其它游戏玩家(例如,游戏玩家C),以实现电子票据的流转。换言之,本申请实施例还可以通过区块链系统提供链上数字资产的流转以及进一步对链上数字资产的状态进行有效地追踪和监管。
又比如,一名顾客(例如,顾客B)在餐厅A完成用餐消费后,可以通过运行在该顾客B的用户终端(即第二终端)中的目标应用(例如,微信应用等具有支付功能的应用)进行数据交互业务(即执行支付业务)。比如,该顾客B可以在收款终端(即第一终端)所在的区域中,通过微信应用(即目标应用)中的数字货币对本次用餐所消费的账单进行链下支付,并可以通过与该餐厅A具有关联关系的轻节点为该顾客B生成支付凭证,该支付凭证上可以暴露能够提供区块链电子发票开具业务的接入接口,通过该接入接口可以确保顾客B向餐厅A对应的第一终端发起票据开具请求,从而可以使第一终端可以基于该票据开具请求接入与该第一终端具有关联关系的轻节点,以通过该轻节点为该顾客B开具电子发票,该电子发票可以称之为上述电子票据。
进一步地,参见图9,是本申请实施例提供的一种区块结构(Block Structure)的示意图。如图9所示的区块链中可以包含多个区块,所述东哥区块可以为图9所示的区块1、区块2、区块3。可以理解的是,该区块3可以为上述目标区块,该目标区块可以为上述报销阶段中的进行隔离验证后地区块。本申请实施例中的目标区块中可以包括本区块存储的上述数据交互信息的哈希值(本区块的哈希值)、以及前一区块的哈希值。如图9所示的各区块可以通过哈希值连接形成图9所示的区块链。另外,如图9所示的区块中还可以包括有区块生成时的时间戳等信息,具体的可以参见图9所示的目标区块的区块头。此外,如图9所示的区块体中可以包含多个请求进行报销的票据信息,这些需要进行报销的票据信息可以包含票据信息1、票据信息2、票据信息3和票据信息4,这些需要报销的票据信息即为图9所述的目标区块中的数据。应当理解,图9所示的区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法产生的数据块,每一个数据块中包含了相关的数据交互信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本申请实施例通过对包含票据信息的初始区块中的脚本签名信息进行数据隔离,可以将票据信息中的脚本签名信息独立出来,比如,可以将脚本签名信息存放在区块链上,从而可以在区块链上预先计算得到脚本签名信息对应的待签名字符串,进而可以有效地缩减终端计算哈希值的难度。应当理解,本申请实施例通过预先在区块链中计算得到的待签名的哈希值(即待签名字符串),可以快速将该待签名字符串返回给第一终端,以使第一终端可以快速得到与该第一用户相关联的第一解锁脚本,进而可以在第一终端发起第二上链请求时,触使该轻节点对该第一解锁脚本进行隔离验证,并可以在隔离验证通过时,准许该轻节点将该目标区块写入区块链,以提高上链的效率。
进一步的,请参见图10,是本申请实施例提供的一种票据信息处理装置的结构示意图,该票据信息处理装置1可运行于区块链中的轻节点中,应当理解,该票据信息处理装置1可以是运行于轻节点中的计算机程序(包括程序代码);该票据信息处理装置1具体可以包含:第一请求获取模块10,脚本隔离模块20,字符串获取模块30,第二请求获取模块40;进一步的,该票据信息处理装置1还可以包含票据开具模块50,票据生成模块60,识别码分配模块70,上链结果生成模块80,票据查询请求模块90,区块查找模块100,票据获取模块110,票据输出模块120,资产确定模块130,资产流转模块140,流转上链模块150;
第一请求获取模块10,用于获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
脚本隔离模块20,用于根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;
其中,所述脚本隔离模块20包括:初始区块生成单元201,签名隔离单元202,指针添加单元203,目标区块确定单元204;
初始区块生成单元201,用于根据所述第一上链请求生成所述票据信息对应的初始区块;所述初始区块中包含所述票据信息的数据交互信息以及所述数据交互信息对应的脚本签名信息;
签名隔离单元202,用于通过隔离见证算法对所述初始区块中的所述脚本签名信息进行隔离;
指针添加单元203,用于生成所述脚本签名信息对应的指针信息,将所述指针信息添加至隔离后的初始区块中;
目标区块确定单元204,用于将所述隔离后的初始区块作为所述票据信息的目标区块。
其中,所述初始区块生成单元201,签名隔离单元202,指针添加单元203,目标区块确定单元204的具体实现方式可以参见上述图3所对应实施例中的目标区块的描述,这里将不再继续进行赘述。
字符串获取模块30,用于获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
第二请求获取模块40,用于接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
其中,所述轻节点所在的区块链系统中包含多个共识节点;
所述第二请求获取模块40包括:请求接收单元401,广播单元402,共识单元403;
请求接收单元401,用于接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,从所述第二上链请求中获取所述第一解锁脚本;
广播单元402,用于将所述目标区块和所述第一解锁脚本广播至所述区块链中的每个共识节点,以使所述每个共识节点在获取到第一锁定脚本时,通过所述第一锁定脚本验证所述第一解锁脚本的合法性;所述第一锁定脚本是根据所述第一用户的公钥信息对所述票据信息进行锁定后所得到的;
共识单元403,用于在所述多个共识节点中存在超过共识阈值的共识节点达成共识时,将所述目标区块写入所述区块链。
其中,所述请求接收单元401,广播单元402,共识单元403的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
可选的,票据开具模块50,用于获取所述第一终端基于数据交互业务发起的票据开具请求;所述票据开具请求中携带与所述第一用户具有关联关系的票据关键信息;
票据生成模块60,用于基于所述票据关键信息生成所述数据交互业务对应的票据信息;
识别码分配模块70,用于为所述票据信息分配唯一识别码,将具有唯一识别码的票据信息返回至所述第一终端。
可选的,上链结果生成模块80,用于生成所述票据信息对应的上链完成结果,将所述上链完成结果通知到所述第一终端;所述上链完成结果用于指示所述第一用户具备转移所述票据信息的权限。
可选的,其中,所述上链完成结果中至少包含以下查询关键信息:所述目标区块的块高和所述目标区块的区块哈希值;
票据查询请求模块90,用于获取所述第一终端基于所述数据交互业务发起的票据查找请求;
区块查找模块100,用于基于所述票据查找请求从所述区块链上查找与所述目标区块的块高和所述目标区块的区块哈希值相同的区块;
票据获取模块110,用于从查找到的区块中获取所述票据信息;
票据输出模块120,用于将所述票据信息输出至所述第一终端。
可选的,资产确定模块130,用于将所述目标区块中的所述票据信息作为所述第一用户的数字资产;
资产流转模块140,用于根据所述第一用户的区块链地址信息、第二用户的区块链地址信息,对所述数字资产执行资产流转操作,得到资产流转信息;
流转上链模块150,用于通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链。
其中,所述流转上链模块150包括:票据锁定单元1501,解锁脚本获取单元1502,脚本验证单元1503,流转上链单元1504;
票据锁定单元1501,用于通过所述第二用户的公钥信息对所述数字资产进行锁定,得到与所述第二用户相关联的第二锁定脚本,将所述第二锁定脚本存储至所述第二用户的区块链地址信息;
解锁脚本获取单元1502,用于获取与所述第二用户的私钥信息具有关联关系的第二解锁脚本;
脚本验证单元1503,用于通知所述区块链中的所有共识节点通过所述第二解锁脚本对所述锁定脚本进行验证,
流转上链单元1504,用于在验证成功时,将所述资产流转信息所对应的区块作为所述区块链的目标区块的下一区块。
其中,所述票据锁定单元1501,解锁脚本获取单元1502,脚本验证单元1503,流转上链单元1504的具体实现方式可以参见上述图7所对应实施例中对链上资产流转的描述,这里将不再继续进行赘述。
其中,所述第一请求获取模块10,脚本隔离模块20,字符串获取模块30,第二请求获取模块40的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。其中,票据开具模块50,票据生成模块60,识别码分配模块70,上链结果生成模块80,票据查询请求模块90,区块查找模块100,票据获取模块110,票据输出模块120,资产确定模块130,资产流转模块140,流转上链模块150的具体实现方式可以参见上述图7所对应实施例中对步骤S201-步骤S213的描述,这里将不再继续进行赘述。
进一步地,请参见图11,是本申请实施例提供的一种计算机设备的示意图。如图11所示,所述计算机设备1000可以为上述图2对应实施例中的轻节点,所述计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004主要用于与第一终端进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;
获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图7所对应实施例中对所述票据数据处理方法的描述,也可执行前文图10所对应实施例中对所述票据数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的票据数据处理装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3或者图7所对应实施例中对所述票据数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
基于上述方法实施例的描述,进一步的,请参见图12,是本申请实施例提供的另一种票据信息处理装置,该票据信息处理装置2可运行于第一终端中,该票据信息处理装置2可以是运行于第一终端中的计算机程序(包括程序代码);请参见图12所示,该票据信息处理装置2至少可以包含:第一请求发送模块100,字符串接收模块200,第二请求发送模块300;
第一请求发送模块100,用于响应第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点,以使所述轻节点获取脚本签名信息信息对应的待签名字符串;所述脚本签名信息为对初始区块中的脚本签名信息进行隔离后所得到的;所述初始区块为基于所述票据信息所生成的区块;
字符串接收模块200,用于接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
第二请求发送模块300,用于响应针对所述第一解锁脚本发送的第二上链请求,将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点,以使所述轻节点将与所述初始区块相关联的目标区块写入所述区块链。
其中,所述第一请求发送模块100,字符串接收模块200,第二请求发送模块300的具体实现方式可以参见上述图7所对应实施例中对第一终端的描述,这里将不再继续进行赘述。
进一步地,请参见图13,是本申请实施例提供的另一种计算机设备的示意图。如图13所示,所述计算机设备4000可以为上述图2对应实施例中的第一终端,所述计算机设备4000可以包括:至少一个处理器4001,例如CPU,至少一个网络接口4004,用户接口4003,存储器4005,至少一个通信总线4002。其中,通信总线4002用于实现这些组件之间的连接通信。其中,用户接口4003可以包括显示屏(Display)、键盘(Keyboard),网络接口4004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器4005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器4005可选地还可以是至少一个位于远离前述处理器4001的存储装置。如图13所示,作为一种计算机存储介质的存储器4005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图13所示的计算机设备4000中,网络接口4004主要用于与区块链系统中的轻节点进行网络通信;而用户接口4003主要用于为用户提供输入的接口;而处理器4001可以用于调用存储器4005中存储的设备控制应用程序,以实现:
响应第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点,以使所述轻节点获取脚本签名信息信息对应的待签名字符串;所述脚本签名信息为对初始区块中的脚本签名信息进行隔离后所得到的;所述初始区块为基于所述票据信息所生成的区块;
接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述票据信息相关联的第一解锁脚本;
响应针对所述第一解锁脚本发送的第二上链请求,将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点,以使所述轻节点将与所述初始区块相关联的目标区块写入所述区块链。
应当理解,本申请实施例中所描述的计算机设备4000可执行前文图3和图7所对应实施例中对所述票据数据处理方法的描述,也可执行前文图12所对应实施例中对所述票据数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的票据数据处理装置2所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3或者图7所对应实施例中对所述票据数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图14,是本申请实施例提供的一种票据数据处理系统的结构示意图。该票据数据处理系统3可以包含票据数据处理装置1a和票据数据处理装置2a。其中,所述票据数据处理装置1a可以为上述图10所对应实施例中的票据数据处理装置1,可以理解的是,该票据数据处理装置1a可以集成在上述图2所对应实施例中的轻节点,因此,这里将不再进行赘述。其中,所述票据数据处理装置2a可以为上述图11所对应实施例中的票据数据处理装置2,可以理解的是,该票据数据处理装置2a可以集成在上述图2所对应实施例中的第一终端,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种票据信息处理方法,其特征在于,所述方法应用于区块链中的轻节点,包括:
获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;
获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述第一终端基于数据交互业务发起的票据开具请求;所述票据开具请求中携带与所述第一用户具有关联关系的票据关键信息;
基于所述票据关键信息生成所述数据交互业务对应的票据信息;
为所述票据信息分配唯一识别码,将具有唯一识别码的票据信息返回至所述第一终端。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块,包括:
根据所述第一上链请求生成所述票据信息对应的初始区块;所述初始区块中包含所述票据信息的数据交互信息以及所述数据交互信息对应的脚本签名信息;
通过隔离见证算法对所述初始区块中的所述脚本签名信息进行隔离;
生成所述脚本签名信息对应的指针信息,将所述指针信息添加至隔离后的初始区块中;
将所述隔离后的初始区块作为所述票据信息的目标区块。
4.根据权利要求2所述的方法,其特征在于,所述轻节点所在的区块链系统中包含多个共识节点;
所述接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链,包括:
接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,从所述第二上链请求中获取所述第一解锁脚本;
将所述目标区块和所述第一解锁脚本广播至所述区块链中的每个共识节点,以使所述每个共识节点在获取到第一锁定脚本时,通过所述第一锁定脚本验证所述第一解锁脚本的合法性;所述第一锁定脚本是根据所述第一用户的公钥信息对所述票据信息进行锁定后所得到的;
在所述多个共识节点中存在超过共识阈值的共识节点达成共识时,将所述目标区块写入所述区块链。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成所述票据信息对应的上链完成结果,将所述上链完成结果通知到所述第一终端;所述上链完成结果用于指示所述第一用户具备转移所述票据信息的权限。
6.根据权利要求5所述 的方法,其特征在于,所述上链完成结果中至少包含以下查询关键信息:所述目标区块的块高和所述目标区块的区块哈希值;
所述方法还包括:
获取所述第一终端基于数据交互业务发起的票据查找请求;
基于所述票据查找请求从所述区块链上查找与所述目标区块的块高和所述目标区块的区块哈希值相同的区块;
从查找到的区块中获取所述票据信息;
将所述票据信息输出至所述第一终端。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标区块中的所述票据信息作为所述第一用户的数字资产;
根据所述第一用户的区块链地址信息、第二用户的区块链地址信息,对所述数字资产执行资产流转操作,得到资产流转信息;
通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链。
8.根据权利要求7所述的方法,其特征在于,所述通过隔离验证算法将所述资产流转信息所对应的区块写入所述区块链,包括:
通过所述第二用户的公钥信息对所述数字资产进行锁定,得到与所述第二用户相关联的第二锁定脚本,将所述第二锁定脚本存储至所述第二用户的区块链地址信息;
获取与所述第二用户的私钥信息具有关联关系的第二解锁脚本;
通知所述区块链中的所有共识节点通过所述第二解锁脚本对所述锁定脚本进行验证,
在验证成功时,将所述资产流转信息所对应的区块作为所述区块链的目标区块的下一区块。
9.一种票据信息处理方法,其特征在于,所述方法应用于第一终端,包括:
响应第一用户对应的第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点,以使所述轻节点获取脚本签名信息对应的待签名字符串;所述脚本签名信息为对初始区块中的脚本签名信息进行隔离后所得到的;所述初始区块为基于所述票据信息所生成的区块;
接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
响应针对所述第一解锁脚本发送的第二上链请求,将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点,以使所述轻节点将与所述初始区块相关联的目标区块写入所述区块链。
10.一种票据信息处理装置,其特征在于,所述装置应用于区块链中的轻节点,包括:
第一请求获取模块,用于获取第一用户对应的第一终端基于票据信息所发起的第一上链请求;
脚本隔离模块,用于根据所述第一上链请求对初始区块中的脚本签名信息进行隔离,生成包含所述票据信息的目标区块;所述初始区块为所述票据信息所在的区块;
字符串获取模块,用于获取所述脚本签名信息对应的待签名字符串,将所述待签名字符串返回给所述第一终端,以使所述第一终端通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
第二请求获取模块,用于接收所述第一终端发送的携带所述第一解锁脚本的第二上链请求,在成功验证所述第一解锁脚本时,将所述目标区块写入所述区块链。
11.根据权利要求10所述的装置,其特征在于,还包括:
票据开具模块,用于获取所述第一终端基于数据交互业务发起的票据开具请求;所述票据开具请求中携带与所述第一用户具有关联关系的票据关键信息;
票据生成模块,用于基于所述票据关键信息生成所述数据交互业务对应的票据信息;
识别码分配模块,用于为所述票据信息分配唯一识别码,将具有唯一识别码的票据信息返回至所述第一终端。
12.根据权利要求10所述的装置,其特征在于,所述脚本隔离模块包括:
初始区块生成单元,用于根据所述第一上链请求生成所述票据信息对应的初始区块;所述初始区块中包含所述票据信息的数据交互信息以及所述数据交互信息对应的脚本签名信息;
签名隔离单元,用于通过隔离见证算法对所述初始区块中的所述脚本签名信息进行隔离;
指针添加单元,用于生成所述脚本签名信息对应的指针信息,将所述指针信息添加至隔离后的初始区块中;
目标区块确定单元,用于将所述隔离后的初始区块作为所述票据信息的目标区块。
13.一种票据信息处理装置,其特征在于,所述装置应用于第一终端,包括:
第一请求发送模块,用于响应第一用户对应的第一终端针对票据信息发起的第一上链请求,将所述第一上链请求发送至区块链中的轻节点,以使所述轻节点获取脚本签名信息对应的待签名字符串;所述脚本签名信息为对初始区块中的脚本签名信息进行隔离后所得到的;所述初始区块为基于所述票据信息所生成的区块;
字符串接收模块,用于接收所述轻节点发送的所述待签名字符串,通过所述第一用户的私钥信息对所述待签名字符串进行签名,得到与所述第一用户相关联的第一解锁脚本;
第二请求发送模块,用于响应针对所述第一解锁脚本发送的第二上链请求,将携带所述第一解锁脚本的所述第二上链请求发送至所述轻节点,以使所述轻节点将与所述初始区块相关联的目标区块写入所述区块链。
14.一种计算机设备,其特征在于,包括:处理器、存储器、网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以执行如权利要求1-9任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910897927.2A CN110659906B (zh) | 2019-09-20 | 2019-09-20 | 票据信息处理方法、相关设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910897927.2A CN110659906B (zh) | 2019-09-20 | 2019-09-20 | 票据信息处理方法、相关设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659906A CN110659906A (zh) | 2020-01-07 |
CN110659906B true CN110659906B (zh) | 2022-06-24 |
Family
ID=69038353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910897927.2A Active CN110659906B (zh) | 2019-09-20 | 2019-09-20 | 票据信息处理方法、相关设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659906B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343142B (zh) * | 2020-01-22 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法、装置及存储介质 |
CN111260488B (zh) * | 2020-01-23 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及可读存储介质 |
CN111369338B (zh) * | 2020-02-28 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法及装置 |
CN111444209B (zh) * | 2020-03-25 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置、设备及介质 |
CN112422290A (zh) * | 2020-10-27 | 2021-02-26 | 中思博安科技(北京)有限公司 | 基于区块链的数据上链方法、装置及系统 |
CN112613960A (zh) * | 2020-12-15 | 2021-04-06 | 航天信息股份有限公司 | 一种基于票据信息的房地产土地增值税清算方法及系统 |
CN112801797A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 使用链下可信设备进行票据数据处理的方法和装置 |
CN114677188B (zh) * | 2022-05-25 | 2022-08-26 | 国网浙江省电力有限公司 | 适用于无纸化凭证数据的全量采集方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN109035019A (zh) * | 2018-07-11 | 2018-12-18 | 平安科技(深圳)有限公司 | 票据交易方法、系统、计算机设备和存储介质 |
CN109325812A (zh) * | 2018-08-24 | 2019-02-12 | 深圳市智税链科技有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109936457A (zh) * | 2019-02-20 | 2019-06-25 | 深圳前海微众银行股份有限公司 | 区块链多方见证方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106952094B (zh) * | 2017-03-10 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 电子票据管理方法及装置 |
-
2019
- 2019-09-20 CN CN201910897927.2A patent/CN110659906B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN109035019A (zh) * | 2018-07-11 | 2018-12-18 | 平安科技(深圳)有限公司 | 票据交易方法、系统、计算机设备和存储介质 |
CN109325812A (zh) * | 2018-08-24 | 2019-02-12 | 深圳市智税链科技有限公司 | 关于电子票据的数据处理方法、装置、存储介质和设备 |
CN109936457A (zh) * | 2019-02-20 | 2019-06-25 | 深圳前海微众银行股份有限公司 | 区块链多方见证方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110659906A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659906B (zh) | 票据信息处理方法、相关设备及介质 | |
US10977632B2 (en) | Electronic bill management method, apparatus, and storage medium | |
CN111311209B (zh) | 跨区块链的数据处理方法、装置、设备及计算机存储介质 | |
CN109075964B (zh) | 支持用于区块验证的多个单向函数的区块链 | |
JP7543288B2 (ja) | ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法 | |
KR101950912B1 (ko) | 블록체인 기반 트랜잭션 검증 시스템 및 그 방법 | |
WO2019191688A1 (en) | Digital asset exchange | |
CN110557403B (zh) | 基于区块链的资源分配方法、装置、存储介质及节点设备 | |
KR102295236B1 (ko) | 블록체인 네트워크에 기반하여 소장품 소유권을 분양하는 방법 및 이를 이용한 온라인 거래 서버 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
CN109447605A (zh) | 一种基于区块链的链货币兑换方法、装置、设备和介质 | |
WO2020243961A1 (zh) | 一种数字货币的聚合支付方法、系统及边缘服务器 | |
CN112200567A (zh) | 基于区块链的资源管理方法、装置及电子设备 | |
CN110599264A (zh) | 卡券数据处理方法、装置及电子设备 | |
KR20200114324A (ko) | 블록체인 기반의 암호화폐를 이용한 송금 처리 시스템 | |
KR101918446B1 (ko) | 이중보안 블록체인 인증시스템 및 그 방법 | |
CN112232828A (zh) | 一种电网数据交易方法、系统 | |
KR20200119671A (ko) | 디지털 컨텐츠의 이용 권리 증서를 발행 수량 만큼 유통시키는 방법, 상기 방법을 수행하는 서버, 및 상기 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램 | |
CN110941840B (zh) | 一种数据处理方法、系统及终端 | |
CN112101919A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
KR102333811B1 (ko) | 블록체인 기반의 카드 결제 처리 시스템 및 방법 | |
CN111242591A (zh) | 基于联合签名的区块链交易处理方法、系统及存储介质 | |
KR102075956B1 (ko) | 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버 | |
Li et al. | Secure electronic ticketing system based on consortium blockchain | |
WO2021121030A1 (zh) | 一种资源转移的方法及结账终端、服务器节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020213 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |