交易缓存及排序的方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38235378 阅读:12 留言:0更新日期:2023-07-25 18:01
本申请提供了一种交易缓存及排序的方法、装置、电子设备和存储介质,涉及区块链技术领域,该方法包括:响应用户发起的交易事件,在拜占庭排序交易池中进行交易验证,并添加至验证后的待排序交易集合;基于待排序交易集合中预设数量个节点对应的交易事件所对应的预置时间戳,确定交易全局可信时间戳;基于交易全局可信时间戳对待排序交易集合中的交易事件进行排序,得到可信链表,以便共识协议基于可信链表按序获取交易并进行共识处理。本申请缓解了现有技术中存在的区块链中共识层面主节点对顺序的“霸权”技术问题,避免了交易受到审查攻击,提升了交易的稳定性和安全性。提升了交易的稳定性和安全性。提升了交易的稳定性和安全性。

【技术实现步骤摘要】
交易缓存及排序的方法、装置、电子设备和存储介质


[0001]本申请涉及区块链
,尤其是涉及一种交易缓存及排序的方法、装置、电子设备和存储介质。

技术介绍

[0002]目前的区块链平台中,交易池内交易节点出块时,区块中交易的顺序由节点自身决定,由于区块链系统是去中心化的,导致交易池内交易的排序容易遭受审查攻击。从节点层间看,节点为了自己利益的最大化,一般是按照gas费顺序来对交易进行打包,因此每个节点都有权利进行交易顺序的确定,导致节点易对交易进行审查攻击;从用户层面看,如若通过设置较高的gas费来阻止特定交易不被提交,也会对交易造成审查攻击。

技术实现思路

[0003]本申请的目的在于提供一种交易缓存及排序的方法、装置、电子设备和存储介质,以缓解了现有技术中存在的区块链中共识层面主节点对顺序的“霸权”技术问题。
[0004]第一方面,本专利技术提供一种交易缓存及排序的方法,所述方法应用于区块链的节点;所述方法包括:
[0005]响应用户发起的交易事件,在拜占庭排序交易池中进行交易验证,并添加至验证后的待排序交易集合;
[0006]基于所述待排序交易集合中预设数量个节点对应的交易事件所对应的预置时间戳,确定交易全局可信时间戳;
[0007]基于所述交易全局可信时间戳对所述待排序交易集合中的交易事件进行排序,得到可信链表,以便共识协议基于所述可信链表按序获取交易并进行共识处理;其中,所述可信链表缓存有包括所述可信时间戳的交易信息。
[0008]第二方面,本专利技术提供一种交易缓存及排序的装置,所述装置应用于区块链的节点;所述装置包括:
[0009]缓存及验证模块,用于响应用户发起的交易事件,在拜占庭排序交易池中进行交易验证,并添加至验证后的待排序交易集合;
[0010]可信时间戳确定模块,用于基于所述待排序交易集合中预设数量个节点对应的交易事件所对应的预置时间戳,确定交易全局可信时间戳;
[0011]排序模块,用于基于所述交易全局可信时间戳对所述待排序交易集合中的交易事件进行排序,得到可信链表,以便共识协议基于所述可信链表按序获取交易并进行共识处理;其中,所述可信链表缓存有包括所述可信时间戳的交易信息。
[0012]第三方面,本专利技术提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现前述实施方式任一项所述的交易缓存及排序的方法。
[0013]第四方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质存储
有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现前述实施方式任一项所述的交易缓存及排序的方法。
[0014]本申请提供的交易缓存及排序的方法、装置、电子设备和存储介质,更改交易缓存及排序的方法,在用户发起交易事件后,如果验证该交易事件合法,则将该交易事件添加至待排序交易集合中,并根据待排序交易集合中的预设数量个交易事件所对应的阈值时间戳确定交易全局可信时间戳,从而根据该交易全局可信时间戳对交易事件按序生成可信链表。由于可信链表中对应的交易事件的顺序是由区块链系统中预设数量个节点来确定,当区块链系统中存在恶意节点时,由于确定交易全局可信时间戳对应的节点数量大于恶意节点的数量,因此也不会影响整个系统的交易排序,避免了交易受到审查攻击,提升了交易的稳定性和安全性。
附图说明
[0015]为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本申请实施例提供的一种交易缓存及排序的方法的流程图;
[0017]图2为本申请实施例提供的一种具体的交易缓存及排序的方法的示意图;
[0018]图3为本申请实施例提供的一种preset

