一种基于分布式账本原理的可离线票防重用方法技术

技术编号:24094906 阅读:67 留言:0更新日期:2020-05-09 09:50
一种基于分布式账本原理的可离线票防重用方法。节点是交易流转的主体及票交易的载体,参与对交易的流转和认证。规定票交易只能被最新交易节点发起,当节点的票状态进入预交易或预取消状态后,该节点将不能进行交易,直到交易确认或取消。步骤如下:最新交易节点发起交易,该节点在UTXO中指定下一节点,并检查其是否在线,如在线就广播UTXO交易,下一节点将成为最新节点,并向链路中各节点广播。如在交易时,发起节点和下一节点断连,则发起方生成一个预交易,预交易包含预交易状态和下一个节点信息,下一节点通过其他通信方式获得这个预交易状态并形成交易。本发明专利技术使得不管是否在线,票都可以实现交易,交易中不会产生双花现象,票不会被重用。

An off-line ticket anti reuse method based on the principle of distributed ledger

【技术实现步骤摘要】
一种基于分布式账本原理的可离线票防重用方法
本专利技术属于计算机软件技术了离线检票领域,特别是一种基于分布式账本原理的可离线票防重用方法。
技术介绍
票务系统包括售票系统和检票系统。售票系统是销售和分发票的系统;检票系统是验证票合法性,并将票变现成资金、商品或服务的系统。分布式账本,一种P2P的网络记账方式,分布式账本中的合约信息以分散的方式记录在不同的节点。去中心化,由于在分布式账本中,每笔合约的信息都是存放在多个节点,因此,交易和验证可以不依赖中心服务器的存在。如果集群中某个节点失效以后,对其他节点不构成影响。本专利技术中,加密是对加密和签名的统称。未花费的交易输出(UTXO):每笔交易包含输入账和输出账,输入账包括输入端账号、上一笔交易及余额;输出账包括输出端账号、上笔交易及余额。每笔交易之间通过索引引用形成可追溯的交易链,交易的验证可以通过分布式账本在各个子节点进行验证,从而使得在线交易安全稳定。标准产品单位(StandardProductUnit,简称SPU)是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。节点是交易流转的主体,也是票交易的载体,参与对交易的流转和认证。现有技术中,区块链交易中由于信息不对称,交易完成之后没有被整个区块链同步,因此造成资源(在本专利技术中指票)被双重交易。这个现象又被称为“双花”。传统区块链技术中,双花现象不可避免,尤其是在离线时,系统没法确认区块链上的任何一笔交易是否是已经失效,所对应的资源的持有对象。对于票务系统来说,双花会造成以下后果:1、持有者将同一张票多次交易,导致事实上的逃票现象,造成资源方损失。2、只要产生一票多次交易(票交易的双花),那就会损害交易各方尤其是最终使用用户的体验,影响系统的公信力。
技术实现思路
本专利技术的主要目的在于提供一种基于分布式账本原理的可离线票防重用方法,有效解决
技术介绍
中的问题。为实现上述目的,本专利技术采取的技术方案为:一种基于分布式账本原理的可离线票防重用方法,节点是交易流转的主体,也是票交易的载体,参与对交易的流转和认证,规定票只能被最新交易节点发起交易,当节点的票状态进入预交易状态后或预取消交易后,则该节点不能将票进行交易,直到交易确认或取消,具体包括如下步骤:最新交易节点发起交易,由该节点在UTXO中指定下一节点;发起交易的节点检查输出账号的下一节点是否在线,如果在线就广播UTXO交易,之后下一节点就成为最新节点,并向链路中各个节点广播;如果发起交易的节点和下一节点断连,则发起方生成一个预交易,预交易包含预交易状态和预交易的下一个节点,下一节点则通过其他通信方式获得这个预交易状态并形成进一步交易,从而真正地确认交易状态;节点维护一张临时交易状态表,如果状态表中交易的两个节点在同一网络,那么就对该交易同步。优选的,对于离线时发起方的预交易,如果发起方节点取消这笔交易,那么发起方节点发起预取消交易,预取消交易也是一个子状态,之后,由交易的下一个节点同意取消;如果下一个节点还未确认交易状态,那么他就发送同意取消的交易,于是交易取消,如果下一个节点已经确认交易状态,那么他就拒绝取消交易,并同步改交易成功。优选的,交易双方不在线的两个节点,交易中的下一个节点确认交易后,则下一个节点可以继续发起交易,直到票生命周期结束。与现有技术相比,本专利技术提供了一种基于分布式账本原理的可离线票防伪方法,使得不管在线还是离线,票都可以实现交易,票交易中不会产生双花现象,票不再被重用。附图说明图1是本专利技术方法流程图。图2是本专利技术票的生命周期示意图。具体实施方式下列实施例是对本专利技术的进一步解释和补充,对本专利技术不构成任何限制。参阅图1和图2,本专利技术的基于分布式账本原理的可离线票防重用方法,,节点是交易流转的主体,也是票交易的载体,参与对交易的流转和认证,规定票只能被最新交易节点发起交易,当节点的票状态进入预交易状态后或预取消交易后,则该节点不能将票进行交易,直到交易确认或取消,具体包括如下步骤:S01:最新交易节点发起交易,该节点在UTXO中指定下一节点。具体的,票生命周期,是票的生成、发行、流转、预检票、检票或预退票、退票的整个流程闭环。票从生成到失效的整个生命周期所经过的各个节点按时间先后顺序关联成交易链。任何一笔交易中,票的交易的输出端只有一个,任何一张票最新的交易的输出端也就是交易的最新流转的节点,称为票的持有者。票务系统根据票的生命周期将节点分为票(票号)生成节点、票发行节点、票流转节点、用户节点、检票节点;将票务系统交易分为票生成交易、票发行交易、票流转交易、预检票交易、检票交易、预退票交易、退票交易。票号生成节点负责生成票号。票发行节点负责将生成的票号和标准产品单元(SPU)包装并销售,发行一个票就是发行一个可交易商品。票流转接点指当票进入流通领域,在其中承担流转功能的接点,流转接点可以是票务系统内部,也可以在票务系统外部,但是它属于分布式账本的一个节点,具有交易和记录功能。使用用户节点指最终购买票并入园的最终用户,使用用户节点可以退票、预检票。检票节点负责验证票的合法及有效性。S02:发起交易的节点检查输出账号的下一节点是否在线,如果在线就广播UTXO交易,之后下一节点就成为最新节点,并向链路中各个节点广播。S03:如果发起交易的节点和下一节点断连,则发起方生成一个预交易,预交易包含预交易状态和预交易的下一个节点,下一节点则通过其他通信方式获得这个预交易状态并形成进一步交易,从而真正地确认交易状态。具体的,以票的流转为例,票流转时,如果流转的前后两个节点互相断开,那么当前节点将票置为预流转到状态,并形成一笔交易;下一个节点(目标节点)通过非在线的途径获得该笔预流转状态的交易之后,形成和广播一笔新的交易(流转交易),将票从当前节点流转到目标节点,目标节点成为当前节点,该笔交易确立。在该步骤中,以票的发行为例,票发行时,如果和目标流转节点断开,那么就发起预发行交易,将票包装后置为预发行票,流通节点拿到票预发行交易信息就生成一笔确认交易,票发行成功;如果交易失败,发行节点取消该交易,则该票回收后可重新发行。具体的,以检票为例,为了应对当检票系统断线时,检票系统无法判别票交易是否为最新交易的情况,用户检票前通过预检票交易前需要将票状态转换为预检票,这时检票节点检到预检票,并在检票节点生成一个新交易将票状态从预检转为已检;等到检票节点所在的网络和其他节点互通时,再将票状态同步。具体的,用户节点以退票为例,退票时,持有者发退票请求,并将票标记为预退票状态,该状态的票不能流通。如果检票系统查到该票已检过则退票失败;如果检票系统查到该票未检,则退票成功,并在检票系统节点生成一笔交易并记录该票状态为已退票。S04:本文档来自技高网
...

