CN109919622B - 交易替换方法、设备和存储介质 - Google Patents

交易替换方法、设备和存储介质 Download PDF

Info

Publication number
CN109919622B
CN109919622B CN201910135410.XA CN201910135410A CN109919622B CN 109919622 B CN109919622 B CN 109919622B CN 201910135410 A CN201910135410 A CN 201910135410A CN 109919622 B CN109919622 B CN 109919622B
Authority
CN
China
Prior art keywords
transaction
precursor
pool
information
type
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
CN201910135410.XA
Other languages
English (en)
Other versions
CN109919622A (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.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei 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 Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201910135410.XA priority Critical patent/CN109919622B/zh
Publication of CN109919622A publication Critical patent/CN109919622A/zh
Priority to US17/432,076 priority patent/US20220131873A1/en
Priority to PCT/CN2020/075946 priority patent/WO2020169059A1/zh
Application granted granted Critical
Publication of CN109919622B publication Critical patent/CN109919622B/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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • 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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供一种交易替换方法、设备和存储介质,该方法包括:通过为待存入预先交易池的交易配置前身交易信息选择要替换的前身交易,当要替换的前身交易仍在预先交易池中时,将要替换的前身交易标记为废弃,并将该交易存入预先交易池;当接收到该交易的确认信号时,将该交易存入交易池,以及,当该交易被打包时,删除该交易的所有前身交易。本发明使得该交易进入交易池前可修改交易内容,且防止前身交易回传。

Description

交易替换方法、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种交易替换方法、设备和存储介质。
背景技术
在区块链交易过程中,用户发送交易时需要填写发送方地址、接收方地址、交易数量等信息来进行交易。在现有的方案中,这些信息需要在交易提交前确定,交易一旦提交后就无法更改交易信息,用户在误操作后可能会造成不可挽回的损失;
针对上述问题,一些机构提出了交易替换的方法,将交易池中的替换前的交易删除,将替换后的交易放入交易池并等待打包;但是区块链中不同节点存在一定的延时,所有的节点无法保证强同步关系,例如,当节点A删除替换前的交易,将替换后的交易放入交易池并等待打包后,又收到节点B回传的替换前的交易,节点A会将替换前的交易又一次放入交易池并等待打包,若两笔交易最终都被打包,则造成交易异常。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种交易进入交易池前可修改交易内容,且防止交易回传的交易替换方法、设备和存储介质。
第一方面,本发明提供一种交易替换方法,包括:
接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则将第一交易存入预先交易池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则将第一前身交易标记为废弃,并将第一交易存入预先交易池中;以及,
接收用户端发送的用于确认第一交易的第一确认信息,将第一交易存入交易池,并生成第一交易已确认的第二确认信息并发送至区块链的其它节点;或,接收区块链的其它节点发送的第二确认信号,将第一交易存入交易池;
在第一交易被打包后,根据第一前身交易信息查询第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除第一前身交易及各查询到的前身交易。
第二方面,本发明提供一种交易替换方法,包括:
生成第一交易并发送至区块链的节点,以供区块链的节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则将第一交易存入预先交易池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则将第一前身交易标记为废弃,并将第一交易存入预先交易池中;以及,
向区块链的节点发送用于确认第一交易的第一确认信息,以供区块链的节点接收第一确认信息,将第一交易存入交易池,并生成第一交易已确认的第二确认信息并发送至区块链的其它节点;
在第一交易被打包后,根据第一前身交易信息查询第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除第一前身交易及各查询到的前身交易。
第三方面,本发明提供一种交易替换方法,包括:
接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则将第一交易存入预先交易池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则将第一交易存入预先交易池中;
接收用户端发送的用于确认第一交易的第三确认信号,将第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点;或,接收区块链的其它节点发送的第四确认信号,将第一交易存入交易池;
通过第一交易的第一前身交易信息是否为空确定待打包的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则打包第一交易;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除第一前身交易及各查询到的前身交易,并打包第一交易。
第四方面,本发明提供一种交易替换方法,包括:
生成第一交易并发送至区块链的节点,以供区块链的节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则将第一交易存入预先交易池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则将第一交易存入预先交易池中;
向区块链的节点发送用于确认第一交易的第三确认信号,以供区块链的节点接收第三确认信号,将第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点,并通过第一交易的第一前身交易信息是否为空确定待打包的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则打包第一交易;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除第一前身交易及各查询到的前身交易,并打包述第一交易。
第五方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的交易替换方法。
第六方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的交易替换方法。
本发明诸多实施例提供的交易替换方法、设备和存储介质通过为待存入预先交易池的交易配置前身交易信息选择要替换的前身交易,当要替换的前身交易仍在预先交易池中时,将要替换的前身交易标记为废弃,并将该交易存入预先交易池;当接收到该交易的确认信号时,将该交易存入交易池,以及,当该交易被打包时,删除该交易的所有前身交易的方法,使得该交易进入交易池前可修改交易内容,且防止前身交易回传;
本发明一些实施例提供的交易替换方法、设备和存储介质进一步通过判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:是,则将第一前身交易标记为废弃,并将第一交易存入预先交易池中的方法,使得不同的用户不能恶意发送第一交易替换不属于自己的第一前身交易,从而提高区块链系统的安全性,进一步改善用户体验;
本发明一些实施例提供的交易替换方法、设备和存储介质进一步通过计算交易所拥有的前身交易的数量,并与系统预配置的前身交易的数量的阈值进行比较,若交易的前身交易的数量大于预配置的前身交易的数量的阈值,则丢弃交易的方法,以约束一笔交易不能存在过多的前身交易,以防止某些恶意用户不停发送交易替换前身交易造成预先交易池拥堵,从而提高区块链系统的安全性,进一步改善用户体验;
本发明一些实施例提供的交易替换方法、设备和存储介质进一步通过配置预先交易池中交易的存放时长的阈值;监测预先交易池的交易的等待时长是否超过配置的等待时长的阈值:是,则删除交易的方法,删除预先交易池中存放时长过长的交易,释放预先交易池的存储空间,从而提高区块链系统的安全性,进一步改善用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种交易替换方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S15的流程图。
图3为图1所示方法的一种优选实施方式中步骤S15的流程图。
图4为图1所示方法的一种优选实施方式中步骤S12的流程图。
图5为本发明一实施例提供的一种交易替换方法的流程图。
图6为图5所示方法的一种优选实施方式中步骤S211的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种交易替换方法的流程图。
如图1所示,在本实施例中,本发明提供一种交易替换方法,包括:
S12:接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则执行步骤S13:将第一交易存入预先交易池;
若第一交易为第一类交易,则执行步骤S14:根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则执行步骤S15:将第一前身交易标记为废弃,并将第一交易存入预先交易池中;以及,
S16:接收用户端发送的用于确认第一交易的第一确认信息,将第一交易存入交易池,并生成第一交易已确认的第二确认信息并发送至区块链的其它节点;或,接收区块链的其它节点发送的第二确认信号,将第一交易存入交易池;
S17:在第一交易被打包后,根据第一前身交易信息查询第一交易的第一前身交易;
S18:根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
S19:删除第一前身交易及各查询到的前身交易。
具体地,用户生成并发送的第一交易配置有前身交易信息predecessor及废弃信息discard;第一前身交易信息为第一交易的前身交易的交易哈希,当第一交易没有前身交易时,该第一交易的前身交易信息配置为空;废弃信息用于标识交易的废弃状态;用户发送的用于确认第一交易的第一确认信息为经用户签名的第一交易的交易哈希,节点A生成第一交易已确认的第二确认信息,第二确认信息与第一确认信息一致;
以废弃状态为false时表示交易未废弃,废弃状态为true时表示交易废弃为例;假设当前预先交易池中有100笔交易tx_1~tx_100,交易池中没有交易;用户甲生成tx_101及tx_102,并发送至区块链的节点A;其中,tx_101的predecessor为空,tx_102的predecessor为hash(tx_80),tx_80的predecessor为hash(tx_60),tx_60的predecessor为空;用户甲确认tx_102无误后,向区块链的节点A发送sig(hash(tx_102)),第二确认信息与第一确认信息一致,也为sig(hash(tx_102));
用户甲生成tx_101及tx_102,并发送至区块链的节点A;
当节点A接收到tx_101时:
在步骤S12中,节点A接收用户甲发送的tx_101,并通过tx_101的predecessor是否为空确定待存入预先交易池的tx_101是替换前身交易的第一类交易或不替换前身交易的第二类交易:
由于tx_101的predecessor为空,tx_101为第二类交易,则执行步骤S13:将tx_101存入预先交易池。
当节点A接收到tx_102时:
在步骤S12中,节点A接收用户甲发送的tx_102,并通过tx_102及的predecessor是否为空确定待存入预先交易池的tx_102是替换前身交易的第一类交易或不替换前身交易的第二类交易:
由于tx_102的predecessor为hash(tx_80),tx_102为第一类交易,则执行步骤S14:根据hash(tx_80)查询tx_102的前身交易tx_80是否在预先交易池中:
由于当前预先交易池中有100笔交易tx_1~tx_100,tx_80在预先交易池中,则执行步骤S15:将tx_80标记为废弃,tx_80的discard由false更新为true,并将tx_102存入预先交易池中;以及,
在步骤S16中,节点A接收用户甲发送的sig(hash(tx_102)),将tx_102存入交易池,并生成第一交易已确认的第二确认信息,由于第二确认信息与第一确认信息一致,也为sig(hash(tx_102)),因此节点A将sig(hash(tx_102))发送至区块链的其它节点;或,节点A接收区块链的其它节点发送的第二确认信号sig(hash(tx_102)),将tx_102存入交易池;
在步骤S17中,节点A在tx_102被打包后,根据hash(tx_80)查询tx_102的第一前身交易为hash(tx_80);
在步骤S18中,节点A根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;根据tx_80的predecessor查询是否存在上一个前身交易,tx_80的predecessor为hash(tx_60),tx_80的上一个前身交易为tx_60;又根据tx_60的predecessor查询是否存在上一个前身交易,查询不到tx_60的前身交易,循环结束;
在步骤S19中,节点A删除tx_80及tx_60。
防止交易回传的原理为:当区块链的另一节点,假设为节点B,由于网络延时或其它问题,将tx_80回传给节点A;若此时tx_102还未被打包,则节点A判断,预先交易池中存在tx_80,且tx_80已标记为废弃,节点A丢弃节点B回传的tx_80;若此时tx_102被打包,预先交易池中的tx_80及tx_60都已删除,节点A检查节点B与自己的区块高度是否一致,由于节点A已打包tx_102,而节点B仍处于回传tx_80阶段,节点A的区块高度必然大于节点B的区块高度,节点A丢弃节点B回传的tx_80。
上述实施例通过为待存入预先交易池的交易配置前身交易信息选择要替换的前身交易,当要替换的前身交易仍在预先交易池中时,将要替换的前身交易标记为废弃,并将该交易存入预先交易池;当接收到该交易的确认信号时,将该交易存入交易池,以及,当该交易被打包时,删除该交易的所有前身交易的方法,使得该交易进入交易池前可修改交易内容,且防止前身交易回传。
图2为图1所示方法的一种优选实施方式中步骤S15的流程图。如图2所示,在一优选实施例中,步骤S15包括:
S151:判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:
是,则执行步骤S152:将第一前身交易标记为废弃,并将第一交易存入预先交易池中。
具体地,假设发送tx_102的第一地址与发送tx_80的第二地址相同;
当节点A接收到tx_102时:
在步骤S151中,节点A判断发送tx_102的第一地址与发送tx_80的第二地址是否相同:
由于发送tx_102的第一地址与发送tx_80的第二地址相同,则执行步骤S152:将tx_80标记为废弃,并将tx_102存入预先交易池中。
上述实施例使得不同的用户不能恶意发送第一交易替换不属于自己的第一前身交易,提高区块链系统的安全性,进一步改善用户体验。
图3为图1所示方法的一种优选实施方式中步骤S15的流程图。如图3所示,在一优选实施例中,步骤S15包括:
S153:根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
S154:对各前身交易的数量进行计数,并加一计算第一总和;
S155:判断第一总和是否大于预配置的前身交易的数量的阈值:
否,则执行S157:将第一前身交易标记为废弃,并将第一交易存入预先交易池中;
是,则执行S156:丢弃第一交易。
具体地,假设预配置的前身交易的数量的阈值为3;
在步骤S153中,节点A根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;根据tx_80的predecessor查询是否存在上一个前身交易,tx_80的predecessor为hash(tx_60),tx_80的上一个前身交易为tx_60;又根据tx_60的predecessor查询是否存在上一个前身交易,查询不到tx_60的前身交易,循环结束;
在步骤S154中,对各前身交易的数量进行计数,并加一计算第一总和,前身交易的数量为1,加一计算第一总和为2;
在步骤S155中,判断第一总和是否大于预配置的前身交易的数量的阈值:
由于2不大于3,执行S157:将tx_80标记为废弃,并将tx_102存入预先交易池中。
上述实施例以预配置的前身交易的数量的阈值为3为例对本实施例进行了阐述,在更多实施例中,还可以根据实际需求,将前身交易的数量的阈值配置为其它数值,例如,配置为5,配置为0或负数(除了第一前身交易外不允许有额外的前身交易),可实现相同的技术效果。
上述实施例约束一笔交易不能存在过多的前身交易,以防止某些恶意用户不停发送交易替换前身交易造成预先交易池拥堵,从而提高区块链系统的安全性,进一步改善用户体验。
图4为图1所示方法的一种优选实施方式中步骤S12的流程图。如图4所示,在一优选实施例中,步骤S12包括:
S122:判断预先交易池中的交易总数是否小于预先交易池中存放交易的阈值:
否,则执行S124:丢弃所述第一交易。
具体地,假设节点A先后接收到tx_101及tx_102,节点A接收tx_101时,预先交易池中的交易总数小于预先交易池中存放交易的阈值,节点A接收tx_102时,预先交易池中的交易总数不小于预先交易池中存放交易的阈值;
当节点A接收到tx_102时:
在步骤S122中,节点A判断预先交易池中的交易总数是否小于预先交易池中存放交易的阈值:
否,则执行S124,丢弃tx_102。
在更多实施例中,可根据实际需求配置预先交易池中存放交易的阈值,可实现相同的技术效果。
在一优选实施例中,配置预先交易池中交易的存放时长的第一阈值;监测预先交易池的交易的等待时长是否超过所述第一阈值:是,则删除该交易。
具体地,以预先交易池中交易的存放时长的第一阈值为10分钟,预先交易池中交易的等待时长为该交易进入预先交易池时开始计时为例,假设预先tx_1的等待时长超过10分钟;
节点A监测tx_1的等待时长超过10分钟,节点A删除tx_1。
在上述实施例中,当节点A接收到一笔交易,该交易在预先交易池中的等待时长为该交易进入预先交易池的时刻起至该交易进入预先交易池的时刻起加上10分钟结束。
上述实施例以预先交易池中交易的存放时长的第一阈值为10分钟,预先交易池中交易的等待时长为该交易进入预先交易池时开始计时为例对本实施例进行了阐述,在更多实施例中,还可以根据实际需求配置第一阈值,例如,5分钟;将预先交易池中交易的等待时长配置为该交易被节点接收的时刻开始计时等,可实现相同的技术效果。
上述实施例删除预先交易池中存放时长过长的交易,释放预先交易池的存储空间,从而提高区块链系统的安全性,进一步改善用户体验。
在本实施例中,本发明一实施例提供的一种交易替换方法,包括:
生成第一交易并发送至区块链的节点,以供区块链的节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则将第一交易存入预先交易池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则将第一前身交易标记为废弃,并将第一交易存入预先交易池中;以及,
向区块链的节点发送用于确认第一交易的第一确认信息,以供区块链的节点接收第一确认信息,将第一交易存入交易池,并生成第一交易已确认的第二确认信息并发送至区块链的其它节点;
在第一交易被打包后,根据第一前身交易信息查询第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除第一前身交易及各查询到的前身交易。
上述实施例的交易替换原理可参考图1所示的方法,此处不再赘述。
图5为本发明一实施例提供的一种交易替换方法的流程图。如图5所示,在本实施例中,本发明提供一种交易替换方法,包括:
S202:接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则执行步骤S203:将第一交易存入预先交易池;
若第一交易为第一类交易,则执行步骤S204:根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则执行步骤S205:将第一交易存入预先交易池中;
S206:接收用户端发送的用于确认第一交易的第三确认信号,将第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点;或,接收区块链的其它节点发送的第四确认信号,将第一交易存入交易池;
S207:通过第一交易的第一前身交易信息是否为空确定待打包的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则执行步骤S208:打包第一交易;
若第一交易为第一类交易,则执行步骤S209:根据第一前身交易信息查询第一交易的第一前身交易;
S210:根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
S211:删除第一前身交易及各查询到的前身交易,并打包第一交易。
具体地,用户生成并发送的第一交易配置有前身交易信息predecessor;第一前身交易信息为第一交易的前身交易的交易哈希,当第一交易没有前身交易时,该第一交易的前身交易信息配置为空;用户发送的用于确认第一交易的第三确认信息为经用户签名的第一交易的交易哈希,节点A生成第一交易已确认的第四确认信息,第四确认信息与第三确认信息一致;
假设当前预先交易池中有100笔交易tx_201~tx_300,交易池中没有交易;用户甲生成tx_301及tx_302,并发送至区块链的节点A;其中,tx_301的predecessor为空,tx_302的predecessor为hash(tx_280),tx_280的predecessor为hash(tx_260),tx_260的predecessor为空;用户甲确认tx_301无误后,向区块链的节点A发送sig(hash(tx_301)),第二确认信息与第一确认信息一致,也为sig(hash(tx_301));用户甲发送tx_302后,认为tx_280才是正确的,用户甲确认tx_280无误后,向区块链的节点A发送sig(hash(tx_280)),第二确认信息与第一确认信息一致,也为sig(hash(tx_280));
用户甲生成tx_301及tx_302,并发送至区块链的节点A;
当节点A接收到tx_301时:
在步骤S202中,节点A接收用户甲发送的tx_301,并通过tx_301的predecessor是否为空确定待存入预先交易池的tx_301是替换前身交易的第一类交易或不替换前身交易的第二类交易:
由于tx_301的predecessor为空,tx_301为第二类交易,则执行步骤S203:将tx_301存入预先交易池;
在步骤S206中,节点A接收用户甲发送的sig(hash(tx_301)),将第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点,由于第四确认信息与第三确认信息一致,也为sig(hash(tx_301)),因此节点A将sig(hash(tx_301))发送至区块链的其它节点;或,节点A接收区块链的其它节点发送的第四确认信号sig(hash(tx_301)),将tx_301存入交易池;
在步骤S207中,节点A通过tx_301的predecessor是否为空确定待打包的tx_301是替换前身交易的第一类交易或不替换前身交易的第二类交易:
由于tx_301的predecessor为空,tx_301为第二类交易,则执行步骤S208:打包tx_301。
当节点A接收到tx_302时:
在步骤S202中,节点A接收用户甲发送的tx_302,并通过tx_302的predecessor是否为空确定待存入预先交易池的tx_302是替换前身交易的第一类交易或不替换前身交易的第二类交易:
由于tx_302的predecessor为hash(tx_280),tx_302为第一类交易,则执行步骤S204:根据hash(tx_280)查询tx_302的前身交易tx_280是否在预先交易池中:
是,则执行步骤S205:将tx_302存入预先交易池中;
在步骤S206中,节点A接收用户甲发送的sig(hash(tx_280)),将tx_280存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点,由于第四确认信息与第三确认信息一致,也为sig(hash(tx_280)),因此节点A将sig(hash(tx_280))发送至区块链的其它节点;或,节点A接收区块链的其它节点发送的第四确认信号sig(hash(tx_280)),将tx_280存入交易池;
在步骤S207中,节点A通过tx_280的predecessor是否为空确定待打包的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
由于tx_280的predecessor为hash(tx_260),tx_280为第一类交易,则执行步骤S209:根据hash(tx_260)查询tx_280的第一前身交易为tx_260;
在步骤S210中,节点A根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;根据tx_260的predecessor查询是否存在上一个前身交易,查询不到tx_260的前身交易,循环结束;
在步骤S211中,节点A删除tx_260,并打包第一交易。
防止交易回传的原理为:当区块链的另一节点,假设为节点B,由于网络延时或其它问题,将tx_260回传给节点A;若此时tx_280还未被打包,则节点A判断,预先交易池中存在tx_260,节点A丢弃节点B回传的tx_260;若此时tx_280被打包,预先交易池中的tx_260已删除,节点A检查节点B与自己的区块高度是否一致,由于节点A已打包tx_280,而节点B仍处于回传tx_260阶段,节点A的区块高度必然大于节点B的区块高度,节点A丢弃节点B回传的tx_260。
上述实施例通过接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:若第一交易为第二类交易,则将第一交易存入预先交易池;若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:是,则将第一交易存入预先交易池中;接收用户端发送的用于确认第一交易的第三确认信号,将第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点;或,接收区块链的其它节点发送的第四确认信号,将第一交易存入交易池;通过第一交易的第一前身交易信息是否为空确定待打包的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:若第一交易为第二类交易,则打包第一交易;若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的第一前身交易;根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;删除第一前身交易及各查询到的前身交易,并打包第一交易的方法,使得交易进入交易池前可修改交易内容,且防止交易回传,以及,用户可选择性指定需要确认的交易,进一步改善用户体验。
图6为图5所示方法的一种优选实施方式中步骤S211的流程图。如图6所示,在一优选实施例中,步骤S211包括:
S2112:删除第一前身交易及各查询到的前身交易;
S2113:计算第一交易的第一交易哈希,根据第一交易哈希查询是否存在第一交易的第一后续交易:
是,则执行步骤S2114:根据查询到的交易计算交易哈希,并根据计算出的交易哈希查询是否存在后一个后续交易,循环当前步骤直至查询不到后续交易;
S2115:删除第一后续交易及各查询到的后续交易,并打包第一交易;
其中,第一后续交易的前身交易信息与第一交易哈希一致。
具体地,在步骤S2112中,节点A删除tx_260;
在步骤S2113中,节点A计算tx_280的交易哈希,得到hash(tx_280),根据hash(tx_280)查询是否存在tx_280的后续交易:
由于tx_302的predecessor为hash(tx_280),因此查询到tx_302为tx_280的后续交易,执行步骤S2114,根据计算出的交易哈希查询是否存在后一个后续交易,循环当前步骤直至查询不到后续交易;节点A计算tx_302的交易哈希,得到hash(tx_302),根据hash(tx_302)查询不到tx_302的后续交易,循环结束;
在步骤S2115中,节点A删除tx_302,并打包tx_280。
在一优选实施例中,将第一交易存入预先交易池包括:
判断发送第一交易的第一地址与发送第一前身交易的第二地址是否相同:
是,则将第一交易存入预先交易池中。
上述实施例的交易替换原理可参考图2所示的方法,此处不再赘述。
在一优选实施例中,若第一交易为第一类交易,将第一交易存入预先交易池包括:
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
对各前身交易的数量进行计数,并加一计算第一总和;
判断第一总和是否大于预配置的前身交易的数量的阈值:
否,则将第一交易存入预先交易池中;
是,则丢弃第一交易。
上述实施例的交易替换原理可参考图3所示的方法,此处不再赘述。
在一优选实施例中,接收用户端发送的第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易,还包括:
判断预先交易池中的交易总数是否小于预先交易池中存放交易的阈值:
否,则丢弃所述第一交易。
上述实施例的交易替换原理可参考图4所示的方法,此处不再赘述。
在一优选实施例中,配置预先交易池中交易的存放时长的第一阈值;监测预先交易池的交易的等待时长是否超过所述第一阈值:是,则删除该交易。
具体地,以预先交易池中交易的存放时长的第一阈值为10分钟,预先交易池中交易的等待时长为该交易进入预先交易池时开始计时为例,假设预先tx_201的等待时长超过10分钟;
节点A监测tx_201的等待时长超过10分钟,节点A删除tx_201。
在上述实施例中,当节点A接收到一笔交易,该交易在预先交易池中的等待时长为该交易进入预先交易池的时刻起至该交易进入预先交易池的时刻起加上10分钟结束。
在本实施例中,本发明一实施例提供的一种交易替换方法,包括:
生成第一交易并发送至区块链的节点,以供区块链的节点接收第一交易,并通过第一交易的第一前身交易信息是否为空确定待存入预先交易池的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则将第一交易存入预先交易池;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易是否在预先交易池中:
是,则将第一交易存入预先交易池中;
向区块链的节点发送用于确认第一交易的第三确认信号,以供区块链的节点接收第三确认信号,将第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点,并通过第一交易的第一前身交易信息是否为空确定待打包的第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若第一交易为第二类交易,则打包第一交易;
若第一交易为第一类交易,则根据第一前身交易信息查询第一交易的前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除第一前身交易及各查询到的前身交易,并打包述第一交易。
上述实施例的交易替换原理可参考图5所示的方法,此处不再赘述。
图7为本发明一实施例提供的一种设备的结构示意图。
如图7所示,作为另一方面,本申请还提供了一种设备700,包括一个或多个中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的交易替换方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行交易替换方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的交易替换方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (15)

1.一种交易替换方法,其特征在于,包括:
接收用户端发送的第一交易,并通过所述第一交易的第一前身交易信息是否为空确定待存入预先交易池的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则将所述第一交易存入所述预先交易池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述预先交易池中:
是,则将所述第一前身交易标记为废弃,并将所述第一交易存入所述预先交易池中;以及,
接收用户端发送的用于确认所述第一交易的第一确认信息,将所述第一交易存入交易池,并生成第一交易已确认的第二确认信息并发送至区块链的其它节点;或,接收所述区块链的其它节点发送的所述第二确认信号,将所述第一交易存入交易池;
在所述第一交易被打包后,根据所述第一前身交易信息查询所述第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除所述第一前身交易及各查询到的前身交易。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一前身交易标记为废弃,并将所述第一交易存入所述预先交易池中包括:
判断发送所述第一交易的第一地址与发送所述第一前身交易的第二地址是否相同:
是,则将所述第一前身交易标记为废弃,并将所述第一交易存入所述预先交易池中。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一前身交易标记为废弃,并将所述第一交易存入所述预先交易池中包括:
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
对各所述前身交易的数量进行计数,并加一计算第一总和;
判断所述第一总和是否大于预配置的前身交易的数量的阈值:
否,则将所述第一前身交易标记为废弃,并将所述第一交易存入所述预先交易池中;
是,则丢弃所述第一交易。
4.根据权利要求1所述的方法,其特征在于,所述接收用户端发送的第一交易,并通过所述第一交易的第一前身交易信息是否为空确定待存入预先交易池的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易,还包括:
判断所述预先交易池中的交易总数是否小于所述预先交易池中存放交易的阈值:
否,则丢弃所述第一交易。
5.根据权利要求1所述的方法,其特征在于,还包括:
配置所述预先交易池中交易的存放时长的第一阈值;
监测所述预先交易池的交易的等待时长是否超过所述第一阈值:是,则删除所述交易。
6.一种交易替换方法,其特征在于,包括:
生成第一交易并发送至区块链的节点,以供所述区块链的节点接收所述第一交易,并通过所述第一交易的第一前身交易信息是否为空确定待存入预先交易池的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则将所述第一交易存入所述预先交易池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述预先交易池中:
是,则将所述第一前身交易标记为废弃,并将所述第一交易存入所述预先交易池中;以及,
向所述区块链的节点发送用于确认所述第一交易的第一确认信息,以供所述区块链的节点接收所述第一确认信息,将所述第一交易存入交易池,并生成第一交易已确认的第二确认信息并发送至区块链的其它节点;
在所述第一交易被打包后,根据所述第一前身交易信息查询所述第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除所述第一前身交易及各查询到的前身交易。
7.一种交易替换方法,其特征在于,包括:
接收用户端发送的第一交易,并通过所述第一交易的第一前身交易信息是否为空确定待存入预先交易池的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则将所述第一交易存入所述预先交易池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述预先交易池中:
是,则将所述第一交易存入所述预先交易池中;
接收所述用户端发送的用于确认所述第一交易的第三确认信号,将所述第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点;或,接收所述区块链的其它节点发送的所述第四确认信号,将所述第一交易存入交易池;
通过所述第一交易的第一前身交易信息是否为空确定待打包的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则打包所述第一交易;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的第一前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除所述第一前身交易及各查询到的前身交易,并打包所述第一交易。
8.根据权利要求7所述的方法,其特征在于,所述前身交易信息包括前身交易的交易哈希,所述删除所述第一前身交易及各查询到的前身交易,并打包所述第一交易包括:
删除所述第一前身交易及各查询到的前身交易;
计算所述第一交易的第一交易哈希,根据所述第一交易哈希查询是否存在所述第一交易的第一后续交易:
是,则根据查询到的交易计算交易哈希,并根据计算出的交易哈希查询是否存在后一个后续交易,循环当前步骤直至查询不到后续交易;
删除所述第一后续交易及各查询到的后续交易,并打包所述第一交易;
其中,所述第一后续交易的前身交易信息与所述第一交易哈希一致。
9.根据权利要求7所述的方法,其特征在于,若所述第一交易为所述第一类交易,所述将所述第一交易存入所述预先交易池中包括:
判断发送所述第一交易的第一地址与发送所述第一前身交易的第二地址是否相同:
是,则将所述第一交易存入所述预先交易池中。
10.根据权利要求7所述的方法,其特征在于,若所述第一交易为所述第一类交易,所述将所述第一交易存入所述预先交易池中包括:
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
对各所述前身交易的数量进行计数,并加一计算第一总和;
判断所述第一总和是否大于预配置的前身交易的数量的阈值:
否,则将所述第一交易存入所述预先交易池中;
是,则丢弃所述第一交易。
11.根据权利要求7所述的方法,其特征在于,所述接收用户端发送的第一交易,并通过所述第一交易的第一前身交易信息是否为空确定待存入预先交易池的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易,还包括:
判断所述预先交易池中的交易总数是否小于所述预先交易池中存放交易的阈值:
否,则丢弃所述第一交易。
12.根据权利要求7所述的方法,其特征在于,还包括:
配置所述预先交易池中交易的存放时长的第一阈值;
配置所述预先交易池的交易的等待时长是否超过所述第一阈值:是,则删除所述交易。
13.一种交易替换方法,其特征在于,包括:
生成第一交易并发送至区块链的节点,以供所述区块链的节点接收所述第一交易,并通过所述第一交易的第一前身交易信息是否为空确定待存入预先交易池的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则将所述第一交易存入所述预先交易池;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易是否在所述预先交易池中:
是,则将所述第一交易存入所述预先交易池中;
向所述区块链的节点发送用于确认所述第一交易的第三确认信号,以供所述区块链的节点接收所述第三确认信号,将所述第一交易存入交易池,并生成第一交易已确认的第四确认信息并发送至区块链的其它节点,并通过所述第一交易的第一前身交易信息是否为空确定待打包的所述第一交易是替换前身交易的第一类交易或不替换前身交易的第二类交易:
若所述第一交易为所述第二类交易,则打包所述第一交易;
若所述第一交易为所述第一类交易,则根据所述第一前身交易信息查询所述第一交易的前身交易;
根据所查询到的交易的前身交易信息查询是否存在上一个前身交易,循环当前步骤直至查询不到前身交易;
删除所述第一前身交易及各查询到的前身交易,并打包述第一交易。
14.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-13中任一项所述的方法。
15.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一项所述的方法。
CN201910135410.XA 2019-02-22 2019-02-22 交易替换方法、设备和存储介质 Active CN109919622B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910135410.XA CN109919622B (zh) 2019-02-22 2019-02-22 交易替换方法、设备和存储介质
US17/432,076 US20220131873A1 (en) 2019-02-22 2020-02-20 Transaction Replacement Method, Device, and Storage Medium
PCT/CN2020/075946 WO2020169059A1 (zh) 2019-02-22 2020-02-20 交易替换方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910135410.XA CN109919622B (zh) 2019-02-22 2019-02-22 交易替换方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109919622A CN109919622A (zh) 2019-06-21
CN109919622B true CN109919622B (zh) 2020-10-23

Family

ID=66962191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910135410.XA Active CN109919622B (zh) 2019-02-22 2019-02-22 交易替换方法、设备和存储介质

Country Status (3)

Country Link
US (1) US20220131873A1 (zh)
CN (1) CN109919622B (zh)
WO (1) WO2020169059A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109919622B (zh) * 2019-02-22 2020-10-23 杭州复杂美科技有限公司 交易替换方法、设备和存储介质
JP7272988B2 (ja) * 2020-03-27 2023-05-12 トヨタ自動車株式会社 情報処理装置、情報処理方法、及び、システム
CN111639939A (zh) * 2020-06-08 2020-09-08 杭州复杂美科技有限公司 区块还原方法、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2953076A1 (en) * 2014-06-04 2015-12-09 MONI Limited System and method for executing financial transactions
CN108234470A (zh) * 2017-12-28 2018-06-29 江苏通付盾科技有限公司 区块链网络中区块打包方法及系统、电子设备、存储介质
CN108462582A (zh) * 2018-02-09 2018-08-28 北京欧链科技有限公司 区块链中的反馈处理方法和装置
CN109345251A (zh) * 2018-08-24 2019-02-15 深圳壹账通智能科技有限公司 可协商的区块链交易方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
CN107423163B (zh) * 2017-03-24 2020-10-16 北京瑞卓喜投科技发展有限公司 整体串行增加区块的区块链的勘误方法及系统
CN108846753B (zh) * 2018-06-06 2021-11-09 北京京东尚科信息技术有限公司 用于处理数据的方法和装置
CN109919622B (zh) * 2019-02-22 2020-10-23 杭州复杂美科技有限公司 交易替换方法、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2953076A1 (en) * 2014-06-04 2015-12-09 MONI Limited System and method for executing financial transactions
CN108234470A (zh) * 2017-12-28 2018-06-29 江苏通付盾科技有限公司 区块链网络中区块打包方法及系统、电子设备、存储介质
CN108462582A (zh) * 2018-02-09 2018-08-28 北京欧链科技有限公司 区块链中的反馈处理方法和装置
CN109345251A (zh) * 2018-08-24 2019-02-15 深圳壹账通智能科技有限公司 可协商的区块链交易方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2020169059A1 (zh) 2020-08-27
US20220131873A1 (en) 2022-04-28
CN109919622A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
CN109919622B (zh) 交易替换方法、设备和存储介质
CN111510395B (zh) 业务消息上报方法、装置、设备及介质
US8984530B2 (en) Queued message dispatch
CN108833450B (zh) 一种实现服务器防攻击方法及装置
CN112583811B (zh) 钱包找回方法、设备和存储介质
CN111858067B (zh) 一种数据处理方法及装置
WO2022183802A1 (zh) 一种负载均衡方法及装置、设备、存储介质、计算机程序产品
CN109450987A (zh) 编号生成方法、装置及系统和存储介质
CN109872139B (zh) 交易替换方法、设备和存储介质
CN112381543A (zh) 多重签名交易方法、设备和存储介质
WO2016107102A1 (zh) 短信并发业务处理方法及装置
CN110336677B (zh) 区块打包、广播方法和系统、设备及存储介质
WO2020156482A1 (zh) 交易替换方法、交易排队方法、设备和存储介质
CN111259045B (zh) 一种数据处理方法、装置、服务器及介质
WO2023142605A1 (zh) 一种基于区块链的数据处理方法和相关装置
CN112367270A (zh) 一种报文发送的方法和设备
CN109862069B (zh) 消息处理方法和装置
CN113835611A (zh) 存储调度方法、设备和存储介质
CN113472681A (zh) 流量限速方法及装置
CN108830724B (zh) 一种资源数据包处理方法及终端设备
CN114140115B (zh) 区块链交易池的分片方法、系统、存储介质和计算机系统
US11005884B2 (en) Denial of service mitigation with two-tier hash
CN116027982A (zh) 数据处理方法、设备及可读存储介质
US10250515B2 (en) Method and device for forwarding data messages
CN113014884A (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