一种基于区块链的抗双花攻击处理方法及装置与流程

文档序号:17148140发布日期:2019-03-19 23:10阅读:250来源:国知局
一种基于区块链的抗双花攻击处理方法及装置与流程

本发明实施例涉及区块链技术领域,尤其涉及一种基于区块链的抗双花攻击处理方法及装置。



背景技术:

在现有的区块链中项目中,最具有权威和代表性的当属比特币。比特币采用工作证明(proof-of-work,简称pow)方式去解决双花交易问题。其主要依靠未消费的交易输出(utxo)和时间戳两个条件去处理。

每笔交易都要先确认对应的比特币之前的情况,要检测它是否存在于付款人的utxo中。每一笔utxo发起之后,节点会按照时间戳只会确认先接收到的那一笔交易。当两笔时间上很近的交易被不同节点依据时间戳进行确认,区块链会发生分叉,影响交易处理效率。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种基于区块链的抗双花攻击处理方法及装置。

本发明实施例提供一种基于区块链的抗双花攻击处理方法,包括:

目标区块链中的目标服务节点获取交易发起节点发起的双花交易信息,所述双花交易信息包括第一交易信息和第二交易信息,所述目标服务节点为所述目标区块链中所有处理服务节点中的一个处理服务节点;

所述目标服务节点从所述双花交易信息中确定任一交易信息为确认交易信息,并向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息;

所述目标服务节点根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定双花交易信息的处理结果;

其中,所述目标区块链中的处理服务节点的数目为预设的不等于1的奇数。

本发明实施例提供一种基于区块链的抗双花攻击处理装置,包括:

获取模块,用于获取交易发起节点发起的双花交易信息,所述双花交易信息包括第一交易信息和第二交易信息,所述获取模块所属的服务节点为目标区块链中所有处理服务节点中的一个处理服务节点;

确认模块,用于从所述双花交易信息中确定任一交易信息为确认交易信息,并向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息;

处理模块,用于根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定双花交易信息的处理结果;

其中,所述目标区块链中的处理服务节点的数目为预设的不等于1的奇数。

本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于区块链的抗双花攻击处理方法的步骤。

本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述基于区块链的抗双花攻击处理方法的步骤。

本发明实施例提供的一种基于区块链的抗双花攻击处理方法及装置,通过目标区块链中的各处理服务节点在获取交易发起节点发起的双花交易信息后,分别从所述双花交易信息中确定任一交易信息为确认交易信息,并向其他处理服务节点共享对应于所述第一交易信息和所述第二交易信息的广播信息,最终根据接收到的广播信息和发出的广播信息确定对应于所述第一交易信息和所述第二交易信息的确认数目,根据确认数目获得处理结果,实现采用随机对双花交易信息进行确认,无需依据时间戳进行确认,达到提高交易处理效率,节省服务器运算资源降低成本的目的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于区块链的抗双花攻击处理方法实施例流程图;

图2为本发明基于区块链的抗双花攻击处理方法实施例流程图;

图3为本发明基于区块链的抗双花攻击处理装置实施例结构示意图;

图4为本发明电子设备实施例结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本发明一实施例提供的一种基于区块链的抗双花攻击处理方法,包括:

s11、目标区块链中的目标服务节点获取交易发起节点发起的双花交易信息,所述双花交易信息包括第一交易信息和第二交易信息,所述目标服务节点为所述目标区块链中所有处理服务节点中的一个处理服务节点;

s12、所述目标服务节点从所述双花交易信息中确定任一交易信息为确认交易信息,并向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息;

s13、所述目标服务节点根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定双花交易信息的处理结果;

其中,所述目标区块链中的处理服务节点的数目为预设的不等于1的奇数。

