区块链防节点作恶的交易方法、装置、设备及存储介质制造方法及图纸

技术编号:37713891 阅读:7 留言:0更新日期:2023-06-02 00:08
本发明专利技术属于区块链技术领域,解决了现有技术中如何有效规避接收客户端交易的节点作恶问题,提供了一种区块链防节点作恶的交易方法、装置、设备及存储介质。包括客户将同一笔交易同时发送给区块链上多个成员节点,然后在预设规则下获取节点交易池中交易的状态信息,若不符合要求,则重新选举主节点处理目标交易,保证客户端发送的目标交易成功执行;本发明专利技术客户端通过将交易发送给多个节点,防止单一节点作恶导致交易无法传输到主节点,同时节点通过采集交易池中交易的状态信息,来确认交易是否被主节点打包上链交易,从而防止主节点作恶导致交易未被正常执行,提高交易在区块链的执行成功率。成功率。成功率。

【技术实现步骤摘要】
区块链防节点作恶的交易方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种区块链防节点作恶的交易方法、装置、设备及存储介质。

技术介绍

[0002]区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备(以下简称为节点)通过运行区块链程序,实现以预设共识策略生成区块数据,并利用链式数据结构验证与存储区块数据,最终实现了数据防篡改机制,为业务开展提供了安全可信的技术新思路。
[0003]PBFT(Practical Byzantine Fault Tolerance,拜占庭)协议是区块链的联盟链最常用的共识机制;现有技术中,区块链的交易流程为客户端将交易发送至PBFT集群中的任一节点上,然后任一节点将该交易转发至Leader节点(主节点),Leader节点对该交易打包后再基于PBFT协议对该交易进行共识,但如果PBFT集群中接收交易的节点或Leader节点作恶,则可能导致交易被恶意遗弃,虽然PBFT协议自身能够发现作恶节点,但依靠PBFT协议自身发现作恶节点存在滞后性,存在系统吞吐量下降问题。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供了一种区块链防节点作恶的交易方法、装置、设备及存储介质,用以解决现有技术中如何有效规避接收客户端交易的节点作恶问题。
[0005]本专利技术采用的技术方案是:
[0006]一方面,本专利技术提供了一种区块链防节点作恶的交易方法,所述方法包括:
[0007]获取目标交易在交易池的第一状态信息,其中,所述目标交易为客户端将同一笔交易同时发送给区块链上多个成员节点的交易请求;
[0008]若所述第一状态信息不符合要求,则发起主节点选举交易,得到目标主节点。
[0009]优选地,所述获取目标交易在交易池的第一状态信息,其中,所述目标交易为客户端将同一笔交易同时发送给区块链上多个成员节点的交易请求包括:
[0010]根据所述目标交易,启动第一定时任务;
[0011]响应于所述第一定时任务,获取交易池中所述目标交易的第一状态信息;
[0012]其中,所述第一状态信息包括已执行信息和未执行信息。
[0013]优选地,所述响应于所述第一定时任务,获取交易池中所述目标交易的第一状态信息包括:
[0014]响应于所述第一定时任务,获取交易池中所述目标交易的第二状态信息;
[0015]若所述第二状态信息不符合要求,则发送所述目标交易至主节点,启动第二定时任务;
[0016]响应于所述第二定时任务,获取交易池中所述目标交易的所述第一状态信息。
[0017]优选地,所述第一状态信息不符合要求包括所述目标交易的执行标签为未执行或
所述目标交易未被删除。
[0018]优选地,当区块链选举出新的主节点后,所述方法还包括:
[0019]将所述目标交易发送给所述目标主节点;
[0020]根据所述目标交易,所述目标主节点对所述目标交易上链共识,得到所述目标交易对应的目标区块。
[0021]优选地,所述根据所述目标交易,所述目标主节点对所述目标交易上链共识,得到所述目标交易对应的目标区块包括:
[0022]获取各成员节点针对所述目标交易的共识信息,其中,所述共识信息包括节点的签名信息;
[0023]若接收的所述共识信息的数量符合要求,则将各所述共识信息写入当前区块并提交给应用层,得到所述目标区块。
[0024]优选地,所述目标区块包括2f+1个成员节点签名的签名信息,其中,f为预设作恶成员节点数量。
[0025]另一方面,本专利技术还提供了一种区块链防节点作恶的交易装置,包括:
[0026]第一执行模块:用于获取目标交易在交易池的第一状态信息,其中,所述目标交易为客户端将同一笔交易同时发送给区块链上多个成员节点的交易请求;
[0027]数据分析模块:用于若所述第一状态信息不符合要求,则发起主节点选举交易,得到目标主节点。
[0028]本专利技术还提供了一种电子设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现上述任一项所述的方法。
[0029]本专利技术还提供了一种介质,其上存储有计算机程序指令,当所述计算机程序指令被处理器执行时实现上述任一项所述的方法。
[0030]综上所述,本专利技术的有益效果如下:
[0031]本专利技术提供的区块链防节点作恶的交易方法、装置、设备及存储介质,客户将同一笔交易同时发送给区块链上多个成员节点,然后在预设规则下获取节点交易池中交易的第一状态信息,若不符合要求,就发起主节点重新选举交易,从而选出新的目标主节点来处理目标交易,保证客户端发送的目标交易成功执行;本专利技术客户端通过将交易发送给多个节点,防止单一节点作恶导致交易无法传输到主节点,同时节点通过采集交易池中交易的第一状态信息,来确认接收的交易是否被主节点打包上链交易,若交易池中交易的第一状态信息不符合交易被执行的状态,则认为主节点作恶,那么就重新选举目标主节点,由新的目标主节点来完成交易,防止主节点作恶提高交易的区块链执行成功率。
附图说明
[0032]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,这些均在本专利技术的保护范围内。
[0033]图1为区块链中各区块的连接关系示意图;
[0034]图2为本专利技术实施例1中获取目标交易基于PBFT协议生成的目标区块的流程示意
图;
[0035]图3为本专利技术实施例1中获取交易通过多个节点二次递交给区块链的流程示意图;
[0036]图4为本专利技术实施例1中获取交易在区块链执行生成目标区块的流程示意图;
[0037]图5为本专利技术实施例1中获取主节点重新选举的流程示意图;
[0038]图6为本专利技术实施例1中获取节点交易池交易状态的流程示意图;
[0039]图7为本专利技术实施例2中基于PBFT协议进行区块链交易的交易装置结构示意图;
[0040]图8为本专利技术实施例2中防止区块链节点作恶的交易装置结构示意图;
[0041]图9为本专利技术实施例2中区块链节点作恶的区块链二次交易的交易装置结构示意图;
[0042]图10为本专利技术实施例3中的电子设备的结构示意图。
具体实施方式
[0043]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。在本专利技术的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链防节点作恶的交易方法,其特征在于,所述方法包括:获取目标交易在交易池的第一状态信息,其中,所述目标交易为客户端将同一笔交易同时发送给区块链上多个成员节点的交易请求;若所述第一状态信息不符合要求,则发起主节点选举交易,得到目标主节点。2.根据权利要求1所述的区块链防节点作恶的交易方法,其特征在于,所述获取目标交易在交易池的第一状态信息,其中,所述目标交易为客户端将同一笔交易同时发送给区块链上多个成员节点的交易请求包括:根据所述目标交易,启动第一定时任务;响应于所述第一定时任务,获取交易池中所述目标交易的第一状态信息;其中,所述第一状态信息包括已执行信息和未执行信息。3.根据权利要求2所述的区块链防节点作恶的交易方法,其特征在于,所述响应于所述第一定时任务,获取交易池中所述目标交易的第一状态信息包括:响应于所述第一定时任务,获取交易池中所述目标交易的第二状态信息;若所述第二状态信息不符合要求,则发送所述目标交易至主节点,启动第二定时任务;响应于所述第二定时任务,获取交易池中所述目标交易的所述第一状态信息。4.根据权利要求1至3任一项所述的区块链防节点作恶的交易方法,其特征在于,所述第一状态信息不符合要求包括所述目标交易的执行标签为未执行或所述目标交易未被删除。5.根据权利要求1所述的区块链防节点作恶的交易方法,其特征在于,当区块链选举出新的主节点后,所述方法还包括:将所述目标交易发送给所述目标主节点;根据所述目标交...

【专利技术属性】
技术研发人员:邓柯李成才张扬
申请(专利权)人:成都质数斯达克科技有限公司
类型:发明
国别省市:

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

1