【技术保护点】
1.一种基于分布式账本原理的可离线票防重用方法,其特征在于,节点是交易流转的主体,也是票交易的载体,参与对交易的流转和认证,规定票只能被最新交易节点发起交易,当节点的票状态进入预交易状态后或预取消交易后,则该节点不能将票进行交易,直到交易确认或取消,具体包括如下步骤:/n最新交易节点发起交易,由该节点在UTXO中指定下一节点;/n发起交易的节点检查输出账号的下一节点是否在线,如果在线就广播UTXO交易,之后下一节点就成为最新节点,并向链路中各个节点广播;/n如果发起交易的节点和下一节点断连,则发起方生成一个预交易,预交易包含预交易状态和预交易的下一个节点,下一节点则通过其他通信方式获得这个预交易状态并形成进一步交易,从而真正地确认交易状态;/n节点维护一张临时交易状态表,如果状态表中交易的两个节点在同一网络,那么就对该交易同步。/n

【技术特征摘要】
1.一种基于分布式账本原理的可离线票防重用方法,其特征在于,节点是交易流转的主体,也是票交易的载体,参与对交易的流转和认证,规定票只能被最新交易节点发起交易,当节点的票状态进入预交易状态后或预取消交易后,则该节点不能将票进行交易,直到交易确认或取消,具体包括如下步骤:
最新交易节点发起交易,由该节点在UTXO中指定下一节点;
发起交易的节点检查输出账号的下一节点是否在线,如果在线就广播UTXO交易,之后下一节点就成为最新节点,并向链路中各个节点广播;
如果发起交易的节点和下一节点断连,则发起方生成一个预交易,预交易包含预交易状态和预交易的下一个节点,下一节点则通过其他通信方式获得这个预交易状态并形成进一步交易,从而真正地确认交易状态;
节点维护...

【专利技术属性】
技术研发人员:张卫平徐国庆
申请(专利权)人:环球雅途集团有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1