针对上述步骤s11-步骤s13,需要说明的是,在本发明实施例中,区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新应用模式。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录,而共识机制是区块链系统中实现不同节点之间建立信任、获取权益的处理过程。每个节点的发起交易和确认交易过程均会与所属区块链中其他节点之间实现。故每个节点会存在一种节点与区块链的绑定关系。该绑定关系能够使得一个节点在发起交易时能够快速找寻到所属区块链,并向所属区块链中的其他节点发送交易信息。因此,在本发明实施例中,所述双花交易信息为所述交易发起节点根据自身存储的节点与区块链的绑定关系确定目标区块链后发起的交易信息。在这里,交易信息包括未消费的交易输出(utxo)和时间戳等信息。

在本发明实施例中,区块链中存在n个节点,n个节点并不完全去参与每一笔交易或每一批交易的确认。因此,交易发起节点发起交易后,会预设一定数量的用于确认交易的节点,这些节点作为处理服务节点。

每台加入节点的服务器都会被分配作为确认交易的节点,为了保持确认节点的稳定性,当有确认交易的节点出现问题停止工作时,将由备用节点自动补上位置,并获取当前处理节点链路中待打包的交易。备用节点的选择:根据加入节点时间将确认交易的节点排序,最后加入的节点为备用节点,根据不同情况,选择比例。例如:100个节点,处理节点数量为21,确认节点比例为80%。则:备选节点数量=((100*80%)/21)的余数+100*(1-80%),备选节点则为:后加入节点的37个节点。

所述目标区块链中的处理服务节点的数目为预设的不等于1的奇数。例如21节点、23节点、25节点等。只有奇数个处理服务节点,能保证在双花交易信息确认过程中节点分配的不均,从而实现确认目的。

本发明实施例所述方法用于解决双花问题。在数字化货币系统中,由于数据的可复制性,使得可能存在同一笔数字资产因不当操作被重复使用的情况,这也称之为双花问题。由此可知,双花问题中的双花交易信息为对同一笔数字资产交易时的重复使用信息。为了便于后续描述,所述双花交易信息包括第一交易信息和第二交易信息。该交易信息为数字资产交易的参数信息,如转出、转入、扣除、交易方式等信息。为此,需要从重复交易中确认其中一个交易为成功交易,达到支付目的。

在本发明实施例中,区块链中的所有处理服务节点会获取到双花交易信息。区块链中的所有处理服务节点会分别对双花交易信息进行确认处理。

在本发明实施例中,为了清楚描述处理服务节点的处理过程,以单个处理服务节点为例进行详细说明。因此,需要从区块链中的所有处理服务节点选取一个服务节点作为目标服务节点进行说明。

目标服务节点从所述双花交易信息中确定任一交易信息为确认交易信息。该确认任一交易信息为确认交易信息的过程采用随机确认。即:可确认第一交易信息为确认交易信息,也可确认第二交易信息为确认交易信息。

由于各处理服务节点的信息为共享信息,故确认后,目标服务节点将向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息。该广播信息包括上述的确认交易信息。

当所有处理服务节点确认结束后,所述目标服务节点根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定双花交易信息的处理结果。在这里,需要说明的是,区块链中的所有处理服务节点均会接收到双花交易信息并进行确认。由于区块链具有共享机制,各处理服务节点会相互发送确认双花交易信息后的广播信息。

本发明实施例提供的一种基于区块链的抗双花攻击处理方法,通过目标区块链中的各处理服务节点在获取交易发起节点发起的双花交易信息后,分别从所述双花交易信息中确定任一交易信息为确认交易信息,并向其他处理服务节点共享对应于所述第一交易信息和所述第二交易信息的广播信息,最终根据接收到的广播信息和发出的广播信息确定双花交易信息的处理结果,实现采用随机对双花交易信息进行确认,无需依据时间戳进行确认,达到提高交易处理效率,节省服务器运算资源降低成本的目的。

图2示出了本发明一实施例提供的一种基于区块链的抗双花攻击处理方法,包括:

s21、目标区块链中的目标服务节点获取交易发起节点发起的双花交易信息,所述双花交易信息包括第一交易信息和第二交易信息,所述目标服务节点为所述目标区块链中所有处理服务节点中的一个处理服务节点;

s22、所述目标服务节点从所述双花交易信息中确定任一交易信息为确认交易信息,并向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息;

