CN110060161B - 用于区块链交易防重的客户端服务实现方法及服务组件 - Google Patents

用于区块链交易防重的客户端服务实现方法及服务组件 Download PDF

Info

Publication number
CN110060161B
CN110060161B CN201910244140.6A CN201910244140A CN110060161B CN 110060161 B CN110060161 B CN 110060161B CN 201910244140 A CN201910244140 A CN 201910244140A CN 110060161 B CN110060161 B CN 110060161B
Authority
CN
China
Prior art keywords
transaction
account identifier
nonce value
nonce
local database
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
CN201910244140.6A
Other languages
English (en)
Other versions
CN110060161A (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.)
Shanghai Zhongan Information Technology Service Co ltd
Original Assignee
Zhongan Information Technology Service 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 Zhongan Information Technology Service Co Ltd filed Critical Zhongan Information Technology Service Co Ltd
Priority to CN201910244140.6A priority Critical patent/CN110060161B/zh
Publication of CN110060161A publication Critical patent/CN110060161A/zh
Application granted granted Critical
Publication of CN110060161B publication Critical patent/CN110060161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • 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

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种用于区块链交易防重的客户端服务实现方法及服务组件,属于区块链技术领域,方法应用于客户端服务组件中,方法包括:接收客户端提交的包含有账户标识的交易,并添加至交易缓存池中;使用本地数据库中账户标识下的nonce值对交易进行封装;将封装后的交易发送到区块链网络中,并获取区块链网络返回的交易执行结果;判断交易执行结果是否为成功;当交易执行结果为成功时,对本地数据库中账户标识下的nonce值递增加一。本发明实施例不但能够尽量减少区块链网络访问,降低网络开销以及区块链负载,并且保证交易的nonce值与区块链网络中nonce值的一致性,有效地防止区块链网络中交易重播。

Description

