CN109598504A - 基于区块链的交易处理方法及装置、电子设备 - Google Patents

基于区块链的交易处理方法及装置、电子设备 Download PDF

Info

Publication number
CN109598504A
CN109598504A CN201811253444.0A CN201811253444A CN109598504A CN 109598504 A CN109598504 A CN 109598504A CN 201811253444 A CN201811253444 A CN 201811253444A CN 109598504 A CN109598504 A CN 109598504A
Authority
CN
China
Prior art keywords
nonce
transaction
record
list
transactions
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.)
Granted
Application number
CN201811253444.0A
Other languages
English (en)
Other versions
CN109598504B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202011103271.1A priority Critical patent/CN112232817A/zh
Priority to CN201811253444.0A priority patent/CN109598504B/zh
Priority to TW108109327A priority patent/TWI706278B/zh
Publication of CN109598504A publication Critical patent/CN109598504A/zh
Priority to EP19874820.4A priority patent/EP3816910B1/en
Priority to SG11202100309PA priority patent/SG11202100309PA/en
Priority to PCT/CN2019/103238 priority patent/WO2020082893A1/zh
Application granted granted Critical
Publication of CN109598504B publication Critical patent/CN109598504B/zh
Priority to US17/160,203 priority patent/US11481765B2/en
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/389Keeping log of transactions for guaranteeing non-repudiation of a 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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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
    • G06Q20/3821Electronic credentials
    • 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
    • G06Q20/3827Use of message hashing
    • 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
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/386Payment protocols; Details thereof using messaging services or messaging apps
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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

Abstract

公开一种基于区块链的交易处理方法,所述区块链中维护了与所述用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可Nonce记录;将获取到的可用Nonce记录分别添加至所述多笔交易;将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。

Description

