CN112232817B - Transaction processing method and device based on blockchain, and electronic device - Google Patents

Transaction processing method and device based on blockchain, and electronic device Download PDF

Info

Publication number
CN112232817B
CN112232817B CN202011103271.1A CN202011103271A CN112232817B CN 112232817 B CN112232817 B CN 112232817B CN 202011103271 A CN202011103271 A CN 202011103271A CN 112232817 B CN112232817 B CN 112232817B
Authority
CN
China
Prior art keywords
nonce
transactions
blockchain
available
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011103271.1A
Other languages
Chinese (zh)
Other versions
CN112232817A (en
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.)
Ant Chain Technology Co ltd
Original Assignee
Ant Chain 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 Ant Chain Technology Co ltd filed Critical Ant Chain Technology Co ltd
Priority to CN202011103271.1A priority Critical patent/CN112232817B/en
Publication of CN112232817A publication Critical patent/CN112232817A/en
Application granted granted Critical
Publication of CN112232817B publication Critical patent/CN112232817B/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • 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
    • 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

Landscapes

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

Abstract

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

A transaction processing method based on blockchain is disclosed, wherein a Nonce list corresponding to the user account is maintained in the blockchain; wherein the Nonce list includes multiple Nonce records; the Nonce record includes a group identifier and a Nonce value; the method includes: obtaining available Nonce records with the same group identifier for multiple transactions initiated by the user through the user account and requiring concurrent execution from the Nonce list; adding the obtained available Nonce records to the multiple transactions respectively; publishing the multiple transactions to the blockchain, so that the node device in the blockchain matches the available Nonce record in the transaction published by the client with the Nonce record in the Nonce list, and accepting the transaction when the available Nonce record matches any target Nonce record in the Nonce list, and concurrently executing multiple transactions with the same group identifier in the accepted transactions.

Description

