错误交易攻击的防御方法、设备和存储介质技术

技术编号:22005416 阅读:26 留言:0更新日期:2019-08-31 06:53
本发明专利技术提供一种错误交易攻击的防御方法、设备和存储介质,该方法包括:响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的交易生成第一区块,并发送给执行模块;执行模块接收并执行第一区块的各交易,向共识模块发送第一区块的执行结果;共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息,并将第一通知信息发送给内存池模块;内存池模块根据第一通知信息从内存池中删除第一区块中执行失败的各交易。本发明专利技术实现降低内存池拥堵,提高区块链安全性。

Defense against False Trading Attacks, Devices and Storage Media

【技术实现步骤摘要】
错误交易攻击的防御方法、设备和存储介质
本申请涉及区块链
,具体涉及一种错误交易攻击的防御方法、设备和存储介质。
技术介绍
现有的区块链技术中,由于共识模块从内存池模块中拉取交易的进程与内存池模块将接收到的交易广播到区块链的其它节点的进程同时进行,因此为了保证所拉取的交易能广播到其它节点,交易从内存池模块拉取交易后,所拉取的交易不能直接从内存池中删除;执行所拉取的交易后,内存池模块中删除执行成功的交易;内存池模块定时删除超时交易。基于上述机制,攻击者可以大量发送无法成功执行的交易,这类交易在超时前会拥堵内存池,并使共识模块重复拉取到这类交易,而影响正常的交易被打包执行。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种降低内存池拥堵,提高区块链安全性的错误交易攻击的防御方法、设备和存储介质。第一方面,本专利技术提供一种错误交易攻击的防御方法,该方法适用于区块链的节点,该方法包括:响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的交易生成第一区块,并发送给执行模块;执行模块接收并执行第一区块的各交易,向共识模块发送第一区块的执行结果;共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息,并将第一通知信息发送给内存池模块;内存池模块根据第一通知信息从内存池中删除第一区块中执行失败的各交易。第二方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的错误交易攻击的防御方法。第三方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的错误交易攻击的防御方法。本专利技术诸多实施例提供的错误交易攻击的防御方法、设备和存储介质通过响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的交易生成第一区块,并发送给执行模块;执行模块接收并执行第一区块的各交易,向共识模块发送第一区块的执行结果;共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息,并将第一通知信息发送给内存池模块;内存池模块根据第一通知信息从内存池中删除第一区块中执行失败的各交易的方法,实现降低内存池拥堵,提高区块链安全性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的一种错误交易攻击的防御方法的流程图。图2为图1所示方法的一种优选实施方式的流程图。图3为图1所示方法的一种优选实施方式的流程图。图4为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例提供的一种错误交易攻击的防御方法的流程图。如图1所示,在本实施例中,本专利技术提供一种错误交易攻击的防御方法,该方法适用于区块链的节点,该方法包括:S12:响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的交易生成第一区块,并发送给执行模块;S13:执行模块接收并执行第一区块的各交易,向共识模块发送第一区块的执行结果;S14:共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息,并将第一通知信息发送给内存池模块;S15:内存池模块根据第一通知信息从内存池中删除第一区块中执行失败的各交易。具体地,节点A配置有内存池模块,共识模块,执行模块;共识模块从内存池拉取若干交易并缓存,所拉取的交易在被共识模块删除前,共识模块不再从内存池拉取其它交易;假设共识模块从内存池拉取10条交易tx1~tx10并缓存,执行模块执行tx1~tx10后,tx1~tx9执行成功,tx10执行失败,第一通知信息包括执行成功的各交易;在步骤S12中,响应于挖矿成功,共识模块从内存池模块中拉取10条交易tx1~tx10并缓存,打包tx1~tx10生成第一区块,并发送给执行模块;S13:执行模块接收并执行第一区块的tx1~tx10,向共识模块发送第一区块的执行结果;S14:共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息tx1~tx9,并将第一通知信息tx1~tx9发送给内存池模块;S15:内存池模块根据第一通知信息tx1~tx9从内存池中删除第一区块中执行失败的各交易tx10。本实施例以共识模块拉取10条交易,第一通知信息包括执行成功的各交易为例,对本专利技术提供的错误交易的防御方法做了示例性的阐述;在更多实施例中,共识模块从内存池拉取的交易数量可以根据内存池模块所能缓存的交易总数配置为任意合理的数量,例如,内存池模块所能缓存的交易总数为10000,共识模块从内存池拉取的交易数量则可以被配置为100、200等合理的数量,不可以超过10000,可实现相同的技术效果。在更多实施例中,第一通知信息还可以配置为包括执行失败的各交易,若配置为包括执行失败的各交易,在步骤S14中,共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息tx10,并将第一通知信息tx10发送给内存池模块;在步骤S15中,内存池模块根据第一通知信息tx10从内存池中删除第一区块中执行失败的各交易tx10;第一通知信息也可以配置为包括各交易的执行结果(tx1~tx9:成功,tx10:失败),若配置为包括各交易的执行结果,在步骤S14中,共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息(tx1~tx9:成功,tx10:失败),并将第一通知信息(tx1~tx9:成功,tx10:失败)发送给内存池模块;在步骤S15中,内存池模块根据第一通知信息(tx1~tx9:成功,tx10:失败)从内存池中删除第一区块中执行失败的各交易tx10,可实现相同的技术效果。在更多实施例中,第一通知信息还可以配置为包括执行成功的各交易的交易哈希hash(tx1)~hash(tx9),若配置为包括执行成功的各交易的交易哈希,在步骤S14中,共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息hash(tx1)~hash(tx9),并将第一通知信息hash(tx1)~hash(tx9)发送给内存池模块;在步骤S15中,内存池模块根据第一通知信息hash(tx1)~hash(tx9)从内存池中删除第一区块中执行失败的各交易tx10,可实现相同的技术效果。上述实施例通过响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的交易生成第一区块,并发送给执行模块;执行模块接收并执行第一区块的各交易,向共识模块发送第一区块的执行结果;共识模块根据执行模块发送的第一区块的执行结果生成第一通知信息,并将第一通知信息发送给内存池模块;内存池模块根据第一通知信息从内存池中删除第一区块中执行失败的各交易的方法,实现降低内存池拥堵,提高区块链安全性。图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,执行本文档来自技高网...