基于区块链的交易处理方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的交易处理方法及装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,利用区块链技术来搭建去中心化系统,并在区块链的分布式数据库中收录各种执行程序进行自动执行,已在众多的领域中广泛的进行应用。
发明内容
本说明书提出一种基于区块链的交易处理方法,应用于客户端,所述区块链中维护了与所述用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录;
将获取到的可用Nonce记录分别添加至所述多笔交易;
将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
可选的,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。
可选的,还包括:
如果用户通过用户账户发起的交易中存在所包含的多笔交易需要并发执行的多组交易,确定所述多组交易的执行顺序;
从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。
可选的,从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之前,还包括:
响应于针对所述客户端的初始化指令,获取所述区块链中维护的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;
从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录,包括:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。
可选的,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;
所述方法还包括:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。
可选的,还包括:
确定是否接收到所述节点设备返回的所述交易被受理的通知消息;
如果是,基于预设幅度对所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。
可选的,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。
可选的,所述Nonce记录还包括:所述Nonce记录的索引标识。
本说明书还提出一种基于区块链的交易处理方法,应用于区块链中的节点设备,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;
将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
可选的,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;
所述方法还包括:
如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。
可选的,还包括:
如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配,基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,
向所述客户端返回所述交易被受理的通知消息。
可选的,所述Nonce记录还包括:所述Nonce记录的索引标识。
本说明书还提出一种基于区块链的交易处理装置,应用于客户端,所述区块链中维护了与所述用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
获取模块,从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录;
添加模块,将获取到的可用Nonce记录分别添加至所述多笔交易;
发布模块,将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
可选的,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。
可选的,所述获取模块进一步:
如果用户通过用户账户发起的交易中存在所包含的多笔交易需要并发执行的多组交易,确定所述多组交易的执行顺序;
从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。
可选的,所述获取模块进一步:
在从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之前,响应于针对所述客户端的初始化指令,获取所述区块链中维护的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。
可选的,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;
所述获取模块:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。
可选的,所述获取模块进一步:
确定是否接收到所述节点设备返回的所述交易被受理的通知消息;
如果是,基于预设幅度对所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。
可选的,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。
可选的,所述Nonce记录还包括:所述Nonce记录的索引标识。
本说明书还提出一种基于区块链的交易处理装置,应用于区块链中的节点设备,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
接收模块,接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;
匹配模块,将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
执行模块,如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
可选的,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;
所述执行模块进一步:
如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。
可选的,所述执行模块进一步:
如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配,基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,
向所述客户端返回所述交易被受理的通知消息。
可选的,所述Nonce记录还包括:所述Nonce记录的索引标识。
本说明书还提出一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
从区块链中维护的与用户账户对应的Nonce列表中,为用户通过所述用户账户发起的需要并发执行的多笔交易,分别获取分组标识相同的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
将获取到的可用Nonce记录分别添加至所述多笔交易;
将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
本说明书还提出一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
通过以上实施例,可以在避免针对交易的重放攻击的基础上,来进一步提升客户端上的单账户的交易并发能力的技术方案。
附图说明
图1是一示例性实施例提供的一种对交易进行重放攻击检测的示意图。
图2是一示例性实施例提供的一种基于区块链的交易处理方法的流程图。
图3是一示例性实施例提供的一种在区块链中维护的Nonce列表集合的结构示意图。
图4是一示例性实施例提供的另一种对交易进行重放攻击检测的示意图。
图5是一示例性实施例提供的一种客户端维护的Nonce列表的结构示意图。
图6是一示例性实施例提供的一种电子设备的结构示意图。
图7是一示例性实施例提供的一种基于区块链的交易处理装置的框图。
图8是一示例性实施例提供的另一种基于区块链的交易处理装置的框图。
具体实施方式
区块链领域的重放攻击,是指通过在区块链中发布重复的交易,进而导致一笔相同的交易被执行多次,对用户造成损失的攻击行为;
例如,比特币网络中经典的“双花”(double spending)问题,就是一种较为典型的重放攻击行为。一笔转账交易在经过用户私钥的签名许可后,如果被非法节点截获,那么该非法节点可以在该笔交易执行完毕后,基于截获的该笔交易,发起重放攻击,在区块链中重复发布并执行该笔交易,造成一笔转账交易被执行多次,进而对用户造成资金损失。
在示出的一种实施方式中,通常可以在交易中携带一个致密递增的Nonce值(致密递增的整数)的方式,来应对针对该笔交易的重放攻击风险;
请参见图1,图1为本说明书示出的一种对交易进行重放攻击检测的示意图。
如图1所示,用户在客户端上通过个人的用户账户发起的每笔交易,都可以指定一个Nonce值,并使用用户持有的私钥对该笔交易的交易体和指定的Nonce值进行签名。其中,签名是对[交易体,Nonce值]的整体签名,这样可以保障该笔交易中的Nonce无法被篡改。
当签名完成后,客户端可以将该笔交易在区块链中进行发布。而区块链中的节点设备,在收到该笔交易后,除了需要验证该笔交易的签名是否合法以外,还需要检测该笔交易中的Nonce值,是否与之前已经成功受理的最近一笔交易中的Nonce值保持严格的致密递增;如果该笔交易与已经成功受理的最近一笔交易中的Nonce值保持致密递增,则可以受理该笔交易;反之,可以认定该比较交易为非法的交易。
例如,假设用户在客户端上通过个人的用户账户Account1发起了一笔Nonce值为1的交易,该笔交易在被区块链成功受理后,用户在客户端上通过Account1再次发起交易的时候,必须将该交易中的Nonce值指定为2,才会被区块链中的节点设备认定为一笔合法的交易进行受理。
相应的,区块链系统会维护用户个人的用户账户的Nonce状态,每成功受理Account1发起的一笔交易,区块链系统会将该用户账户的Nonce值自增1;区块链中的节点设备在收到客户端发布的一笔交易后,会将该笔交易中的Nonce值,与维护的Nonce状态中的Nonce值进行比较,来判断该笔交易中的Nonce值,是否与已经成功受理的最近一笔交易中的Nonce值严格递增1;如果是,则可以受理该笔交易。
通过以上方式,虽然在某种程度上可以避免交易的重放攻击风险,但对于用户账户而言,需要在前一笔交易被受理后,才可以继续发起下一笔交易,因此单账户的交易并发能力不足,无法在高并发的场景下进行应用。
基于此,在本说明书中,在以上示出的重放攻击防护方案的基础上,提出一种能够提升客户端上单账户的交易并发能力的技术方案。
在实现时,可以在区块链中维护一个Nonce列表集合,在该Nonce列表集合中,可以包括与若干用户账户对应的Nonce列表;而在上述Nonce列表中,可以包括若干条Nonce记录;每一条Nonce记录由分组标识和Nonce值构成。
当用户在客户端上通过个人的用户账户发起需要并发执行的多笔交易后,客户端可以从上述Nonce列表为该多笔交易,分别获取分组标识相同的可用Nonce记录,并将获取到的可用Nonce记录添加至上述多笔交易,然后再将该目多笔交易发布至区块链。
而区块链中的节点设备在收到客户端发送的交易之后,可以将该交易中携带的可用Nonce记录,与区块链中维护的与该用户账户对应的上述Nonce列表中的Nonce记录进行匹配,来对该交易进行重放攻击检测;如果上述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,针对该交易的重放攻击检测通过,此时节点设备可以受理该交易;
进一步的,节点设备可以再次确认所有已经受理的交易中,是否存在所携带的Nonce记录中的分组标识相同的多笔交易;如果是,表明该多笔交易需要并发执行,此时节点设备可以并发执行已受理的交易中具有相同分组标识的该多笔交易。在以上实施例中,通过将为多笔交易添加相同的分组标识,来触发区块链中的节点设备并发执行具有相同分组标识的多笔交易的技术方案,与针对交易的重放攻击检测进行结合,可以在避免针对交易的重放攻击的基础上,来进一步提升客户端上的单账户的交易并发能力。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图2,图2是本说明书一实施例提供的一种基于区块链的交易处理方法;所述方法执行以下步骤:
步骤202,客户端从区块链中维护的与用户账户对应的Nonce列表中,为用户通过所述用户账户发起的需要并发执行的多笔交易,分别获取分组标识相同的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
步骤204,客户端将获取到的可用Nonce记录分别添加至所述多笔交易,并将所述多笔交易发布至所述区块链;
步骤206,区块链中的节点设备将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
在本说明书所描述的区块链,具体可以包括私有链、共有链以及联盟链等,在本说明书中不进行特别限定。
例如,在一个场景中,上述区块链具体可以是由第三方支付平台的服务器、境内银行服务器、境外银行服务器、以及若干用户节点设备作为成员设备组成的一个联盟链。该联盟链的运营方可以依托于该联盟链,来在线部署诸如基于联盟链的跨境转账、资产转移等在线业务。
其中,需要说明的是,在本说明书中所描述的交易(Transaction),是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
区块链中的交易,通常存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务(比如,防伪校验业务、租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。
在本说明书中,上述客户端具体可以是一个多线程客户端;也即,客户端可以同时启用多个线程,每一个线程都可以独立运行,从而用户可以通过调用客户端的多个线程,通过个人的用户账户来同时发起多笔交易。
当客户端收到用户通过用户账户发起的多笔交易后,可以确定用户通过用户账户发起的交易中,是否存在需要并发执行的多笔交易;
其中,在本说明书中,需要并发执行的多笔交易,可以包括任意类型的,交易之间并不存在严格的交易执行顺序,能够进行并发处理和执行的交易;
例如,如果一笔交易的执行,需要将另一笔交易的执行结果作为输入,那么这两笔交易,将无法进行并发处理和执行;反之,如果两笔交易之间,并没有以上所描述的这种数据依赖关系,那么就可以进行并发处理和执行。
在实现时,需要并发执行的多笔交易,可以由用户在通过用户账户发起交易的过程中,来人为指定;
例如,在示出的一种实施方式中,用户在发起了众多笔交易后,可以通过客户端提供的用户界面来基于需求人工指定,需要并发执行的多笔交易。
在实际应用中,需要并发执行的多笔交易,也可以由客户端基于预设的并发处理规则,来进行动态确认。
其中,上述并发处理规则的具体内容,在本说明书中不进行特别限定,在实际应用中,本领域技术人员可以基于实际的并发处理需求,来灵活的定义;
例如,在示出的一种实施方式中,上述并发执行规则,可以是“针对交易类型相同的交易进行并发执行”的规则;
在这种情况下,客户端在收到用户发起的众多交易后,可以进一步检查这些交易的具体交易类型;然后,将交易类型相同的多笔交易,确定为需要并发执行的交易;比如,如果区块链所支持的交易类型,包括用于创建账户的交易类型、用于转账的交易类型,则客户端可以确定出用户所发起的众多交易中,用于创建账户的交易类型、和用于转账的交易类型,然后将与这两类交易类型对应的多笔交易,确定为需要并发执行的交易。
当然,在实际应用中,上述并发处理规则,除了可以是“针对交易类型相同的交易进行并发执行”的规则以外,也可以是其它形式的并发处理规则,在本说明书中不再进行一一列举。
在本说明书中,可以在区块链中维护一个Nonce列表集合,在该Nonce列表集合中,可以包括与若干用户账户对应的Nonce列表。在上述Nonce列表中,均可以包括多条Nonce记录。而每一条Nonce记录可以包括辅助参数和Nonce值。
也即,在本说明书中,上述Nonce记录具体可以是一条由包含Nonce值在内的多个字段构成的复合结构。
在实现时,上述区块链的运营方,可以预先为每一个用户账户分配可用的Nonce值,并在分配的可用的Nonce值的基础上,为每一个Nonce值设置对应的辅助字段,再基于每一个可用的Nonce值和对应的辅助字段,来构造出多条Nonce记录;
然后,可以基于生成的多条Nonce记录为该用户账户构造Nonce列表;最后,可以基于为各个用户账户构造的Nonce列表,创建上述Nonce列表集合,并将上述Nonce列表集合发布至上述区块链,由上述区块链中的节点设备进行共识处理,并在共识通过后,将上述Nonce列表集合存储在上述区块链的分布式数据进行存储和维护。
其中,需要说明的是,上述辅助参数的具体参数内容,在本说明书中不进行特别限定;在实际应用中,上述辅助参数,具体可以包括上述区块链的运营方基于实际的需求,在用户账户可用的Nonce值的基础上扩展出的任意形式的参数;或者参数组合。
也即,在实际应用中,上述辅助参数中所能包含的参数数量以及类别,可以不固定;可以在Nonce值的基础上扩展出任意一种参数来作为辅助参数;也可以在Nonce值的基础上扩展出多种参数进行组合来作为辅助参数。
在本说明书中,上述Nonce列表中的Nonce记录中的辅助参数,具体可以包括分组标识;其中,该分组标识具体用于表示交易所在的分组,属于同一分组的交易则为需要并发执行的交易;其中,对于上述Nonce列表集合中的与各个用户账户对应的Nonce列表而言,均可以包括多条分组标识相同的Nonce记录,从而当用户通过个人的用户账户发起了多笔需要并发执行的多笔交易时,使得客户端可以从上述Nonce列表中为该多笔交易获取到分组标识相同的Nonce记录。
在示出的一种实施方式中,上述Nonce列表中的Nonce记录中的辅助参数,除了可以包括上述分组标识以外,还可以进一步包括上述Nonce记录的索引标识(比如索引编号)。其中,上述索引标识,具体用于表示Nonce记录在Nonce列表中的顺序以及位置。
例如,请参见图3,以上述Nonce列表中的Nonce记录中的辅助参数,同时包含上述分组标识和上述Nonce记录的索引标识为例,此时上述Nonce记录具体可以是一个Group ID(分组标识)、Index(索引标识)、Value(Nonce值)等字段组成的复合结构。在这种情况下,在区块链中维护的Nonce列表集合,可以表示成如图3所示出的形式。
其中,上述Nonce记录以及上述Nonce记录中的Nonce值和上述辅助参数的具体的字节长度,在本说明书中不进行特别限定;在实际应用中,可以基于上述区块链的运营方的实际需求,进行灵活的设定(比如,运营方可以通过所占用的字节长度,来控制Nonce值以及辅助参数的具体取值范围);
例如,在一种实现方式中,上述Nonce记录具体可以是一个16字节组成的复合结构;其中,4字节表示Group ID(分组标识)、4字节表示Index(索引标识)、8字节表示Value(Nonce值)。
通过在Nonce值的基础上,扩展出多种参数进行组合来作为辅助参数,使得上述Nonce表中的Nonce记录能够涵盖丰富的取值字段,从而可以降低上述Nonce表中的多条Nonce记录由于取值相同发生冲突的概率;
例如,两条由Group ID(分组标识)和Value(Nonce值)构成的总长度为12字节的Nonce记录完全相同发生冲突的概率,会远低于,两条由Group ID(分组标识)、Index(索引标识)和Value(Nonce值)构成的总长度为16字节的Nonce记录完全相同发生冲突的概率。
请参见图4,当用户在客户端上调用客户端启用的多个线程,通过个人的用户账户发起需要并发执行的多笔交易后,客户端可以从区块链上维护的与该用户账户对应的上述Nonce列表中,为该多笔交易分别获取分组标识相同的可用Nonce记录(即为多笔交易添加相同的分组标识)。
由于上述Nonce列表中包括多条Nonce记录,使得客户端启动的多线程均能够从上述Nonce列表中为发起的交易获取到可用Nonce记录,进而用户可以使用个人的用户账户通过上述客户端同时发起多笔交易;因此,在本说明书中,上述Nonce列表中的Nonce记录的数量,实际上可以用于指示用户个人的用户账户的交易并发能力。比如,上述Nonce列表包括4条Nonce记录,那么用户可以通过用户账户同时发起4笔交易。
基于这一点,在实际应用中,区块链的运营方,可以基于客户端自身的性能,来灵活的为上述Nonce列表指定所包含的Nonce记录的数量;或者,客户端可以向区块链系统主动上报自身的性能,由区块链的运营方来灵活的指定上述Nonce列表所包含的Nonce记录的数量;
例如,假设客户端的性能决定,该客户端可以同时启动4个线程来发起交易,那么在为登录该客户端的用户账户创建上述Nonce列表时,可以为该Nonce列表添加4条可用Nonce记录。
在示出的一种实施方式中,客户端可以在初始化阶段,预先将区块链上维护的上述Nonce列表“下载”到本地进行维护;
例如,在实现时,客户端在启动运行,或者与区块链中的节点设备之间的连接断开需要重新进行连接时,通过都需要进行初始化操作。在这种情况下,当客户端收到用户触发的针对该客户端的初始化指令(比如启动指令、重连指令等)时,则可以响应该初始化指令,与区块链中的节点设备建立连接,并基于该连接访问区块链的分布式数据库,获取区块链中维护的上述Nonce列表,然后可以将获取到的上述Nonce列表本地进行存储和维护。
在这种情况下,当客户端需要为该多笔交易分别获取分组标识相同的可用Nonce记录时,可以直接从本地维护的上述Nonce列表中获取可用Nonce记录。
通过这种方式,可以避免与区块链上的节点设备进行数据交互,从区块链中维护的上述Nonce列表中读取数据,为该目标交易获取可用Nonce记录,可以提升客户端的处理性能。
其中,在实际应用中,用户通过用户账户发起的交易中,可能会存在所包含的多笔交易需要并发执行的多组交易,并且该多组交易之间,可能会保持一定的执行顺序;在这种情况下,如果用户通过用户账户发起的交易中,存在所包含的多笔交易需要并发执行的多组交易,此时客户端还可以进一步确认该多组交易的执行顺序;
其中,该多组交易的执行顺序,可以由用户进行人工定义,也可以由客户端基于实际的业务流程进行动态确认,在本说明书中不进行具体的限定。
进一步的,客户端在确定该多组交易的执行顺序之后,除了需要为该多组交易中所包含的多笔交易添加相同的分组标识以外,还需要确保为该多组交易中所包含的多笔交易添加的分组标识,能够指示该多组交易的执行顺序;
这种情况下,上述Nonce列表中则需要包括分组标识相同,并且不同的交易分组的分组标识在数值上也存在差异的多组Nonce记录;也即,同一交易分组中的交易的分组标识保持相同,而不同的交易分组中的交易分组标识在数值上要保持一定的差异;从而,确保能够从上述Nonce列表中,为上述多组交易中的交易,获取到分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。其中,利用分组标识来指示多组交易的执行顺序,具体可以通过为该多组交易添加在数值上保持单调递增的分组标识的方式来实现;
例如,假设如果用户通过用户账户发起的交易中,存在所包含的交易需要并发执行的两组交易{A1,B1,C1}和{A2,B2,C2};在这种情况下,客户端可以从上述Nonce列表中为交易A1,B1,C1获取一条包含相同的分组标识1的可用Nonce记录,为交易A2,B2,C2获取一条包含相同的分组标识2的可用Nonce记录,利用分组标识数值上的递增,来表示交易分组{A1,B1,C1},需要先于交易分组{A2,B2,C2}执行。也即,交易分组的执行顺序,与被添加的交易标识的取值从小到大的顺序保持一致。
在示出的一种实施方式中,对于客户端在本地维护的上述Nonce列表,可以由客户端为该Nonce列表中的Nonce记录,均默认添加一个表示“可用”的标记。
例如,请参见图5,仍以上述Nonce记录为图4中示出的16字节组成的复合结构为例,可以为Nonce列表中的Nonce记录,扩展出一个1字节的Available字段;其中,当Available字段取值为T时,表示该条Nonce记录“可用”;当Available字段取值为F时,表示该条Nonce记录“不可用”。
一方面,当客户端上启用的线程,在从客户端本地维护的上述Nonce列表中为用户发起的多笔交易获取可用Nonce记录时,可以从上述Nonce列表中所有被标记为“可用”的Nonce记录来随机选择多笔分组标识相同的Nonce记录作为可用Nonce记录。
另一方面,当客户端上启用的线程,从客户端本地维护的上述Nonce列表中为用户发起的多笔交易获取到可用Nonce记录之后,可以对该可用Nonce记录携带的标记进行修改更新,为该可用Nonce记录重新添加一个表示“不可用”的标记,以将该可用Nonce记录标记为不可用。
在本说明书中,当客户端为用户发起的需要并发执行的多笔交易获取到可用Nonce记录之后,可以将获取到的可用Nonce记录添加至上述多笔交易中;
例如,请继续参见图4,客户端在为交易获取到可用Nonce记录之后,可以对交易的交易体,和上述可用Nonce记录进行打包,然后提示用户基于持有的私钥对打包后的[交易体,Nonce记录]进行整体签名,这样可以保障该笔交易中的Nonce记录无法被篡改。
进一步的,当客户端将获取到的可用Nonce记录添加至上述多笔交易之后,客户端可以将上述多笔交易发布至区块链;
例如,将上述多笔交易发布至该客户端接入的节点设备,或者将该多笔交易在区块链中进行广播发布;其中,客户端将上述多笔交易发布至区块链的具体方式,通常取决于区块链所采用的共识机制,在本说明书中不进行特别限定。
而当区块链中的节点设备在收到客户端发布的交易之后,首先可以在区块链采用的共识算法,发起针对收到的交易的共识处理;
其中,区块链采用的共识算法,以及基于共识算法对上述目标交易的共识处理过程,在本说明书中不再进行详述,本领域技术人员在将本说明书记载的技术方案付诸实现时,可以参考相关技术中的记载。
当收到的交易共识通过后,此时上述区块链中的节点设备,可以进一步发起针对收到的交易的合法性检测。
其中,在本说明书中,针对交易的合法性检测至少可以包括,针对交易携带的签名的合法性检测、以及,针对交易的重放攻击检测。
在实现时,上述区块链中的节点设备首先可以基于与上述用户持有的私钥对应的公钥,对收到的交易的签名进行验证;如果交易的签名失败,可以认定交易为不合法的交易,上述节点设备可以直接通过客户端向用户返回交易执行失败的提示消息。
如果交易的签名验证通过,此时上述节点设备,可以进一步基于该目交易中携带的可用Nonce记录,和区块链中维护的与该用户个人的用户账户对应的Nonce列表,针对该交易进行重放攻击检测。
一方面,请继续参见图4,上述节点设备可以将交易中携带的Nonce记录,从区块链上维护的与该用户账户对应的Nonce列表中的Nonce记录逐一进行匹配;如果交易中携带的Nonce记录,与上述Nonce列表中的任一目标Nonce记录匹配,可以确定该交易通过重放攻击检测;在这种情况下,该节点设备可以受理该交易。
另一方面,当该交易被受理后,该节点设备可以基于预设幅度对上述目标Nonce记录中的Nonce值进行单调递增;其中,上述预设幅度可以基于实际需求进行自定义;
例如,上述预设幅度仍然可以是1,上述节点设备可以在该交易被受理后,将在上述Nonce列表中匹配到的上述目标Nonce记录中的Nonce值自增1。
通过这种方式,如果交易在被受理之后,又再次在区块链中进行了重复发布,由于上述Nonce列表中与该交易携带的可用Nonce记录匹配的目标Nonce记录中的Nonce值,已经发生了更新,该重复发布的该交易在重放攻击检测阶段,将无法在上述Nonce列表中匹配到对应的Nonce记录;因此,该重复发布的交易将不会被再次受理,从而可以有效的避免通过在区块链中重复发布该交易进行重放攻击。
在示出的一种实施方式中,当交易被受理后,可以向上述客户端返回上述交易被受理的通知消息;而客户端在将用户通过个人的用户账户发起的交易发布至区块链后,可以确定是否接收到节点设备返回的交易被受理的通知消息。
如果确认收到交易被受理的通知消息:
一方面,可以基于预设幅度,对从客户端本地维护的上述Nonce列表中为发起的交易获取到的上述可用Nonce记录中的Nonce值进行单调递增;比如,将在上述可用Nonce记录中的Nonce值也自增1,以与区块链中维护的上述Nonce列表保持内容同步。
另一方面,由于此前该可用Nonce记录已经被标记为了“不可用”;因此,在基于预设幅度,对该可用Nonce记录中的Nonce值进行单调递增后,可以将该可用Nonce记录的Available字段的取值,置位为“T”。
在本说明中,当客户端发送的由用户发起的交易均被受理后,此时区块链中的节点设备,可以进一步确定客户端发送的已经被受理的交易中,是否存在分组标识相同的多笔交易;
如果已经被受理的交易中,存在分组标识相同的多笔交易,此时区块链中的节点设备,可以并发执行该多笔交易,并在该多笔交易执行完毕后,将该多笔交易以及该多笔交易的执行结果,在区块链的分布式数据库中进行存储。
相应的,如果客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;并且,客户端为该多组交易添加的可用Nonce记录中的分组标识指示该多组交易的执行顺序;在这种情况下,区块链中的节点设备,在收到客户端发送的添加了分组标识的交易,并确定客户端发送的交易中,存在所包含的多笔交易的分组标识相同的多笔交易之后,还可以按照该多笔交易的交易标识所指示出的交易顺序,顺序的执行该多组交易。
例如,仍以用户通过用户账户发起的交易中,存在所包含的交易需要并发执行的两组交易{A1,B1,C1}和{A2,B2,C2};并且,客户端为交易A1,B1,C1添加了一条包含相同的分组标识1的可用Nonce记录,为交易A2,B2,C2添加了一条包含相同的分组标识2的可用Nonce记录为例;在这种情况下,区块链中的节点设备,在以上交易A1,B1,C1,A2,B2,C2均被受理后,会先并发执行分组标识为1的交易分组中的交易A1,B1,C1,再并发执行分组标识为2的交易分组中的交易A2,B2,C2。
在以上方案中,通过将为多笔交易添加相同的分组标识,来触发区块链中的节点设备并发执行具有相同分组标识的多笔交易的技术方案,与针对交易的重放攻击检测进行结合,可以在避免针对交易的重放攻击的基础上,来进一步提升客户端上的单账户的交易并发能力。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的交易处理装置的实施例。本说明书的基于区块链的交易处理装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书的基于区块链的交易处理装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图7是本说明书一示例性实施例示出的一种基于区块链的交易处理装置的框图。
请参考图7,所述基于区块链的交易处理装置70可以应用在前述图6所示的电子设备中,包括有:获取模块701、添加模块702和发布模块703。
获取模块701,从区块链中维护的与用户账户对应的Nonce列表中,为用户通过所述用户账户发起的需要并发执行的多笔交易,分别获取分组标识相同的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
添加模块702,将获取到的可用Nonce记录分别添加至所述多笔交易;
发布模块703,将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
在本实施例中,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。
在本实施例中,所述获取模块701进一步:
如果用户通过用户账户发起的交易中存在所包含的多笔交易需要并发执行的多组交易,确定所述多组交易的执行顺序;
从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。
在本实施例中,所述获取模块701进一步:
在从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之前,响应于针对所述客户端的初始化指令,获取所述区块链中维护的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。
在本实施例中,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;
所述获取模块701:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。
在本实施例中,所述获取模块701进一步:
确定是否接收到所述节点设备返回的所述交易被受理的通知消息;
如果是,基于预设幅度对所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。
在本实施例中,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。
在本实施例中,所述Nonce记录还包括:所述Nonce记录的索引标识。
图8是本说明书一示例性实施例示出的另一种基于区块链的交易处理装置的框图。
请参考图8,所述基于区块链的交易处理装置80也可以应用在前述图6所示的电子设备中,包括有:接收模块801、第二确定模块802和执行模块803。
接收模块801,接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
匹配模块802,将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
执行模块803,如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
在本实施例中,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;
所述执行模块803进一步:
如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。
在本实施例中,所述执行模块803进一步:
如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配,基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,
向所述客户端返回所述交易被受理的通知消息。
在本实施例中,所述Nonce记录还包括:所述Nonce记录的索引标识。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
从区块链中维护的与用户账户对应的Nonce列表中,为用户通过所述用户账户发起的需要并发执行的多笔交易,分别获取分组标识相同的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
将获取到的可用Nonce记录分别添加至所述多笔交易;
将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
如果用户通过用户账户发起的交易中存在所包含的多笔交易需要并发执行的多组交易,确定所述多组交易的执行顺序;
从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之前,响应于针对所述客户端的初始化指令,获取所述区块链中维护的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录
在本实施例中,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;
通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
确定是否接收到所述节点设备返回的所述交易被受理的通知消息;
如果是,基于预设幅度对所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。
与上述方法实施例相对应,本说明书还提供了另一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
在本实施例中,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;
通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配,基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,
向所述客户端返回所述交易被受理的通知消息。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (26)

1.一种基于区块链的交易处理方法,应用于客户端,所述区块链中维护了与所述用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录;
将获取到的可用Nonce记录分别添加至所述多笔交易;
将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
2.根据权利要求1所述的方法,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。
3.根据权利要求1所述的方法,还包括:
如果用户通过用户账户发起的交易中存在所包含的多笔交易需要并发执行的多组交易,确定所述多组交易的执行顺序;
从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。
4.根据权利要求1所述的方法,从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之前,还包括:
响应于针对所述客户端的初始化指令,获取所述区块链中维护的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;
从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录,包括:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。
5.根据权利要求4所述的方法,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;
所述方法还包括:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。
6.根据权利要求5所述的方法,还包括:
确定是否接收到所述节点设备返回的所述交易被受理的通知消息;
如果是,基于预设幅度对所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。
7.根据权利要求1所述的方法,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。
8.根据权利要求7所述的方法,所述Nonce记录还包括:所述Nonce记录的索引标识。
9.一种基于区块链的交易处理方法,应用于区块链中的节点设备,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;
将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
10.根据权利要求9所述的方法,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;
所述方法还包括:
如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。
11.根据权利要求9所述的方法,还包括:
如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配,基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,
向所述客户端返回所述交易被受理的通知消息。
12.根据权利要求11所述的方法,所述Nonce记录还包括:所述Nonce记录的索引标识。
13.一种基于区块链的交易处理装置,应用于客户端,所述区块链中维护了与所述用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
获取模块,从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录;
添加模块,将获取到的可用Nonce记录分别添加至所述多笔交易;
发布模块,将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
14.根据权利要求13所述的装置,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。
15.根据权利要求13所述的装置,所述获取模块进一步:
如果用户通过用户账户发起的交易中存在所包含的多笔交易需要并发执行的多组交易,确定所述多组交易的执行顺序;
从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。
16.根据权利要求13所述的装置,所述获取模块进一步:
在从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之前,响应于针对所述客户端的初始化指令,获取所述区块链中维护的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。
17.根据权利要求16所述的装置,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;
所述获取模块:
从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。
18.根据权利要求17所述的装置,所述获取模块进一步:
确定是否接收到所述节点设备返回的所述交易被受理的通知消息;
如果是,基于预设幅度对所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。
19.根据权利要求13所述的装置,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。
20.根据权利要求19所述的装置,所述Nonce记录还包括:所述Nonce记录的索引标识。
21.一种基于区块链的交易处理装置,应用于区块链中的节点设备,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;所述方法包括:
接收模块,接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;
匹配模块,将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
执行模块,如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
22.根据权利要求21所述的装置,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;
所述执行模块进一步:
如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。
23.根据权利要求21所述的装置,所述执行模块进一步:
如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配,基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,
向所述客户端返回所述交易被受理的通知消息。
24.根据权利要求23所述的装置,所述Nonce记录还包括:所述Nonce记录的索引标识。
25.一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
从区块链中维护的与用户账户对应的Nonce列表中,为用户通过所述用户账户发起的需要并发执行的多笔交易,分别获取分组标识相同的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
将获取到的可用Nonce记录分别添加至所述多笔交易;
将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。
26.一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;
将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;
如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。
CN201811253444.0A 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备 Active CN109598504B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN202011103271.1A CN112232817A (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备
CN201811253444.0A CN109598504B (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备
TW108109327A TWI706278B (zh) 2018-10-25 2019-03-19 基於區塊鏈的交易處理方法及裝置、電子設備
EP19874820.4A EP3816910B1 (en) 2018-10-25 2019-08-29 Blockchain-based transaction processing method and apparatus, and electronic device
SG11202100309PA SG11202100309PA (en) 2018-10-25 2019-08-29 Blockchain-based transaction processing method and apparatus, and electronic device
PCT/CN2019/103238 WO2020082893A1 (zh) 2018-10-25 2019-08-29 基于区块链的交易处理方法及装置、电子设备
US17/160,203 US11481765B2 (en) 2018-10-25 2021-01-27 Blockchain-based transaction processing method and apparatus and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811253444.0A CN109598504B (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011103271.1A Division CN112232817A (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN109598504A true CN109598504A (zh) 2019-04-09
CN109598504B CN109598504B (zh) 2020-09-01

Family

ID=65957010

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811253444.0A Active CN109598504B (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备
CN202011103271.1A Pending CN112232817A (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011103271.1A Pending CN112232817A (zh) 2018-10-25 2018-10-25 基于区块链的交易处理方法及装置、电子设备

Country Status (6)

Country Link
US (1) US11481765B2 (zh)
EP (1) EP3816910B1 (zh)
CN (2) CN109598504B (zh)
SG (1) SG11202100309PA (zh)
TW (1) TWI706278B (zh)
WO (1) WO2020082893A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175831A (zh) * 2019-04-23 2019-08-27 阿里巴巴集团控股有限公司 一种基于区块链的信用转移方法、装置及电子设备
CN110264348A (zh) * 2019-05-07 2019-09-20 北京奇艺世纪科技有限公司 一种交易上链的处理方法、装置及存储介质
CN110264354A (zh) * 2019-05-31 2019-09-20 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
CN110796545A (zh) * 2019-10-25 2020-02-14 杭州趣链科技有限公司 一种区块链交易的批处理方法、设备和存储介质
WO2020082893A1 (zh) * 2018-10-25 2020-04-30 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
WO2020220860A1 (zh) * 2019-04-28 2020-11-05 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置
CN112202564A (zh) * 2020-09-14 2021-01-08 成都质数斯达克科技有限公司 交易传递方法、装置、电子设备及可读存储介质
CN113225368A (zh) * 2021-02-07 2021-08-06 武汉卓尔信息科技有限公司 一种区块链交易方法、装置、电子设备及存储介质
US11108545B2 (en) 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions
TWI759708B (zh) * 2019-08-30 2022-04-01 開曼群島商創新先進技術有限公司 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416852B1 (en) * 2017-12-15 2022-08-16 Worldpay, Llc Systems and methods for generating and transmitting electronic transaction account information messages
US11936794B2 (en) * 2021-09-16 2024-03-19 Masterard International Incorporated Method and system for parallel processing of smart contracts in permissioned blockchains
CN114493602B (zh) * 2022-04-08 2022-07-22 恒生电子股份有限公司 区块链交易的执行方法、装置、电子设备和存储介质
CN116634025B (zh) * 2023-07-25 2023-12-29 武汉趣链数字科技有限公司 一种确定交易顺序的方法、设备、系统和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815722A (zh) * 2016-12-22 2017-06-09 中钞信用卡产业发展有限公司北京智能卡技术研究院 基于区块链的信息处理方法和装置
US20170212781A1 (en) * 2016-01-26 2017-07-27 International Business Machines Corporation Parallel execution of blockchain transactions
CN108053211A (zh) * 2017-12-27 2018-05-18 北京欧链科技有限公司 基于区块链的交易处理方法及装置

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856660B2 (en) * 2001-08-21 2010-12-21 Telecommunication Systems, Inc. System for efficiently handling cryptographic messages containing nonce values
US7529371B2 (en) * 2004-04-22 2009-05-05 International Business Machines Corporation Replaceable sequenced one-time pads for detection of cloned service client
US7725927B2 (en) * 2005-10-28 2010-05-25 Yahoo! Inc. Low code-footprint security solution
US20080077795A1 (en) * 2006-09-25 2008-03-27 Macmillan David M Method and apparatus for two-way authentication without nonces
US20080148052A1 (en) * 2006-10-25 2008-06-19 Motorola, Inc. Method and system for authentication bonding two devices and sending authenticated events
US20100275020A1 (en) * 2006-11-02 2010-10-28 Takashi Aramaki Communication method, communication system, mobile node and communication node
US8850197B2 (en) * 2009-07-31 2014-09-30 Futurewei Technologies, Inc. Optical network terminal management control interface-based passive optical network security enhancement
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems
TWI517069B (zh) * 2014-03-14 2016-01-11 謝宛霖 雲端即時租賃方法
EP3183595A1 (en) * 2014-08-22 2017-06-28 Philips Lighting Holding B.V. Localization system comprising multiple beacons and an assignment system
US11159318B2 (en) * 2015-01-30 2021-10-26 Enrico Maim Methods and systems implemented in a network architecture with nodes capable of performing message-based transactions
CN107615317A (zh) * 2015-03-31 2018-01-19 纳斯达克公司 区块链交易记录的系统和方法
CA2991211C (en) * 2015-07-02 2024-02-20 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US10339132B2 (en) * 2015-07-09 2019-07-02 Netapp, Inc. Flow control technique for EOS system
US20170228731A1 (en) * 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US20180253702A1 (en) * 2015-11-24 2018-09-06 Gartland & Mellina Group Blockchain solutions for financial services and other transactions-based industries
US10230756B2 (en) * 2015-11-25 2019-03-12 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network
MX2018010058A (es) * 2016-02-23 2019-01-21 Nchain Holdings Ltd Metodo y sistema para la transferencia eficiente de criptomoneda asociada con un pago de nomina en una cadena de bloques que lleva a un metodo y sistema de pago de nomina automatico con base en contratos inteligentes.
US11727501B2 (en) * 2016-02-23 2023-08-15 Nchain Licensing Ag Cryptographic method and system for secure extraction of data from a blockchain
WO2017147494A1 (en) * 2016-02-25 2017-08-31 Trusona, Inc. Anti-replay systems and methods
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US20180284756A1 (en) * 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for adaption of data collection under anomalous conditions in an internet of things mining environment
KR101781583B1 (ko) 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
WO2018049234A1 (en) * 2016-09-09 2018-03-15 Trusona, Inc. Systems and methods for distribution of selected authentication information for a network of devices
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
CN108075895B (zh) 2016-11-15 2020-03-24 深圳银链科技有限公司 一种基于区块链的节点许可方法和系统
US11587070B2 (en) * 2017-01-16 2023-02-21 Enrico Maim Methods and systems for executing smart contracts in secure environments
WO2018154713A1 (ja) * 2017-02-24 2018-08-30 日本電気株式会社 情報検証システム、情報検証装置、方法およびプログラム
CN110603557B (zh) * 2017-03-16 2024-04-12 香港物流及供应链管理应用技术研发中心 控制交易账本的系统和方法
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
EP3382616A1 (de) * 2017-03-31 2018-10-03 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten bereitstellen eines sicherheitsgeschützten digitalen zwillings
EP3382629A1 (de) * 2017-03-31 2018-10-03 Siemens Aktiengesellschaft Verfahren und zeitgeber zum bereitstellen von sicherheitsgeschützten zeitangaben
US20180293547A1 (en) * 2017-04-06 2018-10-11 Jaspreet Randhawa Methods and systems for employment and education verification using blockchain
EP3388994A1 (de) * 2017-04-12 2018-10-17 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten testen einer blockkette
US20180308094A1 (en) * 2017-04-19 2018-10-25 Baton Systems, Inc. Time stamping systems and methods
JP7053677B2 (ja) * 2017-06-07 2022-04-12 エヌチェーン ホールディングス リミテッド ブロックチェーン・ネットワークにおいてトランザクションを管理するためのコンピュータ実装システム及び方法
EP3465579B1 (en) * 2017-06-07 2019-11-20 Nchain Holdings Limited Credential generation and distribution method and system for a blockchain network
US10581613B2 (en) * 2017-06-09 2020-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
US11461310B2 (en) * 2017-07-17 2022-10-04 Rdx Works Ltd Distributed ledger technology
GB201711867D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107688999B (zh) 2017-08-11 2020-11-13 杭州溪塔科技有限公司 一种基于区块链的并行交易执行方法
CN107678865A (zh) * 2017-09-20 2018-02-09 中国银行股份有限公司 基于交易分组的区块链的验证方法以及系统
GB201715423D0 (en) * 2017-09-22 2017-11-08 Nchain Holdings Ltd Computer-implemented system and method
EP3462313A1 (de) * 2017-09-27 2019-04-03 Siemens Aktiengesellschaft Verfahren und verteiltes datenbanksystem zum rechnergestützten ausführen eines programmcodes
US11316696B2 (en) * 2017-09-29 2022-04-26 R3 Ltd. Hash subtrees for grouping components by component type
GB2569278A (en) * 2017-10-23 2019-06-19 Cygnetise Ltd Methods and apparatus for verifying a user transaction
US11449864B2 (en) * 2017-10-31 2022-09-20 R3 Ltd. Reissuing obligations to preserve privacy
CN107993147A (zh) * 2017-11-13 2018-05-04 中国银行股份有限公司 热点账户的余额控制方法及装置
US11042934B2 (en) * 2017-11-13 2021-06-22 Bank Of America Corporation Crypto-machine learning enabled blockchain based profile pricer
CN107943976B (zh) * 2017-11-29 2022-02-25 中国银行股份有限公司 一种海量交易日志中基于账户的热点交易识别方法及系统
US20190164150A1 (en) * 2017-11-29 2019-05-30 Bank Of America Corporation Using Blockchain Ledger for Selectively Allocating Transactions to User Accounts
US10567156B2 (en) * 2017-11-30 2020-02-18 Bank Of America Corporation Blockchain-based unexpected data detection
US20190188086A1 (en) * 2017-12-14 2019-06-20 International Business Machines Corporation Redundancy reduction in blockchains
CA3088184A1 (en) * 2018-01-11 2019-07-18 Lancium Llc Method and system for dynamic power delivery to a flexible datacenter using unutilized energy sources
JP6897973B2 (ja) * 2018-02-15 2021-07-07 株式会社アクセル サーバ装置、処理システム、処理方法及び処理プログラム
WO2019185148A1 (en) * 2018-03-29 2019-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Technique for computing a block in a blockchain network
CN108282334B (zh) * 2018-04-13 2021-04-27 浪潮集团有限公司 一种基于区块链的多方密钥协商装置、方法及系统
US11005664B2 (en) * 2018-04-16 2021-05-11 R3 Ltd. Blockchain post-quantum signature scheme
CN108667632B (zh) 2018-04-19 2020-10-30 创新先进技术有限公司 基于区块链的信用记录共享方法及装置、电子设备
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
US11556874B2 (en) * 2018-06-11 2023-01-17 International Business Machines Corporation Block creation based on transaction cost and size
US20200013050A1 (en) * 2018-07-06 2020-01-09 Keir Finlow-Bates Blockchain based payments for digital certificate provisioning of internet of things devices
US11204939B2 (en) * 2018-07-18 2021-12-21 Bank Of America Corporation Data manifest as a blockchain service
US10965466B2 (en) * 2018-08-03 2021-03-30 National Taiwan University Estimable proof-of-work for blockchain
US11159307B2 (en) * 2018-08-08 2021-10-26 International Business Machines Corporation Ad-hoc trusted groups on a blockchain
CN109242484A (zh) * 2018-08-09 2019-01-18 玄章技术有限公司 一种区块链的共识激励方法
US11063760B2 (en) * 2018-08-22 2021-07-13 Sasken Technologies Ltd Method for ensuring security of an internet of things network
IL261679A (en) * 2018-09-06 2018-10-31 Acuant Inc System and method for management of digital id
US11171783B2 (en) * 2018-09-28 2021-11-09 Infosys Limited System and method for decentralized identity management, authentication and authorization of applications
US10756912B2 (en) * 2018-10-12 2020-08-25 Avaya Inc. Distributed ledger and blockchain to confirm validity of call recordings
US20200119904A1 (en) * 2018-10-15 2020-04-16 Ca, Inc. Tamper-proof privileged user access system logs
US11133923B2 (en) * 2018-10-24 2021-09-28 Landis+Gyr Innovations, Inc. Cryptographic operations using internet of things device pool
CN109598504B (zh) * 2018-10-25 2020-09-01 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170212781A1 (en) * 2016-01-26 2017-07-27 International Business Machines Corporation Parallel execution of blockchain transactions
CN106815722A (zh) * 2016-12-22 2017-06-09 中钞信用卡产业发展有限公司北京智能卡技术研究院 基于区块链的信息处理方法和装置
CN108053211A (zh) * 2017-12-27 2018-05-18 北京欧链科技有限公司 基于区块链的交易处理方法及装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020082893A1 (zh) * 2018-10-25 2020-04-30 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
US11481765B2 (en) 2018-10-25 2022-10-25 Advanced New Technologies Co., Ltd. Blockchain-based transaction processing method and apparatus and electronic device
CN110175831B (zh) * 2019-04-23 2023-09-29 创新先进技术有限公司 一种基于区块链的信用转移方法、装置及电子设备
CN110175831A (zh) * 2019-04-23 2019-08-27 阿里巴巴集团控股有限公司 一种基于区块链的信用转移方法、装置及电子设备
WO2020220860A1 (zh) * 2019-04-28 2020-11-05 深圳前海微众银行股份有限公司 一种基于区块链系统的交易处理方法及装置
CN110264348A (zh) * 2019-05-07 2019-09-20 北京奇艺世纪科技有限公司 一种交易上链的处理方法、装置及存储介质
CN110264348B (zh) * 2019-05-07 2021-08-20 北京奇艺世纪科技有限公司 一种交易上链的处理方法、装置及存储介质
US11108545B2 (en) 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions
CN110264354A (zh) * 2019-05-31 2019-09-20 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
CN110264354B (zh) * 2019-05-31 2020-09-01 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
WO2020238238A1 (zh) * 2019-05-31 2020-12-03 创新先进技术有限公司 创建区块链账户及验证区块链交易的方法及装置
TWI759708B (zh) * 2019-08-30 2022-04-01 開曼群島商創新先進技術有限公司 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備
CN110796545A (zh) * 2019-10-25 2020-02-14 杭州趣链科技有限公司 一种区块链交易的批处理方法、设备和存储介质
CN110796545B (zh) * 2019-10-25 2024-03-29 杭州趣链科技有限公司 一种区块链交易的批处理方法、设备和存储介质
CN112202564A (zh) * 2020-09-14 2021-01-08 成都质数斯达克科技有限公司 交易传递方法、装置、电子设备及可读存储介质
CN113225368A (zh) * 2021-02-07 2021-08-06 武汉卓尔信息科技有限公司 一种区块链交易方法、装置、电子设备及存储介质
CN113225368B (zh) * 2021-02-07 2022-04-19 武汉卓尔信息科技有限公司 一种区块链交易方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
TW202016787A (zh) 2020-05-01
WO2020082893A1 (zh) 2020-04-30
CN109598504B (zh) 2020-09-01
US20210150519A1 (en) 2021-05-20
SG11202100309PA (en) 2021-02-25
EP3816910A4 (en) 2021-09-15
EP3816910A1 (en) 2021-05-05
TWI706278B (zh) 2020-10-01
EP3816910B1 (en) 2022-12-28
CN112232817A (zh) 2021-01-15
US11481765B2 (en) 2022-10-25

Similar Documents

Publication Publication Date Title
CN109598504A (zh) 基于区块链的交易处理方法及装置、电子设备
CN109598598A (zh) 基于区块链的交易处理方法及装置、电子设备
CN109584063A (zh) 基于区块链的交易处理方法及装置、电子设备
CN108492180B (zh) 资产管理方法及装置、电子设备
CN110084604A (zh) 基于区块链的交易处理方法及装置、电子设备
CN109102269B (zh) 基于区块链的转账方法及装置、区块链节点及存储介质
CN110471986B (zh) 基于区块链的票据实名领取方法、装置及电子设备
CN109242675A (zh) 基于区块链的资产发布方法及装置、电子设备
CN109146679A (zh) 基于区块链的智能合约调用方法及装置、电子设备
CN111444209B (zh) 一种基于区块链的数据处理方法、装置、设备及介质
CA3175939A1 (en) Blacklist data sharing method and system based on blockchain
CN110599144A (zh) 一种区块链节点的入网方法以及装置
AU2020204469A1 (en) Ad hoc neural network for proof of wallet
CN111582935A (zh) 一种基于区块链的积分互识方法及系统
KR102333811B1 (ko) 블록체인 기반의 카드 결제 처리 시스템 및 방법
CN110458541B (zh) 基于区块链的对象置换方法及装置
CN113095821A (zh) 物权交互方法及装置
CN111008251A (zh) 一种数据处理方法以及设备
CN110599347A (zh) 票据处理方法、装置、计算机可读存储介质和计算机设备
CN110599272A (zh) 一种开具电子发票的方法和相关产品
CN111507728A (zh) 一种支付配置方法及装置
CN110956551B (zh) 一种收益分发方法及相关设备
CN116862680A (zh) 基于区块链系统的金融业务处理方法、装置、设备和介质
CN112541764A (zh) 基于智能合约的资产管理方法、装置和系统
CN112749967A (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: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right