学习笔记-3
CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)
区块链各子块有什么数据?
发行发票事件信息区块(第一个区块)
- 区块头:对包括所述发票信息和发行发票事件发票转移信息的区块主体进行摘要运算得到的区块主体的摘要值
- 发票信息:指发票上印有的信息,如申领发票单位、申领发票单位纳税人识别号、发票代码、发票号码、发票的使用规则、发行机关
- 发行发票事件发票转移信息:转出方是工商机关、转入方是申领发票单位、转移时间是确认开始发行发票的时间
开票事件信息区块(第二个区块)
- 区块头:本区块主体的摘要值和该子区块链上前一个区块(区块主体及区块头)的摘要值
- 发票信息:包括如图所示的内容,其中包括发票标识(发票代码+ 发票号码)
- 开票事件发票转移信息:转出方是开票单位,转入方是员工,转移时间是确认开始开票的时间
报销事件信息区块(第三个区块)
- 区块头:本区块主体的摘要值和该子区块链上前一个区块(区块主体及区块头)的摘要值
- 发票信息:包括如图所示的内容,其中包括发票标识(发票代码+ 发票号码)
- 发票报销事件发票转移信息:转出方信息是指发票领取人(员工),转入方信息是指报销单位
子块与子块间如何连接?
在开票时,开票终端向区块链网关服务器发出开票请求。区块链网关服务器将开票请求中携带的发票信息和发票转出方信息与子区块链上已经记录的发行发票时的发票信息、发票转移信息中的转入方信息进行核对,如一致,说明开出的发票不是虚假的,可以允许开票。
开票后,区块链网关服务器将开票事件信息(包括发票信息、以及发票转移信息)记录在相应的子区块链上,即上链。
在发票报销时,员工终端把待报销的电子发票发送到报销单位终端。报销单位终端向区块链网关服务器发送发票报销请求。区块链网关服务器将发票报销请求中携带的发票信息、发票转出方信息、发票转入方信息分别与子区块链上已经记录的开具发票时的发票信息、发票转移信息中的转出方信息和发票抬头信息进行核对,如一致,说明报销的发票不是虚假的,可以允许报销。
不同的发票各个子链如何关联,还是不需要关联?
专利中未提及,应该是不关联。
每个子区块链都在发行发票事件时新建了第一个区块,后续仅在开票事件、报销事件时新建新的模块,我认为各子链之间无关联。
专利中申明的优势
本公开实施例中,可以利用子区块链上的数据不能篡改的特性,提高了发票信息记录的安全性。同时,由于一条子区块链只记载利益相关方的发票上链信息,不记载其它方的发票上链信息,大大减少了发票信息泄露的可能性,而且子区块链数目可以随意扩展,达到性能无上限的目的。
一条子区块链只记载同一发票(同一标识的发票)的发票上链信息,因为同一发票的相关人最关心该发票发生了什么事情,其它发票的相关人并不关心该发票发生的事件。因此,让一条子区块链只记录同一发票标识的发票事件信息,大大减少了发票信息泄露的可能性。
仅让同一发票的相关人员(包括发票的开票单位和报销单位)知晓发票发生的相关事件。如果发票的开票单位和报销单位有大量发票往来,针对开票单位和报销单位之间往来的所有发票,设置同一个子区块链,实际上也能达到仅让发票的相关人员知晓发票发生的相关事件的目的,同时还减少了子区块链的数目,提高了区块链记录效率。因此,在图2A-F的应用场景之下,开票单位和发票报销单位的每个组合对应于一条子区块链。同一开票单位、并且是同一发票报销单位的所有发票都记录在同一区块链中。
然而,在发票发行时,是不知道发票报销单位的,因此,只能先根据发票标识设置子区块链。当开票时,知晓了发票报销单位,而开票单位和发票报销单位的每个组合预定规定好对应于一条子区块链,该子区块链在每个区块链节点预先分配到一个区块链设备,此时可以将在发票发行时按照发票标识记录到相应子区块链的发行发票事件信息拷贝到与该开票单位和发票报销单位的组合对应的子区块链,在此基础上继续记录后续的开票事件信息、发票报销事件信息等等。
专利优劣
我认为该专利比较好的实现了区块链电子发票,基于发票标识,使用区块链网关服务器在各区块链节点分配了区块链设备承载子区块链。
我觉得专利中未涉及或我还未理解的是在一开始进行预分配时未知发票后续回去往哪一个节点,预分配比较麻烦。
来源:https://www.cnblogs.com/gdman/p/12361031.html