【技术保护点】
1.一种错误交易攻击的防御方法,其特征在于,所述方法适用于区块链的节点,所述方法包括:响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的所述交易生成第一区块,并发送给执行模块;所述执行模块接收并执行所述第一区块的各交易,向所述共识模块发送所述第一区块的执行结果;所述共识模块根据所述执行模块发送的第一区块的执行结果生成第一通知信息,并将所述第一通知信息发送给内存池模块;所述内存池模块根据所述第一通知信息从内存池中删除所述第一区块中执行失败的各交易。

【技术特征摘要】
1.一种错误交易攻击的防御方法,其特征在于,所述方法适用于区块链的节点,所述方法包括:响应于挖矿成功,共识模块从内存池模块中拉取若干交易并缓存,打包各所拉取的所述交易生成第一区块,并发送给执行模块;所述执行模块接收并执行所述第一区块的各交易,向所述共识模块发送所述第一区块的执行结果;所述共识模块根据所述执行模块发送的第一区块的执行结果生成第一通知信息,并将所述第一通知信息发送给内存池模块;所述内存池模块根据所述第一通知信息从内存池中删除所述第一区块中执行失败的各交易。2.根据权利要求1所述的方法,其特征在于,所述执行模块接收并执行所述第一区块的各交易,向所述共识模块发送所述第一区块的执行结果后,还包括:所述执行模块向存储模块发送执行所述第一区块的执行结果;所述存储模块接收并存储所述第一区块的执行结果,并将所述第一区块的执行结果广播到区块链的其它节点;所述存储模块根据所述第一区块的执行结果生成第二通知信息,并将所述第二通知信息发送给内存池模块;所述内存池模块根据所述第...

【专利技术属性】
技术研发人员:何玉斌王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江,33

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

1