IP Library Granted Patent US 12,602,255
Granted Patent B2
US 12,602,255 · App. 18/276,714 · Granted Apr 14, 2026

Transaction method and apparatus with fixed execution order

Inventor: Kaikai Feng (Beijing, CN)
Assignee: Digital Currency Institute, The People's Bank of China
G06F9/5038G06F2209/5011
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,602,255
App. No.
18/276,714
Filed
Aug 10, 2023
Granted
Apr 14, 2026
Kind
B2
Art Unit
2194
USPC
718/102
Abstract

Provided are a transaction method and apparatus with a fixed execution order, and relates to the technical field of computers. According to one alternative implementation, the method includes: transactions to be executed are received, generating an assembled transaction is generated with the transactions having a same identifier based on an assembly rule, and the assembled transaction to a transaction pool is sent; parsing, in response to acquiring a transaction from the transaction pool, the assembled transaction which is acquired to obtain a transaction list; and transaction execution is performed based on an execution order of each transaction in the transaction list.

Claims (72)

1 . A transaction method with a fixed execution order, comprising:

receiving transactions to be executed, generating an assembled transaction with the transactions having a same identifier based on an assembly rule, and sending the assembled transaction to a transaction pool;

parsing, in response to acquiring a transaction from the transaction pool, the assembled transaction which is acquired to obtain a transaction list; and

performing transaction execution based on an execution order of each transaction in the transaction list;

before the receiving transactions to be executed, further comprising:

adding a reserved field for a transaction, the reserved field comprising a transaction identifier, a total number of transactions in a current batch, a transaction serial number of the transaction in the current batch, and a transaction serial number of a subsequent transaction;

wherein the generating an assembled transaction with the transactions having a same identifier comprises:

acquiring a plurality of transactions having the same identifier based on the reserved field of the transaction, and sequencing the plurality of transactions based on the transaction serial number of the transaction in the current batch and the transaction serial number of the transaction after the transaction;

judging the plurality of the acquired transactions based on the total number of the transactions in the current batch, and assembling, upon completion of receiving the transactions in the current batch, data of the plurality of the acquired transactions into a data part; and

generating the assembled transaction by setting a transaction recipient of the data part to a set special address and adding an assembly identifier to the data part.

2 . The transaction method with the fixed execution order according to claim 1 , wherein the generating an assembled transaction with the transactions having a same identifier comprises:

storing a transaction locally, and storing a mapping relationship between the transaction serial number or a hash signature of the transaction in the current batch and transaction data;

acquiring a plurality of transactions having the same identifier based on the reserved field of the transaction, and sequencing transaction serial numbers or hash signatures based on the transaction serial number of the transaction in the current batch and a transaction serial number of a subsequent transaction; and

judging the plurality of the acquired transactions based on the total number of the transactions in the current batch, and assembling, upon completion of receiving the transactions in the current batch, the transaction serial numbers or the hash signatures of the plurality of the acquired transactions in the current batch into a data part; and

generating the assembled transaction by setting a transaction recipient of the data part to a set special address and adding an assembly identifier to the data part.

3 . The transaction method with the fixed execution order according to claim 1 , before the parsing the assembled transaction which is acquired to obtain a transaction list, further comprising:

judging, by means of a hook function, a transaction recipient of a transaction acquired from the transaction pool;

acquiring, in a case that the transaction recipient is a predefined special address, an identifier of the transaction; and

determining, in a case that the identifier of the transaction is an assembly identifier, that the transaction acquired from the transaction pool is the assembled transaction.

4 . The transaction method with the fixed execution order according to claim 1 , wherein the parsing an assembled transaction which is acquired to obtain a transaction list comprises:

parsing the assembled transaction which is acquired based on the assembly rule to obtain the transaction list corresponding to the assembled transaction; or

parsing the assembled transaction which is acquired based on the assembly rule to obtain a transaction serial number list or a hash signature list corresponding to the assembled transaction, and obtaining the transaction list corresponding to the assembled transaction based on the transaction serial number list or the hash signature list.

5 . The transaction method with the fixed execution order according to claim 1 , before the generating an assembled transaction with the transactions having a same identifier, further comprising:

verifying the validity of the received transactions by checking signatures of the received transactions.

6 . An electronic device comprising:

at least one processor; and

a storage apparatus, configured to store one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement following actions:

receiving transactions to be executed, generating an assembled transaction with the transactions having a same identifier based on an assembly rule, and sending the assembled transaction to a transaction pool;

parsing, in response to acquiring a transaction from the transaction pool, the assembled transaction which is acquired to obtain a transaction list; and

performing transaction execution based on an execution order of each transaction in the transaction list;

before the receiving transactions to be executed, further comprising:

adding a reserved field for a transaction, the reserved field comprising a transaction identifier, a total number of transactions in a current batch, a transaction serial number of the transaction in the current batch, and a transaction serial number of a subsequent transaction;

wherein the generating an assembled transaction with the transactions having a same identifier comprises:

acquiring a plurality of transactions having the same identifier based on the reserved field of the transaction, and sequencing the plurality of transactions based on the transaction serial number of the transaction in the current batch and the transaction serial number of the transaction after the transaction;

judging the plurality of the acquired transactions based on the total number of the transactions in the current batch, and assembling, upon completion of receiving the transactions in the current batch, data of the plurality of the acquired transactions into a data part; and

generating the assembled transaction by setting a transaction recipient of the data part to a set special address and adding an assembly identifier to the data part.

7 . The electronic device as claimed in claim 6 , before the parsing the assembled transaction which is acquired to obtain a transaction list, further comprising:

judging, by means of a hook function, a transaction recipient of a transaction acquired from the transaction pool;

acquiring, in a case that the transaction recipient is a predefined special address, an identifier of the transaction; and

determining, in a case that the identifier of the transaction is an assembly identifier, that the transaction acquired from the transaction pool is the assembled transaction.

8 . The electronic device as claimed in claim 6 , wherein the parsing an assembled transaction which is acquired to obtain a transaction list comprises:

parsing the assembled transaction which is acquired based on the assembly rule to obtain the transaction list corresponding to the assembled transaction; or

parsing the assembled transaction which is acquired based on the assembly rule to obtain a transaction serial number list or a hash signature list corresponding to the assembled transaction, and obtaining the transaction list corresponding to the assembled transaction based on the transaction serial number list or the hash signature list.

9 . The electronic device as claimed in claim 6 , before the generating an assembled transaction with the transactions having a same identifier, further comprising:

verifying validity of the received transactions by checking signatures of the received transactions.

10 . A non-transitory computer-readable medium, wherein the computer-readable medium stores a program computer program, the program computer is executable by a processor, implements following actions:

receiving transactions to be executed, generating an assembled transaction with the transactions having a same identifier based on an assembly rule, and sending the assembled transaction to a transaction pool;

parsing, in response to acquiring a transaction from the transaction pool, the assembled transaction which is acquired to obtain a transaction list; and

performing transaction execution based on an execution order of each transaction in the transaction list;

before the receiving transactions to be executed, further comprising:

adding a reserved field for a transaction, the reserved field comprising a transaction identifier, a total number of transactions in a current batch, a transaction serial number of the transaction in the current batch, and a transaction serial number of a subsequent transaction;

wherein the generating an assembled transaction with the transactions having a same identifier comprises:

acquiring a plurality of transactions having the same identifier based on the reserved field of the transaction, and sequencing the plurality of transactions based on the transaction serial number of the transaction in the current batch and the transaction serial number of the transaction after the transaction;

judging the plurality of the acquired transactions based on the total number of the transactions in the current batch, and assembling, upon completion of receiving the transactions in the current batch, data of the plurality of the acquired transactions into a data part; and

generating the assembled transaction by setting a transaction recipient of the data part to a set special address and adding an assembly identifier to the data part.

11 . The electronic device as claimed in claim 10 , wherein the generating an assembled transaction with the transactions having a same identifier comprises:

storing a transaction locally, and storing a mapping relationship between the transaction serial number or a hash signature of the transaction in the current batch and transaction data;

acquiring a plurality of transactions having the same identifier based on the reserved field of the transaction, and sequencing transaction serial numbers or hash signatures based on the transaction serial number of the transaction in the current batch and a transaction serial number of a subsequent transaction; and

judging the plurality of the acquired transactions based on the total number of the transactions in the current batch, and assembling, upon completion of receiving the transactions in the current batch, the transaction serial numbers or the hash signatures of the plurality of the acquired transactions in the current batch into a data part; and

generating the assembled transaction by setting a transaction recipient of the data part to a set special address and adding an assembly identifier to the data part.