用于区块链交易防重的客户端服务实现方法及服务组件
技术领域
本发明涉及区块链技术领域,特别涉及一种用于区块链交易防重的客户端服务实现方法及服务组件。
背景技术
区块链以及基于其原理搭建的比特币、以太坊等网络,已经为人们所熟悉。任何基于区块链的网络,本质上都是一种信任的建立,因为网络不受任何人或组织的控制,也不担心受到黑客的攻击破坏。
区块链网络可以简单地看作一个账本,账户之间互相转账,并且所有交易记录都有据可查,非常安全可靠。但是如何保证一个账户对外转出的资产不高于自身的余额,如何保证一个账户不能在同一时间不止一次地对外转出自己的所有资产,以及同一账户的各个交易之间如何有序地执行,是需要妥善解决的,否则该账本就不是安全可靠的。
防止区块链网络中交易重播,要求每笔交易都带一个编号(nonce),nonce值依赖账户标识为一个管理单位,nonce值在每个账户下累加,交易值唯一,例如当前交易执行成功的nonce值为99,那么下一个交易正确的nonce值则必定为100,小于等于100或者非连续增加的高度值都属于非法编号。如果传错nonce值,区块链网络将会认定交易非法,并且拒绝该笔交易。
针对nonce值的维护成为保证交易正常执行的关键所在,目前针对nonce处理方法主要有两种:
方法一:通过区块链提供一种nonce查询接口,接口类型大体如下:
Int64getNonce(string address)
根据函数定义的接口,传入入参:账户标识(address),区块链网络中会记录该账户下的nonce值累加状态,然后返回给客户端当前nonce编号值,客户端获取到该编号后,封装下一次交易使用当前获取的nonce+1值,发送到区块链网络中去。这种设计方式尽管能够保证nonce的正确可靠性,每一个编号都得到了区块链网络的确认认可,但由于每一次操作都需要一次网络访问,增加了网络访问开销,不仅降低了客户端访问效率,同时为区块链网络增加了负荷;另外,随着区块链网络技术发展,交易确认速度已经得到了大大提高,这样的设计方式也将导致处理一笔交易的速度极大地被限制在获取nonce这一步骤内,导致得不偿失的后果。
方法二:客户端自己维护nonce值,每当执行完成一笔交易后,nonce值通过自记录的方式加一,不通过网络访问。这种设计方式尽管不需要网络访问,但本地nonce编号的维护可能出现与网络中记录的编号不一致的情形,导致提交到网络中的交易值因为nonce值不被认可,而导致交易失败。
发明内容
有鉴于此,本发明实施例提供了一种用于区块链交易防重的客户端服务实现方法及服务组件,不但能够尽量减少区块链网络访问,降低网络开销以及区块链负载,并且保证交易的nonce值与区块链网络中nonce值的一致性,有效地防止区块链网络中交易重播。
本发明实施例提供的技术方案如下:
第一方面,提供了一种用于区块链交易防重的客户端服务实现方法,所述方法应用于客户端服务组件中,所述方法包括:
接收客户端提交的包含有账户标识的交易,并添加至交易缓存池中;
使用本地数据库中所述账户标识下的nonce值对所述交易进行封装;
将封装后的所述交易发送到区块链网络中,并获取所述区块链网络返回的交易执行结果;
判断所述交易执行结果是否为成功;
当所述交易执行结果为成功时,对所述本地数据库中所述账户标识下的nonce值递增加一。
结合第一方面,在第一种可能的实现方式中,所述使用本地数据库中所述账户标识下的nonce值对所述交易进行封装包括:
判断所述交易是否为所述交易缓存池中优先级最高的交易;
若是,则使用所述本地数据库中所述账户标识下的nonce值将所述交易封装成被所述区块链网络识别的交易类型。
结合第一方面,在第二种可能的实现方式中,所述本地数据库采用Key-Value数据库,其中,以账户标识作为所述Key-Value数据库中的key,以nonce值作为所述Key-Value数据库中的value。
结合第一方面,在第三种可能的实现方式中,所述方法还包括:
当所述交易执行结果为失败时,判断执行失败原因是否为nonce值错误;
若是,则从所述区块链网络中获取所述账户标识下的最新nonce值,并根据所述最新nonce值对所述本地数据库中所述账户标识下的nonce值进行更新;
若否,则结束处理。
结合第一方面至第一方面的第三种任意一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
定时从所述区块链网络中获取所述账户标识下的最新nonce值,并将所述本地数据库中所述账户标识下的nonce值更新为所述最新nonce值。
第二方面,提供了一种用于区块链交易防重的客户端服务组件,所述客户端服务组件包括:
本地数据库,用于记录对应于账户标识的nonce值;
序列服务组件,包括:
接收单元,用于接收客户端提交的包含有所述账户标识的交易,并添加至交易缓存池中;
封装单元,用于使用所述本地数据库中所述账户标识下的nonce值对所述交易进行封装;
区块链单元,用于将封装后的所述交易发送到区块链网络中,并获取所述区块链网络返回的交易执行结果;
处理单元,用于判断所述交易执行结果是否为成功,当所述交易执行结果为成功时,对所述本地数据库中所述账户标识下的nonce值递增加一。
结合第二方面,在第一种可能的实现方式中,所述封装单元具体用于:
判断所述交易是否为所述交易缓存池中优先级最高的交易;
若是,则使用所述本地数据库中所述账户标识下的nonce值将所述交易封装成被所述区块链网络识别的交易类型。
结合第二方面,在第二种可能的实现方式中,所述本地数据库采用Key-Value数据库,其中,以账户标识作为所述Key-Value数据库中的key,以nonce值作为所述Key-Value数据库中的value。
结合第二方面,在第三种可能的实现方式中,所述处理单元具体还用于:
当所述交易执行结果为失败时,判断执行失败原因是否为nonce值错误;
若是,则从所述区块链网络中获取所述账户标识下的最新nonce值,并根据所述最新nonce值对所述本地数据库中所述账户标识下的nonce值进行更新;
若否,则结束处理。
结合第二方面至第二方面的第三种任意一种可能的实现方式,在第四种可能的实现方式中,所述客户端服务组件还包括:
定时服务组件,用于定时从所述区块链网络中获取所述账户标识下的最新nonce值,并将所述本地数据库中所述账户标识下的nonce值更新为所述最新nonce值。
本发明实施例提供了一种用于区块链交易防重的客户端服务实现方法及服务组件,由于客户端提交的交易是通过客户端服务组件使用本地数据库中所述账户标识下的nonce值进行封装后发送到区块链网络中的,并当区块链网络返回的交易执行结果为成功时,才对本地数据库中所述账户标识下的nonce值递增加一,该过程无需客户端向区块链网络进行访问查询nonce值,减少了对区块链网络的访问次数,因此能够极大地降低网络开销,同时降低区块链网络的负载消耗,也使得本地处理速度大大提高;另外,也能够保证交易的nonce值与区块链网络中nonce值的一致性,有效地防止区块链网络中交易重播。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用环境的示意图;
图2是本发明提供的用于区块链交易防重的客户端服务实现方法的流程图;
图3是本发明提供的用于区块链交易防重的客户端服务组件的结构框图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括客户端01、客户端服务组件02和区块链网络03。
其中,客户端01可以是运行于作为交易节点的用户设备中,客户端还可以包括钱包功能,包括转账和私钥管理功能,且具有对应于区块链的账户标识,此外,客户端可以基于私钥对交易参数加密生成交易数据。
客户端服务组件02可以部署在该用户设备中,上述的用户设备包括但不限于台式电脑、平板电脑、笔记本电脑、智能手机等类型的实体设备。
区块链网络03为利用区块链技术组成的多节点网络系统,区块链网络中的每个节点可以配置有一条相同的区块链,该区块链中包括多个区块,每个区块的区块主体中存储有交易数据,任一区块链节点可以将交易数据验证通过的区块广播给其他区块链节点,其他区块链节点在接收到该区块后,可以对该区块中包含的交易数据进行共识,通过共识的区块可以被添加至区块链中。
客户端服务组件02和区块链网络03之间可以通过网络进行通信,从而实现数据交互。
实施例一
本发明实施例提供了一种用于区块链交易防重的客户端服务实现方法,该方法应用于客户端服务组件中,如图2所示,该方法具体包括:
201、接收客户端提交的包含有账户标识的交易,并添加至交易缓存池中。
本实施例中,客户端可以基于交易信息发起交易,其中,交易信息中可以包括账户标识、交易金额以及签名信息等,这里所说的账户标识可以是任何用于标识不同用户的标识信息,例如,钱包地址等,这里不做限定。
上述的签名信息可以是使用交易发起方的私钥对交易数据的哈希值进行签名生成的,从而在后面的数据接收方(如客户端服务组件)使用交易发起方的公钥执行数据完整性的验证。其中,交易签名和交易验证的具体细节为现有技术,此处不再赘述。
具体的,客户端服务组件接收客户端提交的交易,对交易的合法性进行验证,若验证通过,则将交易放入交易缓存池(txpool)的交易队列中。可以理解的是,交易队列包含了当前时刻新加入的交易以及当前时刻之前加入的交易。
202、使用本地数据库中账户标识下的nonce值对交易进行封装。
其中,本地数据库可以采用Key-Value数据库保存对应于账户标识的nonce值,其中,以账户标识作为Key-Value数据库中的key,以nonce值作为Key-Value数据库中的value。
具体的,判断交易是否为交易缓存池中优先级最高的交易,若是,则使用本地数据库中账户标识下的nonce值将交易封装成被区块链网络识别的交易类型。
其中,交易的优先级可以根据交易在交易缓存池中的等待时长确定。具体来说,在交易缓存池中等待时长最长的交易的优先级最高。此外,交易的优先级还可以根据交易的额度进行确定,交易的额度越大,交易的优先级越高。
本实施例中,当交易为交易缓存池中优先级最高的交易时,则使用本地数据库中发起的nonce值将交易封装成被区块链网络识别的交易类型,以便发送到区块链网络中进行执行。
203、将封装后的交易发送到区块链网络中,并获取区块链网络返回的交易执行结果。
具体的,区块链网络执行封装后的交易,该过程具体可以包括:
区块链网络判断用于封装交易的nonce值与区块链网络中账户标识下的最新nonce值进行比对,其中,最新nonce值是通过对区块链网络中用于封装上一笔执行成功的交易的该账户标识下的nonce值进行递增加一得到的值;
若比对不一致,则交易执行失败,并生成用于指示nonce值错误的交易执行结果;
若比对一致,则调用部署在区块链网络上的智能合约执行相应的操作,并生成相应的交易执行结果,其中,该操作可以是从转出账户中转出符合交易金额的数字资产至转入账户中。
本实施例中,由于以太坊使用nonce值决定某个账户的交易顺序,该账户地址下的多条交易的nonce值必须连续,因此可以通过区块链网络对当前执行的交易的nonce值与区块链网络中最新nonce值进行比对,而由于区块链网络中最新nonce值为执行成功的上一笔交易的nonce值加一得到的值,因此如果当前执行的交易的nonce值与区块链网络中最新nonce值不相等,区块链网络则会认定交易非法,拒绝交易,并向客户端服务组件返回交易执行失败的结果。
此外,需要说明的是,当交易在区块链网络中被执行成功时,区块链网络中的节点将该交易的执行状态信息存储到区块链账本中。
204、判断交易执行结果是否为成功,当交易执行结果为成功时,对本地数据库中账户标识下的nonce值递增加一。
本实施例中,在当笔交易执行成功后,通过对本地数据库中账户标识下的nonce值递增加一,更新nonce值,以便使用更新后的nonce值对交易缓存池中中的下一笔交易进行封装。
进一步地,方法还可以包括步骤:
205、当交易执行结果为失败时,判断执行失败原因是否为nonce值错误,若是,则执行步骤206,否则,结束处理。
具体的,根据区块链网络返回的交易执行结果,确定执行失败原因是否为nonce值错误。
206、从区块链网络中获取账户标识下的最新nonce值,并根据最新nonce值对本地数据库中账户标识下的nonce值进行更新。
其中,最新nonce值是通过对区块链网络中用于封装上一笔执行成功的交易的该账户标识下的nonce值进行递增加一得到的值。
具体的,向区块链网络提交查询请求,该查询请求用于指示查询账户标识下的最新nonce值,并获取区块链网络返回的该账户标识下的最新nonce值。
进一步地,方法还可以包括步骤:
207、定时从区块链网络中获取账户标识下的最新nonce值,并将本地数据库中账户标识下的nonce值更新为最新nonce值。
其中,最新nonce值是通过对区块链网络中用于封装上一笔执行成功的交易的该账户标识下的nonce值进行递增加一得到的值。
具体的,定时从区块链网络中获取账户标识下的最新nonce值;
对最新nonce值与本地数据库中账户标识下的nonce值进行比对,若比对不一致时,则将本地数据库中账户标识下的nonce值更新为最新nonce值。
本发明实施例提供了一种用于区块链交易防重的客户端服务实现方法,由于客户端提交的交易是通过客户端服务组件使用本地数据库中账户标识下的nonce值进行封装后发送到区块链网络中的,并当区块链网络返回的交易执行结果为成功时,才对本地数据库中账户标识下的nonce值递增加一,该过程无需客户端向区块链网络进行访问查询nonce值,减少了对区块链网络的访问次数,因此能够极大地降低网络开销,同时降低区块链网络的负载消耗,也使得本地处理速度大大提高;另外,也保证了交易的nonce值与区块链网络中nonce值的一致性,有效地防止区块链网络中交易重播。
实施例二
本发明实施例提供了一种用于区块链交易防重的客户端服务组件,如图3所示,该客户端服务组件可以包括:
本地数据库31,用于记录对应于账户标识的nonce值;
序列服务组件32,包括:
接收单元321,用于接收客户端提交的交易并添加至交易缓存池中;
封装单元322,用于使用本地数据库中账户标识下的nonce值对交易进行封装;
区块链单元323,用于将封装后的交易发送到区块链网络中,并获取区块链网络返回的交易执行结果;
处理单元324,用于判断交易执行结果是否为成功,当交易执行结果为成功时,对本地数据库中账户标识下的nonce值递增加一。
进一步地,封装单元322具体用于:
判断交易是否为交易缓存池中优先级最高的交易;
若是,则使用本地数据库中账户标识下的nonce值将交易封装成被区块链网络识别的交易类型。
进一步地,本地数据库31采用Key-Value数据库,其中,以账户标识作为Key-Value数据库中的key,以nonce值作为Key-Value数据库中的value。
进一步地,处理单元324具体还用于:
当交易执行结果为失败时,判断执行失败原因是否为nonce值错误;
若是,则从区块链网络中获取账户标识下的最新nonce值,并根据最新nonce值对本地数据库中账户标识下的nonce值进行更新;
若否,则结束处理。
进一步地,客户端服务组件还包括:
定时服务组件33,用于定时从区块链网络中获取账户标识下的最新nonce值,并将本地数据库中所述账户标识下的nonce值更新为所述最新nonce值。
本实施例提供的用于区块链交易防重的客户端服务组件,与本发明实施例所提供的用于区块链交易防重的客户端服务实现方法属于同一发明构思,可执行本发明任意实施例所提供的用于区块链交易防重的客户端服务实现方法,具备执行用于区块链交易防重的客户端服务实现方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例提供的用于区块链交易防重的客户端服务实现方法,此处不再加以赘述。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于区块链交易防重的客户端服务实现方法,其特征在于,所述方法应用于客户端服务系统中,所述方法包括:
接收客户端提交的包含有账户标识的交易,并添加至交易缓存池中;
使用本地数据库中所述账户标识下的nonce值对所述交易进行封装;
将封装后的所述交易发送到区块链网络中,并获取所述区块链网络返回的交易执行结果;
判断所述交易执行结果是否为成功;
当所述交易执行结果为成功时,对所述本地数据库中所述账户标识下的nonce值递增加一;
所述方法还包括:
定时从所述区块链网络中获取所述账户标识下的最新nonce值,并将所述本地数据库中所述账户标识下的nonce值更新为所述最新nonce值。
2.根据权利要求1所述的方法,其特征在于,所述使用本地数据库中所述账户标识下的nonce值对所述交易进行封装包括:
判断所述交易是否为所述交易缓存池中优先级最高的交易;
若是,则使用所述本地数据库中所述账户标识下的nonce值将所述交易封装成被所述区块链网络识别的交易类型。
3.根据权利要求1所述的方法,其特征在于,所述本地数据库采用Key-Value数据库,其中,以账户标识作为所述Key-Value数据库中的key,以nonce值作为所述Key-Value数据库中的value。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述交易执行结果为失败时,判断执行失败原因是否为nonce值错误;
若是,则从所述区块链网络中获取所述账户标识下的最新nonce值,并根据所述最新nonce值对所述本地数据库中所述账户标识下的nonce值进行更新;
若否,则结束处理。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述最新nonce值是通过对所述区块链网络中用于封装上一笔执行成功的交易的该账户标识下的nonce值进行递增加一得到的值。
6.一种用于区块链交易防重的客户端服务系统,其特征在于,所述客户端服务系统包括:
本地数据库,用于记录对应于账户标识的nonce值;
序列服务组件,包括:
接收单元,用于接收客户端提交的包含有所述账户标识的交易,并添加至交易缓存池中;
封装单元,用于使用所述本地数据库中所述账户标识下的nonce值对所述交易进行封装;
区块链单元,用于将封装后的所述交易发送到区块链网络中,并获取所述区块链网络返回的交易执行结果;
处理单元,用于判断所述交易执行结果是否为成功,当所述交易执行结果为成功时,对所述本地数据库中所述账户标识下的nonce值递增加一;
所述客户端服务系统还包括:
定时服务组件,用于定时从所述区块链网络中获取所述账户标识下的最新nonce值,并将所述本地数据库中所述账户标识下的nonce值更新为所述最新nonce值。
7.根据权利要求6所述的客户端服务系统,其特征在于,所述封装单元具体用于:
判断所述交易是否为所述交易缓存池中优先级最高的交易;
若是,则使用所述本地数据库中所述账户标识下的nonce值将所述交易封装成被所述区块链网络识别的交易类型。
8.根据权利要求6所述的客户端服务系统,其特征在于,所述本地数据库采用Key-Value数据库,其中,以账户标识作为所述Key-Value数据库中的key,以nonce值作为所述Key-Value数据库中的value。
9.根据权利要求6所述的客户端服务系统,其特征在于,所述处理单元具体还用于:
当所述交易执行结果为失败时,判断执行失败原因是否为nonce值错误;
若是,则从所述区块链网络中获取所述账户标识下的最新nonce值,并根据所述最新nonce值对所述本地数据库中所述账户标识下的nonce值进行更新;
若否,则结束处理。
10.根据权利要求6至9任意一项所述的客户端服务系统,其特征在于,所述最新nonce值是通过对所述区块链网络中用于封装上一笔执行成功的交易的该账户标识下的nonce值进行递增加一得到的值。
CN201910244140.6A 2019-03-28 2019-03-28 用于区块链交易防重的客户端服务实现方法及服务组件 Active CN110060161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910244140.6A CN110060161B (zh) 2019-03-28 2019-03-28 用于区块链交易防重的客户端服务实现方法及服务组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910244140.6A CN110060161B (zh) 2019-03-28 2019-03-28 用于区块链交易防重的客户端服务实现方法及服务组件

