# US 2021/0241271 A1 · Transaction Processing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241271 A1
- Document ID: US20210241271A1
- Status: Published application
- Kind: A1
- Application number: 15/733,758
- Filed: 2019-04-18
- Published: 2021-08-05
- Earliest claimed: 2018-04-19
- Assignees: VeChain Foundation Limited
- Applicants: VeChain Foundation Limited
- Inventors: Jianliang GU; Bin QIAN; Ziheng ZHOU
- Web page: https://patentgrep.com/patent/US20210241271A1

## CPC

- G06Q 20/223: {based on the use of peer-to-peer networks}
- G06Q 20/401: {Transaction verification}
- G06Q 20/0655: {e-cash managed centrally}
- G06Q 20/085: {involving remote charge determination or related payment systems}
- G06Q 20/381: {Currency conversion}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3829: {involving key management}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 20/4037: {Remote solvency checks}
- G06Q 30/0283: Price estimation or determination
- G06Q 30/06: Buying, selling or leasing transactions
- G06Q 40/03: Credit; Loans; Processing thereof
- H04L 9/3247: {involving digital signatures}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06Q 2220/00: Business processing using cryptography
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06Q: INFORMATION 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of the present disclosure relate to a method, a device, a computer readable storage medium and a computer program product for transaction processing on a blockchain. In the method, the blockchain node for processing a transaction receives a transaction request including a plurality of fields, the plurality of fields including a transaction task field including a plurality of clauses and each clause of the plurality of clauses indicating one of a plurality of tasks of the transaction. The blockchain node processes the plurality of tasks and determines that the transaction is successfully processed only in response to successfully processing all the plurality of tasks. The transaction processing as provided in the present disclosure enables multiple tasks to be processed through a single transaction procedure on the blockchain in an efficient way.

## Claims

### Claim 1

A method of transaction processing, comprising:
receiving, at a blockchain node for processing a transaction in a blockchain, a transaction request comprising a plurality of fields, the plurality of fields comprising a transaction task field, the transaction task field comprising a plurality of clauses and each clause of the plurality of clauses indicating one task of a plurality of tasks of the transaction;
processing the plurality of tasks of the transaction; and
only in response to successfully processing all the plurality of tasks, determining that the transaction is successfully processed.

### Claim 2 (depends on 1)

The method according to claim 1, wherein at least one of the plurality of clauses comprises:
a first information element indicating a recipient address associated with the task,
a second information element indicating an amount of cryptocurrency to be transferred to the recipient address, and
a third information element indicating data for the task indicated by the at least one clause.

### Claim 3 (depends on 2)

The method according to claim 2, wherein processing the plurality of tasks of the transaction comprises:
in response to determining that the first information element is null, deploying a smart contract based on the third information element and transferring the amount indicated in the second information element to the smart contract, the data indicated by the third information element comprising program codes of the smart contract.

### Claim 4 (depends on 2)

The method according to claim 2, wherein processing the plurality of transaction tasks of the transaction comprises:
in response to determining that the first information element indicates a valid address, determining whether the first information element indicates a smart contract address; and
in response to determining that the first information element indicates a smart contract address, executing a smart contract corresponding to the smart contract address based on the third information element and transferring the amount indicated in the second information element to the smart contract, the data indicated by the third information element comprising parameters for executing the smart contract.

### Claim 5 (depends on 4)

The method according to claim 4, wherein processing the plurality of transaction tasks of the transaction further comprises:
in response to determining that the first information element indicates a non-smart-contract address, transferring the amount indicated in the second information element to the non-smart-contract address.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the task indicated by one of the clauses is not dependent on a further task indicated by a further clause of the plurality of clauses.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the task indicated by one of the clauses is dependent on a further task indicated by a further clause of the plurality of clauses such that the task can be implemented only after the further task has been implemented.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the plurality of fields indicate at least one of the following:
an identifier of an associated transaction on which the transaction associated with the transaction request depends,
a transaction nonce,
a reference of a block into which the transaction is to be packaged,
an expiration field to determine expiration time of the transaction,
a coefficient for transaction fee calculation,
a maximum transaction fee that an initiator of the transaction is willing to pay for the transaction,
a reserved field for backward compatibility,
signature information of the initiator of the transaction, and
a last byte of an identifier of a genesis block of the blockchain.

### Claim 9 (depends on 1)

The method according to claim 1, further comprising:
determining whether the plurality of fields indicate an identifier of an associated transaction on which the transaction associated with the transaction request depends;
in response to determining that the plurality of fields indicate the identifier of the associated transaction, determining whether the associated transaction has been processed successfully; and
in response to determining that the associated transaction has been processed successfully, enabling the plurality of tasks of the transaction to be processed.

### Claim 10 (depends on 9)

The method according to claim 9, wherein the transaction is associated with a unique identifier, and the unique identifier of the transaction is generated based on the transaction request and an address of an initiator of the transaction.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the unique identifier of the transaction is generated by hashing the address of the initiator of the transaction and a part of the plurality of fields, the part of the plurality of fields being all fields in the transaction request excluding a field indicating signature information of the initiator of the transaction.

### Claim 12 (depends on 1)

The method according to claim 1, further comprising:
determining a block based on one of the plurality of fields indicating a reference of the block into which the transaction is to be packaged; and
packaging data associated with the processed plurality of tasks of the transaction into the determined block.

### Claim 13 (depends on 1)

The method according to claim 1, further comprising:
in response to reaching a preset block based on the plurality of fields, causing the transaction to expire.

### Claim 14 (depends on 1)

The method according to claim 1, further comprising:
determining a transaction fee for processing the transaction, the transaction fee comprising at least a fixed expense and a non-fixed expense.

### Claim 15 (depends on 14)

The method according to claim 14, wherein the non-fixed expense of the transaction fee is determined based on at least respective types of the plurality of tasks and data for the plurality of tasks, the data for the plurality of tasks being included in the plurality of clauses.

### Claim 16 (depends on 14)

The method according to claim 14, wherein determining the transaction fee comprises:
determining the non-fixed expense based on a first number of bytes of data for the plurality of tasks being equal to a first predefined value and a second number of bytes of data for the plurality of tasks being different from the first predefined value.

### Claim 17 (depends on 1)

A device for transaction processing, comprising:
a memory configured to store one or more programs; and
a processing unit coupled to the memory and configured to execute said one or more programs to cause the device to perform the method according to claim 1.

### Claim 18 (depends on 1)

A non-transitory computer readable storage medium having machine executable instructions stored thereon, the machine executable instructions, when executed, causing a machine to perform the method according to claim 1.

### Claim 19 (depends on 1)

A computer program product being tangibly stored on a non-transient computer readable medium and comprising machine executable instruction, the machine executable instructions, when being executed, causing a machine to perform the method according to of claim 1.
