CN111507815B - 基于区块链的信息获取方法、装置、设备及存储介质 - Google Patents

基于区块链的信息获取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111507815B
CN111507815B CN202010310961.8A CN202010310961A CN111507815B CN 111507815 B CN111507815 B CN 111507815B CN 202010310961 A CN202010310961 A CN 202010310961A CN 111507815 B CN111507815 B CN 111507815B
Authority
CN
China
Prior art keywords
bill
information
node
participating account
ticket
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
Application number
CN202010310961.8A
Other languages
English (en)
Other versions
CN111507815A (zh
Inventor
李茂材
蓝虎
王宗友
周开班
朱耿良
时一防
刘区城
黄焕坤
杨常青
刘攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010310961.8A priority Critical patent/CN111507815B/zh
Publication of CN111507815A publication Critical patent/CN111507815A/zh
Application granted granted Critical
Publication of CN111507815B publication Critical patent/CN111507815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • G06Q40/123Tax preparation or submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提供了一种基于区块链的信息获取方法,该方法包括:接收第一参与账户提交的开票请求,将开票请求中的交易标识和交易信息发送至共识节点;在接收到共识节点返回的共识确认消息满足预设的共识策略的情况下,根据第一参与账户提交的开票请求生成第一票据信息,根据第一票据信息生成票据区块,并将票据区块上传至区块链网络中;根据第二参与账户的标识确定第二参与账户对应的票据查验节点;将票据区块的地址发送至票据查验节点。实施本申请,使得票据查验节点在接收到业务核销请求时,根据票据区块的地址可以实时读取第一票据信息。

Description

基于区块链的信息获取方法、装置、设备及存储介质
技术领域
本申请涉及区块链技术领域,尤其是一种基于区块链的信息获取方法、装置、设备及存储介质。
背景技术
随着现代工商业的发展,企业公司等经营主体经常需要进行跨地区的经营活动,而由于各个地区的税务系统之间是相互独立的,尤其是跨省级别的税务数据之间缺乏互通和交换,经营主体通常都难以对跨地区的经营活动行为进行及时、有效的发票核销。
发明内容
本申请提供了一种基于区块链的信息获取方法,使票据查验节点在接收到业务核销请求时,可以实时读取票据信息。
一方面,本申请实施例提供了一种基于区块链的信息获取方法,所述方法包括:
票据服务节点接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;
所述票据服务节点对所述交易信息进行哈希运算,得到第一校验码;
所述票据服务节点将所述交易标识和所述第一校验码发送至共识节点,以使所述共识节点进行共识确认;
所述票据服务节点在接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息,根据所述第一票据信息生成票据区块,并将所述票据区块上传至所述区块链网络中;
所述票据服务节点根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息,由所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;
所述票据服务节点将所述票据区块的地址发送至所述票据查验节点,以使所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
在一种可能的实施例中,所述票据服务节点向数字证书中心提交数字证书申请,所述数字证书申请包括所述票据服务节点的标识以及所述票据服务节点的公钥,以使所述数字证书中心根据所述票据服务节点的标识确定所述票据服务节点是否在预设证书列表中,所述预设证书列表包括至少一个票据服务节点的标识,若是,则向所述票据服务节点下发数字证书,所述数字证书包括第四校验码的密文以及所述数字证书中心的标识;所述第四校验码为所述数字证书中心对所述票据服务节点的公钥进行哈希运算后得到的,所述第四校验码的密文为所述数字证书中心使用自身的私钥加密得到的;
在所述票据服务节点将所述票据区块的地址发送至所述票据查验节点时,触发智能合约将所述数字证书发送至所述票据查验节点,以使所述票据查验节点根据所述数字证书中心的标识在所述区块链网络中获取所述数字证书中心的公钥,使用所述数字证书中心的公钥对所述第四校验码的密文进行解密后得到所述第四校验码;所述票据查验节点对根据所述票据服务节点的标识在所述区块链网络中获取到的公钥进行哈希运算,得到第五校验码,若所述第四校验码与所述第五校验码相同,确定所述票据服务节点的标识在所述区块链网络中获取到的公钥为所述票据服务节点的公钥。
在一种可能的实现方式中,在所述票据查验节点接收到所述第二参与账户发送的业务核销请求时,将所述业务核销请求发送至共识节点,以使共识节点根据所述第一票据标识获取所述票据区块的地址,由所述票据区块的地址在所述区块链网络中获取所述第一票据信息;若所述第一交易信息和所述第二交易信息相同,所述共识节点返回共识确认消息;
在接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,所述票据查验节点生成所述票据核销成功信息。
一方面,本申请实施例提供了一种基于区块链的信息获取装置,所述装置包括:
接收模块,用于接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;
计算模块,用于对所述交易信息进行哈希运算,得到第一校验码;
发送模块,用于将所述交易标识和所述第一校验码发送至共识节点,以使所述共识节点进行共识确认;
生成模块,用于在接收到所述共识节点返回共识确认的消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息;
所述生成模块,还用于根据所述第一票据信息生成票据区块;
所述发送模块,还用于将所述票据区块上传至所述区块链网络中;
获取模块,用于根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息;
确定模块,用于根据所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;
所述发送模块,还用于将所述票据区块的地址发送至所述票据查验节点,以使所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
在一种可能的实现方式中,所述第二参与账户的标识包括多个字段;所述基于区块链的信息获取装置还包括查找模块;
所述确定模块,还用于根据所述第二参与账户的标识中包含的特定字段,确定所述第二参与账户的归属地域信息;
所述查找模块,用于根据所述第二参与账户的归属地域信息,在归属地映射表中查找所述第二参与账户的归属地,所述归属地映射表中包括归属地域信息与归属地之间的对应关系;
所述确定模块,还用于根据所述第二参与账户的归属地确定所述票据查验节点,所述第二参与账户的归属地唯一对应所述票据查验节点。
在一种可能的实施例中,所述发送模块在将所述票据区块的地址发送至所述票据查验节点时,携带有所述票据服务节点的标识以及所述票据服务节点对所述票据区块地址的第一数字签名,以使所述票据查验节点根据所述票据服务节点的标识在所述区块链网络中获取所述票据服务节点的公钥,对所述第一数字签名进行验签,得到第二校验码;对所述票据区块的地址进行哈希运算,得到第三校验码,若所述第二校验码与所述第三校验码相同,所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
可选的,所述第一票据信息包括所述第一参与账户与所述第二参与账户之间的第一交易信息以及第一票据标识;所述发送模块在将所述票据区块的地址发送至所述票据查验节点时,还携带有所述第一票据标识;在所述发送模块将所述票据区块的地址发送至所述票据查验节点之后,使得所述票据查验节点在接收到所述第二参与账户发送的业务核销请求时,所述业务核销请求包括所述第一参与账户与所述第二参与账户之间的第二交易信息以及所述第一票据标识;所述票据查验节点根据所述第一票据标识获取所述票据区块的地址,由所述票据区块的地址在所述区块链网络中获取所述第一票据信息,若所述第二交易信息与所述第一交易信息相同,所述票据查验节点生成票据核销成功信息,将所述票据核销成功信息发送至所述第二参与账户,并在所述区块链网络中将所述第一票据信息标记为已核销状态。
进一步的,所述第一票据信息的状态标记关联着所述第一票据标识,使得所述票据查验节点根据所述第一票据标识在所述区块链网络中查找所述第一票据信息的状态标记;根据所述第一票据信息的状态标记确定所述第一票据信息是否为未核销状态,若是,所述票据查验节点生成所述核销成功信息。
在一种可能的实施例中,所述发送模块,还用于向数字证书中心提交数字证书申请,所述数字证书申请包括所述票据服务节点的标识以及所述票据服务节点的公钥,以使所述数字证书中心根据所述票据服务节点的标识确定所述票据服务节点是否在预设证书列表中,所述预设证书列表包括至少一个票据服务节点的标识,若是,则向所述票据服务节点下发数字证书,所述数字证书包括第四校验码的密文以及所述数字证书中心的标识;所述第四校验码为所述数字证书中心对所述票据服务节点的公钥进行哈希运算后得到的,所述第四校验码的密文为所述数字证书中心使用自身的私钥加密得到的;
在所述发送模块将所述票据区块的地址发送至所述票据查验节点时,所述发送模块还用于将所述数字证书发送至所述票据查验节点,以使所述票据查验节点根据所述数字证书中心的标识在所述区块链网络中获取所述数字证书中心的公钥,使用所述数字证书中心的公钥对所述第四校验码的密文进行解密后得到所述第四校验码;所述票据查验节点对根据所述票据服务节点的标识在所述区块链网络中获取到的公钥进行哈希运算,得到第五校验码,若所述第四校验码与所述第五校验码相同,确定所述票据服务节点的标识在所述区块链网络中获取到的公钥为所述票据服务节点的公钥。
在一种可能的实施例中,所述接收模块接收第一参与账户提交的开票请求之前包括:交易业务服务节点接收所述第一参与账户提交的交易事件,所述交易事件为所述第二参与账户向所述第一参与账户转移预设数据转移量,其中所述交易事件包括第二数字签名、第三数字签名、所述第一参与账户的标识、所述第二参与账户的标识和交易标识;所述交易业务服务节点将所述交易事件发送至共识节点,以使所述共识节点根据所述第一参与账户的标识和所述第二参与账户的标识在所述区块链网络中查找所述第一参与账户的公钥和所述第二参与账户的公钥,对所述交易事件中的第二数字签名以及第三数字签名进行验签,若验签成功,则所述共识节点返回共识确认消息;在所述交易业务服务节点接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,将所述第一参与账户与所述第二参与账户之间的交易事件生成交易区块,并将所述交易区块上传至所述区块链网络中。
在一种可能的实现方式中,所述交易信息还包括交易时间;
所述查找模块,还用于根据所述第一参与账户的标识、所述第二参与账户的标识和所述交易时间,在所述区块链网络中查找针对所述第一参与账户和所述第二参与账户在所述交易时间的目标票据信息;所述生成模块,还用于在没有查找到所述目标票据信息的情况下,根据所述第一参与账户提交的开票请求生成所述第一票据信息。
一方面,本申请实施例提供了一种基于区块链的信息获取设备,所述设备包括收发器、处理器和存储器,其中所述处理器用于执行所述存储器中存储的计算机程序,实现上面所述任意一种可能的实施例。
一方面,本申请还提供了一种计算机可读存储介质,所述可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上面各方面所述的方法。
本申请实施例中票据服务节点接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;在接收到共识节点返回的共识确认消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息,根据所述第一票据信息生成票据区块,并将所述票据区块上传至所述区块链网络中;根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息,由所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;将所述票据区块的地址发送至所述票据查验节点,以使所述票据查验节点根据所述票据区块的地址获取所述第一票据信息,实施本实施例,使得所述票据查验节点在接收到业务核销请求时,根据所述票据区块的地址可以实时读取所述第一票据信息。
附图说明
图1为本申请实施例提供的一种基于区块链的信息获取方法的流程示意图;
图2为本申请实施例提供的另一种基于区块链的信息获取方法的流程示意图;
图3为本申请实施例提供的一种基于区块链的信息获取方法的应用场景图;
图4为本申请实施例提供的一种基于区块链的信息获取系统的结构框图;
图5为本申请实施例提供的一种基于区块链的信息获取装置的结构框图;
图6为本申请实施例提供的一种基于区块链的信息获取设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图来对本申请的技术方案的实施作进一步的详细描述。
参见图1,图1为本申请实施例提供的一种基于区块链的信息获取方法的流程示意图。如图1所示,本实施例具体执行步骤如下:
S100、票据服务节点接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识。具体的,所述第一参与账户与所述第二参与账户之间的交易事件发生后,所述第一参与账户向所述票据服务节点提出开票请求。
在所述票据服务节点执行步骤S100接收第一参与账户提交的开票请求之前,在一种可能的实施例中,交易业务服务节点接收所述第一参与账户提交的交易事件,所述交易事件为所述第二参与账户向所述第一参与账户转移预设数据转移量,其中所述交易事件包括第二数字签名、第三数字签名、所述第一参与账户的标识、所述第二参与账户的标识和交易事件标识;所述交易业务服务节点将所述交易事件发送至共识节点,以使所述共识节点根据所述第一参与账户的标识和所述第二参与账户的标识在所述区块链网络中查找所述第一参与账户的公钥和所述第二参与账户的公钥,对所述交易事件中的第二数字签名以及第三数字签名进行验签,若验签成功,则所述共识节点返回共识确认消息;在所述交易业务服务节点接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,将所述第一参与账户与所述第二参与账户之间的交易事件生成交易区块,并将所述交易区块上传至所述区块链网络中。具体的,所述区块链网络中包括多个共识节点,例如第一共识节点、第二共识节点和/或第三共识节点等等。所述交易服务节点可以是所述区块链网络中除所述票据服务节点以及票据查验节点之外的任意一个节点,负责对所述第一账户与所述第二账户之间的交易事件进行上链。对于所述交易事件,举例来说,所述第二参与账户A的是甲公司,甲公司租住乙公司的办公楼并支付了1000块钱,乙公司为所述第一参与账户B,则所述交易事件可以理解为所述第二参与账户A向所述第一参与账户B转移了1000块钱,乙公司针对甲公司租住办公楼向乙支付了1000块钱这个交易事件提交发票请求。所述共识节点对所述交易事件进行共识,例如,所述预设的共识策略可以为返回共识确认消息的共识节点数量不小于第一预设数量。所述第一预设数量可以为60、70或90等,示例性的,所述区块链网络中包括100个共识节点,所述第一预设数量为90,当返回共识确认消息的共识节点不小于90个,所述交易服务节点判断所述共识节点返回的共识确认消息满足预设的共识策略;又例如,所述区块链网络中包括多个共识节点,所述预设的共识策略为返回共识确认消息的共识节点占所述区块链网络中所有节点的比例大于第一预设比例阈值。所述第一预设比例阈值可以为50%、60%或70%等,示例性的,所述区块链网络中包括1000个共识节点,所述第一预设比例阈值为50%,当返回共识确认消息的共识节点超过500个,所述交易服务节点判断所述共识节点返回的共识确认消息满足预设的共识策略。
S101、所述票据服务节点对所述交易信息进行哈希运算,得到第一校验码。
S102、所述票据服务节点将所述交易标识和所述第一校验码发送至共识节点,以使所述共识节点进行共识确认。具体的,在步骤S100中,所述第一参与账户与所述第二参与账户之间的交易事件由交易服务节点上传至所述区块链网络中,为了验证开票请求中包括的交易信息的真实性,所述票据服务节点执行步骤S101后得到所述第一校验码,所述票据服务节点根据所述交易标识在区块链网络中查找所述第一参与账户和所述第二参与账户之间的交易事件,由于所述交易事件是经过共识验证上传至所述区块链网络中的,可以保证所述交易事件的真实性,所述票据服务节点将交易事件中的交易信息进行哈希运算的得到所述第六校验码,若步骤S101的所述第一校验码和所述第二校验码相同,确认所述开票请求中包括的交易信息与所述区块链网络中的交易事件包括的交易信息一致,则所述共识节点返回共识确认消息。
S103、所述票据服务节点在接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息。
具体的,所述预设的共识策略可以为返回共识确认消息的共识节点数量不小于第二预设数量。所述第二预设数量可以为50、55或60等,示例性的,所述区块链网络中包括100个共识节点,所述第二预设数量为55,当返回共识确认消息的共识节点不小于55个,所述交易服务节点判断所述共识节点返回的共识确认消息满足预设的共识策略;又例如,所述区块链网络中包括多个共识节点,所述预设的共识策略为返回共识确认消息的共识节点占所述区块链网络中所有节点的比例大于第二预设比例阈值。所述第二预设比例阈值可以为50%、55%或60%等,示例性的,所述区块链网络中包括1000个共识节点,所述第二预设比例阈值为55%,当返回共识确认消息的共识节点超过550个,所述交易服务节点判断所述共识节点返回的共识确认消息满足预设的共识策略。
为了防止所述第一参与账户提交的开票请求中包括的交易信息已经生成了票据信息,可以进一步地在所述区块链网络中查找是否有针对所述交易信息的票据信息,可选的,所述交易信息还包括交易时间;所述票据服务节点根据所述第一参与账户的标识、所述第二参与账户的标识和所述交易时间,在所述区块链网络中查找针对所述第一参与账户和所述第二参与账户在所述交易时间的目标票据信息,若没有查找到所述目标票据信息,根据所述第一参与账户提交的开票请求生成所述第一票据信息。本实施例中,票据服务节点对第一参与账户提交的开票请求中包括的交易信息进行进一步的验证,在确定区块链网络中没有针对所述交易信息的票据信息的情况下,生成第一票据信息,实施本实施例,可以避免所述第一参与账户提交的开票请求中包括的交易信息已经生成了票据信息,而又重复生成票据信息,导致出现一次交易却生成多个票据信息的情况。
S104、所述票据服务节点根据所述第一票据信息生成票据区块,并将所述票据区块上传至所述区块链网络中。
S105、所述票据服务节点根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息,由所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点。
在一种可能的实现方式中,所述第二参与账户的标识包含多个字段,所述票据服务节点根据所述第二参与账户的标识中包含的特定字段,确定所述第二参与账户的归属地域信息;所述票据服务节点根据所述第二参与账户的归属地域信息在归属地映射表中查找所述第二参与账户的归属地,所述归属地映射表中包括归属地域信息与归属地之间的对应关系;根据所述第二参与账户的归属地确定所述票据查验节点,所述第二参与账户的归属地唯一对应所述票据查验节点。示例性的,所述归属地域信息与所述归属地之间可以是一一对应的关系,在一种可能的实现方式中,所述票据服务节点可以从所述区块链网络中查找归属地映射表,所述归属地映射表中包括归属地域信息与归属地之间的对应关系,示例性的,如下面表格1所示:
表格1
Figure BDA0002457826020000091
所述第二参与账户的标识关联有所述第二参与账户的归属地域信息,可选的,所述第二参与账户的标识的表示形式可以是“归属地域信息(四位)+编号(三位)”,所述第二参与账户的标识中包含的特定字段是所述第二参与账户的标识中的前四位,比如所述第二参与账户的标识是1123666,所述票务服务节点获取所述第二参与账户的标识1123666的前四位“1123”,“1123”为所述第二参与账户的归属地域信息,在归属地映射表如表格1中查找1123,确定所述第二参与账户的归属地是广东深圳,从而确定所述第二参与账户对应的票据查验节点是广东省深圳市税务局。
在另一种可能的实现方式中,所述第二参与账户的标识为所述第二参与账户的持有方的名称,比如所述第二参与账户A为广东省深圳市甲公司,所述票据服务节点使用字符串识别的方法,根据广东省深圳市甲公司获取所述第二参与账户的归属地域信息为广东省深圳市,从而也可以确定所述第二参与账户A对应的票据查验节点是广东省深圳市税务局等等,可选的,所述票据服务节点也可以根据广东省深圳市甲公司的标识在数据库中查找甲公司的具体经营所在地,比如说甲公司的具体经营地为深圳市南山区,则可以获取所述第二参与账户对应的票据查验节点是广东省深圳市南山区的税务局。本申请不对如何根据第二参与账户的标识来确定所述第二账户的归属地域信息进行限制。
S106、所述票据服务节点将所述票据区块的地址发送至所述票据查验节点,以使所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
具体的,所述票据服务节点执行步骤S104将所述票据区块上传至所述区块链网络中,所述票据查验节点比如广东省深圳市税务局和/或所述第二参与账户就可以根据票据区块的地址,实时地查询所述第一票据信息。
进一步的,所述票据服务节点在将所述票据区块的地址发送至所述票据查验节点时,携带有所述票据服务节点的标识以及所述票据服务节点对所述票据区块地址的第一数字签名,所述票据查验节点根据所述票据区块地址获取所述第一票据信息之前包括:所述票据查验节点根据所述票据服务节点的标识在所述区块链网络中获取所述票据服务节点的公钥,对所述至少一个数字签名进行验签,得到第二校验码;所述票据查验节点对所述票据区块的地址进行哈希运算,得到第三校验码。若所述第二校验码与所述第三校验码相同,所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。实施本实施例,所述票据查验节点对所述票据服务节点的身份进行验签,提高了所述票据区块的地址来源的可靠性。
更进一步的,所述票据服务节点向数字证书中心提交数字证书申请,所述数字证书申请包括所述票据服务节点的标识以及所述票据服务节点的公钥,以使所述数字证书中心根据所述票据服务节点的标识确定所述票据服务节点是否在预设证书列表中,所述预设证书列表包括至少一个票据服务节点的标识,若是,则向所述票据服务节点下发数字证书,所述数字证书包括第四校验码的密文以及所述数字证书中心的标识;所述第四校验码为所述数字证书中心对所述票据服务节点的公钥进行哈希运算后得到的,所述第四校验码的密文为所述数字证书中心使用自身的私钥加密得到的。具体的,所述数字证书中心可以理解成具有向票据服务节点颁发证书的机构所持有的服务器或终端设备,比如国家税务局可以向深圳税务局和/或北京税务局颁发数字证书,以证明深圳税务局和/或北京税务局的合法性。所述数字证书中心存储有所述预设证书列表,所述预设证书列表可以理解为所述数字证书中心确定可以授权的票据服务节点,即具有生成票据信息的资格的票据服务节点,可以是人为拟定的一个授权列表名单。在所述票据服务节点将所述票据区块的地址发送至所述票据查验节点时,触发智能合约将所述数字证书发送至所述票据查验节点,以使所述票据查验节点根据所述数字证书中心的标识在所述区块链网络中获取所述数字证书中心的公钥,使用所述数字证书中心的公钥对所述第四校验码的密文进行解密后得到所述第四校验码;所述票据查验节点对根据所述票据服务节点的标识在所述区块链网络中获取到的公钥进行哈希运算,得到第五校验码,若所述第四校验码与所述第五校验码相同,确定所述票据服务节点的标识在所述区块链网络中获取到的公钥为所述票据服务节点的公钥。实施本实施例,可以避免出现的情况是:一些不合法机构捏造了虚假票据信息,然后恶意获取并使用所述票据服务节点的私钥对所述票据区块的地址进行签名,并在所述票据查验节点处将所述票据查验节点的公钥替换成不合法机构的公钥,导致所述票据查验节点拿到的票据信息不是所述第一票据信息,而是不合法机构捏造的虚假票据信息,从而导致虚假报税的可能,而本实施例,增加数字证书来对所述票据查验节点根据所述票据服务节点的标识在所述区块链网络中获取到的公钥进行进一步的验证,维护票据服务节点的公钥的真实性。
本申请实施例中票据服务节点接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;在接收到共识节点返回的共识确认消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息,根据所述第一票据信息生成票据区块,并将所述票据区块上传至所述区块链网络中;根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息,由所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;将所述票据区块的地址发送至所述票据查验节点,以使所述票据查验节点根据所述票据区块的地址获取所述第一票据信息,实施本实施例,使得所述票据查验节点在接收到业务核销请求时,根据所述票据区块的地址可以实时读取所述第一票据信息。
在前文结合图1所描述实施例的基础上,本申请实施例还提供了另一种基于区块链的信息获取方法,参见图2,图2为本申请实施例提供的另一种基于区块链的信息获取方法的流程示意图。如图2所示,本实施例的具体执行步骤如下:
S200、所述票据查验节点接收所述第二参与账户发送的业务核销请求,所述业务核销请求包括所述第一参与账户与所述第二参与账户之间的第二交易信息以及所述第一票据标识,所述票据服务节点在将所述票据区块的地址发送至所述票据查验节点时,还携带有所述第一票据标识。具体的,所述第一票据信息包括所述第一参与账户与所述第二参与账户之间的第一交易信息以及第一票据标识,由前文结合图1所描述的实施例可以理解所述第二参与账户向所述第一参与账户转移了预设数据转移量,这是所述第二参与账户的支出部分,示例性的,所述第二参与账户在交税的时候,可以使用所述预设数据转移量来对税额进行核销,从而降低所述第二参与账户的税额,比如所述第二参与账户是持有者是深圳甲公司,则所述票据查验节点是深圳税务局,所述第二参与账户发送所述业务核销请求可以理解为甲公司在报税申请时使用所述第一参与账户向所述第二参与账户转移的数据转移量来抵扣部分税额,那所述票据查验节点比如深圳税务局对所述第一票据信息的真实性进行查验,即执行步骤S201。
S201、所述票据查验节点根据所述第一票据标识获取所述票据区块的地址,由所述票据区块的地址在所述区块链网络中获取所述第一票据信息,若所述第一交易信息与所述第二交易信息相同,所述票据查验节点生成票据核销成功信息。具体的,由前文结合图1所述描述实施例中的步骤S100至步骤S104,所述票据服务节点将所述第一票据信息上传至所述区块链网络中,所述票据服务节点在生成所述第一票据信息之前对所述第二参与账户提交的开票请求进行了校验,保证了所述区块链网络中的所述第一票据信息的真实性。所述票据查验节点根据所述票据区块的地址获取所述第一票据信息,将所述区块链网络中所述第一票据信息包括的第一交易信息和所述业务核销请求中的第二交易信息进行比较,示例性的,所述第一交易信息和所述第二交易信息分别包括两个参与账户的标识、交易时间以及数据转移量,所述票据查验节点分别获取所述第一交易信息和所述第二交易信息中的两个参与账户标识、交易时间以及数据转移量,若所述第一交易信息和所述第二交易信息中的两个参与账户标识、交易时间以及数据转移量均对应相同,则确认所述第一交易信息和所述第二交易信息相同。
S202、所述票据查验节点将所述票据核销成功信息发送至所述第二参与账户,并在所述区块链网络中将所述第一票据信息标记为已核销状态。具体的,所述第一票据信息包括第一票据标识,比如票据编号,所述票据查验节点在将所述第一票据信息标记为已核销状态之后,在所述区块链网络中进行广播,例如,所述票据查验节点将所述第一票据信息标记为已核销状态,生成核销区块,所述核销区块包括所述第一票据标识以及状态标记,将所述核销区块上传至所述区块链网络中,所述区块链网络中的节点可以通过所述第一票据标识查找到所述核销区块,从而得知所述第一票据信息的状态标记。示例性的,所述第一票据信息的票据标识为222,生成所述第一票据信息之后的默认状态标记是0,0代表所述票据标识对应的票据信息处于未核销状态。所述票据查验节点执行完步骤S201之后,所述第一票据信息已被成功核销,所述票据查验节点将票据标识为222的第一票据信息标记0改为1,1代表所述票据标识对应的第一票据信息处于已核销状态,所述票据查验节点根据所述票据标识222以及状态标记1生成票据区块上传至所述区块链网络中,使得区块链网络中的节点根据票据标识222得知所述票据标识222对应的第一票据信息的状态标记为1,即所述第一票据信息处于已核销状态。
为了进一步提高票据信息比较的可靠性,在一种可能的实施例中,在所述票据查验节点执行步骤S201之前,所述票据查验节点执行步骤S201a,将所述业务核销请求发送至共识节点,以使共识节点根据所述第一票据标识获取所述票据区块的地址,由所述票据区块的地址在所述区块链网络中获取所述第一票据信息;若所述第一交易信息和所述第二交易信息相同,所述共识节点返回共识确认消息;在接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,所述票据查验节点生成所述票据核销成功信息。在一种可能的实现方式中,所述预设的共识策略可以为返回共识确认消息的共识节点数量不小于第三预设数量;所述第三预设数量可以为60、65或70等,示例性的,所述区块链网络中包括100个共识节点,所述第三预设数量为65,当返回共识确认消息的共识节点不小于65个,所述交易服务节点判断所述共识节点返回的共识确认消息满足预设的共识策略。在另一种可能的实现方式中,所述预设的共识策略为返回共识确认消息的共识节点占所述区块链网络中所有节点的比例大于第三预设比例阈值,所述第三预设比例阈值可以为60%、65%或70%等,示例性的,所述区块链网络中包括1000个共识节点,所述第三预设比例阈值为65%,当返回共识确认消息的共识节点超过650个,所述交易服务节点判断所述共识节点返回的共识确认消息满足预设的共识策略。
进一步的,为了避免票据信息出现多次核销的情况,在所述票据查验节点在执行步骤S201之前,可以执行步骤S201b,所述票据查验节点根据所述第一票据标识在所述区块链网络中查找所述第一票据信息的状态标记,根据所述第一票据信息的状态标记确定所述第一票据信息是否为未核销状态,若是,则生成票据核销成功信息。具体的,若所述第一票据信息已经被所述票据查验节点核销,所述票据查验节点将核销后的第一票据信息标记为已核销状态,示例性的,每张票据信息均对应有票据标识,例如票据编号。示例性的,所述第一票据信息的票据标识为222,所述票据服务节点生成所述第一票据信息之后的默认状态标记是0,0代表所述票据标识对应的票据信息处于未核销状态,1代表票据标识对应的票据信息处于已核销状态。所述票据查验节点在对所述第二参与账户发送的业务核销请求中的第一票据信息进行核销之前,可以根据所述第一票据信息的的状态标记来确定所述第一票据信息的状态。示例性的,所述票据查验节点根据所述票据标识222查找到的状态标记为0,则代表所述第一票据信息处于未核销状态,生成票据核销成功信息;若所述票据查验节点根据所述票据标识222查找到的状态标记为1,代表所述第一票据信息处于已核销状态,不再重复生成票据核销成功信息,可选的,所述票据查验节点还可以发出警示信息,以告知所述第二参与账户所述第一票据信息已经核销了,不可重复进行核销,拒绝所述第二参与账户的业务核销请求,因此可以避免出现单一票据信息出现多次核销的情况。
实施本实施例,所述票据查验节点在接收到第二参与账户的业务核销请求时,可以实时根据票据区块的地址获取所述第一票据信息,并将所述第一票据信息中的第一交易信息与所述业务核销请求中的第二交易信息进行比较,对所述第二参与账户的业务核销请求进行快速响应,大大地提高了工作效率。
下面结合附图对一种基于区块链的信息获取方法的应用场景进行示例性说明。
参见图3,图3为本申请实施例提供的一种基于区块链的信息获取方法的应用场景图。如图3所示,交易事件为第二参与账户31向第一参与账户30转移了预设数据量10,所述第一参与账户30执行步骤S300将所述交易事件发送交易服务节点32,所述交易服务节点32将所述交易事件发送至第一共识节点33和/或第二共识节点34,使得所述第一共识节点33和/或所述第二共识节点34对所述交易事件进行校验,具体校验过程可以参见前文结合图1所描述的实施例,在校验通过的情况下向所述交易服务节点32返回共识确认消息,所述交易服务节点32在共识确认消息满足预设的共识策略的情况下,所述交易服务节点32将所述交易事件上传至区块链网络中,所述预设的共识策略可以参见前文结合图1所述描述的实施例,此处也不作赘述。所述第一参与账户30执行步骤S301向票据服务节点35提交开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识111和交易信息,所述交易信息包括所述第一参与账户的标识A和所述第二参与账户的标识B。所述票据服务节点35对所述开票请求中的交易信息进行校验,执行步骤S302对所述交易信息进行哈希运算,得到第一校验码;所述票据服务节点35将所述交易标识111和所述第一校验码发送至共识节点,以使所述共识节点对所述交易信息进行校验,具体校验过程可以参考前文结合图1所描述的实施例,在校验通过的情况下向所述票据服务节点35返回共识确认消息,所述票据服务节点35在共识确认消息满足预设的共识策略的情况下,所述票据服务节点35执行步骤S304根据所述第一参与账户30提交的开票请求生成第一票据信息,所述票据信息包括交易标识111,第一参与账户的标识A、第二参与账户的标识B和数据转移量10等等,所述票据服务节点35根据所述第一票据信息生成票据区块,并将所述票据区块上传至所述区块链网络中;所述票据服务节点35执行步骤S304根据所述第二参与账户的标识B获取所述第二参与账户的归属地例如深圳,由所述第二参与账户的归属地确定所述第二参与账户对应的票据查验节点例如深圳税务局;所述票据服务节点35执行步骤S305将所述票据区块的地址发送至所述票据查验节点36,也可以将所述票据区块的地址发送至所述第二参与账户31;所述第二参与账户31执行步骤S306向所述票据查验节点36提交业务核销请求;所述票据查验节点36对所述业务核销请求中的第二交易信息与所述第一票据信息中的第一交易信息进行比对,若所述第二交易信息与所述第一交易信息相同,执行步骤S307生成票据核销成功信息,由此实现了所述票据查验节点36对所述第一票据信息的获取,并基于所述第一票据信息对业务核销请求进行及时的响应。
下面结合附图对本申请实施例提供的一种基于区块链的信息获取系统。参见图4,图4为本申请实施例提供的一种基于区块链的信息获取系统的结构框图。如图4所示,基于区块链的信息获取系统40包括第一参与账户401、第二参与账户402、交易服务节点403、票据服务节点404、票据查验节点405、以及共识节点,所述共识节点可以包括第一共识节点407和/或第二共识节点408,其中:
所述交易服务节点403可以为服务器,也可以是其他具有接收和发送功能的终端设备,用于接收第一参与账户401与第二参与账户402之间的交易事件,并将所述交易事件上传至所述区块链网络中;所述第一参与账户401和所述第二参与账户402可以通过终端设备例如手机或者电脑来发送交易事件;所述票据服务节点404可以为服务器或终端设备,用于接收开票请求、根据开票请求生成票据信息和票据区块、确定所述第二参与账户402对应的票据查验节点以及发送票据区块的地址等等;所述票据查验节点405可以为核销票据的服务器,用于对业务核销请求进行响应。所述第一共识节点407和所述第二共识节点408用于对所述交易事件和开票请求进行共识确认,还可以包括多个其他共识节点,此处只作示例性说明。所述交易服务节点403、票据服务节点404、票据查验节点405以及共识节点均为区块链网络中的节点。
本申请还提供了一种基于区块链的信息获取装置,参见图5,图5为本申请实施例提供的一种基于区块链的信息获取装置的结构框图。如图5所示,所述基于区块链的信息获取装置50包括:
接收模块500,用于接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;
计算模块501,用于对所述交易信息进行哈希运算,得到第一校验码;
发送模块502,用于将所述交易标识和所述第一校验码发送至共识节点,以使所述共识节点共识确认;
生成模块503,用于在接收到所述共识节点返回共识确认的消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息;
所述生成模块503,还用于根据所述第一票据信息生成票据区块;
所述发送模块502,还用于将所述票据区块上传至所述区块链网络中;
获取模块504,用于根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息;
确定模块505,用于根据所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;
所述发送模块502,还用于将所述票据区块的地址发送至所述票据查验节点,以使所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
可选的,所述第二参与账户的标识包括多个字段;所述基于区块链的信息获取装置50还包括查找模块507;
所述确定模块505,还用于根据所述第二参与账户的标识中包含的特定字段,确定所述第二参与账户的归属地域信息;
所述查找模块507,用于根据所述第二参与账户的归属地域信息,在归属地映射表中查找所述第二参与账户的归属地,所述归属地映射表中包括归属地域信息与归属地之间的对应关系;
所述确定模块505,还用于根据所述第二参与账户的归属地确定所述票据查验节点,所述第二参与账户的归属地唯一对应所述票据查验节点。
在一种可能的实施例中,所述发送模块502在将所述票据区块的地址发送至所述票据查验节点时,携带有所述票据服务节点的标识以及所述票据服务节点对所述票据区块地址的第一数字签名,以使所述票据查验节点根据所述票据服务节点的标识在所述区块链网络中获取所述票据服务节点的公钥,对所述第一数字签名进行验签,得到第二校验码;对所述票据区块的地址进行哈希运算,得到第三校验码,若所述第二校验码与所述第三校验码相同,所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
可选的,所述第一票据信息包括所述第一参与账户与所述第二参与账户之间的第一交易信息以及第一票据标识;所述发送模块502在将所述票据区块的地址发送至所述票据查验节点时,还携带有所述第一票据标识;在所述发送模块502将所述票据区块的地址发送至所述票据查验节点之后,使得所述票据查验节点在接收到所述第二参与账户发送的业务核销请求时,所述业务核销请求包括所述第一参与账户与所述第二参与账户之间的第二交易信息以及所述第一票据标识;所述票据查验节点根据所述第一票据标识获取所述票据区块的地址,由所述票据区块的地址在所述区块链网络中获取所述第一票据信息,若所述第二交易信息与所述第一交易信息相同,所述票据查验节点生成票据核销成功信息,将所述票据核销成功信息发送至所述第二参与账户,并在所述区块链网络中将所述第一票据信息标记为已核销状态。
进一步的,所述第一票据信息的状态标记关联着所述第一票据标识,在所述发送模块502将所述票据区块的地址发送至所述票据查验节点之后,所述票据查验节点将所述业务核销请求发送至共识节点,以使共识节点根据所述第一票据标识在所述区块链网络中获取所述第一票据信息;若所述第一交易信息和所述第二交易信息相同,所述共识节点返回共识确认消息;在接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,所述票据查验节点生成所述票据核销成功信息。
进一步的,所述第一票据信息的状态标记关联着所述第一票据标识,使得所述票据查验节点根据所述第一票据标识在所述区块链网络中查找所述第一票据信息的状态标记;根据所述第一票据信息的状态标记确定所述第一票据信息是否为未核销状态,若是,所述票据查验节点生成所述核销成功信息。
在一种可能的实施例中,所述发送模块502,还用于向数字证书中心提交数字证书申请,所述数字证书申请包括所述票据服务节点的标识以及所述票据服务节点的公钥,以使所述数字证书中心根据所述票据服务节点的标识确定所述票据服务节点是否在预设证书列表中,所述预设证书列表包括至少一个票据服务节点的标识,若是,则向所述票据服务节点下发数字证书,所述数字证书包括第四校验码的密文以及所述数字证书中心的标识;所述第四校验码为所述数字证书中心对所述票据服务节点的公钥进行哈希运算后得到的,所述第四校验码的密文为所述数字证书中心使用自身的私钥加密得到的;
在所述票据服务节点将所述票据区块的地址发送至所述票据查验节点时,所述发送模块502还用于触发智能合约将所述数字证书发送至所述票据查验节点,以使所述票据查验节点根据所述数字证书中心的标识在所述区块链网络中获取所述数字证书中心的公钥,使用所述数字证书中心的公钥对所述第四校验码的密文进行解密后得到所述第四校验码;所述票据查验节点对根据所述票据服务节点的标识在所述区块链网络中获取到的公钥进行哈希运算,得到第五校验码,若所述第四校验码与所述第五校验码相同,确定所述票据服务节点的标识在所述区块链网络中获取到的公钥为所述票据服务节点的公钥。
在一种可能的实施例中,所述接收模块500接收第一参与账户提交的开票请求之前包括:
交易业务服务节点接收所述第一参与账户提交的交易事件,所述交易事件为所述第二参与账户向所述第一参与账户转移预设数据转移量,其中所述交易事件包括第二数字签名、第三数字签名、所述第一参与账户的标识、所述第二参与账户的标识和交易标识;
所述交易业务服务节点将所述交易事件发送至共识节点,以使所述共识节点根据所述第一参与账户的标识和所述第二参与账户的标识在所述区块链网络中查找所述第一参与账户的公钥和所述第二参与账户的公钥,对所述交易事件中的第二数字签名以及第三数字签名进行验签,若验签成功,则所述共识节点返回共识确认消息;
在所述交易业务服务节点接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,将所述第一参与账户与所述第二参与账户之间的交易事件生成交易区块,并将所述交易区块上传至所述区块链网络中。
在一种可能的实现方式中,所述交易信息还包括交易时间;
所述查找模块507,还用于根据所述第一参与账户的标识、所述第二参与账户的标识和所述交易时间,在所述区块链网络中查找针对所述第一参与账户和所述第二参与账户在所述交易时间的目标票据信息;所述生成模块503,还用于在没有查找到所述目标票据信息的情况下,根据所述第一参与账户提交的开票请求生成所述第一票据信息。
参见图6,图6为本申请实施例提供的一种基于区块链的信息获取设备的结构框图。如图6所示,业务处理设备60包括收发器600、处理器601以及存储器602,其中:
所述收发器600用于接收开票请求、业务核销请求以及共识节点返回的共识确认消息,还用于将票据区块上传至区块链网络中以及发送票据区块的地址,所述处理器600可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器602中存储有指令,可以理解的是,所述存储器602中存储有所述归属地域信息和归属地之间的对应关系。示例性的,所述存储器602可以包括只读存储器和随机存取存储器,并向处理器601和收发器600提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息
所述处理器601,用于执行所述存储器中存储的计算机程序,实现前文所述的任意一种可能的实施例。
具体实现中,上述业务处理设备可通过其内置的各个功能模块执行如上述图1到图4中各个步骤所提供的实现方式,具体可参见上述图1到图4中各个步骤所提供的实现方式,在此不再赘述。
本申请提供了一种计算机可读存储介质,所述可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前文所述的任意一种可能的实施例。
需要说明的是,上述术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置以及系统,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种基于区块链的信息获取方法,其特征在于,所述方法包括:
票据服务节点接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;
所述票据服务节点对所述交易信息进行哈希运算,得到第一校验码;
所述票据服务节点将所述交易标识和所述第一校验码发送至共识节点,以使所述共识节点进行共识确认;
所述票据服务节点在接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息,根据所述第一票据信息生成票据区块,并将所述票据区块上传至所述区块链网络中;
所述票据服务节点根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息,由所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;
所述票据服务节点将所述票据区块的地址发送至所述票据查验节点,并触发智能合约将用于证明所述票据服务节点合法性的数字证书发送至所述票据查验节点,以使所述票据查验节点在接收到业务核销请求时,根据所述票据服务节点的标识在所述区块链网络中获取公钥,根据所述数字证书确定获取到的公钥为所述票据服务节点的公钥,利用所述票据服务节点的公钥对第一数字签名进行验签,得到第二校验码,并对所述票据区块的地址进行哈希运算,得到第三校验码,若所述第二校验码与所述第三校验码相同,根据所述票据区块的地址获取所述第一票据信息,并在第一交易信息与第二交易信息相同时生成票据核销成功信息,所述第一票据信息包括所述第一参与账户与所述第二参与账户之间的所述第一交易信息,所述业务核销请求包括所述第一参与账户与所述第二参与账户之间的所述第二交易信息;
其中,所述票据服务节点在将所述票据区块的地址发送至所述票据查验节点时,携带有所述票据服务节点的标识以及所述票据服务节点对所述票据区块地址的所述第一数字签名。
2.根据权利要求1所述的方法,其特征在于,所述第二参与账户的标识包括多个字段;
所述票据服务节点根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息,由所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点包括:
所述票据服务节点根据所述第二参与账户的标识中包含的特定字段,确定所述第二参与账户的归属地域信息;
所述票据服务节点根据所述第二参与账户的归属地域信息,在归属地映射表中查找所述第二参与账户的归属地,所述归属地映射表中包括归属地域信息与归属地之间的对应关系;
所述票据服务节点根据所述第二参与账户的归属地确定所述票据查验节点,所述第二参与账户的归属地唯一对应所述票据查验节点。
3.根据权利要求1所述的方法,其特征在于,所述第一票据信息还包括第一票据标识;所述票据服务节点在将所述票据区块的地址发送至所述票据查验节点时,还携带有所述第一票据标识;
所述方法还包括:
所述票据查验节点接收所述第二参与账户发送的所述业务核销请求,所述业务核销请求还包括所述第一票据标识;
所述票据查验节点根据所述第一票据标识获取所述票据区块的地址,由所述票据区块的地址在所述区块链网络中获取所述第一票据信息,若所述第一交易信息与所述第二交易信息相同,所述票据查验节点生成票据核销成功信息,将所述票据核销成功信息发送至所述第二参与账户,并在所述区块链网络中将所述第一票据信息标记为已核销状态。
4.根据权利要求3所述的方法,其特征在于,所述票据查验节点生成票据核销成功信息包括:
所述票据查验节点根据所述第一票据标识在所述区块链网络中查找所述第一票据信息的状态标记,根据所述第一票据信息的状态标记确定所述第一票据信息是否为未核销状态,若是,则生成所述票据核销成功信息。
5.根据权利要求1所述的方法,其特征在于,所述票据服务节点接收第一参与账户提交的开票请求之前包括:
交易业务服务节点接收所述第一参与账户提交的交易事件,所述交易事件为所述第二参与账户向所述第一参与账户转移预设数据转移量,其中所述交易事件包括第二数字签名、第三数字签名、所述第一参与账户的标识、所述第二参与账户的标识和交易事件标识;
所述交易业务服务节点将所述交易事件发送至共识节点,以使所述共识节点根据所述第一参与账户的标识和所述第二参与账户的标识在所述区块链网络中查找所述第一参与账户的公钥和所述第二参与账户的公钥,对所述交易事件中的第二数字签名以及第三数字签名进行验签,若验签成功,则所述共识节点返回共识确认消息;
在所述交易业务服务节点接收到所述共识节点返回的共识确认消息满足预设的共识策略的情况下,将所述第一参与账户与所述第二参与账户之间的交易事件生成交易区块,并将所述交易区块上传至所述区块链网络中。
6.根据权利要求1所述的方法,其特征在于,所述交易信息还包括交易时间;
所述根据所述第一参与账户提交的开票请求生成第一票据信息包括:
所述票据服务节点根据所述第一参与账户的标识、所述第二参与账户的标识和所述交易时间,在所述区块链网络中查找针对所述第一参与账户和所述第二参与账户在所述交易时间的目标票据信息,若没有查找到所述目标票据信息,根据所述第一参与账户提交的开票请求生成所述第一票据信息。
7.一种基于区块链的信息获取装置,其特征在于,所述装置包括:
接收模块,用于接收第一参与账户提交的开票请求,所述开票请求包括所述第一参与账户与第二参与账户之间的交易标识和交易信息,所述交易信息包括所述第一参与账户的标识和所述第二参与账户的标识;
计算模块,用于对所述交易信息进行哈希运算,得到第一校验码;
发送模块,用于将所述交易标识和所述第一校验码发送至共识节点,以使所述共识节点进行共识确认;
生成模块,用于在接收到所述共识节点返回共识确认的消息满足预设的共识策略的情况下,根据所述第一参与账户提交的开票请求生成第一票据信息;
所述生成模块,还用于根据所述第一票据信息生成票据区块;
所述发送模块,还用于将所述票据区块上传至所述区块链网络中;
获取模块,用于根据所述第二参与账户的标识获取所述第二参与账户的归属地域信息;
确定模块,用于根据所述第二参与账户的归属地域信息确定所述第二参与账户对应的票据查验节点;
所述发送模块,还用于将所述票据区块的地址发送至所述票据查验节点,并触发智能合约将用于证明所述票据服务节点合法性的数字证书发送至所述票据查验节点,以使所述票据查验节点在接收到业务核销请求时,根据所述票据区块的地址获取所述第一票据信息,并在第一交易信息与第二交易信息相同时生成票据核销成功信息,所述第一票据信息包括所述第一参与账户与所述第二参与账户之间的所述第一交易信息,所述业务核销请求包括所述第一参与账户与所述第二参与账户之间的所述第二交易信息;
所述发送模块在将所述票据区块的地址发送至所述票据查验节点时,携带有所述票据服务节点的标识以及所述票据服务节点对所述票据区块地址的第一数字签名,以使所述票据查验节点根据所述票据服务节点的标识在所述区块链网络中获取公钥,根据所述数字证书确定获取到的公钥为所述票据服务节点的公钥,利用所述票据服务节点的公钥对所述第一数字签名进行验签,得到第二校验码;对所述票据区块的地址进行哈希运算,得到第三校验码,若所述第二校验码与所述第三校验码相同,所述票据查验节点根据所述票据区块的地址获取所述第一票据信息。
8.一种基于区块链的信息获取设备,其特征在于,所述设备包括收发器、处理器和存储器,其中所述处理器用于执行所述存储器中存储的计算机程序,实现如权利要求1至6中任意一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至6中任意一项所述方法的步骤。
CN202010310961.8A 2020-04-20 2020-04-20 基于区块链的信息获取方法、装置、设备及存储介质 Active CN111507815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010310961.8A CN111507815B (zh) 2020-04-20 2020-04-20 基于区块链的信息获取方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010310961.8A CN111507815B (zh) 2020-04-20 2020-04-20 基于区块链的信息获取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111507815A CN111507815A (zh) 2020-08-07
CN111507815B true CN111507815B (zh) 2021-07-27

Family

ID=71877702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010310961.8A Active CN111507815B (zh) 2020-04-20 2020-04-20 基于区块链的信息获取方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111507815B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112163917A (zh) * 2020-09-28 2021-01-01 财付通支付科技有限公司 基于区块链的票据处理方法、装置、介质及电子设备
CN112269915B (zh) * 2020-10-30 2023-08-25 成都质数斯达克科技有限公司 业务处理方法、装置、设备及存储介质
CN113723957B (zh) * 2021-08-20 2023-10-27 上海浦东发展银行股份有限公司 区块链账户信息确认方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110956474A (zh) * 2019-01-29 2020-04-03 深圳市智税链科技有限公司 基于区块链的电子发票系统
CN111028023A (zh) * 2018-12-07 2020-04-17 深圳市智税链科技有限公司 基于区块链系统的税务管理方法、装置、介质及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019221468A1 (ko) * 2018-05-16 2019-11-21 주식회사 케이티 개인 도메인 네임 서비스 방법 및 개인 도메인 네임을 이용한 접속 제어 방법과 시스템
CN110473078B (zh) * 2018-09-07 2023-04-07 深圳市智税链科技有限公司 发票开具中的信息处理方法、装置、网关服务器和介质
CN110286849B (zh) * 2019-05-10 2023-07-21 深圳物缘科技有限公司 数据存储系统的数据处理方法和装置
CN110458677A (zh) * 2019-07-31 2019-11-15 阿里巴巴集团控股有限公司 基于区块链的票据核销方法及装置、电子设备、存储介质
CN110599269A (zh) * 2019-09-16 2019-12-20 腾讯科技(深圳)有限公司 票据生成方法、装置、计算机可读存储介质和计算机设备
CN110599266B (zh) * 2019-09-16 2021-07-06 腾讯科技(深圳)有限公司 电子票据数据处理方法、装置、计算机设备和存储介质
CN110599275A (zh) * 2019-09-27 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法、装置及存储介质
CN110738471A (zh) * 2019-10-14 2020-01-31 腾讯科技(深圳)有限公司 一种基于区块链网络的票据管理方法及相关设备
CN110738536A (zh) * 2019-10-14 2020-01-31 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法、装置及存储介质
CN110866755A (zh) * 2019-11-19 2020-03-06 腾讯科技(深圳)有限公司 一种对票据数据的处理方法、设备及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111028023A (zh) * 2018-12-07 2020-04-17 深圳市智税链科技有限公司 基于区块链系统的税务管理方法、装置、介质及电子设备
CN110956474A (zh) * 2019-01-29 2020-04-03 深圳市智税链科技有限公司 基于区块链的电子发票系统

Also Published As

Publication number Publication date
CN111507815A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN111507815B (zh) 基于区块链的信息获取方法、装置、设备及存储介质
US20210150521A1 (en) Blockchain-based privacy transaction and blockchain-based privacy transaction application methods and apparatuses
Matsumoto et al. IKP: Turning a PKI around with decentralized automated incentives
CN109726229B (zh) 一种区块链数据存储方法及装置
CN110633963B (zh) 电子票据处理方法、装置、计算机可读存储介质和设备
CN111343142B (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
US20190268466A1 (en) Number portability information management system
CN103098438B (zh) 证书撤销系统
CN111079136B (zh) 一种基于区块链技术的雾计算入侵检测特征共享系统
WO2016161892A1 (zh) 一种基于地址匹配的风险识别方法及装置
CA2976037A1 (en) Verifying electronic transactions
CN108881165A (zh) 一种带区块发布机制的多中心认证系统
CN111444550A (zh) 基于区块链的业务数据的验证方法、装置及可读存储介质
CN110599275A (zh) 一种基于区块链网络的数据处理方法、装置及存储介质
CN109508564A (zh) 一种基于区块链的数字资产存储系统和方法
CN111914230B (zh) 基于区块链的身份验证方法、系统、终端设备及存储介质
CN115796871A (zh) 基于区块链的资源数据处理方法、装置和服务器
CN110941672A (zh) 户籍管理方法、装置、设备以及存储介质
CN110738502A (zh) 一种票据处理方法、装置及存储介质装置
CN112862589B (zh) 金融场景下的身份验证方法、装置和系统
CN111260421B (zh) 一种基于区块链的电子发票管控方法及装置
CN1922815B (zh) 用于ocsp和分布式ocsp的签名有效实时凭证
CN112256799A (zh) 基于区块链的数据处理方法、装置、服务器及存储介质
JP6963872B1 (ja) 通貨管理システム
KR20210109767A (ko) 블록 체인 모니터링 기반 자산 탈취 방지 서비스 제공 방법 및 그 장치

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
GR01 Patent grant
GR01 Patent grant