Publications (2)

Publication Number Publication Date
CN110060161A CN110060161A (zh) 2019-07-26
CN110060161B true CN110060161B (zh) 2021-05-28

Family

ID=67317819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910244140.6A Active CN110060161B (zh) 2019-03-28 2019-03-28 用于区块链交易防重的客户端服务实现方法及服务组件

Country Status (1)

Country Link
CN (1) CN110060161B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749175B (zh) * 2019-10-30 2023-10-03 网联清算有限公司 交易处理方法和装置以及电子设备和介质
US11095431B2 (en) * 2019-12-13 2021-08-17 DLT Global, Inc. Blockchain transaction manager
CN111275441A (zh) * 2020-01-20 2020-06-12 昊居科技有限公司 一种房屋交易方法及系统
CN111400043A (zh) * 2020-03-13 2020-07-10 杭州复杂美科技有限公司 交易池管理方法、设备和存储介质
CN111722883A (zh) * 2020-06-12 2020-09-29 浪潮电子信息产业股份有限公司 一种接口地址的更新方法、装置和计算机可读存储介质
CN112346825A (zh) * 2020-11-11 2021-02-09 湖南智慧政务区块链科技有限公司 一种基于位图算法的区块链事务防重机制
CN112258188B (zh) * 2020-12-02 2021-04-02 支付宝(杭州)信息技术有限公司 一种区块链交易的处理方法、装置、设备及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
CN106815722A (zh) * 2016-12-22 2017-06-09 中钞信用卡产业发展有限公司北京智能卡技术研究院 基于区块链的信息处理方法和装置
CN108416578A (zh) * 2018-03-14 2018-08-17 郑杰骞 一种区块链系统及数据处理方法
CN108763443A (zh) * 2018-05-25 2018-11-06 众安信息技术服务有限公司 区块链账户处理方法与装置
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243237B2 (en) * 2003-05-02 2007-07-10 Microsoft Corporation Secure communication with a keyboard or related device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
CN106815722A (zh) * 2016-12-22 2017-06-09 中钞信用卡产业发展有限公司北京智能卡技术研究院 基于区块链的信息处理方法和装置
CN108416578A (zh) * 2018-03-14 2018-08-17 郑杰骞 一种区块链系统及数据处理方法
CN108763443A (zh) * 2018-05-25 2018-11-06 众安信息技术服务有限公司 区块链账户处理方法与装置
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备