Transaction processing method and device based on blockchain and electronic equipment
Technical Field
One or more embodiments of the present disclosure relate to the field of blockchain technologies, and in particular, to a blockchain-based transaction processing method and apparatus, and an electronic device.
Background
Blockchain technology, also known as distributed ledger technology, is an emerging technology that is commonly engaged in "accounting" by several computing devices, together maintaining a complete distributed database. Because the blockchain technology has the characteristics of decentralization, disclosure transparency, participation of each computing device in database recording and rapid data synchronization among the computing devices, the blockchain technology is utilized to build a decentralization system, various execution programs are recorded in a distributed database of the blockchain for automatic execution, and the system is widely applied in a plurality of fields.
Disclosure of Invention
The specification provides a transaction processing method based on a blockchain, which is applied to a client, wherein a Nonce list corresponding to a user account is maintained in the blockchain, the Nonce list comprises a plurality of Nonce records, the Nonce records comprise packet identifications and Nonce values, and the method comprises the following steps:
The available Nonce records with the same grouping identifier are respectively obtained from the Nonce list for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently;
adding the obtained available Nonce records to the plurality of transactions respectively;
Issuing the multiple transactions to the blockchain, so that node equipment in the blockchain can match available Nonce records in the transactions issued by the client with Nonce records in the Nonce list, accept the transactions when the available Nonce records are matched with any target Nonce record in the Nonce list, and concurrently execute multiple transactions with the same grouping identification in the accepted transactions.
Optionally, the multiple transactions that need to be executed concurrently include multiple transactions with the same transaction type.
Optionally, the method further comprises:
if a plurality of groups of transactions which are required to be executed concurrently exist in the transactions initiated by the user through the user account, determining the execution sequence of the plurality of groups of transactions;
And respectively acquiring available Nonce records with the same grouping identifiers for the multiple groups of transactions from the Nonce list, wherein the grouping identifiers indicate the execution sequence of the multiple groups of transactions.
Optionally, before the available Nonce records with the same packet identifier are respectively obtained from the Nonce list for the multiple transactions that need to be concurrently executed and are initiated by the user through the user account, the method further includes:
responding to an initialization instruction aiming at the client, acquiring the Nonce list maintained in the blockchain, and maintaining the acquired Nonce list locally at the client;
The available Nonce records with the same grouping identifier are respectively obtained from the Nonce list for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently, and the available Nonce records comprise:
and respectively acquiring available Nonce records with the same grouping identifier for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently from the Nonce list locally maintained by the client.
Optionally, the Nonce record in the Nonce list maintained locally by the client is marked as available by default;
the method further comprises the steps of:
and respectively acquiring available Nonce records with the same grouping identifier from the Nonce list locally maintained by the client, and marking the available Nonce records as unavailable in the Nonce list after the available Nonce records with the same grouping identifier are respectively acquired for a plurality of transactions which are initiated by a user through a user account and need to be concurrently executed.
Optionally, the method further comprises:
Determining whether a notification message returned by the node equipment is received, wherein the notification message is accepted by the transaction;
And if so, monotonously increasing the Nonce value in the available Nonce records based on a preset amplitude, and re-marking the available Nonce records as available in the Nonce list after the monotonously increasing the Nonce value.
Optionally, the client is a multithreaded client, and the number of Nonce records in the Nonce list indicates transaction concurrency capability of the user account.
Optionally, the Nonce record further comprises an index identification of the Nonce record.
The specification also provides a transaction processing method based on a blockchain, which is applied to node equipment in the blockchain, wherein the blockchain maintains a Nonce list set, the Nonce list set comprises Nonce lists corresponding to a plurality of user accounts, the Nonce list comprises a plurality of Nonce records, the Nonce records comprise packet identifications and Nonce values, and the method comprises the following steps:
receiving a transaction initiated by a user through a user account and sent by a client, wherein the transaction is added with an available Nonce record obtained from a Nonce list corresponding to the user account and maintained in the blockchain;
Matching available Nonce records in the received transaction with Nonce records in a Nonce list corresponding to the user account maintained in the blockchain;
If the available Nonce record is matched with any target Nonce record in the Nonce list, accepting the transaction; and concurrently executing multiple transactions with the same group identification in the accepted transactions.
Optionally, the client indicates the execution sequence of the multiple groups of transactions for the group identifications in the available Nonce records added by the multiple groups of transactions;
the method further comprises the steps of:
And if the plurality of groups of transactions with the same grouping identifications of the plurality of groups of transactions are contained in the transactions sent by the client, sequentially executing the plurality of groups of transactions according to the execution sequence indicated by the grouping identifications of the plurality of groups of transactions.
Optionally, the method further comprises:
Monotonously increasing the Nonce value of any target Nonce record in the Nonce list based on a preset amplitude if the available Nonce record matches any target Nonce record in the Nonce list, and
And returning a notification message that the transaction is accepted to the client.
Optionally, the Nonce record further comprises an index identification of the Nonce record.
The specification also provides a transaction processing device based on a blockchain, which is applied to a client, wherein a Nonce list corresponding to the user account is maintained in the blockchain, the Nonce list comprises a plurality of Nonce records, the Nonce records comprise packet identifications and Nonce values, and the method comprises the following steps:
The acquisition module is used for respectively acquiring available Nonce records with the same grouping identifier for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently from the Nonce list;
the adding module is used for respectively adding the obtained available Nonce records to the plurality of transactions;
And the issuing module issues the multiple transactions to the blockchain, so that node equipment in the blockchain can match available Nonce records in the transactions issued by the client with Nonce records in the Nonce list, accept the transactions when the available Nonce records are matched with any target Nonce record in the Nonce list, and concurrently execute multiple transactions with the same grouping identifier in the accepted transactions.
Optionally, the multiple transactions that need to be executed concurrently include multiple transactions with the same transaction type.
Optionally, the acquiring module further:
if a plurality of groups of transactions which are required to be executed concurrently exist in the transactions initiated by the user through the user account, determining the execution sequence of the plurality of groups of transactions;
And respectively acquiring available Nonce records with the same grouping identifiers for the multiple groups of transactions from the Nonce list, wherein the grouping identifiers indicate the execution sequence of the multiple groups of transactions.
Optionally, the acquiring module further:
Before available Nonce records with the same grouping identifier are respectively obtained from the Nonce list for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently, responding to an initialization instruction aiming at the client, obtaining the Nonce list maintained in the blockchain, and maintaining the obtained Nonce list locally at the client;
and respectively acquiring available Nonce records with the same grouping identifier for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently from the Nonce list locally maintained by the client.
Optionally, the Nonce record in the Nonce list maintained locally by the client is marked as available by default;
The acquisition module is used for:
and respectively acquiring available Nonce records with the same grouping identifier from the Nonce list locally maintained by the client, and marking the available Nonce records as unavailable in the Nonce list after the available Nonce records with the same grouping identifier are respectively acquired for a plurality of transactions which are initiated by a user through a user account and need to be concurrently executed.
Optionally, the acquiring module further:
Determining whether a notification message returned by the node equipment is received, wherein the notification message is accepted by the transaction;
And if so, monotonously increasing the Nonce value in the available Nonce records based on a preset amplitude, and re-marking the available Nonce records as available in the Nonce list after the monotonously increasing the Nonce value.
Optionally, the client is a multithreaded client, and the number of Nonce records in the Nonce list indicates transaction concurrency capability of the user account.
Optionally, the Nonce record further comprises an index identification of the Nonce record.
The specification also provides a transaction processing device based on a blockchain, which is applied to node equipment in the blockchain, wherein the blockchain maintains a Nonce list set, the Nonce list set comprises Nonce lists corresponding to a plurality of user accounts, the Nonce list comprises a plurality of Nonce records, the Nonce records comprise packet identifications and Nonce values, and the method comprises the following steps:
the system comprises a receiving module, a receiving module and a processing module, wherein the receiving module receives a transaction initiated by a user through a user account and sent by a client, and the transaction is added with an available Nonce record acquired from a Nonce list corresponding to the user account and maintained in the blockchain;
The matching module is used for matching the available Nonce record in the received transaction with the Nonce record in the Nonce list corresponding to the user account and maintained in the blockchain;
And the execution module is used for receiving the transaction if the available Nonce record is matched with any target Nonce record in the Nonce list, and concurrently executing a plurality of transactions with the same grouping identification in the received transaction.
Optionally, the client indicates the execution sequence of the multiple groups of transactions for the group identifications in the available Nonce records added by the multiple groups of transactions;
The execution module further:
And if the plurality of groups of transactions with the same grouping identifications of the plurality of groups of transactions are contained in the transactions sent by the client, sequentially executing the plurality of groups of transactions according to the execution sequence indicated by the grouping identifications of the plurality of groups of transactions.
Optionally, the execution module further:
Monotonously increasing the Nonce value of any target Nonce record in the Nonce list based on a preset amplitude if the available Nonce record matches any target Nonce record in the Nonce list, and
And returning a notification message that the transaction is accepted to the client.
Optionally, the Nonce record further comprises an index identification of the Nonce record.
The present specification also proposes an electronic device comprising:
A processor;
a memory for storing machine-executable instructions;
wherein, by reading and executing the machine-executable instructions stored by the memory corresponding to the control logic for blockchain-based transaction processing, the processor is caused to:
The method comprises the steps of respectively acquiring available Nonce records with the same grouping identifier for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently from a Nonce list corresponding to the user account and maintained in a blockchain, wherein the Nonce list comprises a plurality of Nonce records;
adding the obtained available Nonce records to the plurality of transactions respectively;
Issuing the multiple transactions to the blockchain, so that node equipment in the blockchain can match available Nonce records in the transactions issued by the client with Nonce records in the Nonce list, accept the transactions when the available Nonce records are matched with any target Nonce record in the Nonce list, and concurrently execute multiple transactions with the same grouping identification in the accepted transactions.
The present specification also proposes an electronic device comprising:
A processor;
a memory for storing machine-executable instructions;
wherein, by reading and executing the machine-executable instructions stored by the memory corresponding to the control logic for blockchain-based transaction processing, the processor is caused to:
Receiving a transaction initiated by a user through a user account sent by a client, wherein the transaction is added with available Nonce records obtained from a Nonce list corresponding to the user account, which is maintained in the blockchain, wherein the Nonce list comprises a plurality of Nonce records;
Matching available Nonce records in the received transaction with Nonce records in a Nonce list corresponding to the user account maintained in the blockchain;
If the available Nonce record is matched with any target Nonce record in the Nonce list, accepting the transaction; and concurrently executing multiple transactions with the same group identification in the accepted transactions.
Through the embodiment, the technical scheme of the transaction concurrency capability of the single account on the client can be further improved on the basis of avoiding replay attack for the transaction.
Drawings
FIG. 1 is a schematic diagram of replay attack detection for transactions provided in an exemplary embodiment.
FIG. 2 is a flowchart of a blockchain-based transaction processing method provided by an exemplary embodiment.
FIG. 3 is a schematic diagram of a set of Nonce lists maintained in a blockchain in accordance with an exemplary embodiment.
FIG. 4 is a schematic diagram of another replay attack detection for transactions provided by an exemplary embodiment.
Fig. 5 is a schematic diagram of a structure of a Nonce list maintained by a client according to an exemplary embodiment.
Fig. 6 is a schematic structural diagram of an electronic device according to an exemplary embodiment.
FIG. 7 is a block diagram of a blockchain-based transaction processing device provided in an exemplary embodiment.
FIG. 8 is a block diagram of another blockchain-based transaction processing device provided by an exemplary embodiment.
Detailed Description
Replay attack in the blockchain field refers to the attack behavior of releasing repeated transactions in the blockchain to further cause that the same transaction is executed for a plurality of times, thereby causing loss to users;
After a transfer transaction is approved by the signature of the private key of the user, if the transfer transaction is intercepted by an illegal node, the illegal node can initiate replay attack based on the intercepted transaction after the execution of the transaction is finished, repeatedly issue and execute the transaction in a blockchain, so that the transfer transaction is executed for a plurality of times, and further, funds loss is caused to the user.
In one embodiment shown, the replay attack risk for a transaction may be generally addressed in such a way that a densely incremented Nonce value (densely incremented integer) is carried in the transaction;
referring to fig. 1, fig. 1 is a schematic diagram illustrating replay attack detection for a transaction according to the present disclosure.
As shown in fig. 1, each transaction initiated by a user on a client through a personal user account may specify a Nonce value and sign the transaction body of the transaction and the specified Nonce value using a private key held by the user. The signature is an integral signature of the transaction body and the Nonce value, so that the Nonce in the transaction can be guaranteed to be unable to be tampered.
When the signature is complete, the client may publish the transaction in the blockchain. The node device in the blockchain needs to verify whether the signature of the transaction is legal or not, detect whether the Nonce value in the transaction keeps strictly compact increment with the Nonce value in the last transaction successfully accepted before after receiving the transaction, accept the transaction if the transaction keeps strictly compact increment with the Nonce value in the last transaction successfully accepted before, and otherwise, judge the comparison transaction as illegal transaction.
For example, suppose that a user initiates a transaction with a Nonce value of 1 on a client through an individual user Account Account1, and after the transaction is successfully accepted by the blockchain, when the user initiates a transaction again on the client through Account1, the Nonce value in the transaction must be designated as 2, so that the transaction is accepted as a legal transaction by node devices in the blockchain.
The blockchain system maintains the Nonce state of the user Account of the user, and each time a transaction initiated by Account1 is successfully accepted, the blockchain system automatically increases the Nonce value of the user Account by 1, node equipment in the blockchain compares the Nonce value in the transaction with the Nonce value in the maintained Nonce state after receiving the transaction issued by the client, so as to judge whether the Nonce value in the transaction is strictly increased by 1 with the Nonce value in the latest transaction which has been successfully accepted, and if so, the transaction can be accepted.
In this way, although the replay attack risk of the transaction can be avoided to a certain extent, the user account needs to be accepted before the next transaction can be continuously initiated, so that the single-account transaction concurrency capability is insufficient and the application cannot be performed in a high concurrency scene.
Based on this, in the present specification, on the basis of the replay attack protection scheme shown above, a technical scheme capable of improving the transaction concurrency capability of a single account on a client is provided.
When implemented, a set of Nonce lists may be maintained in the blockchain, where Nonce lists corresponding to several user accounts may be included, and where several Nonce records may be included, each Nonce record being composed of a packet identity and a Nonce value.
After a user initiates a plurality of transactions to be executed concurrently through a personal user account on a client, the client can obtain available Nonce records with the same grouping identifier for the plurality of transactions from the Nonce list, add the obtained available Nonce records to the plurality of transactions, and then issue the plurality of transactions to a blockchain.
After receiving the transaction sent by the client, the node device in the blockchain can match the available Nonce record carried in the transaction with the Nonce record in the Nonce list corresponding to the user account maintained in the blockchain to detect replay attack of the transaction; if the available Nonce record is matched with any target Nonce record in the Nonce list, detecting that replay attack for the transaction is passed, and at the moment, the node equipment can accept the transaction;
Further, the node device can confirm again whether a plurality of transactions with the same grouping identification in the carried Nonce record exist in all the accepted transactions, if so, the node device can execute the plurality of transactions with the same grouping identification in the accepted transactions concurrently. In the above embodiment, by adding the same grouping identifier to multiple transactions to trigger node devices in the blockchain to concurrently execute multiple transactions with the same grouping identifier, in combination with replay attack detection for the transactions, the transaction concurrency capability of a single account on a client can be further improved on the basis of avoiding replay attacks for the transactions.
The following description is made by specific embodiments and with reference to specific application scenarios.
Referring to fig. 2, fig. 2 is a block chain-based transaction processing method according to an embodiment of the present disclosure, wherein the method performs the following steps:
Step 202, a client acquires available Nonce records with the same grouping identifier from a Nonce list corresponding to a user account maintained in a blockchain for a plurality of transactions which are initiated by a user through the user account and need to be executed concurrently, wherein the Nonce list comprises a plurality of Nonce records, and the Nonce records comprise the grouping identifier and the Nonce value;
step 204, the client adds the obtained available Nonce records to the plurality of transactions respectively, and issues the plurality of transactions to the blockchain;
Step 206, the node device in the blockchain matches the available Nonce record in the received transaction with the Nonce record in the Nonce list corresponding to the user account maintained in the blockchain, accepts the transaction if the available Nonce record is matched with any target Nonce record in the Nonce list, and concurrently executes a plurality of transactions with the same grouping identification in the accepted transaction.
The blockchains described in the present specification may specifically include private chains, common chains, and federated chains, and the like, and are not particularly limited in the present specification.
For example, in one scenario, the blockchain may specifically be a coalition chain composed of servers of third party paystations, in-home banking servers, out-of-home banking servers, and several user node devices as member devices. Operators of the federated chain may rely on the federated chain to deploy online services such as cross-border transfers, asset transfers, etc., based on the federated chain.
It should be noted that, the Transaction (Transaction) described in the present specification refers to a piece of data that is created by a client of the blockchain and needs to be finally published to a distributed database of the blockchain.
Transactions in blockchains typically exist in a narrow sense as well as a broad sense of the transaction. A narrow transaction refers to a transfer of value that a user publishes to a blockchain. While a generalized transaction refers to a piece of business data with business intent issued by a user to a blockchain, for example, an operator may build a coalition chain based on actual business needs, rely on the coalition chain to deploy some other types of online business (such as anti-counterfeit verification business, rental business, vehicle dispatch business, insurance claim settlement business, credit service, medical service, etc.) unrelated to value transfer, and in such a coalition chain, the transaction may be a business message or a business request with business intent issued by the user in the coalition chain.
In this specification, the client may be a multithreaded client, that is, the client may enable multiple threads simultaneously, and each thread may run independently, so that a user may initiate multiple transactions simultaneously by calling multiple threads of the client and through a personal user account.
After receiving a plurality of transactions initiated by a user through a user account, the client can determine whether a plurality of transactions which need to be executed concurrently exist in the transactions initiated by the user through the user account;
in this specification, the multiple transactions that need to be executed concurrently may include any type of transactions, where there is no strict order of executing the transactions, and the transactions can be processed and executed concurrently;
For example, if one transaction is executed, the execution result of the other transaction is required to be input, the two transactions cannot be processed and executed concurrently, otherwise, if the two transactions do not have the data dependency relationship described above, the two transactions can be processed and executed concurrently.
When the method is implemented, a plurality of transactions which need to be executed concurrently can be manually appointed by a user in the process of initiating the transactions through a user account;
for example, in one embodiment shown, after a user initiates numerous transactions, multiple transactions that need to be performed concurrently may be manually specified based on demand through a user interface provided by the client.
In practical application, multiple transactions that need to be executed concurrently can also be dynamically confirmed by the client based on preset concurrent processing rules.
The specific content of the concurrent processing rule is not particularly limited in the present specification, and in practical application, a person skilled in the art can flexibly define the concurrent processing rule based on the actual concurrent processing requirement;
for example, in one embodiment shown, the concurrency execution rule may be a rule of "concurrency execution for transactions of the same transaction type";
In this case, the client may further check specific transaction types of the transactions after receiving numerous transactions initiated by the user, and then determine a plurality of transactions having the same transaction type as transactions to be executed concurrently, e.g., if the transaction types supported by the blockchain include a transaction type for creating an account and a transaction type for transferring, the client may determine a transaction type for creating an account and a transaction type for transferring among the numerous transactions initiated by the user, and then determine a plurality of transactions corresponding to the two transaction types as transactions to be executed concurrently.
Of course, in practical applications, the above-mentioned concurrent processing rule may be a rule of "concurrent execution for transactions of the same transaction type", or may be another form of concurrent processing rule, and is not listed in the present specification.
In this specification, a set of Nonce lists may be maintained in the blockchain, in which Nonce lists corresponding to several user accounts may be included. In the above-described Nonce list, a plurality of Nonce records may be included. And each Nonce record may include an auxiliary parameter and a Nonce value.
That is, in the present specification, the Nonce record may specifically be a composite structure composed of a plurality of fields including a Nonce value.
When the method is implemented, an operator of the blockchain can allocate an available Nonce value for each user account in advance, set a corresponding auxiliary field for each Nonce value on the basis of the allocated available Nonce value, and construct a plurality of Nonce records based on each available Nonce value and the corresponding auxiliary field;
And finally, the Nonce list set can be created based on the Nonce list constructed for each user account, the Nonce list set is issued to the blockchain, the node equipment in the blockchain performs consensus processing, and after the consensus is passed, the Nonce list set is stored in distributed data of the blockchain for storage and maintenance.
In practical applications, the auxiliary parameters may specifically include any form of parameters that the operator of the blockchain expands based on actual requirements based on Nonce values available to the user account, or combinations of parameters.
That is, in practical applications, the number and types of parameters that can be included in the auxiliary parameters may not be fixed, any one of the parameters may be extended based on the Nonce value to serve as the auxiliary parameter, or a plurality of parameters may be extended based on the Nonce value to serve as the auxiliary parameter.
In the present disclosure, the auxiliary parameter in the Nonce record in the Nonce list may specifically include a packet identifier, where the packet identifier is specifically used to indicate a packet in which a transaction is located, and transactions belonging to the same packet are transactions that need to be executed concurrently, where the Nonce list in the Nonce list set corresponding to each user account may each include a plurality of Nonce records with the same packet identifier, so that when a user initiates a plurality of transactions that need to be executed concurrently through a personal user account, a client may obtain, from the Nonce list, a Nonce record with the same packet identifier for the plurality of transactions.
In one embodiment shown, the auxiliary parameters in the Nonce records in the Nonce list may further include an index identifier (such as an index number) of the Nonce record in addition to the packet identifier. The index identifier is specifically used for indicating the sequence and the position of the Nonce recorded in the Nonce list.
For example, referring to fig. 3, taking the auxiliary parameter in the Nonce record in the Nonce list and including the packet identifier and the Index identifier of the Nonce record as an example, the Nonce record may specifically be a composite structure formed by fields such as a Group ID (packet identifier), index (Index identifier), value (Nonce Value), and the like. In this case, the set of Nonce lists maintained in the blockchain may be represented in the form as shown in fig. 3.
In practical applications, the method can be flexibly set based on the actual requirements of operators of the blockchain (for example, the operators can control the specific value ranges of the Nonce values and the auxiliary parameters through the occupied byte lengths);
for example, in one implementation, the Nonce record may specifically be a 16-byte composite structure, where 4 bytes represent the Group ID (packet identifier), 4 bytes represent the Index (Index identifier), and 8 bytes represent the Value (Nonce Value).
By expanding a plurality of parameters to be used as auxiliary parameters on the basis of the Nonce value, the Nonce records in the Nonce table can cover rich value fields, so that the probability of collision of a plurality of Nonce records in the Nonce table due to the same value can be reduced;
For example, the probability of collision that two Nonce records with a total length of 12 bytes, which are composed of a Group ID (packet identification) and a Value (Nonce Value), are identical is much lower than the probability that two Nonce records with a total length of 16 bytes, which are composed of a Group ID (packet identification), an Index (Index identification) and a Value (Nonce Value), are identical.
Referring to fig. 4, when a user invokes multiple threads enabled by a client on the client, and initiates multiple transactions to be executed concurrently through a personal user account, the client may obtain available Nonce records with the same grouping identifier for the multiple transactions respectively (i.e. add the same grouping identifier for the multiple transactions) from the Nonce list corresponding to the user account maintained on the blockchain.
Because the Nonce list comprises a plurality of Nonce records, the multithreading started by the client can acquire available Nonce records from the Nonce list for the initiated transaction, and a user can use an individual user account to initiate a plurality of transactions simultaneously through the client. For example, the Nonce list includes 4 Nonce records, and then the user may initiate 4 transactions simultaneously through the user account.
Based on this, in practical application, the operator of the blockchain can flexibly specify the number of the Nonce records contained in the Nonce list based on the performance of the client, or the client can actively report the performance of the client to the blockchain system, and the operator of the blockchain flexibly specifies the number of the Nonce records contained in the Nonce list;
for example, assuming a performance decision of a client that can launch 4 threads simultaneously to initiate a transaction, 4 available Nonce records can be added to the Nonce list when creating the above-described Nonce list for a user account logging into the client.
In one embodiment shown, the client may "download" the above-described Nonce list maintained on the blockchain to the local for maintenance in advance during the initialization phase;
For example, when implemented, the client initiates a run or when a connection with a node device in the blockchain is disconnected and needs to be reconnected, an initialization operation is needed. In this case, when the client receives an initialization instruction (such as a start instruction, a reconnection instruction, etc.) triggered by the user for the client, a connection may be established with a node device in the blockchain in response to the initialization instruction, and the distributed database of the blockchain may be accessed based on the connection, so as to obtain the Nonce list maintained in the blockchain, and then the obtained Nonce list may be stored and maintained locally.
In this case, when the client needs to obtain available Nonce records with the same packet identifier for the multiple transactions, the available Nonce records may be obtained directly from the locally maintained Nonce list.
By the method, data interaction with node equipment on the blockchain can be avoided, data is read from the Nonce list maintained in the blockchain, an available Nonce record is obtained for the target transaction, and processing performance of the client can be improved.
In this case, if the user initiates a transaction through the user account, there are multiple groups of transactions that need to be executed concurrently in the multiple groups of transactions, and the client can further confirm the execution sequence of the multiple groups of transactions;
the execution sequence of the multiple groups of transactions may be defined manually by a user, or may be dynamically confirmed by a client based on an actual business process, which is not specifically limited in the present specification.
Further, after determining the execution sequence of the multiple sets of transactions, the client needs to ensure that the packet identifier added for the multiple sets of transactions contained in the multiple sets of transactions is capable of indicating the execution sequence of the multiple sets of transactions, in addition to adding the same packet identifier for the multiple sets of transactions contained in the multiple sets of transactions;
In this case, the Nonce list needs to include a plurality of Nonce records having the same packet identifier and different packet identifiers of the transaction packets having the same value, that is, the packet identifiers of the transactions in the same transaction packet are kept the same, and the transaction packet identifiers of the transaction packets having the same value are kept a certain difference, so that it is ensured that the same packet identifier is obtained from the Nonce list for the transactions in the plurality of transaction packets, and the packet identifiers indicate available Nonce records of the execution sequence of the plurality of transaction packets. The method comprises the steps of utilizing group identifiers to indicate the execution sequence of a plurality of groups of transactions, and specifically, adding the group identifiers which keep monotonically increasing in value for the plurality of groups of transactions;
For example, assume that if there are two sets of transactions { A1, B1, C1} and { A2, B2, C2} that the user initiates through the user account, the included transactions need to be performed concurrently, in which case the client may obtain an available Nonce record for the transactions A1, B1, C1 containing the same packet identity 1 from the above-described Nonce list, obtain an available Nonce record for the transactions A2, B2, C2 containing the same packet identity 2, and represent the transaction packet { A1, B1, C1} by incrementing the packet identity value, which needs to be performed prior to the transaction packet { A2, B2, C2 }. That is, the execution order of the transaction groups is consistent with the order of the added transaction identifications from small to large.
In one embodiment shown, for the above-described Nonce list maintained locally by the client, a flag indicating "available" may be added by the client for each Nonce record in the Nonce list by default.
For example, referring to fig. 5, still taking the above-mentioned Nonce record as the composite structure composed of 16 bytes shown in fig. 4 as an example, an Available field of 1 byte may be extended for the Nonce record in the Nonce list, where when the value of the Available field is T, it indicates that the Nonce record is "Available", and when the value of the Available field is F, it indicates that the Nonce record is "unavailable".
In one aspect, when a thread enabled on a client obtains available Nonce records for a plurality of transactions initiated by a user from the above-described Nonce list maintained locally by the client, a plurality of Nonce records with the same packet identity may be randomly selected as available Nonce records from all of the Nonce records marked as "available" in the above-described Nonce list.
On the other hand, when the thread enabled on the client acquires the available Nonce record from the Nonce list locally maintained by the client for a plurality of transactions initiated by the user, the mark carried by the available Nonce record may be modified and updated, and a mark indicating "unavailable" is newly added to the available Nonce record so as to mark the available Nonce record as unavailable.
In this specification, after the client acquires the available Nonce record for a plurality of transactions that are initiated by the user and need to be executed concurrently, the acquired available Nonce record may be added to the plurality of transactions;
For example, referring to fig. 4, after obtaining the available Nonce record for the transaction, the client may package the transaction body of the transaction and the available Nonce record, and then prompt the user to sign the packaged [ transaction body, nonce record ] integrally based on the held private key, so as to ensure that the Nonce record in the transaction cannot be tampered.
Further, after the client adds the obtained available Nonce record to the plurality of transactions, the client may issue the plurality of transactions to a blockchain;
For example, the client may issue the plurality of transactions to the node device to which the client accesses or broadcast the plurality of transactions in the blockchain, wherein the specific manner in which the client issues the plurality of transactions to the blockchain generally depends on the consensus mechanism employed by the blockchain and is not particularly limited in this specification.
When node equipment in the blockchain receives a transaction issued by a client, firstly, a consensus algorithm adopted in the blockchain can initiate consensus processing for the received transaction;
The consensus algorithm adopted by the blockchain and the consensus processing procedure of the target transaction based on the consensus algorithm are not described in detail in the present specification, and when the technical scheme described in the present specification is reduced to be implemented by a person skilled in the art, reference may be made to the description in the related art.
When the received transaction consensus passes, the node device in the blockchain can further initiate validity detection for the received transaction.
In this specification, the validity detection for the transaction may include at least validity detection for a signature carried by the transaction and replay attack detection for the transaction.
When the method is realized, the node equipment in the blockchain can firstly verify the signature of the received transaction based on the public key corresponding to the private key held by the user, and can determine that the transaction is illegal if the signature of the transaction fails, and the node equipment can directly return a prompt message of failure of executing the transaction to the user through the client.
If the signature verification of the transaction passes, the node device may perform replay attack detection on the transaction based on the available Nonce record carried in the target transaction and a Nonce list corresponding to the user account of the user in the blockchain.
On the one hand, referring to fig. 4, the node device may match the Nonce records carried in the transaction one by one from the Nonce records in the Nonce list corresponding to the user account maintained on the blockchain, and if the Nonce record carried in the transaction matches any one of the target Nonce records in the Nonce list, it may determine that the transaction passes the replay attack detection, and in this case, the node device may accept the transaction.
On the other hand, after the transaction is accepted, the node device can monotonically increase the Nonce value in the target Nonce record based on a preset amplitude, wherein the preset amplitude can be customized based on actual requirements;
For example, the preset amplitude may still be 1, and the node device may increase the Nonce value in the target Nonce record matched in the Nonce list by 1 after the transaction is accepted.
In this way, if a transaction is repeatedly issued again in the blockchain after being accepted, the repeatedly issued transaction will not be accepted again in the replay attack detection stage because the Nonce value in the target Nonce record in the Nonce list that matches the available Nonce record carried by the transaction has been updated, and thus the replay attack by repeatedly issuing the transaction in the blockchain will not be effectively avoided.
In one embodiment shown, a notification message that the transaction was accepted may be returned to the client after the transaction was accepted, and the client may determine whether a notification message that the transaction returned by the node device was accepted is received after issuing a transaction initiated by the user through the personal user account to the blockchain.
If it is confirmed that the notification message that the transaction was accepted is received:
In one aspect, the Nonce value in the available Nonce record obtained for the initiated transaction in the locally maintained Nonce list at the client may be monotonically increased based on a preset magnitude, e.g., the Nonce value in the available Nonce record is also self-increased by 1 to maintain content synchronization with the Nonce list maintained in the blockchain.
On the other hand, since the Available Nonce record has been marked as "unavailable" before, the value of the Available Nonce field of the Available Nonce record may be set to "T" after monotonically increasing the Nonce value in the Available Nonce record based on the preset amplitude.
In this description, when all transactions sent by the client and initiated by the user are accepted, the node device in the blockchain can further determine whether multiple transactions with the same grouping identifier exist in the accepted transactions sent by the client;
If the accepted transaction has a plurality of transactions with the same grouping identification, the node equipment in the blockchain can execute the plurality of transactions simultaneously, and after the execution of the plurality of transactions is finished, the plurality of transactions and the execution results of the plurality of transactions are stored in a distributed database of the blockchain.
Correspondingly, if the plurality of groups of transactions contained in the transaction sent by the client side have the same group identification, the plurality of groups of transactions are sent by the client side; in this case, the node device in the blockchain may execute the multiple groups of transactions sequentially according to the transaction sequence indicated by the transaction identifiers of the multiple groups of transactions after receiving the transaction with the added packet identifier sent by the client and determining that the multiple transactions with the same packet identifier of the multiple transactions included exist in the transaction sent by the client.
For example, there are two sets of transactions { A1, B1, C1} and { A2, B2, C2} that the user initiates through the user account, and the client adds an available Nonce record containing the same group identification 1 for transactions A1, B1, C1 and an available Nonce record containing the same group identification 2 for transactions A2, B2, C2, in which case the node devices in the blockchain will concurrently execute transactions A1, B2, C2 in the transaction group with group identification 1 first and then concurrently execute transactions A2, B2, C2 in the transaction group with group identification 2 after the transactions A1, B1, C2 in the above transaction group with group identification 1 are accepted.
In the scheme, the technical scheme that the node equipment in the blockchain is triggered to execute the plurality of transactions with the same grouping identifier in parallel by adding the same grouping identifier for the plurality of transactions is combined with replay attack detection for the transactions, so that the transaction concurrency capability of a single account on a client side can be further improved on the basis of avoiding replay attack for the transactions.
Corresponding to the above method embodiments, the present specification also provides embodiments of a blockchain-based transaction processing device. The embodiments of the blockchain-based transaction processing device of the present specification may be applied to an electronic device. The apparatus embodiments may be implemented by software, or may be implemented by hardware or a combination of hardware and software. Taking software implementation as an example, the device in a logic sense is formed by reading corresponding computer program instructions in a nonvolatile memory into a memory by a processor of an electronic device where the device is located for operation. In terms of hardware, as shown in fig. 6, a hardware structure diagram of an electronic device where the blockchain-based transaction processing device in this specification is located is shown, and in addition to the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 6, the electronic device where the device is located in the embodiment generally may include other hardware according to the actual function of the electronic device, which is not described herein again.
FIG. 7 is a block diagram of a blockchain-based transaction processing device shown in an exemplary embodiment of the present description.
Referring to fig. 7, the blockchain-based transaction processing device 70 may be applied to the electronic device shown in fig. 6 and includes an acquisition module 701, an adding module 702 and a publishing module 703.
The acquisition module 701 is used for respectively acquiring available Nonce records with the same grouping identifier from a Nonce list corresponding to a user account and maintained in a blockchain for a plurality of transactions which are initiated by a user through the user account and need to be executed concurrently, wherein the Nonce list comprises a plurality of Nonce records;
An adding module 702, configured to add the obtained available Nonce records to the plurality of transactions respectively;
A publishing module 703 publishes the plurality of transactions to the blockchain, so that node devices in the blockchain match available Nonce records in the transactions published by the client with Nonce records in the Nonce list, accept the transactions when the available Nonce records match any target Nonce record in the Nonce list, and concurrently execute a plurality of transactions with the same group identifier in the accepted transactions.
In this embodiment, the multiple transactions that need to be executed concurrently include multiple transactions with the same transaction type.
In this embodiment, the obtaining module 701 further:
if a plurality of groups of transactions which are required to be executed concurrently exist in the transactions initiated by the user through the user account, determining the execution sequence of the plurality of groups of transactions;
And respectively acquiring available Nonce records with the same grouping identifiers for the multiple groups of transactions from the Nonce list, wherein the grouping identifiers indicate the execution sequence of the multiple groups of transactions.
In this embodiment, the obtaining module 701 further:
Before available Nonce records with the same grouping identifier are respectively obtained from the Nonce list for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently, responding to an initialization instruction aiming at the client, obtaining the Nonce list maintained in the blockchain, and maintaining the obtained Nonce list locally at the client;
and respectively acquiring available Nonce records with the same grouping identifier for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently from the Nonce list locally maintained by the client.
In this embodiment, the Nonce record in the Nonce list maintained locally by the client is marked as available by default;
The acquisition module 701:
and respectively acquiring available Nonce records with the same grouping identifier from the Nonce list locally maintained by the client, and marking the available Nonce records as unavailable in the Nonce list after the available Nonce records with the same grouping identifier are respectively acquired for a plurality of transactions which are initiated by a user through a user account and need to be concurrently executed.
In this embodiment, the obtaining module 701 further:
Determining whether a notification message returned by the node equipment is received, wherein the notification message is accepted by the transaction;
And if so, monotonously increasing the Nonce value in the available Nonce records based on a preset amplitude, and re-marking the available Nonce records as available in the Nonce list after the monotonously increasing the Nonce value.
In this embodiment, the client is a multi-threaded client, and the number of Nonce records in the Nonce list indicates the transaction concurrency capability of the user account.
In this embodiment, the Nonce record further includes an index identification of the Nonce record.
FIG. 8 is a block diagram of another blockchain-based transaction processing device shown in an exemplary embodiment of the present description.
Referring to fig. 8, the blockchain-based transaction processing device 80 may also be applied to the electronic device shown in fig. 6, and includes a receiving module 801, a second determining module 802, and an executing module 803.
A receiving module 801, configured to receive a transaction initiated by a user through a user account and sent by a client, where the transaction is added with an available Nonce record obtained from a Nonce list corresponding to the user account and maintained in the blockchain, where the Nonce list includes a plurality of Nonce records;
a matching module 802 that matches available Nonce records in the received transaction with Nonce records in a Nonce list corresponding to the user account maintained in the blockchain;
an execution module 803 accepts the transaction if the available Nonce record matches any target Nonce record in the Nonce list, and concurrently executes a plurality of transactions having the same group identification in the accepted transactions.
In the embodiment, the grouping identifiers of the multiple groups of transactions are the same in grouping identifiers of the multiple groups of transactions contained in the transactions sent by the client;
The execution module 803 further:
And if the plurality of groups of transactions with the same grouping identifications of the plurality of groups of transactions are contained in the transactions sent by the client, sequentially executing the plurality of groups of transactions according to the execution sequence indicated by the grouping identifications of the plurality of groups of transactions.
In this embodiment, the execution module 803 further:
Monotonously increasing the Nonce value of any target Nonce record in the Nonce list based on a preset amplitude if the available Nonce record matches any target Nonce record in the Nonce list, and
And returning a notification message that the transaction is accepted to the client.
In this embodiment, the Nonce record further includes an index identification of the Nonce record.
The implementation process of the functions and roles of each module in the above device is specifically shown in the implementation process of the corresponding steps in the above method, and will not be described herein again.
For the device embodiments, reference is made to the description of the method embodiments for the relevant points, since they essentially correspond to the method embodiments. The apparatus embodiments described above are merely illustrative, wherein the modules illustrated as separate components may or may not be physically separate, and the components shown as modules may or may not be physical, i.e., may be located in one place, or may be distributed over a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purposes of the present description. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
The system, apparatus, module or module set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having some function. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or a combination of any of these devices.
Corresponding to the method embodiment described above, the present specification also provides an embodiment of an electronic device. The electronic device includes a processor and a memory for storing machine executable instructions, where the processor and the memory are typically interconnected by an internal bus. In other possible implementations, the device may also include an external interface to enable communication with other devices or components.
In this embodiment, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing:
The method comprises the steps of respectively acquiring available Nonce records with the same grouping identifier for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently from a Nonce list corresponding to the user account and maintained in a blockchain, wherein the Nonce list comprises a plurality of Nonce records;
adding the obtained available Nonce records to the plurality of transactions respectively;
Issuing the multiple transactions to the blockchain, so that node equipment in the blockchain can match available Nonce records in the transactions issued by the client with Nonce records in the Nonce list, accept the transactions when the available Nonce records are matched with any target Nonce record in the Nonce list, and concurrently execute multiple transactions with the same grouping identification in the accepted transactions.
In this embodiment, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing:
if a plurality of groups of transactions which are required to be executed concurrently exist in the transactions initiated by the user through the user account, determining the execution sequence of the plurality of groups of transactions;
And respectively acquiring available Nonce records with the same grouping identifiers for the multiple groups of transactions from the Nonce list, wherein the grouping identifiers indicate the execution sequence of the multiple groups of transactions.
In this embodiment, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing:
Before available Nonce records with the same grouping identifier are respectively obtained from the Nonce list for a plurality of transactions which are initiated by a user through a user account and need to be executed concurrently, responding to an initialization instruction aiming at the client, obtaining the Nonce list maintained in the blockchain, and maintaining the obtained Nonce list locally at the client;
The available Nonce records with the same grouping identifier are respectively obtained from the Nonce list locally maintained by the client for a plurality of transactions which are initiated by a user through a user account and need to be concurrently executed
In this embodiment, the Nonce record in the Nonce list maintained locally by the client is marked as available by default;
By reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing, the processor is caused to:
and respectively acquiring available Nonce records with the same grouping identifier from the Nonce list locally maintained by the client, and marking the available Nonce records as unavailable in the Nonce list after the available Nonce records with the same grouping identifier are respectively acquired for a plurality of transactions which are initiated by a user through a user account and need to be concurrently executed.
In this embodiment, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing:
Determining whether a notification message returned by the node equipment is received, wherein the notification message is accepted by the transaction;
And if so, monotonously increasing the Nonce value in the available Nonce records based on a preset amplitude, and re-marking the available Nonce records as available in the Nonce list after the monotonously increasing the Nonce value.
Corresponding to the above method embodiments, the present specification also provides another embodiment of the electronic device. The electronic device includes a processor and a memory for storing machine executable instructions, where the processor and the memory are typically interconnected by an internal bus. In other possible implementations, the device may also include an external interface to enable communication with other devices or components.
In this embodiment, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing:
Receiving a transaction initiated by a user through a user account sent by a client, wherein the transaction is added with available Nonce records obtained from a Nonce list corresponding to the user account, which is maintained in the blockchain, wherein the Nonce list comprises a plurality of Nonce records;
Matching available Nonce records in the received transaction with Nonce records in a Nonce list corresponding to the user account maintained in the blockchain;
If the available Nonce record is matched with any target Nonce record in the Nonce list, accepting the transaction; and concurrently executing multiple transactions with the same group identification in the accepted transactions.
In the embodiment, the grouping identifiers of the multiple groups of transactions are the same in grouping identifiers of the multiple groups of transactions contained in the transactions sent by the client;
By reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing, the processor is caused to:
And if the plurality of groups of transactions with the same grouping identifications of the plurality of groups of transactions are contained in the transactions sent by the client, sequentially executing the plurality of groups of transactions according to the execution sequence indicated by the grouping identifications of the plurality of groups of transactions.
In this embodiment, the processor is caused to, by reading and executing machine-executable instructions stored by the memory corresponding to control logic for blockchain-based transaction processing:
Monotonously increasing the Nonce value of any target Nonce record in the Nonce list based on a preset amplitude if the available Nonce record matches any target Nonce record in the Nonce list, and
And returning a notification message that the transaction is accepted to the client.
Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This specification is intended to cover any variations, uses, or adaptations of the specification following, in general, the principles of the specification and including such departures from the present disclosure as come within known or customary practice within the art to which the specification pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the specification being indicated by the following claims.
It is to be understood that the present description is not limited to the precise arrangements and instrumentalities shown in the drawings, which have been described above, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.
The foregoing description of the preferred embodiments is provided for the purpose of illustration only, and is not intended to limit the scope of the disclosure, since any modifications, equivalents, improvements, etc. that fall within the spirit and principles of the disclosure are intended to be included within the scope of the disclosure.