s23、所述目标服务节点根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定对应于所述第一交易信息和所述第二交易信息的确认数目;

s24、将数目大于(m-1)/2的确认数目所对应的交易信息为成功交易信息,所述成功交易信息作为双花交易信息的处理结果;

其中,所述目标区块链中的处理服务节点的数目为预设的不等于1的奇数;m为所述目标区块链中的处理服务节点的数目。

针对步骤s21和步骤s22,这些步骤与上述实施例所述的步骤s11和步骤s12在原理上相同,在此不再赘述。

针对步骤s23和步骤s24,所述目标服务节点根据接收到的广播信息和发出的广播信息确定对应于所述第一交易信息和所述第二交易信息的确认数目。将数目大于(m-1)/2的确认数目所对应的交易信息为成功交易信息,所述成功交易信息作为双花交易信息的处理结果。

例如处理服务节点为21个,对第一交易信息的确认数目为12个,对第二交易信息的确认数目为9个,则12大于(21-1)/2,则第一交易信息为成功交易信息。

另外,本发明实施例所述方法还可对非双花交易信息(单个正常交易)进行处理,只需所有处理服务节点均确认交易才可得到处理结果。

在本发明实施例中,当所有处理服务节点确认100笔交易或确认10秒后可将对交易确认的结果生成区块,并在所有处理服务节点上共享存储。

本发明实施例提供的一种基于区块链的抗双花攻击处理方法,通过目标区块链中的各处理服务节点在获取交易发起节点发起的双花交易信息后,分别从所述双花交易信息中确定任一交易信息为确认交易信息,并向其他处理服务节点共享对应于所述第一交易信息和所述第二交易信息的广播信息,最终根据接收到的广播信息和发出的广播信息确定对应于所述第一交易信息和所述第二交易信息的确认数目,根据确认数目获得处理结果,实现采用随机对双花交易信息进行确认,无需依据时间戳进行确认,达到提高交易处理效率,节省服务器运算资源降低成本的目的。

图3示出了本发明一实施例提供的一种基于区块链的抗双花攻击处理装置,包括获取模块31、确认模块32和处理模块33,其中:

获取模块31,用于获取交易发起节点发起的双花交易信息,所述双花交易信息包括第一交易信息和第二交易信息,所述获取模块所属的服务节点为目标区块链中所有处理服务节点中的一个处理服务节点;

确认模块32,用于从所述双花交易信息中确定任一交易信息为确认交易信息,并向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息;

处理模块33,用于根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定双花交易信息的处理结果;

其中,所述目标区块链中的处理服务节点的数目为预设的不等于1的奇数。

所述处理模块具体用于:

根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定对应于所述第一交易信息和所述第二交易信息的确认数目;

将数目大于(m-1)/2的确认数目所对应的交易信息为成功交易信息,所述成功交易信息作为双花交易信息的处理结果;

其中,m为所述目标区块链中的处理服务节点的数目。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

本发明实施例提供的一种基于区块链的抗双花攻击处理装置,通过目标区块链中的各处理服务节点在获取交易发起节点发起的双花交易信息后,分别从所述双花交易信息中确定任一交易信息为确认交易信息,并向其他处理服务节点共享对应于所述第一交易信息和所述第二交易信息的广播信息,最终根据接收到的广播信息和发出的广播信息确定双花交易信息的处理结果,实现采用随机对双花交易信息进行确认,无需依据时间戳进行确认,达到提高交易处理效率,节省服务器运算资源降低成本的目的。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communicationsinterface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:获取交易发起节点发起的双花交易信息,所述双花交易信息包括第一交易信息和第二交易信息,所述目标服务节点为所述目标区块链中所有处理服务节点中的一个处理服务节点;从所述双花交易信息中确定任一交易信息为确认交易信息,并向所述目标区块链中的其他处理服务节点发出对应于所述第一交易信息和所述第二交易信息的广播信息;根据接收到的所述目标区块链中其他处理服务节点发出的广播信息和发出的广播信息确定双花交易信息的处理结果。

此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非暂态计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1