Also Published As

Publication number Publication date
CN110060161A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN110060161B (zh) 用于区块链交易防重的客户端服务实现方法及服务组件
CN107193490B (zh) 一种基于区块链的分布式数据存储系统及方法
TW202101440A (zh) 跨鏈發送資源的方法和裝置
van der Meyden On the specification and verification of atomic swap smart contracts
WO2020258847A1 (zh) 基于处理模块跨链发送可认证消息的方法和装置
CN112583811B (zh) 钱包找回方法、设备和存储介质
CN114255031A (zh) 用于执行交易的跨区块链的系统、跨链交易方法及设备
CN111368330B (zh) 一种基于区块链的以太坊智能合约审计系统及方法
CN110597825A (zh) 基于区块链的数据处理方法、装置及节点设备
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
CN112862490A (zh) 一种异步网络下的输出共识方法
CN111311254A (zh) 一种基于区块链的业务处理方法、装置和系统
CN113409047B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
US20240039727A1 (en) Blockchain-based data processing method and apparatus, device, and readable storage medium
CN116827957B (zh) 基于多区块链的信息处理方法、装置、设备以及介质
Shudo et al. Towards application portability on blockchains
CN116977067A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112184436B (zh) 数据同步方法、电子设备及可读存储介质
CN111369246B (zh) 智能合约的调用鉴权方法、装置、电子设备及存储介质
CN114201206A (zh) 一种区块链中基于代理合约的智能合约动态升级方法
CN112417052A (zh) 区块链网络中的数据同步方法、装置、设备及存储介质
CN116804949B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
KR20210013915A (ko) 트랜잭션의 스케줄링을 수행하는 블록체인 시스템 및 이를 이용한 트랜잭션 스케줄링 방법
CN117032998B (zh) 一种基于区块链的数据处理方法、装置以及可读存储介质
CN113592639B (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

Effective date of registration: 20240306

Address after: Room 1179, W Zone, 11th Floor, Building 1, No. 158 Shuanglian Road, Qingpu District, Shanghai, 201702

Patentee after: Shanghai Zhongan Information Technology Service Co.,Ltd.

Country or region after: China

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: ZHONGAN INFORMATION TECHNOLOGY SERVICE Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240415

Address after: Room 1179, W Zone, 11th Floor, Building 1, No. 158 Shuanglian Road, Qingpu District, Shanghai, 201702

Patentee after: Shanghai Zhongan Information Technology Service Co.,Ltd.

Country or region after: China

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: ZHONGAN INFORMATION TECHNOLOGY SERVICE Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right