Claims (30)

1.一种基于区块链的交易处理方法,应用于客户端,包括:1. A transaction processing method based on blockchain, applied to a client, comprising: 响应于用户通过用户账户发起的需要并发执行的多笔交易,从区块链维护的与所述用户账户对应的Nonce列表中,为所述多笔交易分别获取分组标识相同的可用的Nonce记录;其中,所述Nonce记录包括分组标识和Nonce值,所述Nonce列表包括多条Nonce记录;In response to multiple transactions that need to be executed concurrently initiated by a user through a user account, obtain available Nonce records with the same group identifier for the multiple transactions from a Nonce list corresponding to the user account maintained by the blockchain; wherein the Nonce record includes a group identifier and a Nonce value, and the Nonce list includes multiple Nonce records; 将获取到的可用Nonce记录分别添加至所述多笔交易;Add the obtained available Nonce records to the multiple transactions respectively; 将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。The multiple transactions are published to the blockchain, so that the node device in the blockchain matches the available Nonce record in the transaction published by the client with the Nonce record in the Nonce list, and accepts the transaction when the available Nonce record matches any target Nonce record in the Nonce list, and concurrently executes multiple transactions with the same grouping identifier in the accepted transactions. 2.根据权利要求1所述的方法,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表。2. According to the method of claim 1, the blockchain maintains a Nonce list set; the Nonce list set includes Nonce lists corresponding to several user accounts. 3.根据权利要求1或2所述的方法,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。3. According to the method of claim 1 or 2, the multiple transactions that need to be executed concurrently include multiple transactions of the same transaction type. 4.根据权利要求1所述的方法,还包括:4. The method according to claim 1, further comprising: 如果所述多笔交易中包含需要并发执行的多组交易,确定所述多组交易的执行顺序;If the multiple transactions include multiple groups of transactions that need to be executed concurrently, determining the execution order of the multiple groups of transactions; 从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。Obtain available Nonce records from the Nonce list for the multiple groups of transactions, each of which has the same group identifier and indicates an execution order of the multiple groups of transactions. 5.根据权利要求1所述的方法,所述从区块链维护的与所述用户账户对应的Nonce列表中,为所述多笔交易分别获取分组标识相同的可用的Nonce记录之前,还包括:5. The method according to claim 1, before obtaining available Nonce records with the same grouping identifier for the multiple transactions from the Nonce list corresponding to the user account maintained in the blockchain, further comprises: 响应于针对所述客户端的初始化指令,获取所述区块链中维护的与所述用户账户对应的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;In response to an initialization instruction for the client, obtain the Nonce list corresponding to the user account maintained in the blockchain, and maintain the obtained Nonce list locally on the client; 从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录,包括:Obtaining available Nonce records with the same grouping identifier from the Nonce list for multiple transactions initiated by the user through the user account that need to be executed concurrently, respectively, including: 从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。From the Nonce list maintained locally by the client, available Nonce records with the same grouping identifier are obtained for multiple transactions initiated by the user through the user account that need to be executed concurrently. 6.根据权利要求5所述的方法,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;6. According to the method of claim 5, the Nonce record in the Nonce list locally maintained by the client is marked as available by default; 所述方法还包括:The method further comprises: 从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。After respectively obtaining available Nonce records with the same grouping identifier for multiple transactions initiated by the user through the user account and requiring concurrent execution from the Nonce list locally maintained by the client, the available Nonce records are marked as unavailable in the Nonce list. 7.根据权利要求6所述的方法,还包括:7. The method according to claim 6, further comprising: 确定是否接收到区块链的节点设备返回的所述多笔交易中的任一交易被受理的通知消息;Determining whether a notification message returned by a node device of the blockchain indicating that any of the multiple transactions is accepted is received; 如果是,基于预设幅度对所述客户端本地维护的所述Nonce列表中所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。If yes, the Nonce value in the available Nonce record in the Nonce list locally maintained by the client is monotonically increased based on a preset amplitude, and after the Nonce value is monotonically increased, the available Nonce record is re-marked as available in the Nonce list. 8.根据权利要求1所述的方法,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。8. The method according to claim 1, wherein the client is a multi-threaded client; and the number of Nonce records in the Nonce list indicates the transaction concurrency capability of the user account. 9.根据权利要求1或2所述的方法,所述Nonce记录还包括:所述Nonce记录的索引标识。9. According to the method of claim 1 or 2, the Nonce record further includes: an index identifier of the Nonce record. 10.一种基于区块链的交易处理方法,应用于区块链中的节点设备,包括:10. A transaction processing method based on blockchain, applied to a node device in blockchain, comprising: 接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce记录包括分组标识和Nonce值,所述Nonce列表包括多条Nonce记录;Receiving a transaction initiated by a user through a user account sent by a client; wherein the transaction is added with an available Nonce record obtained from a Nonce list corresponding to the user account maintained in the blockchain; wherein the Nonce record includes a group identifier and a Nonce value, and the Nonce list includes multiple Nonce records; 将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;Matching the available Nonce record in the received transaction with the Nonce record in the Nonce list corresponding to the user account maintained in the blockchain; 如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。If the available Nonce record matches any target Nonce record in the Nonce list, the transaction is accepted; and multiple transactions with the same grouping identifier in the accepted transactions are concurrently executed. 11.根据权利要求10所述的方法,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表。11. According to the method of claim 10, the blockchain maintains a Nonce list set; the Nonce list set includes Nonce lists corresponding to several user accounts. 12.根据权利要求10所述的方法,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;12. The method according to claim 10, wherein the transactions sent by the client include multiple groups of transactions having the same group identifiers of the multiple transactions included therein; the group identifiers in the available Nonce records added by the client for the multiple groups of transactions indicate the execution order of the multiple groups of transactions; 所述方法还包括:The method further comprises: 如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。If there are multiple groups of transactions with the same grouping identifiers of the multiple transactions included in the transactions sent by the client, the multiple groups of transactions are sequentially executed according to the execution order indicated by the grouping identifiers of the multiple groups of transactions. 13.根据权利要求10所述的方法,还包括:13. The method according to claim 10, further comprising: 如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配, 基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,If the available Nonce record matches any target Nonce record in the Nonce list, monotonically increasing the Nonce value of the target Nonce record based on a preset amplitude; and 向所述客户端返回所述交易被受理的通知消息。A notification message that the transaction is accepted is returned to the client. 14.根据权利要求10所述的方法,所述Nonce记录还包括:所述Nonce记录的索引标识。14. The method according to claim 10, wherein the Nonce record further comprises: an index identifier of the Nonce record. 15.一种基于区块链的交易处理装置,应用于客户端,包括:15. A transaction processing device based on blockchain, applied to a client, comprising: 获取模块,响应于用户通过用户账户发起的需要并发执行的多笔交易,从区块链维护的与所述用户账户对应的Nonce列表中,为所述多笔交易分别获取分组标识相同的可用的Nonce记录;其中,所述Nonce记录包括分组标识和Nonce值,所述Nonce列表包括多条Nonce记录;an acquisition module, in response to multiple transactions initiated by a user through a user account that need to be executed concurrently, acquiring available Nonce records with the same group identifier for the multiple transactions from a Nonce list corresponding to the user account maintained by the blockchain; wherein the Nonce record includes a group identifier and a Nonce value, and the Nonce list includes multiple Nonce records; 添加模块,将获取到的可用Nonce记录分别添加至所述多笔交易;An adding module is used to add the obtained available Nonce records to the multiple transactions respectively; 发布模块,将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将所述客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。The publishing module publishes the multiple transactions to the blockchain, so that the node device in the blockchain matches the available Nonce record in the transaction published by the client with the Nonce record in the Nonce list, and accepts the transaction when the available Nonce record matches any target Nonce record in the Nonce list, and concurrently executes multiple transactions with the same grouping identifier in the accepted transactions. 16.根据权利要求15所述的装置,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表。16. The apparatus according to claim 15, wherein the blockchain maintains a Nonce list set; the Nonce list set includes Nonce lists corresponding to a number of user accounts. 17.根据权利要求15或16所述的装置,所述需要并发执行的多笔交易,包括交易类型相同的多笔交易。17. The device according to claim 15 or 16, wherein the multiple transactions that need to be executed concurrently include multiple transactions of the same transaction type. 18.根据权利要求15所述的装置,所述获取模块进一步:18. The device according to claim 15, wherein the acquisition module further: 如果所述多笔交易中包含需要并发执行的多组交易,确定所述多组交易的执行顺序;If the multiple transactions include multiple groups of transactions that need to be executed concurrently, determining the execution order of the multiple groups of transactions; 从所述Nonce列表中为所述多组交易分别获取分组标识相同,并且所述分组标识指示所述多组交易的执行顺序的可用Nonce记录。Obtain available Nonce records from the Nonce list for the multiple groups of transactions, each of which has the same group identifier and indicates an execution order of the multiple groups of transactions. 19.根据权利要求15所述的装置,所述获取模块进一步:19. The device according to claim 15, wherein the acquisition module further: 所述从区块链维护的与所述用户账户对应的Nonce列表中,为所述多笔交易分别获取分组标识相同的可用的Nonce记录之前,响应于针对所述客户端的初始化指令,获取所述区块链中维护的与所述用户账户对应的所述Nonce列表,并将获取到的所述Nonce列表在所述客户端本地进行维护;Before respectively obtaining available Nonce records with the same grouping identifier for the multiple transactions from the Nonce list corresponding to the user account maintained in the blockchain, in response to an initialization instruction for the client, obtaining the Nonce list corresponding to the user account maintained in the blockchain, and maintaining the obtained Nonce list locally on the client; 从所述Nonce列表中为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录,包括:Obtaining available Nonce records with the same grouping identifier from the Nonce list for multiple transactions initiated by the user through the user account that need to be executed concurrently, respectively, including: 从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录。From the Nonce list maintained locally by the client, available Nonce records with the same grouping identifier are obtained for multiple transactions initiated by the user through the user account that need to be executed concurrently. 20.根据权利要求19所述的装置,所述客户端本地维护的所述Nonce列表中的Nonce记录默认被标记为可用;20. The apparatus according to claim 19, wherein the Nonce record in the Nonce list locally maintained by the client is marked as available by default; 所述获取模块进一步:从所述客户端本地维护的所述Nonce列表中,为用户通过用户账户发起的需要并发执行的多笔交易分别获取分组标识相同的可用Nonce记录之后,在所述Nonce列表中将所述可用Nonce记录标记为不可用。The acquisition module further: after respectively acquiring available Nonce records with the same grouping identifier for multiple transactions initiated by the user through the user account and requiring concurrent execution from the Nonce list locally maintained by the client, the available Nonce records are marked as unavailable in the Nonce list. 21.根据权利要求20所述的装置,所述获取模块进一步:21. The device according to claim 20, wherein the acquisition module further: 确定是否接收到区块链的节点设备返回的所述多笔交易中的任一交易被受理的通知消息;Determining whether a notification message returned by a node device of the blockchain indicating that any of the multiple transactions is accepted is received; 如果是,基于预设幅度对所述客户端本地维护的所述Nonce列表中所述可用Nonce记录中的Nonce值进行单调递增,并在所述Nonce值单调递增之后,在所述Nonce列表中将所述可用Nonce记录重新标记为可用。If yes, the Nonce value in the available Nonce record in the Nonce list locally maintained by the client is monotonically increased based on a preset amplitude, and after the Nonce value is monotonically increased, the available Nonce record is re-marked as available in the Nonce list. 22.根据权利要求15所述的装置,所述客户端为多线程客户端;所述Nonce列表中的Nonce记录的数量,指示所述用户账户的交易并发能力。22. The device according to claim 15, wherein the client is a multi-threaded client; and the number of Nonce records in the Nonce list indicates the transaction concurrency capability of the user account. 23.根据权利要求15或16所述的装置,所述Nonce记录还包括:所述Nonce记录的索引标识。23. The apparatus according to claim 15 or 16, wherein the Nonce record further comprises: an index identifier of the Nonce record. 24.一种基于区块链的交易处理装置,应用于区块链中的节点设备,包括:24. A transaction processing device based on blockchain, applied to a node device in blockchain, comprising: 接收模块,接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce记录包括分组标识和Nonce值,所述Nonce列表包括多条Nonce记录;A receiving module, receiving a transaction initiated by a user through a user account sent by a client; wherein the transaction is added with an available Nonce record obtained from a Nonce list corresponding to the user account maintained in the blockchain; wherein the Nonce record includes a group identifier and a Nonce value, and the Nonce list includes multiple Nonce records; 匹配模块,将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;A matching module, matching the available Nonce record in the received transaction with the Nonce record in the Nonce list corresponding to the user account maintained in the blockchain; 执行模块,如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。The execution module accepts the transaction if the available Nonce record matches any target Nonce record in the Nonce list; and concurrently executes multiple transactions with the same grouping identifier among the accepted transactions. 25.根据权利要求24所述的装置,所述区块链维护了Nonce列表集合;所述Nonce列表集合包括与若干用户账户对应的Nonce列表。25. The apparatus according to claim 24, wherein the blockchain maintains a Nonce list set; the Nonce list set includes Nonce lists corresponding to a number of user accounts. 26.根据权利要求24所述的装置,所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易;所述客户端为所述多组交易添加的可用Nonce记录中的分组标识指示所述多组交易的执行顺序;26. The device according to claim 24, wherein the transactions sent by the client include multiple groups of transactions having the same group identifiers of the multiple transactions included therein; the group identifiers in the available Nonce records added by the client for the multiple groups of transactions indicate the execution order of the multiple groups of transactions; 所述执行模块进一步:如果所述客户端发送的交易中存在所包含的多笔交易的分组标识相同的多组交易,按照所述多组交易的分组标识所指示的执行顺序,顺序执行所述多组交易。The execution module further: if there are multiple groups of transactions with the same grouping identifiers of the multiple transactions included in the transactions sent by the client, the multiple groups of transactions are sequentially executed according to the execution order indicated by the grouping identifiers of the multiple groups of transactions. 27.根据权利要求24所述的装置,所述执行模块进一步:27. The apparatus according to claim 24, wherein the execution module further: 如果所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配, 基于预设幅度对所述目标Nonce记录的Nonce值进行单调递增;以及,If the available Nonce record matches any target Nonce record in the Nonce list, monotonically increasing the Nonce value of the target Nonce record based on a preset amplitude; and 向所述客户端返回所述交易被受理的通知消息。A notification message that the transaction is accepted is returned to the client. 28.根据权利要求24所述的装置,所述Nonce记录还包括:所述Nonce记录的索引标识。28. The apparatus according to claim 24, wherein the Nonce record further comprises: an index identifier of the Nonce record. 29.一种基于区块链的交易处理电子设备,包括:29. A blockchain-based transaction processing electronic device, comprising: 处理器;processor; 用于存储机器可执行指令的存储器;memory for storing machine-executable instructions; 其中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:Wherein, by reading and executing the machine executable instructions corresponding to the control logic of blockchain-based transaction processing stored in the memory, the processor is prompted to: 响应于用户通过用户账户发起的需要并发执行的多笔交易,从区块链中维护的与用户账户对应的Nonce列表中,为所述多笔交易,分别获取分组标识相同的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;In response to multiple transactions initiated by a user through a user account that need to be executed concurrently, obtain available Nonce records with the same grouping identifier for the multiple transactions from a Nonce list corresponding to the user account maintained in the blockchain; wherein the Nonce list includes multiple Nonce records; and the Nonce record includes a grouping identifier and a Nonce value; 将获取到的可用Nonce记录分别添加至所述多笔交易;Add the obtained available Nonce records to the multiple transactions respectively; 将所述多笔交易发布至所述区块链,以由所述区块链中的节点设备将客户端发布的交易中的可用Nonce记录与所述Nonce列表中的Nonce记录进行匹配,并在所述可用Nonce记录与所述Nonce列表中的任一目标Nonce记录匹配时,受理所述交易,以及并发执行已受理的交易中具有相同分组标识的多笔交易。The multiple transactions are published to the blockchain, so that the node device in the blockchain matches the available Nonce record in the transaction published by the client with the Nonce record in the Nonce list, and accepts the transaction when the available Nonce record matches any target Nonce record in the Nonce list, and concurrently executes multiple transactions with the same grouping identifier in the accepted transactions. 30.一种基于区块链的交易处理电子设备,包括:30. A blockchain-based transaction processing electronic device, comprising: 处理器;processor; 用于存储机器可执行指令的存储器;memory for storing machine-executable instructions; 其中,通过读取并执行所述存储器存储的与基于区块链的交易处理的控制逻辑对应的机器可执行指令,所述处理器被促使:Wherein, by reading and executing the machine executable instructions corresponding to the control logic of blockchain-based transaction processing stored in the memory, the processor is prompted to: 接收客户端发送的用户通过用户账户发起的交易;其中,所述交易被添加了从所述区块链中维护的与所述用户账户对应的Nonce列表中获取到的可用Nonce记录;其中,所述Nonce列表包括多条Nonce记录;所述Nonce记录包括分组标识和Nonce值;Receiving a transaction initiated by a user through a user account sent by a client; wherein the transaction is added with an available Nonce record obtained from a Nonce list corresponding to the user account maintained in the blockchain; wherein the Nonce list includes multiple Nonce records; and the Nonce record includes a group identifier and a Nonce value; 将接收到的交易中的可用Nonce记录,与所述区块链中维护的与所述用户账户对应的Nonce列表中的Nonce记录进行匹配;Matching the available Nonce record in the received transaction with the Nonce record in the Nonce list corresponding to the user account maintained in the blockchain; 如果所述可用Nonce记录,与所述Nonce列表中的任一目标Nonce记录匹配,受理所述交易;以及,并发执行已受理的交易中具有相同分组标识的多笔交易。If the available Nonce record matches any target Nonce record in the Nonce list, the transaction is accepted; and multiple transactions with the same grouping identifier in the accepted transactions are concurrently executed.
CN202011103271.1A 2018-10-25 2018-10-25 Transaction processing method and device based on blockchain, and electronic device Active CN112232817B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011103271.1A CN112232817B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on blockchain, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011103271.1A CN112232817B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on blockchain, and electronic device
CN201811253444.0A CN109598504B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on block chain and electronic equipment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811253444.0A Division CN109598504B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on block chain and electronic equipment

