CN112581197A - 基于区块链的票据号码分配方法、装置及电子设备 - Google Patents
基于区块链的票据号码分配方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112581197A CN112581197A CN202011593897.5A CN202011593897A CN112581197A CN 112581197 A CN112581197 A CN 112581197A CN 202011593897 A CN202011593897 A CN 202011593897A CN 112581197 A CN112581197 A CN 112581197A
- Authority
- CN
- China
- Prior art keywords
- bill
- electronic bill
- invoicing
- electronic
- block chain
- 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/04—Billing or invoicing
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书提供一种基于区块链的票据号码分配方法、装置及电子设备,包括:接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及基于区块链的票据号码分配方法、装置及电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
本说明书提出一种基于区块链的票据号码分配方法,所述方法包括:
接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码。
可选的,所述方法还包括:
将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,基于开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据。
可选的,所述区块链上还存证了所述开票监管方的电子票据模板的存储地址;
所述将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,基于开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据,包括:
将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,从所述区块链上获取所述开票监管方的电子票据模板的存储地址,并基于所述存储地址从开票监管方服务端上获取所述电子票据模板,并将所述票据信息和所述电子票据号码生成为电子票据。
可选的,所述方法还包括:
调用部署在所述区块链上的智能合约中的开票逻辑,基于所述区块链上存储的开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据,并将生成的电子票据发布至所述区块链进行存证。
可选的,所述区块链的节点设备通过Oracle预言机与所述开票监管方的服务端连接;
所述方法还包括:
调用部署在所述区块链上的智能合约中的开票逻辑,通过Oracle预言机从所述开票监管方的服务端中获取电子票据模板,基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
可选的,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码,包括:
在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
可选的,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
可选的,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
本说明还提出一种基于区块链的票据号码分配装置,所述装置应用于区块链的节点设备,所述装置包括:
接收模块,用于接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
校验模块,用于响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
分配模块,用于如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码。
可选的,所述装置还包括:
发布模块,将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,基于开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据。
可选的,所述区块链上还存证了所述开票监管方的电子票据模板的存储地址;
所述发布模块,将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,从所述区块链上获取所述开票监管方的电子票据模板的存储地址,并基于所述存储地址从开票监管方服务端上获取所述电子票据模板,并将所述票据信息和所述电子票据号码生成为电子票据。
可选的,所述装置还包括:
第一生成模块,调用部署在所述区块链上的智能合约中的开票逻辑,基于所述区块链上存储的开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据,并将生成的电子票据发布至所述区块链进行存证。
可选的,所述区块链的节点设备通过Oracle预言机与所述开票监管方的服务端连接;
所述装置还包括:
第二生成模块,调用部署在所述区块链上的智能合约中的开票逻辑,通过Oracle预言机从所述开票监管方的服务端中获取电子票据模板,基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
可选的,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述分配单元,在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
可选的,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
可选的,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
本说明书还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现上述基于区块链的票据号码分配方法。
本说明书还提出一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述基于区块链的票据号码分配方法。
由上述描述可知,区块链的节点设备可响应于开票发起发发送的目标交易,对在确定该目标交易中携带的票据信息合法性校验通过后,调用区块链上部署的智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为该票据信息分配电子票据号码。后续,区块链的节点设备或者开票发起方可以基于票据信息、电子票据号码和电子票据模板,自主生成电子票据,从而实现了用户通过区块链获取待开具的电子票据的电子票据号码,以及用户自主开具电子票据。
附图说明
图1是本说明书一示例性实施例示出的一种创建智能合约的示意图;
图2是本说明书一示例性实施例示出的一种调用智能合约的示意图;
图3是本说明书一示例性实施例示出的创建智能合约和调用智能合约的示意图;
图4是本说明书一示例性实施例示出的一种基于区块链票据号码分配系统的示意图;
图5是本说明书一示例性实施例示出的一种基于区块链票据号码分配方法的流程图;
图6是本说明书一示例性实施例示出的电子设备的硬件结构图;
图7是本说明书一示例性实施例示出的一种基于区块链票据号码分配装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
在区块链领域,有一个重要的概念就是账户(Account);以以太坊为例,以太坊通常将账户划分为外部账户和合约账户两类;外部账户就是由用户直接控制的账户,也称之为用户账户;而合约账户则是由用户通过外部账户创建的,包含合约代码的账户(即智能合约)。当然,对于一些基于以太坊的架构而衍生出的区块链项目(比如蚂蚁区块链),还可以对区块链支持的账户类型,进行进一步的扩展,在本说明书中不进行特别限定。
对于区块链中的账户而言,通常会通过一个结构体,来维护账户的账户状态。当区块中的交易被执行后,区块链中与该交易相关的账户的状态通常也会发生变化。
以以太坊为例,账户的结构体通常包括Balance,Nonce,Code和Storage等字段。其中:
Balance字段,用于维护账户目前的账户余额;
Nonce字段,用于维护该账户的交易次数;它是用于保障每笔交易能且只能被处理一次的计数器,有效避免重放攻击;
Code字段,用于维护该账户的合约代码;在实际应用中,Code字段中通常仅维护合约代码的hash值;因而,Code字段通常也称之为Codehash字段。
Storage字段,用于维护该账户的存储内容(默认字段值为空);对于合约账户而言,通常会分配一个独立的存储空间,用以存储该合约账户的存储内容;该独立的存储空间通常称之为该合约账户的账户存储。合约账户的存储内容通常会构建成MPT(MerklePatricia Trie)树的数据结构存储在上述独立的存储空间之中;其中,基于合约账户的存储内容构建成的MPT树,通常也称之为Storage树。而Storage字段通常仅维护该Storage树的根节点;因此,Storage字段通常也称之为StorageRoot字段。
其中,对于外部账户而言,以上示出的Code字段和Storage字段的字段值均为空值。
此外,在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smart contract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
如图1所示,Bob将一笔包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中1中交易的From字段用于记录发起创建智能合约的账户的地址,交易的Data字段的字段值保存的合约代码可以是字节码,交易的To字段的字段值为一个null(空)的账户。当节点间通过共识机制达成一致后,这个智能合约成功创建,后续用户可以调用这个智能合约。
智能合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址;比如,图1中各节点中的“0x68e12cf284…”就代表了创建的这个合约账户的地址;合约代码(Code)和账户存储(Storage)将保存在该合约账户的账户存储中。智能合约的行为由合约代码控制,而智能合约的账户存储则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的Data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,高级语言可以采用诸如Solidity、Serpent、LLL语言等。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以Solidity语言为例,用其编写的合约代码与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储(Storage)字段中的值,用于保存合约的状态。
如图2所示,仍以以太坊为例,Bob将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图2中交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点(例如图2中的节点1)查看合约账户的账户状态。
智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
以以太坊代表的传统的区块链项目,为了在区块链上实现“价值转移”,通常都支持将现实世界的货币转换为能够在链上流通的虚拟代币。
而在区块链领域,对于一些基于以太坊的架构而衍生出的区块链项目(比如蚂蚁区块链),通常不再支持将现实世界的货币转换为能够在链上流通的虚拟代币的功能;取而代之的是,在这些区块链项目中,可以将现实世界中的一些非货币属性的实体资产,转化成为能够在区块链上流通的虚拟资产。
其中,需要说明的是,将现实世界中的非货币属性的实体资产转化为区块链上的虚拟资产,通常是指将该实体资产与区块链上的虚拟资产进行“锚定”,作为这些虚拟资产的价值支撑,进而在区块链上产生与实体资产的价值匹配,且能够在区块链上的区块链账户之间进行流通的虚拟资产的过程。
在实现时,可以对区块链支持的账户类型进行扩展,在区块链支持的账户类型的基础上,再扩展出一种资产账户(也称之为资产对象);比如,可以在以太坊支持的外部账户、合约账户的基础上,再扩展出一种资产账户;扩展出的该资产账户,即为可以将现实世界中的非货币属性的实体资产作为价值支撑,且可以在区块链账户之间流通的虚拟资产。
对于接入这类区块链的用户而言,除了可以在区块链上完成用户账户、智能合约的创建以外,在区块链上创建一笔与现实世界的非货币属性的实体资产价值匹配的虚拟资产,在区块链上进行流通;
例如,用户可以将持有的房产、股票、贷款合同、票据、应收账款等非货币属性的实体资产,转换为价值匹配的虚拟资产在区块链上流通。
其中,对于上述资产账户而言,具体也可以通过一个结构体,来维护账户的账户状态。上述资产账户的结构体所包含的内容,可以与以太坊相同,当然也可以基于实际的需求进行设计;
在一种实现方式中,以上述资产账户的结构体所包含的内容与以太坊相同为例,上述资产账户的结构体也可以包括以上描述的Balance,Nonce,Code和Storage等字段。
需要说明的是,在以太坊中,Balance字段通常用于维护账户目前的账户余额;而对于基于以太坊的架构而衍生出的区块链项目而言,由于其可能并不支持将现实世界的货币转换为能够在链上流通的虚拟代币,因此在这类区块链中,可以对Balance字段的含义进行扩展,不再表示账户的“余额”,而是用于维护账户持有的“虚拟资产”对应的资产账户的地址信息。其中,在实际应用中,Balance字段中可以维护多笔“虚拟资产”对应的资产账户的地址信息。
在这种情况下,以上示出的外部账户、合约账户和资产账户,均可以通过在Balance字段中添加需要持有的“虚拟资产”对应的资产账户的地址信息,来持有这笔虚拟资产。即除了外部账户和合约账户以外,资产账户本身也可以持有虚拟资产。
对于资产账户而言,Nonce,Code字段的字段值可以为空值(也可以不为空);而Storage字段的字段值可以不再是空值;Storage字段可以用于维护与该资产账户对应的“虚拟资产”的资产状态。其中,在Storage字段中维护与该资产账户对应的“虚拟资产”的资产状态的具体方式,可以基于需求灵活的进行设计,不再赘述。
在基于以太坊的架构而衍生出的区块链项目中,用户可以通过以下示出的实现方式,在区块链上创建一笔与现实世界的非货币属性的实体资产价值匹配的虚拟资产:
在一种实现方式中,可以对区块链支持的交易类型进行扩展,扩展出一种用于创建虚拟资产的交易;比如,以太坊支持的交易类型通常包括普通的转账交易、创建智能合约的交易和调用智能合约的交易,则可以在以上三种类型的交易的基础上,再扩展出一种用于创建虚拟资产的交易。
在这种情况下,用户可以通过客户端向区块链网络中发布一笔用于创建虚拟资产的交易,由区块链中的节点设备在本地的EVM中执行这笔交易,来为该用户创建虚拟资产。当各节点设备通过共识机制达成一致后,这笔虚拟资产成功创建,区块链上出现一个与这笔虚拟资产对应的资产账户,并拥有一个特定的地址。
在另一种实现方式中,也可以在区块链上部署用于创建虚拟资产的智能合约;其中,部署用于创建虚拟资产的智能合约的过程不再赘述。
在这种情况下,用户可以通过客户端向区块链网络中发布一笔用于调用该智能合约的交易,由区块链中的节点设备在本地的EVM中执行这笔交易,并在EVM中运行智能合约相关的合约代码,来为该用户创建虚拟资产。当各节点设备通过共识机制达成一致后,这笔虚拟资产成功创建,区块链上出现一个与这笔虚拟资产对应的资产账户,并拥有一个特定的地址。
当然,对于一些基于以太坊的架构而衍生出的区块链项目,如果其也支持将现实世界的货币转换为能够在链上流通的虚拟代币的功能,那么仍然可以将现实世界中的一些非货币属性的实体资产,转化成为能够在区块链上流通的虚拟代币的形式,在区块链上流通,在本说明书中不再赘述。
在跨链场景下,多个区块链可以通过跨链中继实现跨链对接。
其中,跨链中继,可以通过桥接接口与多个区块链分别进行对接,并基于实现的数据搬运逻辑,完成该多个区块链之间的跨链数据同步。
在实现上述跨链中继时所采用的跨链技术,在本说明书中不进行特别限定;例如,在实际应用中,可以通过侧链技术、公证人技术等跨链机制,将多个区块链连接起来。
当多个区块链通过跨链中继实现对接之后,区块链之间就可以去读取并认证其它区块链上的数据,也可以通过跨链中继去调用其它区块链上部署的智能合约。
区块链上部署的智能合约,除了可以使用区块链上存证的数据以外,也可以通过Oracle预言机,来引用链外的数据实体上的数据,进而实现智能合约与真实世界的数据实体之间的数据交互。链外的数据实体,可以包括诸如部署在链外的中心化的服务器或者数据中心,等等。
其中,与跨链中继不同的是,Oracle预言机的功能并不是将一个区块链上的数据同步到另一个区块链上,而是将链外的数据实体上的数据同步到区块链上;
也即,跨链中继用于连接两个区块链,而Oracle预言机用于连接区块链与链外的数据实体,实现区块链与真实世界的数据交互。
随着区块链的业务场景的不断丰富,除了诸如转账等与价值转移息息相关的业务以外,越来越多的区块链项目开始引入一些与价值转移无关的传统业务场景;例如,业务系统可以与业务区块链对接,在业务区块链上来完成诸如电子票据的开具、报销等传统的业务场景。
在传统的电子票据的开具场景中,用户需要向开票方申请开票,开票方可以基于开票监管部统一分发的票据纸为用户开具纸质发票。或者,开票方可以为用户开具电子发票。
本说明书旨在提供一种基于区块链的为待开具电子票据的票据信息分配电子票据号码,并基于分配的电子票据信息生成电子票据的新的开票方式,可以使得用户基于区块链实现自主开票。
在具体实现时,区块链上维护了各个开票方的区块链账户,账户中储存了各开票方可开具的电子票据号段。
当区块链上的节点设备接收到开票发起方发送的携带有待开具的电子票据的票据信息的目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验。
在合法性校验通过后,区块链上的节点设备进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为该票据信息分配电子票据号码。
区块链上的节点设备或者开票发起方可以基于所述票据信息和电子票据号码以及开票监管方的电子票据模板生成电子票据。
在上述技术方案中,区块链的节点设备可响应于开票发起发发送的目标交易,对在确定该目标交易中携带的票据信息合法性校验通过后,调用区块链上部署的智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为该票据信息分配电子票据号码。后续,区块链的节点设备或者开票发起方可以基于票据信息、电子票据号码和电子票据模板,自主生成电子票据,从而实现了用户通过区块链获取待开具的电子票据的电子票据号码,以及用户自主开具电子票据。
参见图4,图4是本说明书一示例性实施例示出的一种基于区块链的票据号码分配组网的架构图。
如图4所示,该组网包括:开票发起方、开票方、开票监管方和区块链。
其中,上述开票发起方是指需要开具电子票据的一方,比如该开票发起方可以是用户个人,也可以是需要开具电子票据的单位等,这里只是对开票发起发进行示例性地说明,不进行具体地限定。
上述开票方,是指可以进行电子票据开具的开票机构。
当然,开票方也可以作为开票发起方来向别的开票发起发发起开票操作。
比如,用户在电子平台1(即单位)上购买了一部手机需要向该电子平台1开具发票,则在该场景中,用户为开票发起方,电子平台1为开票方。
再例如,电子平台1的单位在电子平台2上购买了一批电脑需要向电子平台2开具发票。则在该场景中,电子平台1的单位为开票发起方,电子平台2为开票方。
上述开票监管方,是指具有开票监管能力的一方。比如,开票监管方可以是财政机构。比如,开票监管方可以是市级财政部、省级财政部等。
通常,该开票监管方会颁布不同电子票据类型对应的电子票据模板。比如,增值税发票对应有增值税发票票据模板(类似传统的增值税发票的票据纸),普通发票对应有普通发票票据模板(类似于普通发票的票据纸)。
开票监管方可以将不同票据类型对应的电子票据模板发布在区块链上进行存证,当然,开票监管方还可将该电子票据模板在链下服务器(如开票监管方服务器等)进行储存,并将存储地址发布至区块链进行存证。或者,开票监管方还可将电子票据模板发布在其他区块链上进行存证。这里只是对开票监管方存证的电子票据模板进行示例性地说明,不进行具体地限定。
参见图5,图5是本说明书一示例性实施例示出的一种基于区块链的票据号码分配方法的流程图,该方法可应用在区块链的节点设备上,可包括如下所示步骤。
步骤502:接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息。
步骤504:响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
其中,待开具的电子票据的票据信息可以包括传统纸质发票上需要填写的信息,比如该票据信息可包括:电子票据类型、付款方信息、收款方信息、商品或服务明细、金额、税率、税额、开票日期等。
其中,付款方信息可包括:付款方名称、纳税人识别号、地址及电话、开户行及账号等。
收款方信息可包括:收款方名称、纳税人识别号、地址及电话、开户行及账号等。
当然,这里只是对上述票据信息、付款方信息、收款方信息进行示例性地说明,不进行具体地限定。
此外,在本说明书提供的实施例中,该区块链上还部署了用于向待开具的电子票据的票据信息分配票据号码的智能合约。
其中,在部署的智能合约中,可以包括校验逻辑和分配逻辑。该校验逻辑可以用于校验票据信息是否合法。该校验票据信息是否合法的逻辑可以由该智能合约的开发者以代码的形式写入至该智能合约。
上述分配逻辑,用于在确定票据信息合法后,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码。
当上述智能合约部署完成后,上述开票发起方(普通用户或者单位)等均可通过客户端构造目标交易。该目标交易中携带有待开具的电子票据的票据信息。然后,开票发起方可以将该目标交易发布至区块链。
区块链上的节点设备在接收到该目标交易后,可响应于该目标交易,调用部署在区块链上的智能合约中声明的校验逻辑,对票据信息进行合法性校验。
其中,该合法性校验可包括:开票发起方的权限校验和/或,开票方的开票权限校验。
对于上述开票发起方的权限校验,可以是校验上述开票发起方是否具有针对该票据信息的发起开票的权限。例如,该开票发起方是否为票据信息中的付款方。
举例来说,上述目标交易还可包括开票发起方的用户标识(比如纳税人识别号)。该区块链中的节点设备在调用上述智能合约中的校验逻辑,对票据信息进行校验时,可先获取票据信息中记录的付款方的用户标识,再检测开票发起方的用户标识与付款方的用户标识是否一致,
如果开票发起方的用户标识与付款方的用户标识一致,则该区块链的节点设备可确定开票发起方的权限校验通过。
如果开票发起方的用户标识与付款方的用户标识不一致,则该区块链的节点设备可确定开票发起方的权限校验不通过。
对于上述开票方的开票权限校验,可以是校验该开票方是否具有开具某种类型的电子票据的权限。例如,假设票据信息携带的票据类型为增值税发票,则可以检测该开票方是否具有开具增值税发票的权限。
举例来说,该票据信息中包括收款方(即开票方)的用户表标识、以及票据类型。该区块链的节点设备可调用上述智能合约中的校验逻辑,检测该收款方是否具有开具该类型的电子票据的权限。
如果该收款方具有开具该类型的电子票据的权限,则该开票方的开票权限校验通过。
如果该收款方不具有该类型的电子票据的权限,则该开票方的开票权限校验不通过。
当然,当然在实际应用中,该合法性校验还可包括与实际应用相关的其他校验,这里只是对合法性校验进行示例性地说明,不对该合法性校验进行具体地限定。
步骤506:如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码。
在本说明书实施例中,区块链上维护了各个开票方的区块链账户,该开票方账户可以是上文所述资产账户。
对于该开票方的区块链账户而言,也可以通过一个结构体来维护账户的账户状态。该开票方的区块链账户的结构体所包含的内容,可以与以太坊相同,当然也可以基于实际的需求进行设计。
在一种实现方式中,该开票方账户的结构体所包含的内容与以太坊相同为例,该开票方的结构体也可以包括上文描述的Balance,Nonce,Code和Storage等字段。
在本说明书实施例中,上述Balance字段可以不再表示“余额”的概念,而是表示电子票据可用号段,而上述Storage字段中可表示电子票据的已用号段。当然,Storage字段中还可携带其他信息,这里只是示例性说明,不对其进行具体地限定。
当区块链的节点设备确定针对票据信息的合法性校验通过,则进一步调用该智能合约中的分配逻辑,从该电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为该票据信息分配电子票据号码。
具体来说,开票方对应的区块链账户中维护了开票方可开具的电子票据类型对应的可用号段。
比如,开票方对应的区块链账户中维护了增值税发票对应的可用号段,普通发票对应的可用号段等。
在从该电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为该票据信息分配电子票据号码时,区块链节点设备可在该开票方对应的区块链账户中,确定该待开具的电子票据类型对应的可用号段。然后在确定出的可用号段中,为该待开具的电子票据的票据信息分配电子票据号码。
举例来说,该待开具的电子票据的票据信息中携带有票据类型,假设该票据类型为增值税发票。
开票方对应的区块链账户中维护的可用号段如表1所示。
票据类型 | 可用号段 |
增值税发票 | 可用号段1 |
普通发票 | 可用号段2 |
表1
当区块链的节点设备确定针对票据信息的合法性校验通过,则进一步调用该智能合约中的分配逻辑,从该开票方对应的区块链账户维护的可用号段中,确定出该待开具电子票据的票据类型(即增值税发票)的可用号段1。然后,区块链节点设备可以从可用号段1中为该票据信息分配电子票据票号。
在完成上述电子票据号分配后,区块链的节点设备可以更新开票方的区块链账户中维护的可用号段和已用号段。
比如,开票方的区块链账户中维护的增值税发票的可用号段为1-100,已用号段为101-200,假设将100分配给票据信息。在分配完成后,可将区块链账户中维护的增值税发票的可号段更为1-99,已用号段更新为100-200。普通发票的可用号段和已用号段不变。
此外,本说明书还提供了一种电子票据生成方法,可以基于票据信息、电子票据号码和电子票据模板生成电子票据。
方式一:链上为票据信息分配电子票据号码,链下实现电子票据的生成。
在一种可选的实现方式中,当区块链节点设备为票据信息分配电子号码后,区块链的节点设备可以将票据信息以及为该票据信息分配的电子票据号码发布到区块链进行存证。
开票发起方可以监听该区块链,当开票发起方监听到区块链存证的该票据信息和该电子票据号码后,可以获取开票监管方的电子票据模板。然后,开票发起方可以基于该电子票据模板,将该票据信息和电子票据号码生成为电子票据,并将该生成的电子票据发布至区块链进行存证。
下面对获取电子票据模板进行介绍。
在具体实现时,开票监管方将电子票据模板存储在开票监管方服务端。然后,开票监管方可以将该电子票据模板的存储地址发布至区块链上进行存证。基于此,区块链上存证了电子票据模板的存储地址。
当开票发起方监听到区块链存证的该票据信息和该电子票据号码后,开票发起方可以从区块链上获取开票监管方的电子票据模板的存储地址。然后,开票发起方可以基于该存储地址从开票监管方服务端上获取电子票据模板。
方式二:链上为票据信息分配电子票据号码,链上实现电子票据的生成。
在该方式中,上述区块链上部署的智能合约中还包括开票逻辑。该开票逻辑用于获取电子票据模板,并基于电子票据模板,将该票据信息和电子票据票号生成为电子票据。
当然,由于电子票据模板存储方式不同,该区块链上的节点设备生成电子票据的方式也不同。
1)电子票据模板存储在开票监管方服务端上,区块链上节点设备通过Oracle预言机获取开票监管方服务端上的电子票据模板,并基于该电子票据模板,将该票据信息和电子票据号码生成电子票据。
在具体实现时,区块链的节点设备可通过Oracle预言机与所述开票监管方的服务端连接。
当区块链的节点设备为所述票据信息分配电子票据号码后,区块链的节点设备可以调用该智能合约中的开票逻辑,通过Oracle预言机从所述开票监管方的服务端中获取电子票据模板,基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
其中,关于Oracle预言机的描述可参见上文,这里不再赘述。
2)电子票据模板可以存储在本区块链上。本区块链上的节点设备可以基于本区块链上存证的该电子票据模板,将该票据信息和电子票据号码生成电子票据。
在具体实现是,开票监管方可以将电子票据模板发布至本区块链上进行存证。
当区块链的节点设备为所述票据信息分配电子票据号码后,区块链的节点设备可以调用该智能合约中的开票逻辑,基于本区块链存证的该开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
3)电子票据模板可以存储在其他区块链上,本区块链上的节点设备可通过跨链中继从其他区块链上获取电子票据模板,并基于该电子票据模板,将该票据信息和电子票据号码生成电子票据。
在具体实现时,开票监管方可以单独维护一个财政区块链。开票监管方可以将电子票据模板发布至该财政区块链上进行存证。
本区块链可以通过跨链中继与该财政区块链对接。
当区块链的节点设备为所述票据信息分配电子票据号码后,区块链的节点设备可以调用该智能合约中的开票逻辑,通过跨链中继从该财政区块链上获取电子票据模板。区块链的节点设备可基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
由上述描述可知,区块链的节点设备可响应于开票发起发发送的目标交易,对在确定该目标交易中携带的票据信息合法性校验通过后,调用区块链上部署的智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为该票据信息分配电子票据号码。后续,区块链的节点设备或者开票发起方可以基于票据信息、电子票据号码和电子票据模板,自主生成电子票据,从而实现了用户通过区块链获取待开具的电子票据的电子票据号码,以及用户自主开具电子票据。
与上述方法实施例相对应,本申请还提供了装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的票据号码分配装置的实施例。本说明书的基于区块链的票据号码分配装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书的基于区块链的票据号码分配装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
参见图7,图7是本说明书一示例性实施例示出的一种基于区块链的票据号码分配装置的框图。
所述装置应用于区块链的节点设备,所述装置包括:
接收模块701,用于接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
校验模块702,用于响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
分配模块703,用于如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码。
可选的,所述装置还包括:
发布模块704(图7中未示出),将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,基于开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据。
可选的,所述区块链上还存证了所述开票监管方的电子票据模板的存储地址;
所述发布模块704,将所述票据信息以及为所述票据信息分配的电子票据号码发布至所述区块链进行存证,以使所述开票发起方在监听到所述票据信息和所述电子票据号码后,从所述区块链上获取所述开票监管方的电子票据模板的存储地址,并基于所述存储地址从开票监管方服务端上获取所述电子票据模板,并将所述票据信息和所述电子票据号码生成为电子票据。
可选的,所述装置还包括:
第一生成模块705(图7中未示出),调用部署在所述区块链上的智能合约中的开票逻辑,基于所述区块链上存储的开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据,并将生成的电子票据发布至所述区块链进行存证。
可选的,所述区块链的节点设备通过Oracle预言机与所述开票监管方的服务端连接;
所述装置还包括:
第二生成模块706(图7中未示出),调用部署在所述区块链上的智能合约中的开票逻辑,通过Oracle预言机从所述开票监管方的服务端中获取电子票据模板,基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
可选的,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述分配单元703,在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
可选的,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
可选的,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (18)
1.一种基于区块链的票据号码分配方法,所述方法应用于区块链的节点设备,所述方法包括:
接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配用于生成该票据信息对应的电子票据的电子票据号码;
调用部署在所述区块链上的智能合约中的开票逻辑,基于所述区块链上存储的开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据,并将生成的电子票据发布至所述区块链进行存证。
2.根据权利要求1所述的方法,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码,包括:
在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
3.根据权利要求1所述的方法,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
4.根据权利要求1所述的方法,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
5.一种基于区块链的票据号码分配方法,所述方法应用于区块链的节点设备,所述方法包括:
接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配用于生成该票据信息对应的电子票据的电子票据号码;
调用部署在所述区块链上的智能合约中的开票逻辑,通过Oracle预言机从所述开票监管方的服务端中获取电子票据模板,基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
6.根据权利要求5所述的方法,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配电子票据号码,包括:
在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
7.根据权利要求5所述的方法,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
8.根据权利要求5所述的方法,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
9.一种基于区块链的票据号码分配装置,所述装置应用于区块链的节点设备,所述装置包括:
接收模块,用于接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
校验模块,用于响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
分配模块,用于如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配用于生成该票据信息对应的电子票据的电子票据号码;
发布模块,用于调用部署在所述区块链上的智能合约中的开票逻辑,基于所述区块链上存储的开票监管方的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据,并将生成的电子票据发布至所述区块链进行存证。
10.根据权利要求9所述的装置,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述分配模块,在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
11.根据权利要求9所述的装置,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
12.根据权利要求9所述的装置,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
13.一种基于区块链的票据号码分配装置,所述装置应用于区块链的节点设备,所述装置包括:
接收模块,用于接收开票发起方发送的目标交易;所述目标交易包括待开具的电子票据的票据信息;
校验模块,用于响应于所述目标交易,调用部署在所述区块链上的智能合约中的校验逻辑,对所述票据信息进行合法性校验;
分配模块,用于如果所述合法性校验通过,进一步调用所述智能合约中的分配逻辑,从所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,为所述票据信息分配用于生成该票据信息对应的电子票据的电子票据号码;
发布模块,用于调用部署在所述区块链上的智能合约中的开票逻辑,通过Oracle预言机从所述开票监管方的服务端中获取电子票据模板,基于获取到的电子票据模板,将所述票据信息和所述电子票据号码生成为电子票据并将生成的电子票据发布至所述区块链进行存证。
14.根据权利要求13所述的装置,所述票据信息包括:所述电子票据的票据类型;所述电子票据的开票方对应的区块链账户中维护了所述开票方可开具的票据类型对应的可用号段;
所述分配模块,在所述电子票据的开票方对应的区块链账户中维护的电子票据可用号段中,确定所述待开具的电子票据的票据类型对应的可用号段;
从确定出的可用号段中,为所述票据信息分配电子票据号码。
15.根据权利要求13所述的装置,所述合法性校验包括:开票发起方权限校验、和/或,开票方的开票权限校验。
16.根据权利要求13所述的装置,所述区块链为联盟链,所述联盟链的联盟成员包括:作为开票监管方的财政机构、作为开票方的开票机构。
17.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-4中任一项所述的方法。
18.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求5-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011593897.5A CN112581197A (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910703787.0A CN110458631B (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
CN202011593897.5A CN112581197A (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910703787.0A Division CN110458631B (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112581197A true CN112581197A (zh) | 2021-03-30 |
Family
ID=68484393
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910703787.0A Active CN110458631B (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
CN202011593897.5A Pending CN112581197A (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910703787.0A Active CN110458631B (zh) | 2019-07-31 | 2019-07-31 | 基于区块链的票据号码分配方法、装置及电子设备 |
Country Status (3)
Country | Link |
---|---|
CN (2) | CN110458631B (zh) |
TW (1) | TWI733349B (zh) |
WO (1) | WO2021017443A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447725A (zh) * | 2018-10-31 | 2019-03-08 | 胡金钱 | 电子发票的管理方法及系统、存储介质、计算机设备 |
CN110458631B (zh) * | 2019-07-31 | 2020-11-10 | 创新先进技术有限公司 | 基于区块链的票据号码分配方法、装置及电子设备 |
US10789628B2 (en) | 2019-07-31 | 2020-09-29 | Alibaba Group Holding Limited | Blockchain-based bill number allocation method, apparatus and electronic device |
CN112561540A (zh) * | 2020-08-14 | 2021-03-26 | 北京京东振世信息技术有限公司 | 物品监管方法和装置 |
CN115456772A (zh) * | 2020-10-20 | 2022-12-09 | 支付宝(杭州)信息技术有限公司 | 一种智能合约的创建方法和装置 |
CN112488777B (zh) * | 2020-10-31 | 2024-01-16 | 远光软件股份有限公司 | 一种票据处理的方法及相关装置 |
CN112308689B (zh) * | 2020-12-28 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 基于区块链的租赁方法及装置和电子设备 |
CN112508722B (zh) * | 2021-01-29 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种基于零知识证明的保单信息验证方法和装置 |
CN112801797A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 使用链下可信设备进行票据数据处理的方法和装置 |
CN113469811A (zh) * | 2021-07-05 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 区块链交易处理方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180101914A1 (en) * | 2016-10-10 | 2018-04-12 | Escolhalegal, Llc | Systems, methods and machine-readable mediums for data management and payment processing |
CN109034924A (zh) * | 2018-08-16 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
US20190013948A1 (en) * | 2017-07-07 | 2019-01-10 | Microsoft Technology Licensing, Llc | Internet of things blockchain interface |
CN109345194A (zh) * | 2018-09-12 | 2019-02-15 | 北京东港瑞宏科技有限公司 | 一种电子票据流转系统 |
CN109670879A (zh) * | 2018-12-25 | 2019-04-23 | 航天信息股份有限公司 | 一种分布式开票方法及系统 |
CN109949111A (zh) * | 2019-03-06 | 2019-06-28 | 深圳市智税链科技有限公司 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
CN110009494A (zh) * | 2019-03-18 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种监控区块链中的交易内容的方法及装置 |
CN110060112A (zh) * | 2018-12-13 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的发票创建方法及装置、电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083878A1 (en) * | 2010-02-25 | 2017-03-23 | Government Payment Service, Inc. d/b/a GovPayNet | System and method for managing incarcerated populations through automated pretrial release services including electronic bail, fine and fee payment |
CN102855587A (zh) * | 2012-08-20 | 2013-01-02 | 清华大学 | 用于电子商务网站的电子发票生成系统 |
US20150310476A1 (en) * | 2014-04-24 | 2015-10-29 | Elizabeth M. Gadwa | System and method for attention based currency |
US20180082290A1 (en) * | 2016-09-16 | 2018-03-22 | Kountable, Inc. | Systems and Methods that Utilize Blockchain Digital Certificates for Data Transactions |
CN106952094B (zh) * | 2017-03-10 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 电子票据管理方法及装置 |
CN109560916A (zh) * | 2017-09-25 | 2019-04-02 | 航天信息股份有限公司 | 一种电子发票的发放方法、领用方法及相关装置 |
CN108305106A (zh) * | 2018-01-31 | 2018-07-20 | 复旦大学 | 一种基于区块链的电子发票登记方法 |
CN109255084B (zh) * | 2018-08-28 | 2023-04-25 | 深圳市智税链科技有限公司 | 电子票据查询方法、装置、存储介质和计算机设备 |
TWM578845U (zh) * | 2018-10-05 | 2019-06-01 | 財金資訊股份有限公司 | Commodity (service) courtesy printing process management system |
CN109784937A (zh) * | 2018-12-10 | 2019-05-21 | 大象慧云信息技术有限公司 | 一种基于区块链的电子发票管理方法及系统 |
CN110046945A (zh) * | 2018-12-13 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 基于区块链的发票创建方法及装置、电子设备 |
CN110020901A (zh) * | 2018-12-25 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 基于区块链的资源分配方法及装置和电子设备 |
CN110458631B (zh) * | 2019-07-31 | 2020-11-10 | 创新先进技术有限公司 | 基于区块链的票据号码分配方法、装置及电子设备 |
-
2019
- 2019-07-31 CN CN201910703787.0A patent/CN110458631B/zh active Active
- 2019-07-31 CN CN202011593897.5A patent/CN112581197A/zh active Pending
-
2020
- 2020-01-15 WO PCT/CN2020/072202 patent/WO2021017443A1/zh active Application Filing
- 2020-02-27 TW TW109106405A patent/TWI733349B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180101914A1 (en) * | 2016-10-10 | 2018-04-12 | Escolhalegal, Llc | Systems, methods and machine-readable mediums for data management and payment processing |
US20190013948A1 (en) * | 2017-07-07 | 2019-01-10 | Microsoft Technology Licensing, Llc | Internet of things blockchain interface |
CN109034924A (zh) * | 2018-08-16 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 电子票据生成方法、装置、存储介质和计算机设备 |
CN109345194A (zh) * | 2018-09-12 | 2019-02-15 | 北京东港瑞宏科技有限公司 | 一种电子票据流转系统 |
CN110060112A (zh) * | 2018-12-13 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的发票创建方法及装置、电子设备 |
CN109670879A (zh) * | 2018-12-25 | 2019-04-23 | 航天信息股份有限公司 | 一种分布式开票方法及系统 |
CN109949111A (zh) * | 2019-03-06 | 2019-06-28 | 深圳市智税链科技有限公司 | 电子票据标识分配方法、电子票据生成方法、装置及系统 |
CN110009494A (zh) * | 2019-03-18 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种监控区块链中的交易内容的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110458631A (zh) | 2019-11-15 |
CN110458631B (zh) | 2020-11-10 |
TWI733349B (zh) | 2021-07-11 |
TW202107457A (zh) | 2021-02-16 |
WO2021017443A1 (zh) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458631B (zh) | 基于区块链的票据号码分配方法、装置及电子设备 | |
CN110471984B (zh) | 基于区块链的业务处理方法及装置、电子设备 | |
CN110706114B (zh) | 一种基于区块链的违约资产处理方法、装置及电子设备 | |
US11195231B2 (en) | Transaction processing in a service blockchain | |
CN110765200B (zh) | 一种基于区块链的资产申购方法、装置及电子设备 | |
CN110163590B (zh) | 基于区块链的缴费代扣方法及装置、电子设备、存储介质 | |
CN110147990B (zh) | 基于区块链的缴费代扣签约方法及装置、电子设备 | |
CN111681017B (zh) | 基于区块链的货物批量验真方法及装置、电子设备 | |
CN111026789B (zh) | 基于区块链的电子票据查询方法及装置、电子设备 | |
WO2021017437A1 (zh) | 基于区块链的票据核销方法及装置、电子设备、存储介质 | |
US11429983B2 (en) | Blockchain-based bill write-off method, apparatus, electronic device, and storage medium | |
CN110473030B (zh) | 基于区块链的电子票据号码申领方法及装置、电子设备 | |
CN110738566A (zh) | 一种基于区块链的资产筛选方法、装置及电子设备 | |
CN111383117A (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
CN111738724B (zh) | 跨境资源转移真实性审核方法及装置、电子设备 | |
CN111383120A (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
CN112101938A (zh) | 基于区块链的数字印章使用方法、装置及电子设备 | |
CN111383119A (zh) | 一种基于区块链的资产管理方法、装置及电子设备 | |
CN111639125A (zh) | 基于区块链的资源流通方法及装置 | |
CN110717820A (zh) | 基于区块链的资产清偿方法及装置、电子设备 | |
CN112100588A (zh) | 基于区块链的数字印章申领方法、装置及电子设备 | |
CN111553695B (zh) | 跨区域支付方法及装置、电子设备 | |
CN112200569A (zh) | 基于区块链的数字印章使用方法、装置及电子设备 | |
US20200234351A1 (en) | Blockchain-based bill number allocation method, apparatus and electronic device | |
CN110443612B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049833 Country of ref document: HK |