order处理的示意图;
[0019]图4为本申请实施例提供的一种交易缓存及排序的装置的结构图;
[0020]图5为本申请实施例提供的一种电子设备的结构图。
具体实施方式
[0021]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0022]因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0024]首先,对本申请涉及对名词进行介绍:
[0025](1)区块链:
[0026]一种以分布式容错技术为原理实现的一种分布式账本技术,通过链式结构保存日志数据(即区块数据),使用共识算法确定被最终提交的区块数据,这些区块数据最终以自动化脚本组成的智能合约来完成对账本数据的修改,是一种新的分布式基础设施与计算范式。
[0027](2)交易池:
[0028]一种交易缓冲技术,在区块链平台中作为临时存储交易的场所,完成交易的本地排序和验证。
[0029]现有技术中,如以太坊的交易池作为区块链节点的交易缓冲区,在打包区块前完成交易的缓存、验证、共享、排序等工作。当某节点收到来自用户签名的交易时,首先在交易池内完成对用户的签名验证,再通过p2p网络进行共给其他的节点,最后通过某种策略(如gas费),在节点本地将已验证的交易进行排序。当节点需要打包交易时,将交易池中一定数量排序好的交易打包并完成后续的共识、执行等工作。然而,现有技术存在以下缺点:
[0030]1、区块链系统是去中心化的,交易池内的交易会被排序容易遭受审查攻击。
[0031]目前的区块链平台中,节点出块时,区块中交易的顺序由节点自身决定。尽管节点为了自己利益的最大化,一般是按照gas费顺序来对交易进行打包。从节点角度来说,意味着每个节点都有权利进行交易顺序的确定,从节点层面可以对交易进行审查攻击。从用户层面来说,可以通过设置较高的gas费来阻止特定交易不被提交,从而对交易造成审查攻击,如Froint

running的行为。
[0032]2、区块链共识模块对全量的区块数据进行共识效率不高。
[0033]由于区块链是分布式系统的一种实现,其一致性依靠共识协议,共识协议通过相互通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交易缓存及排序的方法,其特征在于,所述方法应用于区块链的节点;所述方法包括:响应用户发起的交易事件,在拜占庭排序交易池中进行交易验证,并添加至验证后的待排序交易集合;基于所述待排序交易集合中预设数量个节点对应的交易事件所对应的预置时间戳,确定交易全局可信时间戳;基于所述交易全局可信时间戳对所述待排序交易集合中的交易事件进行排序,得到可信链表,以便共识协议基于所述可信链表按序获取交易并进行共识处理。2.根据权利要求1所述的交易缓存及排序的方法,其特征在于,在拜占庭排序交易池中进行交易验证之前,所述方法还包括:对所述交易事件进行签名,并向区块链所包含的其他节点发送第一预置时间戳。3.根据权利要求2所述的交易缓存及排序的方法,其特征在于,所述方法还包括:若获取到区块链所包含的其他节点发送的投票信息,则将所述投票信息对应的交易事件添加到所述待排序交易集合;其中,所述投票信息为发送投票信息的节点在接收到区块链中除自身外的其他节点发送的第二预置时间戳并验证所述第二预置时间戳合法性后,基于接收所述第二预置时间戳的时刻对应的本地时间戳生成的,所述投票信息包括本地时间戳和签名信息。4.根据权利要求3所述的交易缓存及排序的方法,其特征在于,基于所述待排序交易集合中预设数量个节点对应的交易事件所对应的预置时间戳,确定交易全局可信时间戳,包括:对所述待排序交易集合中的交易事件所对应的投票信息进行合法性验证,将通过验证的所述交易事件添加至投票交易集合;若所述投票交易集合中的投票数满足预设数量要求,则基于投票交易集合中预设数量个节点对应的预置事件戳,确定交易全局可信时间戳;其中,所述预设数量要求大于区块链中恶意节点的数量。5.根据权利要求4所述的交易缓存及排序的方法,其特征在于,若所述投票交易集合中的投票数满足预设数量要求,则基于投票交易集合中预设数量个节点对应的预置事件戳,确定交易全局可信时间戳,包括:若所述投票交易集合中的投票数满足2f+1,则基于投票交易集合中2f+1个节点对应的预置事件戳,确定交易全局可信时间戳,确定交易全局可信时间戳;其中,f为拜占庭节点的数量,区块...

【专利技术属性】
技术研发人员:程泰宁赖奕宇
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1