Publications (2)

Publication Number Publication Date
CN112232817A CN112232817A (en) 2021-01-15
CN112232817B true CN112232817B (en) 2024-12-27

Family

ID=65957010

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811253444.0A Active CN109598504B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on block chain and electronic equipment
CN202011103271.1A Active CN112232817B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on blockchain, and electronic device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811253444.0A Active CN109598504B (en) 2018-10-25 2018-10-25 Transaction processing method and device based on block chain and electronic equipment

Country Status (6)

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

Families Citing this family (14)

* 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
CN109598504B (en) * 2018-10-25 2020-09-01 阿里巴巴集团控股有限公司 Transaction processing method and device based on block chain and electronic equipment
CN110175831B (en) * 2019-04-23 2023-09-29 创新先进技术有限公司 Credit transfer method and device based on blockchain and electronic equipment
CN110070445B (en) * 2019-04-28 2024-03-01 深圳前海微众银行股份有限公司 Transaction processing method and device based on blockchain system
CN110264348B (en) * 2019-05-07 2021-08-20 北京奇艺世纪科技有限公司 Processing method, device and storage medium for transaction uplink
CN110264354B (en) * 2019-05-31 2020-09-01 阿里巴巴集团控股有限公司 Method and device for creating block chain account and verifying block chain transaction
US11108545B2 (en) 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions
CN113421073A (en) * 2019-08-30 2021-09-21 创新先进技术有限公司 Method and apparatus for concurrently executing transactions in a blockchain
CN110796545B (en) * 2019-10-25 2024-03-29 杭州趣链科技有限公司 Block chain transaction batch processing method, equipment and storage medium
CN112202564B (en) * 2020-09-14 2022-09-20 成都质数斯达克科技有限公司 Transaction transfer method and device, electronic equipment and readable storage medium
CN113225368B (en) * 2021-02-07 2022-04-19 武汉卓尔信息科技有限公司 Block chain transaction method and device, electronic equipment and storage medium
US11936794B2 (en) * 2021-09-16 2024-03-19 Masterard International Incorporated Method and system for parallel processing of smart contracts in permissioned blockchains
CN114493602B (en) * 2022-04-08 2022-07-22 恒生电子股份有限公司 Block chain transaction execution method and device, electronic equipment and storage medium
CN116634025B (en) * 2023-07-25 2023-12-29 武汉趣链数字科技有限公司 Method, equipment, system and storage medium for determining transaction sequence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815722A (en) * 2016-12-22 2017-06-09 中钞信用卡产业发展有限公司北京智能卡技术研究院 Information processing method and device based on block chain
CN108053211A (en) * 2017-12-27 2018-05-18 北京欧链科技有限公司 Transaction processing method and device based on block chain

