CN110276688B - 一种区块链中交易处理的方法及装置 - Google Patents

一种区块链中交易处理的方法及装置 Download PDF

Info

Publication number
CN110276688B
CN110276688B CN201910514704.3A CN201910514704A CN110276688B CN 110276688 B CN110276688 B CN 110276688B CN 201910514704 A CN201910514704 A CN 201910514704A CN 110276688 B CN110276688 B CN 110276688B
Authority
CN
China
Prior art keywords
transaction
random number
processed
record
number record
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
CN201910514704.3A
Other languages
English (en)
Other versions
CN110276688A (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910514704.3A priority Critical patent/CN110276688B/zh
Publication of CN110276688A publication Critical patent/CN110276688A/zh
Priority to PCT/CN2020/095201 priority patent/WO2020248982A1/zh
Application granted granted Critical
Publication of CN110276688B publication Critical patent/CN110276688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明涉及金融科技领域,公开了一种区块链中交易处理的方法及装置,其中,方法包括:交易节点接收客户端发送的待处理交易,待处理交易包括客户端为待处理交易随机生成的第一随机数,交易节点对待处理交易进行第一验证,并在确定待处理交易通过第一验证后,将第一随机数记录于随机数记录中并将待处理交易放入交易池中。该技术方案有效提高交易节点处理交易时的效率。

Description

一种区块链中交易处理的方法及装置
技术领域
本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种区块链(BlockChain)中交易处理的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,区块链传输技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对技术提出的更高的要求。
区块链是由一系列区块组成的一条链,每个区块记录本块的数据及上一块的哈希值,所有区块通过这种方式前后相继组成一条链。区块链所基于的密码学技术和去中心化思想使链上的历史信息无法被篡改。
客户端将交易发送至区块链时,由于网络等原因,客户端可能多次发送相同的交易,为了防止相同交易被多次处理,现有技术中采用严格递增序列的方式实现交易防重,具体的,每个账户对应一个序列,这个序列从零开始计数,账户所在的客户端每发送一笔交易,序列值加一,交易节点按照客户端发送交易的序列值从小到大顺序处理同一个账户的交易,若节点接收到的交易的序列值远大于当前节点已处理的交易的序列值,则将该接收到的交易放在交易池中,直至处理到该序列值的交易后才会处理该笔交易,该种方式下交易节点处理交易的效率低,且客户端需要生成严格递增的序列值,对客户端的要求较高。
发明内容
本发明实施例提供一种区块链中交易处理的方法及装置,提高交易节点处理交易时的效率。
本发明实施例提供的一种区块链中交易处理的方法,包括:
交易节点接收客户端发送的待处理交易,所述待处理交易包括所述客户端为所述待处理交易随机生成的第一随机数;
所述交易节点对所述待处理交易进行第一验证;其中,所述第一验证包括确定随机数记录中是否包括所述第一随机数;所述随机数记录用于记录已通过所述第一验证的各交易的随机数;
所述交易节点确定所述待处理交易通过所述第一验证后,将所述第一随机数记录于所述随机数记录中并将所述待处理交易放入交易池中。
上述技术方案中,客户端无需生成严格递增的序列值,对客户端的业务逻辑要求降低,且在一个账户对应多个客户端时,多个客户端在同时发送交易时生成相同随机数的概率也非常小,进一步的,为解决客户端生成相同随机数的问题,则对客户端发送的待处理交易进行第一验证,在交易节点中设置随机数记录,用于在交易节点接收到待处理交易时,验证待处理交易中的第一随机数是否已经存在于随机数记录中,若否,则确定该待处理交易通过验证,并进一步将该待处理交易的第一随机数记录于随机数记录中,以及将该待处理交易放入交易池中,用于后续的上链处理,交易节点无需将接收到的交易放在交易池中等待其他交易处理完成后才处理该笔交易,提高了交易节点处理交易的效率,且保障交易节点不会处理重复交易。
可选的,所述随机数记录包括第一随机数记录和第二随机数记录;
所述第一随机数记录用于记录已通过所述第一验证但未进行上链处理的各交易的随机数;
所述第二随机数记录用于记录已进行所述上链处理的各交易的随机数;
所述交易节点确定所述待处理交易通过所述第一验证,包括:
确定所述第一随机数记录中不存在所述第一随机数后,确定所述第二随机数记录中不存在所述第一随机数。
上述技术方案中,将随机数记录分为第一随机数记录和第二随机数记录,其中,第一随机数记录是存储在交易节点内存中,由于交易节点内存有限,所以设定第一随机数记录用于记录已通过第一验证但未进行上链处理的各交易的随机数,并将已进行上链处理的各交易的随机数记录在第二随机数记录中,从而保障第一随机数记录的数据量小,避免出现交易节点内存超出影响交易节点的正常工作的问题。
可选的,所述第二随机数记录包括第二交易的随机数;所述第二交易是区块高度为M至M-N的N个区块中记录的交易,其中,M为区块链的当前区块的区块高度,M和N均为正整数。
上述技术方案中,在获取第二随机数记录时,可以根据当前区块高度,仅获取当前区块以及当前区块之前的共N个区块中的交易,确定该交易为第二交易,将第二交易的随机数记录于第二随机数记录中,也就是说,在获取第二随机数记录时,不是获取全部的已经记录在区块链中的各区块的交易,而是获取当前区块之前的一部分区块中的交易,在保障获取到的各区块中的交易可以足够对当前待处理交易进行验证的前提下,降低交易节点获取交易的随机数的工作量,提高交易节点的工作效率。
可选的,所述交易节点在将所述待处理交易放入交易池中之后,还包括:
将所述交易池中的待处理交易打包成区块并对所述区块进行共识上链;
将所述第一随机数从所述第一随机数记录中删除,并将所述第一随机数、所述待处理交易所在区块的区块高度对应添加至所述第二随机数记录中。
上述技术方案中,将第一随机数从第一随机数记录中删除,以及将第一随机数、待处理交易所在区块的区块高度对应添加至第二随机数记录中,保障第一随机数记录中仅记录当前已通过第一验证的交易池中的交易的随机数,而不记录已上链的交易的随机数,降低第一随机数记录的数据量,即降低节点内存中的数据存储量,进一步的,将已上链的交易的随机数以及交易所在区块的区块高度对应存储在第二随机数记录中,保障在接收到相同交易后,将该相同交易拒绝掉。
相应的,本发明实施例还提供了一种区块链中交易处理的装置,包括:
接收单元,用于接收客户端发送的待处理交易,所述待处理交易包括所述客户端为所述待处理交易随机生成的第一随机数;
处理单元,用于对所述待处理交易进行第一验证;其中,所述第一验证包括确定随机数记录中是否包括所述第一随机数;所述随机数记录用于记录已通过所述第一验证的各交易的随机数;以及确定所述待处理交易通过所述第一验证后,将所述第一随机数记录于所述随机数记录中并将所述待处理交易放入交易池中。
可选的,所述随机数记录包括第一随机数记录和第二随机数记录;
所述第一随机数记录用于记录已通过所述第一验证但未进行上链处理的各交易的随机数;
所述第二随机数记录用于记录已进行所述上链处理的各交易的随机数;
所述处理单元具体用于:
确定所述第一随机数记录中不存在所述第一随机数后,确定所述第二随机数记录中不存在所述第一随机数。
可选的,所述第二随机数记录包括第二交易的随机数;所述第二交易是区块高度为M至M-N的N个区块中记录的交易,其中,M为区块链的当前区块的区块高度,M和N均为正整数。
可选的,所述处理单元还用于:
在所述在将所述待处理交易放入交易池中之后,将所述交易池中的待处理交易打包成区块并对所述区块进行共识上链;
将所述第一随机数从所述第一随机数记录中删除,并将所述第一随机数、所述待处理交易所在区块的区块高度对应添加至所述第二随机数记录中。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链中交易处理的方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链中交易处理的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的另一种系统架构的示意图;
图3为本发明实施例提供的一种区块链中交易处理的方法的流程示意图;
图4为本发明实施例提供的一种区块链中交易处理的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供区块链中交易处理的方法所适用的系统架构,该系统架构可以包括多个客户端100和区块链系统200,结合图2所示,区块链系统200中包括多个区块链节点210,区块链节点210即交易节点,多个客户端100可以分别向区块链节点210发送交易。
区块链系统200的各区块链节点210中包括交易池211、共识模块212、同步模块213、区块链接口模块214、存储模块215等。
交易池211用于从客户端100或其他区块链节点210接收新交易,并将验证通过的交易存放到交易池队列中,供共识模块212打包区块时使用。交易池211中可以包括交易验证器,用于对从客户端接收到新交易进行验证,可以包括多种验证,如验证接收到的该笔交易的签名是否有效、交易池或区块链中是否存在该笔交易、该笔交易中的参数是否有效等。
共识模块212分为打包线程和共识线程两个子模块,打包线程负责从交易池211中取出交易,打包成区块,并将新生成的区块广播给其他所有共识节点;共识线程负责执行新区块、运行共识算法,将所有达成共识的区块通过区块链接口模块214写入存储模块215。
同步模块213用于交易同步和区块同步,交易同步会将本节点接收到的所有的交易广播到其他共识节点,从而保证切换出块节点时,新的出块节点能基于最新交易产生新区块;区块同步则用来解决性能不同节点间区块高度不一致的问题,同步模块213维护着所有节点的区块高度信息,当本节点区块高度落后于其他节点时,会主动发起区块下载请求,从而保证本节点区块高度与其他节点一致。
存储模块215包括storage和state两部分,storage(如AMDB、LevelDB)采用表式存储结构,主要用来存储区块信息、系统表等;state则存储了交易执行结果,包括mpt state和storage state,mpt state是一棵世界状态树,可追溯任何一笔交易的历史信息,storage state存储交易执行后的当前状态,不保存历史信息。
基于上述描述,图3示例性的示出了本发明实施例提供的一种区块链中交易处理的方法的流程,该流程可以由区块链中交易处理的装置执行。
如图3所示,该流程具体包括:
步骤301,交易节点接收客户端发送的待处理交易。
客户端发送待处理交易,该待处理交易中可以包括第一随机数,该第一随机数即客户端针对该待处理交易随机生成的随机数值(Nonce值)。可选的,客户端可引入任何随机变量,以生成随机数值,客户端可以采用一个u256类型的随机数。相比于现有技术,客户端无需生成严格递增的序列值,对客户端的业务逻辑要求降低,且在一个账户对应多个客户端时,多个客户端在发送交易时生成相同随机数的概率也非常小,进一步的,为解决客户端生成相同随机数的问题,则需要对客户端发送的待处理交易进行第一验证。
步骤302,所述交易节点对所述待处理交易进行第一验证。
交易节点对待处理交易进行第一验证,具体可以为验证该待验证交易中的第一随机数,判断该第一随机数是否已经记录在随机数记录中,即相当于判断随机数记录中是否包括该第一随机数。此处,随机数记录用于记录已通过第一验证的各交易的随机数,也就是说,判断某笔待处理交易中的第一随机数是否在随机数记录中,若否,则确定该笔待处理交易通过第一验证,并将该笔待处理交易的第一随机数添加至在随机数记录中。
本发明实施例中,随机数记录可以包括第一随机数记录和第二随机数记录,其中,第一随机数记录用于记录已通过第一验证但未进行上链处理的各交易的随机数;第二随机数记录用于记录已进行上链处理的各交易的随机数。也就是说,交易节点对待处理交易进行第一验证,可以包括两次验证,其一,确定第一随机数记录中不存在第一随机数,其二,确定第二随机数记录中不存在第一随机数。
可选的,在确定第一随机数记录中不存在第一随机数之后,获取第二随机数记录,并确定该第二随机数记录中是否存在第一随机数。在某些实施例中,该第一随机数记录可以为一个随机数列表,存储于内存中,又可以叫做交易池Nonce列表,用于防止交易池处理重复交易;该第二随机数记录也可以为一个随机数列表,存储于数据库中,又可以叫做Nonce系统表列表,用于防止共识线程打包处理重复交易。
在获取第二随机数记录时,可以根据区块链的当前区块以及当前区块之前的N个区块获取,假设区块链的当前区块的区块高度为M,则获取区块高度为M至M-N的N个区块中所有交易的随机数,设确定出的交易为第二交易,则确定的交易的随机数即为第二交易的随机数,将该所有的第二交易的随机数记录于第二随机数记录。此处,M和N均为正整数,且M大于N。
本发明实施例中,N可以理解为交易防重限制(Limit)值,即表示交易防重的区块范围,从当前区块至未来的N个区块内不能存在有重复随机数的交易。当前区块至未来的第N个区块理解为交易防重上限(BlockLimit),即用于表示防重上限的区块高度,假设当前区块为M,则M+N即为交易防重上限的区块高度,其中,N可以根据经验设定,可以设定为1000。进一步的,在获取第二随机数记录时,获取的N个区块中的所有第二交易的随机数是不重复的。
此外,客户端发送的待处理交易中还可以包括高度参数,该高度参数用于指示待处理交易所在区块的区块高度不大于高度参数,相应的,交易节点对待处理交易进行第一验证,不仅可以包括判断随机数记录中是否包括该第一随机数,还可以包括,根据区块链的当前区块的区块高度,判断待处理交易中的高度参数是否有效,示例性的,若确定高度参数不小于区块链的当前区块的区块高度且不大于当前区块的区块高度与预设值的加和,则确定该高度参数有效,举例来说,如当前区块高度为1500,预设值为1000,而客户端发送的待处理交易中的高度参数为1700,则确定1700不小于1500且不大于2500,则该高度参数为1700是有效的。该技术方案中,预设值可以根据经验确定,也可以是交易防重限制值。此外,高度参数用于指示客户端发送的待处理交易的优先级,以满足客户端发送交易的不同需求。
步骤303,所述交易节点确定所述待处理交易通过所述第一验证后,将所述第一随机数记录于所述随机数记录中并将所述待处理交易放入交易池中。
在交易节点确定待处理交易通过第一验证后,即确定第一随机数记录中不存在第一随机数且确定第二随机数记录中不存在第一随机数后,则可以将该待处理交易放入交易池中,并之后对该交易池中交易进行上链处理,具体的,可以将交易池中的待处理交易打包成区块,然后对区块进行共识上链。在将交易池中的待处理交易进行上链处理之后,可以将第一随机数从第一随机数记录中删除,以及将第一随机数、待处理交易所在区块的区块高度对应添加至第二随机数记录中。此处,待处理交易所在区块的区块高度理解为,该待处理交易被打包至区块后,区块上链时所在区块链的区块高度。
为了更好的解释本发明实施例,下面将在具体的实施场景下描述该区块链中交易处理的流程,结合图2所示,具体如下:
客户端向交易节点发送待处理交易,待处理交易中记录有第一随机数,设待处理交易为Ti,且该待处理交易Ti的第一随机数为Noncei;交易节点在接收到Ti后,调用交易池中的交易验证器验证Ti的有效性,主要包括三方面验证:
①Ti中包含的高度参数是否有效;
②Ti是否重复:首先查询交易池Nonce列表,若Noncei存在于交易池Nonce列表中,则说明交易池接收过相同的交易,拒绝Ti;否则,继续查询Nonce系统表列表,判断Ti是否是已上链的交易,若Noncei存在于Nonce系统表列表中,说明相同交易已经上链,拒绝Ti
③Ti的签名是否有效。
若确定Ti通过交易验证器的上述三方面验证,则确定Ti可以进行上链处理,且将Ti确定为验证通过的交易,具体的,将Ti的随机数Noncei插入到交易池Nonce列表中,以及通过共识模块从交易池中取出Ti并打包成区块,在区块共识成功后,将区块通过区块链接口模块提交到存储模块,即将区块上链。在将区块上链成功后,首先更新Nonce系统表列表,将区块的Noncei追加到Nonce系统表列表,然后再更新交易池Nonce列表,将Noncei从交易池Nonce列表中删除。
需要说明的是,客户端生成的第一随机数唯一代表一笔交易,本发明实施例中,将Noncei插入到交易池Nonce列表中,当有第二笔随机数为Noncei的待处理交易再次提交到交易节点时,交易节点会因交易池Nonce列表中已经存在该Noncei而拒绝该第二笔待处理交易。以及将Noncei追加到Nonce系统表列表后,从交易池Nonce列表中删除Noncei,当有第二笔随机数为Noncei的待处理交易再次提交到交易节点时,交易节点会因Nonce系统表列表中已经存在该Noncei而拒绝该第二笔待处理交易。
进一步的,在将交易池中已通过验证的交易打包至区块时,可以是共识模块定时从交易池中打包多个已通过验证的交易,也就是说,将区块上链成功后,新区块中存在多个上链交易,该多个上链交易中的第一随机数组成一个Nonce列表,将Nonce列表中的所有第一随机数从交易池Nonce列表中删除,以及追加到Nonce系统表列表中。
上述技术方案中,客户端无需生成严格递增的序列值,对客户端的业务逻辑要求降低,且在一个账户对应多个客户端时,多个客户端在同时发送交易时生成相同随机数的概率也非常小,进一步的,为解决客户端生成相同随机数的问题,则对客户端发送的待处理交易进行第一验证,在交易节点中设置随机数记录,用于在交易节点接收到待处理交易时,验证待处理交易中的第一随机数是否已经存在于随机数记录中,若否,则确定该待处理交易通过验证,并进一步将该待处理交易的第一随机数记录于随机数记录中,以及将该待处理交易进行上链处理,交易节点无需将接收到的交易放在交易池中等待其他交易处理完成后才处理该笔交易,提高了交易节点处理交易的效率,且保障交易节点不会处理重复交易。
基于同一发明构思,图4示例性的示出了本发明实施例提供的一种区块链中交易处理的装置的结构,该装置可以执行区块链中交易处理的方法的流程。该装置,包括:
接收单元401,用于接收客户端发送的待处理交易,所述待处理交易包括所述客户端为所述待处理交易随机生成的第一随机数;
处理单元402,用于对所述待处理交易进行第一验证;其中,所述第一验证包括确定随机数记录中是否包括所述第一随机数;所述随机数记录用于记录已通过所述第一验证的各交易的随机数;以及确定所述待处理交易通过所述第一验证后,将所述第一随机数记录于所述随机数记录中并将所述待处理交易放入交易池中。
可选的,所述随机数记录包括第一随机数记录和第二随机数记录;
所述第一随机数记录用于记录已通过所述第一验证但未进行上链处理的各交易的随机数;
所述第二随机数记录用于记录已进行所述上链处理的各交易的随机数;
所述处理单元402具体用于:
确定所述第一随机数记录中不存在所述第一随机数后,确定所述第二随机数记录中不存在所述第一随机数。
可选的,所述第二随机数记录包括第二交易的随机数;所述第二交易是区块高度为M至M-N的N个区块中记录的交易,其中,M为区块链的当前区块的区块高度,M和N均为正整数。
可选的,所述处理单元402还用于:
在所述在将所述待处理交易放入交易池中之后,将所述交易池中的待处理交易打包成区块并对所述区块进行共识上链;
将所述第一随机数从所述第一随机数记录中删除,并将所述第一随机数、所述待处理交易所在区块的区块高度对应添加至所述第二随机数记录中。
所述高度参数用于指示所述待处理交易所在区块的区块高度不大于所述高度参数。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链中交易处理的方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链中交易处理的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种区块链中交易处理的方法,其特征在于,包括:
交易节点接收客户端发送的待处理交易,所述待处理交易包括所述客户端为所述待处理交易随机生成的第一随机数,所述第一随机数是所述待处理交易对应的唯一一个随机数;
所述交易节点对所述待处理交易进行第一验证;其中,所述第一验证包括确定随机数记录中是否包括所述第一随机数;所述随机数记录用于记录已通过所述第一验证的各交易的随机数;
所述交易节点若确定所述待处理交易通过所述第一验证,则将所述第一随机数记录于所述随机数记录中并将所述待处理交易放入交易池中;所述交易节点若确定所述待处理交易未通过所述第一验证,则拒绝所述待处理交易;
所述随机数记录包括第一随机数记录和第二随机数记录;
所述第一随机数记录用于记录已通过所述第一验证但未进行上链处理的各交易的随机数;
所述第二随机数记录用于记录已进行所述上链处理的各交易的随机数;
所述交易节点确定所述待处理交易通过所述第一验证,包括:
确定所述第一随机数记录中不存在所述第一随机数后,确定所述第二随机数记录中不存在所述第一随机数;
所述交易节点在将所述待处理交易放入交易池中之后,还包括:
将所述交易池中的待处理交易打包成区块并对所述区块进行共识上链;
将所述第一随机数从所述第一随机数记录中删除,并将所述第一随机数、所述待处理交易所在区块的区块高度对应添加至所述第二随机数记录中。
2.如权利要求1所述的方法,其特征在于,所述第二随机数记录包括第二交易的随机数;所述第二交易是区块高度为M至M-N的N个区块中记录的交易,其中,M为区块链的当前区块的区块高度,M和N均为正整数。
3.一种区块链中交易处理的装置,其特征在于,包括:
接收单元,用于接收客户端发送的待处理交易,所述待处理交易包括所述客户端为所述待处理交易随机生成的第一随机数,所述第一随机数是所述待处理交易对应的唯一一个随机数;
处理单元,用于对所述待处理交易进行第一验证;其中,所述第一验证包括确定随机数记录中是否包括所述第一随机数;所述随机数记录用于记录已通过所述第一验证的各交易的随机数;
以及若确定所述待处理交易通过所述第一验证,则将所述第一随机数记录于所述随机数记录中并将所述待处理交易放入交易池中;若确定所述待处理交易未通过所述第一验证,则拒绝所述待处理交易;
所述随机数记录包括第一随机数记录和第二随机数记录;
所述第一随机数记录用于记录已通过所述第一验证但未进行上链处理的各交易的随机数;
所述第二随机数记录用于记录已进行所述上链处理的各交易的随机数;
所述处理单元具体用于:
确定所述第一随机数记录中不存在所述第一随机数后,确定所述第二随机数记录中不存在所述第一随机数;
所述处理单元还用于:
在所述在将所述待处理交易放入交易池中之后,将所述交易池中的待处理交易打包成区块并对所述区块进行共识上链;
将所述第一随机数从所述第一随机数记录中删除,并将所述第一随机数、所述待处理交易所在区块的区块高度对应添加至所述第二随机数记录中。
4.如权利要求3所述的装置,其特征在于,所述第二随机数记录包括第二交易的随机数;所述第二交易是区块高度为M至M-N的N个区块中记录的交易,其中,M为区块链的当前区块的区块高度,M和N均为正整数。
5.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1或2所述的方法。
6.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1或2所述的方法。
CN201910514704.3A 2019-06-14 2019-06-14 一种区块链中交易处理的方法及装置 Active CN110276688B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910514704.3A CN110276688B (zh) 2019-06-14 2019-06-14 一种区块链中交易处理的方法及装置
PCT/CN2020/095201 WO2020248982A1 (zh) 2019-06-14 2020-06-09 一种区块链中交易处理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910514704.3A CN110276688B (zh) 2019-06-14 2019-06-14 一种区块链中交易处理的方法及装置

Publications (2)

Publication Number Publication Date
CN110276688A CN110276688A (zh) 2019-09-24
CN110276688B true CN110276688B (zh) 2024-02-06

Family

ID=67960793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910514704.3A Active CN110276688B (zh) 2019-06-14 2019-06-14 一种区块链中交易处理的方法及装置

Country Status (2)

Country Link
CN (1) CN110276688B (zh)
WO (1) WO2020248982A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276688B (zh) * 2019-06-14 2024-02-06 深圳前海微众银行股份有限公司 一种区块链中交易处理的方法及装置
CN110796545B (zh) * 2019-10-25 2024-03-29 杭州趣链科技有限公司 一种区块链交易的批处理方法、设备和存储介质
CN111639129B (zh) * 2020-05-24 2023-07-11 中信银行股份有限公司 交易处理方法、装置、电子设备及计算机可读存储介质
CN112926981B (zh) * 2021-03-18 2022-10-28 腾讯科技(深圳)有限公司 用于区块链的交易信息处理方法、装置、介质及电子设备
CN113630475A (zh) * 2021-09-17 2021-11-09 无锡井通网络科技有限公司 基于接口化区块链系统的区块链系统集群及其操作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985757A (zh) * 2017-11-27 2018-12-11 北京京东金融科技控股有限公司 信息处理方法、装置及系统、存储介质、电子设备
CN109064171A (zh) * 2018-07-26 2018-12-21 杭州秘猿科技有限公司 一种区块链并行交易的方法、装置及电子系统
CN109285006A (zh) * 2018-09-20 2019-01-29 中链科技有限公司 一种区块链数据的并行验证处理方法及装置
CN109327459A (zh) * 2018-11-12 2019-02-12 崔晓晖 一种联盟区块链网络的共识方法
CN109727009A (zh) * 2019-01-28 2019-05-07 杭州复杂美科技有限公司 红包处理方法、设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN108764870B (zh) * 2018-05-29 2020-07-07 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
EP3545665B1 (en) * 2018-12-29 2023-05-03 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
CN110276688B (zh) * 2019-06-14 2024-02-06 深圳前海微众银行股份有限公司 一种区块链中交易处理的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985757A (zh) * 2017-11-27 2018-12-11 北京京东金融科技控股有限公司 信息处理方法、装置及系统、存储介质、电子设备
CN109064171A (zh) * 2018-07-26 2018-12-21 杭州秘猿科技有限公司 一种区块链并行交易的方法、装置及电子系统
CN109285006A (zh) * 2018-09-20 2019-01-29 中链科技有限公司 一种区块链数据的并行验证处理方法及装置
CN109327459A (zh) * 2018-11-12 2019-02-12 崔晓晖 一种联盟区块链网络的共识方法
CN109727009A (zh) * 2019-01-28 2019-05-07 杭州复杂美科技有限公司 红包处理方法、设备和存储介质

Also Published As

Publication number Publication date
WO2020248982A1 (zh) 2020-12-17
CN110276688A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110276688B (zh) 一种区块链中交易处理的方法及装置
CN108053211B (zh) 基于区块链的交易处理方法及装置
CN113329031B (zh) 一种区块的状态树的生成方法及装置
CN109544332B (zh) 一种基于用户等级的区块链交易出块的方法
CN108876384B (zh) 一种交易数据的处理方法及装置
CN111131171B (zh) 一种基于区块链网络的节点认证方法及装置
CN110070445B (zh) 一种基于区块链系统的交易处理方法及装置
CN110599177A (zh) 一种交易验证方法及相关设备
CN112600664B (zh) 延时交易生成方法、延时交易执行方法、设备和存储介质
CN111161062A (zh) 一种跨链交易的方法及装置
CN109559119A (zh) 通过委托区块生产者达到区块链可信内源随机过程的方法
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN110784521A (zh) 区块链的共识方法、电子设备和存储介质
CN113206742B (zh) 基于区块链的时间戳标记方法、装置、设备及存储介质
CN106982193B (zh) 一种预防批量注册的方法及装置
CN114298713A (zh) 一种联盟链分片方法、装置及存储介质
CN114817399A (zh) 区块管理方法及装置
CN111311261B (zh) 一种联机交易的安全处理方法、装置及系统
WO2023019841A1 (zh) 数据审计方法及装置
CN115473643A (zh) 一种适用于联盟链的可信任的效率共识系统、方法
CN113032478B (zh) 区块链系统及数据上链方法、装置、设备和介质
CN114118968A (zh) 一种多审批节点的资源申请平台及方法
CN113420092B (zh) 基于区块链的三方接入方法及装置
CN113269644A (zh) 基于区块链的交易处理方法及装置
CN109559225B (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