CN112702174B - 基于区块链的交易出块方法、系统、设备及存储介质 - Google Patents

基于区块链的交易出块方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN112702174B
CN112702174B CN202011568521.9A CN202011568521A CN112702174B CN 112702174 B CN112702174 B CN 112702174B CN 202011568521 A CN202011568521 A CN 202011568521A CN 112702174 B CN112702174 B CN 112702174B
Authority
CN
China
Prior art keywords
transaction
block
identification information
data
transaction identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011568521.9A
Other languages
English (en)
Other versions
CN112702174A (zh
Inventor
杨闯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Mingheng Investment Co ltd
Original Assignee
Shenzhen Xingxing Continental Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Xingxing Continental Technology Co ltd filed Critical Shenzhen Xingxing Continental Technology Co ltd
Priority to CN202011568521.9A priority Critical patent/CN112702174B/zh
Publication of CN112702174A publication Critical patent/CN112702174A/zh
Application granted granted Critical
Publication of CN112702174B publication Critical patent/CN112702174B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及区块链技术领域,提供一种基于区块链的交易出块方法,包括:根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;将第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;接收其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;对第一初选交易标识信息进行筛选处理;将筛选处理后的第一初选交易标识信息,生成终选交易标识信息,并将终选交易标识信息对应的交易数据打包成区块广播发送到所述区块链系统中。相应地,本申请还提供了一种基于区块链的交易出块系统、终端设备及可读存储介质。实施本申请,可减少资源损耗、提高去重效率。

Description

基于区块链的交易出块方法、系统、设备及存储介质
技术领域
本申请涉及区块链技术领域,尤其提供一种基于区块链的交易出块方法、系统、设备及存储介质。
背景技术
在区块链系统中,由于每个矿工地位相等,用户发送的一笔交易会被广播到整个区块链系统中,因此不同矿工的交易池中存在大量重复交易。由于矿工在打包交易时,都是通过评估交易的费用和区块占用比来挑选收益最佳消息的。另外,在区块链系统中,同一个出块周期可能有多个区块生成。因此,在交易池存在大量重复交易的情况下,同一个出块周期的不同矿工所出的不同区块会存在大量重复交易。
比如图1所示的例子中,矿工A打包生成的区块blockA中包含了三个交易数据,分别为message1、message2和message3。矿工B打包生成的区块blockB中也包含了三个交易数据,分别为message2、message3和message4。其中,message2及message3两个交易数据均存在于区块blockA和区块blockB中,属于相同的交易数据。
对于重复交易数据,只能有一笔交易数据被系统认可,否者会出现双花问题。而且重复交易会占用整个区块链系统的带宽、存储以及计算资源,是限制区块链系统性能的重要因素。
对于此类存在重复交易的区块链系统设计方案,如果没有方法避免交易重复,其必然存在一种去重的方法。现有去重方法包括如下两种:
第一种方法是直接简单去重,即在各个矿工出块后,直接通过全局的共识排序逻辑对交易进行去重操作。
不同的区块链系统的全局的共识排序逻辑可以不同,由具体共识协议设计决定。大多区块链系统是根据区块质量数据来决定区块中交易的处理顺序的,而区块质量对于不同共识协议的区块链系统,可以根据不同的策略来定义。例如,在使用工作量证明共识机制(proof of work,pow)的区块链系统中,可以使用区块hash值的大小来定义区块质量。而对于使用权益证明共识机制(proof of stake,pos)的区块链系统,可以使用出块矿工的权益stake的大小来定义区块质量。
对于图1中的例子,在出块周期epoch1内,若区块blockA的区块质量数据大于区块blockB的区块质量数据,那么在对出块周期epoch1来说,最终被记录到区块链系统中的交易数据只有message1、message2、message3及message4。重复交易数据message2和message3会被分配到区块质量数据比较大的区块blockA,即message2和message3这两个交易数据的手续费奖励将由打包区块blockA的矿工A获得。对于矿工B来说,区块blockB中被message2和message3两个交易数据占用的区块空间相当于被浪费,矿工B获取的手续费奖励也因为重复交易数据的原因而被减少。
可见,上述方法未考虑重复交易对系统性能影响,比如降低区块链系统并行处理交易的能力、浪费宝贵的区块空间等。
第二种方法是在矿工将交易数据存入区块前,通过泊松分布和二项分布概率性等数学方法估算其它矿工的区块质量值来估算其他矿工的出块权的大小,从而根据自身出块权大小的估算排序,在一定概率下减少重复交易数据。
比如,在filecoin区块链系统中,每个矿工打包交易时,根据自身的区块质量数据估算在交易数据冲突的情况下,filecoin区块链系统在根据区块质量数据排序去重后,此笔交易依然归自己所有的概率。在根据交易数据排序进行选择的基础上,通过加权计算在系统去重后交易数据仍归自己所有的概率,来降低交易数据的冲突概率,提升矿工整体收益。在filecoin共识协议中,一个出块周期内期望的出块个数为e,可将e设置为5。由于每个出块周期矿工获取出块权都是随机的,因此整个出块周期的出块权的获取满足泊松分布,则一个出块周期产生的不同个数区块的概率可以用泊松分布的概率密度函数来计算:
BlockNumberP(i)=PoissonPDF(i),1≤i≤15
Figure BDA0002861750930000031
其中,PoissonPDF(i)为一个出块周期产生i个出块权的概率,i为一个出块周期产生的出块权个数,λ为一个出块周期内产生i个出块权的平均发生次数。
上式通过泊松分布概率密度函数计算一个出块周期所出的区块个数分别为1~15的概率。当一个出块周期内所出区块个数确定的情况下,由于每个矿工的出块权的生成都是随机独立过程,因此在当前矿工已知自身区块质量数据的情况下,可以通过二项分布分别计算当前区块质量数据的区块在本出块周期中不同排名的概率blockProbabilities(i)。
假设本节点的区块质量数据为q时,假设当前出块周期的出块权数量为n+1,即除了本节点,那么其它节点获得的出块权的个数为n。对于其它具有出块权的节点来说,其区块质量数据高于本节点区块质量数据的概率为1-q,因此二项分布的p为1-q。那么本节点的区块质量数据在所有n+1个出块权对应的区块质量数据中位于第i(i>=0)位的概率为:
Figure BDA0002861750930000032
由于第一步根据泊松分布计算了一个出块周期内出块权个数为1~15的概率,因此考虑在当前出块周期中对不同区块个数的概率进行求和即可计算:
Figure BDA0002861750930000033
如图2显示的例子中,将本地交易池中的交易按照交易数据的收益高低,分别填充到15个分区中,每个分区当容量已满时即将后续的交易往下一个分区填充。对于未填充进分区的相关chain node设置其effectiveGasPerf参数为0。当本地矿工没有对自身区块质量数据在本次出块周期内的位置进行概率性的计算时,所有获得出块权的矿工都会默认挑选第一个分区中的交易数据。由于一个区块的空间有限,因此所有矿工都会默认挑选收益最高的交易数据。在此种情况下,当所有矿工的交易池都一致时,同一个出块周期的所有获得出块权的矿工所出的区块包含的交易数据完全一致。使用这种并发出块形式的区块链系统相对于一个出块周期只出一个区块的区块链系统而言,没有任何优势,相反还需要占用更多的网络带宽和存储计算资源。
因此,第二种去重方法在当前矿工获得出块权的情况下,先根据泊松分布和二项分布计算自身区块质量数据在所有获得出块权的节点的区块质量数据中不同位置的概率,再通过将此概率加权计算到15个分区的交易数据的收益值上,最终分别计算出每个分区的effectiveGasPerf值,该值反映了每个分区的交易数据在本节点区块质量数据下不会与其他节点打包的数据重复的概率。最终矿工按照effectiveGasPerf值大小,由高到底挑选自身要打包的交易。即由图2中标识的,由之前的挑选A、B、C三笔交易转变成挑选G、H、D三笔交易。其它获得出块权的矿工也会使用同样的逻辑根据自身区块质量数据挑选交易数据,从而通过这种概率性估算方案避免打包相同交易数据。
但是,由于第二种去重方法采用概率性估算方法,导致在实际的系统运作中,每个出块周期的重复交易依然有百分之五十以上。
发明内容
本申请的目的在于提供一种基于区块链的交易出块方法、系统、设备及存储介质,旨在解决现有的问题,即现有技术对交易数据去重时,资源损耗大、实际效率较低。
为实现上述目的,本申请采用的技术方案是:
第一方面,本申请提供了一种基于区块链的交易出块方法,所述交易出块方法包括:
在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;
将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;
接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;
根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理;
将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
第二方面,本申请提供了一种基于区块链的交易出块系统,所述交易出块系统包括:
初选模块,用于在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;
初选交易广播模块,用于将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;
节点交易接收模块,用于接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;
交易筛选模块,用于根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理;
出块模块,用于将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
第三方面,本申请还提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的交易出块方法。
第四方面,本申请还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的交易出块方法。
本申请的有益效果:
本申请的提供的一种基于区块链的交易出块方法、系统、设备及存储介质,可减少资源损耗、提高去重效率。
具体来说,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
可以理解的是,可以实现上述方法的系统、终端设备及计算机可读存储介质具有相同的有益效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术全局去重方法的示意图;
图2为现有技术概率估算去重方法的示意图;
图3为本申请基于区块链的交易出块方法实施例一的流程图;
图4为本申请基于区块链的交易出块方法实施例的根据交易池中交易数据的交易标识信息进行初选的流程图;
图5为本申请基于区块链的交易出块方法实施例的将所述初选交易标识信息及本机区块质量数据广播发送到区块链系统中的流程图;
图6为本申请基于区块链的交易出块方法实施例二的流程图;
图7为本申请基于区块链的交易出块方法实施例的获取交易排序标准数据的流程图;
图8为本申请基于区块链的交易出块方法实施例的对所述第一初选交易标识信息进行筛选处理的流程图;
图9为本申请基于区块链的交易出块系统实施例的全过程示意图;
图10为本申请基于区块链的交易出块系统实施例的结构框图;
图11为本申请基于区块链的交易出块系统实施例的初选模块的结构框图;
图12为本申请基于区块链的交易出块系统实施例的初选交易广播模块的结构框图;
图13为本申请基于区块链的交易出块系统实施例的扩展结构框图;
图14为本申请基于区块链的交易出块系统实施例排序标准获取模块的结构框图;
图15为本申请基于区块链的交易出块系统实施例的交易筛选模块结构框图;
图16为本申请终端设备的结构框图。
其中,图中各附图标记:
Figure BDA0002861750930000071
Figure BDA0002861750930000081
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在区块链系统中,可以通过在同一个出块周期中并行打包多个区块来提升系统处理交易的性能。但区块链系统是一个点对点系统,整个系统各个节点都有统一的状态,其本地交易池也存在大量重复的交易数据。因此在同一个出块周期,当不同矿工同时打包生成多个合法区块,为了保证系统整个状态一致,需要对多个区块中的交易数据进行去重。
现有技术对多个区块中的交易数据进行去重主要有两种方法。
第一种方法是直接简单去重,即在各个矿工出块后,直接通过全局的共识排序逻辑对交易进行去重操作。这种方法未考虑重复交易对系统性能影响,比如降低区块链系统并行处理交易的能力、浪费宝贵的区块空间等。
第二种方法是在矿工将交易数据存入区块前,通过泊松分布和二项分布概率性等数学方法估算其它矿工的区块质量值来估算其他矿工的出块权的大小,从而根据自身出块权大小的估算排序,在一定概率下减少重复交易数据。但由于该方法采用概率性估算方法,导致在实际的系统运作中,每个出块周期的重复交易依然有百分之五十以上。
针对上述现有技术的不足,本申请的提供的一种基于区块链的交易出块方法、系统、设备及存储介质,可减少资源损耗、提高去重效率。为了说明本申请所述的技术方案,下面通过以下实施例来进行说明。
实施例一
本申请实施例提供的基于区块链的交易出块方法,可以应用于台式电脑、服务器、手机、平板电脑等电子设备,所述电子设备可为区块链系统中的区块链系统节点,本申请实施例对电子设备的具体类型不做任何限制。
另外,在本实施例及其他实施例中提及的“区块链系统节点”、“本节点”、“节点”等描述均是指在区块链系统中提供算力、存储等资源的设备或软件模块,可以是,但不限于部分区块链系统中的矿工。
请参阅图3,本申请实施例提供的基于区块链的交易出块方法,包括:
步骤S101,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。
在一个实施例中,本机区块质量数据是衡量出块权大小的数据,其决定区块中交易数据被系统处理的顺序。本节点的本机区块质量数据比其他节点的区块质量数据高,则本节点打包生成的区块中的交易数据会被优先处理。本机区块质量数据对于不同共识协议的区块链系统,可以根据不同的策略来定义。例如,在使用pow共识机制的区块链系统中,可以使用区块hash值的大小来定义区块质量数据,而对于使用pos共识机制的区块链系统,可以使用出块矿工权益stake的大小来定义区块质量数据。
在一个实施例中,交易池是指本节点的本地交易池。区块链系统中的每个节点在区块链系统根据共识机制产生出块权的过程中接收到各种交易数据,并存储在本地的交易池中。然后在获得出块权后,就在本地交易池中挑选交易数据,以便将交易数据打包生成区块。
请参阅图4,在一个实施例中,所述根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息,包括:
步骤S1011,获取本出块周期内的其余区块数量值及区块容量值。
在一个实施例中,其余区块数量值是指一个出块周期内,共产生了的出块权的数量。区块容量值是指一个区块可以容纳的交易数据的数量。
步骤S1012,根据所述其余区块数量值及所述区块容量值计算其余区块总容量值;
在应用中,所述其余区块总容量值的计算公式可以为:
Qsum=Qb×Qt
其中,Qsum为所述其余区块总容量值,Qb为所述其余区块数量值,Qt为所述区块容量值。
在一个实施例中,其余区块总容量值反映了一个出块周期内,除了本节点产生的区块外,其他区块最多可以包含的交易数据的数量。比如一个出块周期可以产生5个区块,则除本节点产生的区块外,有4个区块,另假设所有区块均最多可以容纳3个交易数据,则本出块周期内除本节点产生的区块外的其他区块最多可以包含12个交易数据。一般来说,由于不同区块的交易数据可能出现重复,很多时候在对交易数据去重后,其余的区块所包含的交易数据数量会比上述其余区块总容量值小。只有在最理想的情况下,即不存在重复的交易数据的情况下,其余的区块所包含的交易数据数量才为上述的其余区块总容量值。
步骤S1013,根据所述交易池中交易数据的容量值和所述其余区块总容量值,生成所述初选标识信息。
其中,所述初选标识信息对应所有交易数据总容量值大于或等于所述其余区块总容量值,从而在后续处理中对重复交易数据去重的同时,不浪费区块的空间。后续处理将在下文详述,以下只结合例子作简要介绍以说明上述有益效果。
假设一个出块周期可产生2个区块,每个区块的容量值为2个交易数据。根据步骤S1011至步骤S1012可知,其余区块总容量值为2个交易数据。此时在初选选出的初选标识信息对应的交易数据的数量应为2个或以上,以避免在另一个节点的区块质量数据比本节点高,同时挑选的交易数据都跟本节点挑选交易数据重复时,本节点没有可选的交易数据,或可选的交易数据不足以充分利用区块空间的问题。
例如,如果本节点初选选出的第一初选标识信息对应的交易数据的数量为1个,则当另一个获得出块权的节点的区块质量数据高于本节点,而该节点挑选的交易数据与本节点挑选的交易数据相同时,区块质量数据较高的交易数据将被系统采纳。此时,即使本节点获得了另一个节点发送的第二初选标识信息,从而获知另一个节点挑选了一个交易数据与本节点初选的交易数据相同,但无从得知另一个节点会挑选哪一个交易数据作为剩余的交易数据进行打包,此时仍会存在交易数据重复的可能。
反之,如果本节点初选选出的第一初选标识信息对应的交易数据的数量为2个,另一个节点挑选第二初选标识信息对应的交易数据也为两个,即使出现两个交易数据都重复的情况,由于本节点在接收到第二初选标识信息的同时接收到另一个节点的区块质量数据,因而获知另一个节点挑选的的交易数据将会被优先采纳,则可以排除这两个重复的交易数据,而选择其他交易数据打包成区块,避免了交易数据重复。
步骤S102,将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中。
在一个实施例中,广播发送到区块链系统就是将将所述第一初选交易标识信息及本机区块质量数据发送给区块链系统的其他节点,以使其他节点获知本节点打算打包的交易数据及本节点的区块质量数据。
请参阅图5,在一个实施例中,所述将所述初选交易标识信息及本机区块质量数据广播发送到区块链系统中,包括:
步骤S1021,根据所述初选交易标识信息,构造布隆过滤器。
步骤S1022,将所述布隆过滤器与所述本地区块质量数据封装成数据包。
步骤S1023,将所述数据包广播发送到所述区块链系统中。
在一个实施例中,布隆过滤器包含一个二进制向量和一系列随机映射函数,可以用于检索一个元素是否在一个数据集合中,其优点是空间效率和查询时间都比一般的算法要好的多,从而减轻了因广播数据包对区块链系统的处理效率造成的影响。
步骤S103,接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据。
在一个实施例中,区块链系统其他节点发送的第二初选交易标识信息及对应节点区块质量数据的生成原理,与本节点的生成第二初选交易标识信息及对应节点区块质量数据的原理相同。通过获取其他节点发送的所述第二初选交易标识信息及节点区块质量数据,以获知其他节点打算打包的交易数据及其区块质量数据。
在应用中,所述第二初选交易标识信息及节点区块质量数据均可构造性布隆过滤器。也就是说,其他节点有多少个,本节点就会接收到对应数量的布隆过滤器。
在一个实施例中,在接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据后,会对节点区块质量数据进行验证,以确认其获得合法的出块权。
步骤S104,根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理。
步骤S105,将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
在一个实施例中,如果筛选处理后的所述第一初选交易标识信息的数量不足以填满区块,则可以从本地交易池中挑选其它交易数据,只要挑选的过程中,注意排除已被区块质量数据比本节点高的其他节点已经挑选的交易数据即可。
本申请实施例在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
实施例二
本申请实施例提供一种基于区块链的交易出块方法,包括实施例一中的步骤S101至步骤S105,本实施例是对实施例一的进一步说明,与实施例一相同或相似的地方,具体可参见实施例一的相关描述,此处不再赘述。
请参阅图6,实施例二除了实施例一的步骤外,还包括步骤S205至步骤S210。
具体来说,本实施例中的基于区块链的交易出块方法包括:
步骤S201,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。
在一个实施例中,在根据交易池中交易数据的交易标识信息进行初选,生成第一初选交易标识信息之前,还包括:
步骤S206,获取交易排序标准数据。
请参阅图7,在应用中,所述获取交易排序标准数据,可以包括:
步骤S2061,获取交易手续费用及区块链资源占用费用。
步骤S2062,根据所述交易手续费用及所述区块链资源占用费用计算交易性价比值。
其中,所述交易性价比值的计算公式为:
Figure BDA0002861750930000141
其中,P为所述交易性价比值,R为所述交易手续费用,F为所述区块链资源占用费用。区块链资源占用费用可理解为区块链系统节点提供算力所需的计算资源,比如以太坊区块链系统中的gas。区块链资源占用费用可以看做区块链系统节点打包交易数据的成本。所述交易手续费用可理解为交易方对区块链系统节点提供算力、存储等资源愿意支付的对价,比如以太坊区块链系统中的gasprice。交易手续费用看作是区块链系统节点打包该交易数据的收益。显然,所述交易手续费用越高占所述区块资源占用费用的比例越高,说明收益占成本的比例越高,交易性价比值就越高。
步骤S2063,将所述交易性价比值作为所述交易排序标准数据。
交易性价比值直接反应了打包对应交易数据的经济效益,在许多类型的区块链系统中,区块链系统节点会根据打包对应交易数据的经济效益确定交易数据的优先次序,交易性价比值是常用的一个排序标准数据。
步骤S207,根据所述交易排序标准数据对本地交易池中的交易数据进行排序,生成交易数据序列。
在应用中,可以按所述交易性价比值从高到低对对本地交易池中的交易数据进行排序,以便从开头开始挑选交易性价比值较高的交易数据进行后续处理。比如,所述根据交易池中交易数据的交易标识信息进行初选,生成第一初选交易标识信息,可以包括:
按所述交易数据序列的顺序,在所述本地交易池中选取所述交易标识信息,生成初选交易标识信息。
通过按交易数据序列的顺序进行初选,可以选取出交易性价比值较高的交易数据,即使后续处理中因去重的原因,剔除了其中部分交易数据,但仍可确保对剩余的交易数据进行打包可具有较高的经济效益。
步骤S202,将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中。
步骤S203,接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据。
步骤S204,根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理。
请参阅图8,在一个实施例中,所述根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,包括:
步骤S2041,按所述初选交易标识信息对应的交易数据在所述交易数据序列中的顺序,逐一对所述第一初选交易标识信息进行筛选处理。
在应用中,由于交易数据序列可按交易性价比值由高至低进行排列,则第一初选交易标识信息也可按各自在交易数据序列中的位置进行排序,然后按顺序逐一对第一初选交易标识信息进行筛选处理,最终将剩余的第一初选交易标识信息对应的交易数据中具有最高交易性价比值的交易数据作为打包的交易数据。
步骤S2042,对第一目标初选交易标识信息进行筛选处理过程中,
步骤S2043,当在所述第二初选交易标识信息中存在与所述第一目标初选交易标识信息相同的交易标识信息时,判断对应所述节点区块质量数据是否大于所述本机区块质量数据,判断为是时,将所述第一目标初选交易标识信息剔除。
其中,所述第一目标初选交易标识信息为所有第一初选交易标识信息中任一条标识信息。也就是说,可以把所有第一初选交易标识信息作为一个数据集,第一目标初选交易标识信息是其中的数据元素。第一初选交易标识信息与第一目标初选交易标识信息是相同性质的标识信息,这里为说明方便,把正在进行筛选处理的第一初选交易标识信息与其他第一初选交易标识信息进行区分,并非要进行特别限定。
可以理解的是,步骤S2041至步骤S2043是一个循环进行的过程,直至对所有第一初选交易标识信息均进行筛选处理后才会结束。
步骤S205,将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
可以理解的是,上述步骤S201、S202、S203、S204及S205,分别与实施例一中的步骤S101、S102、S103、S104及S105相同,有关说明详见实施例一,在此不再赘述。
下面结合图9对本申请实施例二全过程进行说明。
图9中除本节点外,还有两个获得出块权的节点,分别是节点1及节点2。本节点的区块质量数据为0.4,节点1的区块质量数据为0.5,节点2的区块质量数据为0.1。
本节点首先经过步骤S206-S207,将本地交易池中的交易数据进行排序,并按顺序放入15个分区中,其中每个分区的容量为三个交易数据。交易数据在图9中用圆圈表示,圆圈中的数字为交易数据的交易性价比值,比如图中交易性价比值最高的交易数据为交易数据A,其交易性价比值为105。
然后本节点经过步骤S201,在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。
然后经过步骤S202将所述第一初选交易标识信息及本机区块质量数据广播发送给节点1和节点2。
随后本节点经过步骤S203接收节点1和节点2广播发送的第二初选交易标识信息及对应节点区块质量数据。
之后本节点经过步骤S204根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,过程中,由于节点1的区块质量数据大于本节点,因此剔除了交易数据A和交易数据B。
最后,本节点经过步骤S205,将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,分别是交易数据C、交易数据E及交易数据F,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
需要说明的是,为说明方便,图9中仅示出节点1和节点2,未示出其他区块链系统节点。步骤S202、步骤S203及步骤S205中涉及广播发送时,均是广播发送给区块链系统中除发送端节点外的其他所有节点。另外,图中部分箭头代表的过程包含两个步骤,比如包含步骤S206及S207,或者包含步骤S204及步骤S205。
本申请实施例在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
实施例三
对应于上文实施例所述的基于区块链的交易出块方法,图10示出了本申请实施例提供的基于区块链的交易出块系统100的结构框图,该系统可以是终端设备中的虚拟装置(virtual appliance),由终端设备的处理器运行,也可以是集成于终端设备本身。所述终端设备可为区块链系统中的区块链系统节点。为了便于说明,仅示出了与本申请实施例相关的部分。
本申请实施例基于区块链的交易出块系统100包括:
初选模块1,用于在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;
初选交易广播模块2,用于将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;
节点交易接收模块3,用于接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;
交易筛选模块4,用于根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理;
出块模块5,用于将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
请参阅图11,在一个实施例中,所述初选模块1包括:
容量参数获取单元11,用于获取本出块周期内的其余区块数量值及区块容量值;
总容量计算单元12,用于根据所述其余区块数量值及所述区块容量值计算其余区块总容量值;
其中,所述其余区块总容量值的计算公式为:
Qsum=Qb×Qt
其中,Qsum为所述其余区块总容量值,Qb为所述其余区块数量值,Qt为所述区块容量值;
容量初选单元13,用于根据所述交易池中交易数据的容量值和所述其余区块总容量值,生成所述初选标识信息。
其中,所述初选标识信息对应所有交易数据总容量值大于或等于所述其余区块总容量值。
请参阅图12,在一个实施例中,所述初选交易广播模块2包括:
过滤器构造单元21,用于根据所述初选交易标识信息,构造布隆过滤器;
封装单元22,用于将所述布隆过滤器与所述本地区块质量数据封装成数据包;
封装包广播单元23,用于将所述数据包广播发送到所述区块链系统中。
请参阅图13,在一个实施例中,基于区块链的交易出块系统100还包括:
排序标准获取模块6,用于获取交易排序标准数据;
排序模块7,用于序列根据所述交易排序标准数据对本地交易池中的交易数据进行排序,生成交易数据序列。
在应用中,在调用所述初选模块之前,依次调用所述排序标准获取模块6及排序模块7。
请参阅图14,在一个实施例中,所述排序标准获取模块6包括:
排序参数获取单元61,用于获取交易手续费用及区块链资源占用费用;
性价比计算单元62,用于根据所述交易手续费用及所述区块链资源占用费用计算交易性价比值;
其中,所述交易性价比值的计算公式为:
Figure BDA0002861750930000201
其中,P为所述交易性价比值,R为所述交易手续费用,F为所述区块链资源占用费用;
排序标准设定单元63,用于将所述交易性价比值作为所述交易排序标准数据。
在一个实施例中,所述初选模块包括:
交易顺序选择单元,用于按所述交易数据序列的顺序,在所述本地交易池中选取所述交易标识信息,生成初选交易标识信息。
请参阅图15,在一个实施例中,所述交易筛选模块4包括:
顺序筛选单元41,用于按所述初选交易标识信息对应的交易数据在所述交易数据序列中的顺序,逐一对所述第一初选交易标识信息进行筛选处理;
筛选单元42,用于对第一目标初选交易标识信息进行筛选处理过程中,
剔除单元43,用于当在所述第二初选交易标识信息中存在与所述第一目标初选交易标识信息相同的交易标识信息时,判断对应所述节点区块质量数据是否大于所述本机区块质量数据,判断为是时,将所述第一目标初选交易标识信息剔除;其中,所述第一目标初选交易标识信息为所有第一初选交易标识信息中任一条标识信息。
可以理解的是,顺序筛选单元41在按次序逐一对所述第一初选交易标识信息进行筛选处理时,每次都会调用筛选剔除单元42进行处理。
本申请实施例在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息。然后将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中,以使得其他区块链系统节点可以获知本节点打算放入区块的交易数据。之后接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据,从而获知区块链系统其他节点打算放入区块的交易数据。再根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,这些区块质量数据是实际数值,不是估算值,据此进行筛选可以最大程度避免交易数据冲突。最后将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中,由于经过前述步骤的去重筛选,区块链系统进行二次去重处理的压力大为减轻。
实施例四
如图16所示,本申请还提供了一种终端设备200,包括存储器201、处理器202以及存储在所述存储器中并可在所述处理器上运行的计算机程序203,例如基于区块链的交易出块程序。所述处理器202执行所述计算机程序203时实现上述各基于区块链的交易出块方法实施例中的步骤,例如实施例一和/或实施例二中的方法步骤。所述处理器202执行所述计算机程序203时实现上述各装置实施例中各模块的功能,例如实施例三中各模块、单元的功能。
示例性的,所述计算机程序203可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器201中,并由所述处理器202执行,以完成本申请实施例一、实施例二和/或实施例三。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序203在所述终端设备200中的执行过程。例如,所述计算机程序203可以被分割成初选模块、初选交易广播模块、节点交易接收模块、交易筛选模块及出块模块等,各模块具体功能在上述实施例三中已有描述,此处不再赘述。
所述终端设备200可以是接访终端设备。所述终端设备可包括,但不仅限于,存储器201,处理器202。本领域技术人员可以理解,图16仅仅是终端设备200的示例,并不构成对终端设备200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述存储器201可以是所述终端设备200的内部存储单元,例如终端设备200的硬盘或内存。所述存储器201也可以是所述终端设备200的外部存储设备,例如所述终端设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器201还可以既包括所述终端设备200的内部存储单元也包括外部存储设备。所述存储器201用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器201还可以用于暂时地存储已经输出或者将要输出的数据。
所称处理器202可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于区块链的交易出块方法,其特征在于,所述交易出块方法包括:
在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;
将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;
接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;
根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理;
将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
2.根据权利要求1所述的交易出块方法,其特征在于,所述根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息,包括:
获取本出块周期内的其余区块数量值及区块容量值;
根据所述其余区块数量值及所述区块容量值计算其余区块总容量值;
其中,所述其余区块总容量值的计算公式为:
Qsum=Qb×Qt
其中,Qsum为所述其余区块总容量值,Qb为所述其余区块数量值,Qt为所述区块容量值;
根据所述交易池中交易数据的容量值和所述其余区块总容量值,生成所述第一初选交易标识信息;其中,所述第一初选交易标识信息对应所有交易数据总容量值大于或等于所述其余区块总容量值。
3.根据权利要求1所述的交易出块方法,其特征在于,所述将所述初选交易标识信息及本机区块质量数据广播发送到区块链系统中,包括:
根据所述初选交易标识信息,构造布隆过滤器;
将所述布隆过滤器与所述本机区块质量数据封装成数据包;
将所述数据包广播发送到所述区块链系统中。
4.根据权利要求1所述的交易出块方法,其特征在于,在根据交易池中交易数据的交易标识信息进行初选,生成第一初选交易标识信息之前,还包括:
获取交易排序标准数据;
根据所述交易排序标准数据对本地交易池中的交易数据进行排序,生成交易数据序列。
5.根据权利要求4所述的交易出块方法,其特征在于,所述获取交易排序标准数据,包括:
获取交易手续费用及区块链资源占用费用;
根据所述交易手续费用及所述区块链资源占用费用计算交易性价比值;
其中,所述交易性价比值的计算公式为:
Figure FDA0002861750920000021
其中,P为所述交易性价比值,R为所述交易手续费用,F为所述区块链资源占用费用;
将所述交易性价比值作为所述交易排序标准数据。
6.根据权利要求4所述的交易出块方法,其特征在于,所述根据交易池中交易数据的交易标识信息进行初选,生成第一初选交易标识信息,包括:
按所述交易数据序列的顺序,在所述本地交易池中选取所述交易标识信息,生成初选交易标识信息。
7.根据权利要求4所述的交易出块方法,其特征在于,所述根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理,包括:
按所述初选交易标识信息对应的交易数据在所述交易数据序列中的顺序,逐一对所述第一初选交易标识信息进行筛选处理;
对第一目标初选交易标识信息进行筛选处理过程中,当在所述第二初选交易标识信息中存在与所述第一目标初选交易标识信息相同的交易标识信息时,判断对应所述节点区块质量数据是否大于所述本机区块质量数据,判断为是时,将所述第一目标初选交易标识信息剔除;其中,所述第一目标初选交易标识信息为所有第一初选交易标识信息中任一条标识信息。
8.一种基于区块链的交易出块系统,其特征在于,所述交易出块系统包括:
初选模块,用于在获得出块权及对应的本机区块质量数据时,根据交易池中交易数据的交易标识信息进行初选,获得第一初选交易标识信息;
初选交易广播模块,用于将所述第一初选交易标识信息及本机区块质量数据广播发送到区块链系统中;
节点交易接收模块,用于接收所述区块链系统中其他节点广播发送的第二初选交易标识信息及对应节点区块质量数据;
交易筛选模块,用于根据本机区块质量数据、第二初选交易标识信息及对应节点区块质量数据,对所述第一初选交易标识信息进行筛选处理;
出块模块,用于将筛选处理后的所述第一初选交易标识信息,生成终选交易标识信息,并将所述终选交易标识信息对应的交易数据打包成区块,将所述区块广播发送到所述区块链系统中。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的交易出块方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的交易出块方法。
CN202011568521.9A 2020-12-25 2020-12-25 基于区块链的交易出块方法、系统、设备及存储介质 Active CN112702174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011568521.9A CN112702174B (zh) 2020-12-25 2020-12-25 基于区块链的交易出块方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011568521.9A CN112702174B (zh) 2020-12-25 2020-12-25 基于区块链的交易出块方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112702174A CN112702174A (zh) 2021-04-23
CN112702174B true CN112702174B (zh) 2022-11-04

Family

ID=75511062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011568521.9A Active CN112702174B (zh) 2020-12-25 2020-12-25 基于区块链的交易出块方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112702174B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995589A (zh) * 2019-10-14 2020-04-10 东软集团股份有限公司 一种区块链网络出块时的区块传递方法、装置及设备
CN111259078A (zh) * 2020-01-15 2020-06-09 广州运通链达金服科技有限公司 区块链共识方法、装置、计算机设备和存储介质
WO2020143183A1 (zh) * 2019-01-11 2020-07-16 平安科技(深圳)有限公司 基于股份授权证明机制的区块链共识方法及相关设备
CN111930845A (zh) * 2020-08-12 2020-11-13 湖南宸瀚信息科技有限责任公司 一种区块链的共识方法、系统、终端、及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020143183A1 (zh) * 2019-01-11 2020-07-16 平安科技(深圳)有限公司 基于股份授权证明机制的区块链共识方法及相关设备
CN110995589A (zh) * 2019-10-14 2020-04-10 东软集团股份有限公司 一种区块链网络出块时的区块传递方法、装置及设备
CN111259078A (zh) * 2020-01-15 2020-06-09 广州运通链达金服科技有限公司 区块链共识方法、装置、计算机设备和存储介质
CN111930845A (zh) * 2020-08-12 2020-11-13 湖南宸瀚信息科技有限责任公司 一种区块链的共识方法、系统、终端、及存储介质

Also Published As

Publication number Publication date
CN112702174A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN102629934B (zh) 基于分布式存储系统的数据存储方法及装置
CN109189572B (zh) 一种资源预估方法及系统、电子设备和存储介质
CN112348681B (zh) 一种区块链交易手续费确定方法、装置及电子设备
CN107656807A (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN111130790A (zh) 基于区块链节点网络的共识出块方法
CN114337739B (zh) 跳波束资源调度方法
CN111769985A (zh) 一种数据流量预测方法及装置
CN106685429B (zh) 整数压缩方法及装置
CN115334082A (zh) 负载均衡方法、装置、计算机设备、存储介质和产品
CN111491382B (zh) 卫星容量分配方法、装置和电子设备
CN112702174B (zh) 基于区块链的交易出块方法、系统、设备及存储介质
CN108710686A (zh) 一种数据存储方法、装置、存储介质及终端
CN112491742B (zh) 一种边缘计算终端资源调度方法及装置
CN114070791B (zh) 数据流量的限速处理方法及装置
CN113409140A (zh) 区块链数据处理方法、装置、计算机设备和存储介质
CN113687949A (zh) 服务器部署方法、装置、部署设备及存储介质
CN106681803A (zh) 一种任务调度方法及服务器
CN108009111A (zh) 数据流连接方法及装置
CN111400043A (zh) 交易池管理方法、设备和存储介质
CN108664322A (zh) 数据处理方法及系统
CN113438678B (zh) 一种为网络切片分配云资源的方法及装置
CN110099061A (zh) 一种云平台视频流服务选择方法及装置
CN107464571B (zh) 一种数据质量评估的方法、设备及系统
CN110046040B (zh) 分布式任务处理方法及系统和存储介质
CN110210856A (zh) 区块链数据处理方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230627

Address after: Building 708, Building 7, Qianhai Excellence Financial Center (Phase I), No. 5033 Menghai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong Province, 518000

Patentee after: Shenzhen Mingheng Investment Co.,Ltd.

Address before: 518000 4th floor, building A6, Hangcheng innovation and entrepreneurship Park, 159 Hangcheng Avenue, Sanwei community, Hangcheng street, Bao'an District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen Xingxing continental Technology Co.,Ltd.