Family Cites Families (75)

* 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 (en) * 2014-03-14 2016-01-11 謝宛霖 Cloud instant renting method
EP3183595A1 (en) * 2014-08-22 2017-06-28 Philips Lighting Holding B.V. Localization system comprising multiple beacons and an assignment system
WO2016161073A1 (en) * 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
WO2017004527A1 (en) * 2015-07-02 2017-01-05 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
EP3403213B1 (en) * 2016-01-15 2024-10-23 Enrico Maim Methods and systems implemented in a network architecture with nodes capable of performing message-based transactions
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions
KR20180115768A (en) * 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 Encryption method and system for secure extraction of data from a block chain
JP7083754B2 (en) * 2016-02-23 2022-06-13 エヌチェーン ホールディングス リミテッド Methods and systems for efficient transfer of cryptocurrencies associated with payroll on the blockchain, resulting in automatic payroll methods and systems based on smart contracts
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
US10754334B2 (en) * 2016-05-09 2020-08-25 Strong Force Iot Portfolio 2016, Llc Methods and systems for industrial internet of things data collection for process adjustment in an upstream oil and gas environment
KR101781583B1 (en) 2016-08-31 2017-09-27 서강대학교산학협력단 File management and search system based on block chain and file management and search method
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 (en) * 2016-09-29 2019-05-17 财付通支付科技有限公司 Block chain network, branch node and block chain network application method
CN108075895B (en) 2016-11-15 2020-03-24 深圳银链科技有限公司 Node permission method and system based on block chain
CN110392888A (en) * 2017-01-16 2019-10-29 E·马伊姆 Method and system for executing smart contracts in a secure environment
JP6798604B2 (en) * 2017-02-24 2020-12-09 日本電気株式会社 Information verification system, information verification device, method and program
US20200082361A1 (en) * 2017-03-16 2020-03-12 Hong Kong R&D Centre for Logistics and Supply Chain Management Enabling Technologies Limited System and method for controlling a ledger of transactions
CN106991607B (en) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 Disordered transaction control method based on block chain account model
EP3382616A1 (en) * 2017-03-31 2018-10-03 Siemens Aktiengesellschaft Method and device for computer-assisted provision of a secure digital twin
EP3382629A1 (en) * 2017-03-31 2018-10-03 Siemens Aktiengesellschaft Procedure and time provider for provision of security-protected time values
US20180293547A1 (en) * 2017-04-06 2018-10-11 Jaspreet Randhawa Methods and systems for employment and education verification using blockchain
EP3388994A1 (en) * 2017-04-12 2018-10-17 Siemens Aktiengesellschaft Method and apparatus for computer-assisted testing of a blockchain
US20180308094A1 (en) * 2017-04-19 2018-10-25 Baton Systems, Inc. Time stamping systems and methods
EP3664005B1 (en) * 2017-06-07 2021-12-08 Nchain Holdings Limited Credential generation and distribution method and system for a blockchain network
US20210083852A1 (en) * 2017-06-07 2021-03-18 nChain Holdings Limited Computer-implemented system and method for managing large blocks over 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
EP3655905B1 (en) * 2017-07-17 2021-08-11 Radix DLT Limited Distributed ledger technology
GB201711867D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107688999B (en) 2017-08-11 2020-11-13 杭州溪塔科技有限公司 Block chain-based parallel transaction execution method
CN107678865A (en) * 2017-09-20 2018-02-09 中国银行股份有限公司 The verification method and system of block chain based on transaction packet
GB201715423D0 (en) * 2017-09-22 2017-11-08 Nchain Holdings Ltd Computer-implemented system and method
EP3462313A1 (en) * 2017-09-27 2019-04-03 Siemens Aktiengesellschaft Method and distributed database system for the computer-aided execution of a program code
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
US11042934B2 (en) * 2017-11-13 2021-06-22 Bank Of America Corporation Crypto-machine learning enabled blockchain based profile pricer
CN107993147A (en) * 2017-11-13 2018-05-04 中国银行股份有限公司 The remaining sum control method and device of hot spot account
US20190164150A1 (en) * 2017-11-29 2019-05-30 Bank Of America Corporation Using Blockchain Ledger for Selectively Allocating Transactions to User Accounts
CN107943976B (en) * 2017-11-29 2022-02-25 中国银行股份有限公司 Account-based hot spot transaction identification method and system in massive transaction logs
US10567156B2 (en) * 2017-11-30 2020-02-18 Bank Of America Corporation Blockchain-based unexpected data detection
US12130706B2 (en) * 2017-12-14 2024-10-29 International Business Machines Corporation Redundancy reduction in blockchains
US11678615B2 (en) * 2018-01-11 2023-06-20 Lancium Llc Method and system for dynamic power delivery to a flexible growcenter using unutilized energy sources
JP6897973B2 (en) * 2018-02-15 2021-07-07 株式会社アクセル Server equipment, processing system, processing method and processing program
EP3777018B1 (en) * 2018-03-29 2024-06-12 Telefonaktiebolaget LM Ericsson (publ) Technique for computing a block in a blockchain network
CN108282334B (en) * 2018-04-13 2021-04-27 浪潮集团有限公司 A multi-party key agreement device, method and system based on blockchain
US11005664B2 (en) * 2018-04-16 2021-05-11 R3 Ltd. Blockchain post-quantum signature scheme
CN108667632B (en) 2018-04-19 2020-10-30 创新先进技术有限公司 Credit record sharing method and device based on block chain and electronic equipment
CN108805569A (en) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 Transaction processing method and device, electronic equipment based on block chain
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 (en) * 2018-08-09 2019-01-18 玄章技术有限公司 A kind of common recognition motivational techniques of block chain
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 (en) * 2018-10-25 2020-09-01 阿里巴巴集团控股有限公司 Transaction processing method and device based on block chain and electronic equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815722A (en) * 2016-12-22 2017-06-09 中钞信用卡产业发展有限公司北京智能卡技术研究院 Information processing method and device based on block chain
CN108053211A (en) * 2017-12-27 2018-05-18 北京欧链科技有限公司 Transaction processing method and device based on block chain

Also Published As

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

Similar Documents

Publication Publication Date Title
CN112232817B (en) Transaction processing method and device based on blockchain, and electronic device
CN111782275B (en) Transaction processing method and device based on blockchain and electronic equipment
CN111899103B (en) Transaction processing method and device based on blockchain and electronic equipment
CN111782724B (en) Transaction processing method and device based on blockchain and electronic equipment
CN112767158B (en) Transaction execution method and device based on blockchain, and electronic device
CN109146679B (en) Intelligent contract calling method and device based on block chain and electronic equipment
CN108683630B (en) Cross-block-chain authentication method and device and electronic equipment
CN108492180B (en) Asset management method and device and electronic equipment
CN108335206B (en) Asset management method and device and electronic equipment
CN108416675A (en) Assets management method and device, electronic equipment
CN110046900B (en) Invoice revocation method and device based on block chain and electronic equipment

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40049147

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20240913

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Applicant after: Ant Chain Technology Co.,Ltd.

Country or region after: Singapore

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

Applicant before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
OSZAR »