IP Library Granted Patent US 11,323,475
Granted Patent B2
US 11,323,475 · App. 16/464,172 · Granted May 3, 2022

System and method for detecting replay attack

Inventor: Guilu Xie (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L63/1466G06F16/2365
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 11,323,475
App. No.
16/464,172
Granted
May 3, 2022
Kind
B2
Abstract

A computer-implemented method for detecting replay attack comprises: obtaining at least one candidate transaction for adding to a blockchain; verifying if an identification of the candidate transaction exists in an identification database, the identification database comprising a plurality of identifications within a validation range; and in response to determining that the identification does not exist in the identification database, determining that the candidate transaction is not associated with a replay attack.

Claims (56)

1. A computer-implemented method for detecting replay attack without using account nonce, comprising:

obtaining an identification of a candidate transaction for adding to a blockchain, wherein the identification is based at least on a timestamp and transaction information of the candidate transaction;

verifying if the timestamp is within a time validation range and if the identification of the candidate transaction exists in an identification database, the identification database comprising a plurality of identifications of candidate transactions with corresponding timestamps within the time validation range; and

in response to determining that the timestamp is within the time validation range and that the identification does not exist in the identification database, determining that the candidate transaction is not associated with a replay attack.

2. The method of claim 1 , wherein:

the identification comprises a hash value of the candidate transaction.

3. The method of claim 2 , wherein:

the candidate transaction comprises the timestamp and the transaction information; and

obtaining the identification of the candidate transaction for adding to the blockchain comprises receiving the candidate transaction, and generating the hash value based at least on the timestamp and the transaction information as the identification.

4. The method of claim 2 , wherein:

obtaining the identification of the candidate transaction for adding to the blockchain comprises receiving the hash value as the identification; and

the method further comprises: receiving the timestamp and the transaction information, and verifying the identification by verifying the hash value based at least on the timestamp and the transaction information.

5. The method of claim 1 , wherein:

the timestamp is configured by a user terminal that initiated the candidate transaction; and

obtaining the identification of the candidate transaction for adding to the blockchain comprises receiving the identification from the user terminal.

6. The method of claim 1 , wherein:

the timestamp is configured by a blockchain node; and

obtaining the identification of the candidate transaction for adding to the blockchain comprises:

receiving, by the blockchain node, an initiated transaction from a user terminal, the initiated transaction comprising the transaction information;

adding, by the blockchain node, the timestamp to the initiated transaction to obtain the candidate transaction; and

generating, by the blockchain node, the identification based on the candidate transaction including the transaction information and the added timestamp.

7. The method of claim 1 , further comprising:

in response to determining that the timestamp is within the time validation range and the identification does not exist in the identification database, adding the identification to the identification database.

8. The method of claim 1 , further comprising:

in response to determining that the timestamp is within the time validation range and the identification does not exist in the identification database, adding the candidate transaction to a cache for storing candidate transactions.

9. The method of claim 1 , further comprising:

in response to determining that the timestamp is not within the time validation range, returning an error message to a computing device that submitted the candidate transaction or the identification.

10. The method of claim 1 , further comprising:

in response to determining that the identification exists in the identification database, determining that the candidate transaction is associated with the replay attack.

11. The method of claim 1 , further comprising:

performing consensus verification on the candidate transaction.

12. The method of claim 11 , further comprising:

synchronizing the identification database with one or more other blockchain nodes;

verifying if the timestamp is within the time validation range and if the identification of the candidate transaction exists in the synchronized identification database; and

in response to determining that the timestamp is within the time validation range and the identification does not exist in the identification database, determining that the candidate transaction is not associated with the replay attack; or

in response to determining that the identification exists in the synchronized identification database, determining that the candidate transaction is associated with the replay attack.

13. The method of claim 1 , before obtaining the identification of the candidate transaction, further comprising:

synchronizing the identification database with one or more other blockchain nodes.

14. The method of claim 1 , wherein:

the time validation range corresponds to a time period starting from a time point when a newest block of the blockchain was added to the blockchain.

15. The method of claim 1 , wherein:

the time validation range is included in a genesis block of the blockchain.

16. A system for detecting replay attack, comprising one or more processors and one or more non-transitory computer-readable memories coupled to the one or more processors and configured with instructions executable by the one or more processors to cause the system to perform operations comprising:

obtaining an identification of a candidate transaction for adding to a blockchain, wherein the identification is based at least on a timestamp and transaction information of the candidate transaction;

verifying if the timestamp is within a time validation range and if the identification of the candidate transaction exists in an identification database, the identification database comprising a plurality of identifications of candidate transactions with corresponding timestamps within the time validation range; and

in response to determining that the timestamp is within the time validation range and that the identification does not exist in the identification database, determining that the candidate transaction is not associated with a replay attack.

17. The system of claim 16 , wherein:

the identification comprises a hash value of the candidate transaction.

18. The system of claim 16 , wherein:

the time validation range corresponds to a time period starting from a time point when a newest block of the blockchain was added to the blockchain.

19. A non-transitory computer-readable storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining an identification of a candidate transaction for adding to a blockchain, wherein the identification is based at least on a timestamp and transaction information of the candidate transaction;

verifying if the timestamp is within a time validation range and if the identification of the candidate transaction exists in an identification database, the identification database comprising a plurality of identifications of candidate transactions with corresponding timestamps within the time validation range; and

in response to determining that the timestamp is within the time validation range and that the identification does not exist in the identification database, determining that the candidate transaction is not associated with a replay attack.

20. The storage medium of claim 19 , wherein:

the identification comprises a hash value of the candidate transaction.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2019
From: XIE, GUILU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 049287/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2019
From: XIE, GUILU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 049287/0704 →