12 . The non-transitory computer-readable medium as claimed in claim 10 , wherein the generating an assembled transaction with the transactions having a same identifier comprises:

storing a transaction locally, and storing a mapping relationship between the transaction serial number or a hash signature of the transaction in the current batch and transaction data;

acquiring a plurality of transactions having the same identifier based on the reserved field of the transaction, and sequencing transaction serial numbers or hash signatures based on the transaction serial number of the transaction in the current batch and a transaction serial number of a subsequent transaction; and

judging the plurality of the acquired transactions based on the total number of the transactions in the current batch, and assembling, upon completion of receiving the transactions in the current batch, the transaction serial numbers or the hash signatures of the plurality of the acquired transactions in the current batch into a data part; and

generating the assembled transaction by setting a transaction recipient of the data part to a set special address and adding an assembly identifier to the data part.

13 . The non-transitory computer-readable medium as claimed in claim 10 , before the parsing the assembled transaction which is acquired to obtain a transaction list, further comprising:

judging, by means of a hook function, a transaction recipient of a transaction acquired from the transaction pool;

acquiring, in a case that the transaction recipient is a predefined special address, an identifier of the transaction; and

determining, in a case that the identifier of the transaction is an assembly identifier, that the transaction acquired from the transaction pool is the assembled transaction.

14 . The non-transitory computer-readable medium as claimed in claim 10 , wherein the parsing an assembled transaction which is acquired to obtain a transaction list comprises:

parsing the assembled transaction which is acquired based on the assembly rule to obtain the transaction list corresponding to the assembled transaction; or

parsing the assembled transaction which is acquired based on the assembly rule to obtain a transaction serial number list or a hash signature list corresponding to the assembled transaction, and obtaining the transaction list corresponding to the assembled transaction based on the transaction serial number list or the hash signature list.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: FENG, KAIKAI
To: DIGITAL CURRENCY INSTITUTE, THE PEOPLE'S BANK OF CHINA
Reel/Frame 064559/0797 →
Priority Claims (1)
CN 202110185552.4 · Feb 10, 2021 · national
Continuity (1)
Related Publication 20240118933A1 · Apr 11, 2024
References Cited (33)
US 10169169B1 · Shaikh · 2019 [cited by examiner]
US 11263235B2 · Hrle · 2022 [cited by examiner]
US 20070005560A1 · Dodge · 2007 [cited by examiner]
US 20160035026A1 · Chen · 2016 [cited by applicant]
US 20190147471A1 · McKelvey, Jr. · 2019 [cited by examiner]
US 20200137082A1 · Jimenez-Delgado · 2020 [cited by examiner]
US 20200366463A1 · Falk · 2020 [cited by applicant]
US 20220277027A1 · Arora · 2022 [cited by examiner]
US 20220358119A1 · Shao · 2022 [cited by examiner]
US 20220400020A1 · Davies · 2022 [cited by examiner]
US 20230259938A1 · Shi · 2023 [cited by examiner]
CN 101692737A · 2010 [cited by examiner]
CN 108830599A · 2018 [cited by applicant]
CN 109522098A · 2019 [cited by examiner]
CN 109598598A · 2019 [cited by applicant]
CN 109684050A · 2019 [cited by examiner]
CN 109995850A · 2019 [cited by examiner]
CN 110033363A · 2019 [cited by applicant]
CN 110648125A · 2020 [cited by applicant]
CN 110689434A · 2020 [cited by examiner]
CN 110796545A · 2020 [cited by applicant]
CN 110827146A · 2020 [cited by applicant]
CN 111325928A · 2020 [cited by applicant]
CN 111709748A · 2020 [cited by applicant]
CN 111858773A · 2020 [cited by applicant]
CN 111861754A · 2020 [cited by applicant]
CN 111882322A · 2020 [cited by applicant]
CN 112837156A · 2021 [cited by examiner]
WO 2020119298A1 · 2020 [cited by applicant]
WO WO2020177547A1 · 2020 [cited by examiner]
Riccardo Guidotti, Clustering Individual Transactional Data for Masses of Users. (Year: 2017). [cited by examiner]
The search report of counterpart EP application No. 22752350.3 issued on Dec. 11, 2024. [cited by applicant]
The search report of CN application No. 2021101855524 issue on Apr. 29, 2024. [cited by applicant]