IP Library Granted Patent US 11,115,189
Granted Patent B2
US 11,115,189 · App. 16/809,251 · Granted Sep 7, 2021

Verifying a blockchain-type ledger

Inventor: Xinying Yang (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L9/0637G06F16/182G06F16/22H04L9/3297H04L2209/38
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,115,189
App. No.
16/809,251
Granted
Sep 7, 2021
Kind
B2
Abstract

Implementations of this disclosure provide verification in a blockchain-type data storage ledger. An example method performed by a server includes receiving a verification request that includes a hash value to be verified; determining a data record of the blockchain-type data storage ledger that corresponds to the hash value to be verified; obtaining a value of a service attribute included in the data record; determining a set of data records of the blockchain-type storage ledger that correspond to the value of the service attribute in the blockchain-type data storage ledger; determining one or more data blocks of the blockchain-type data storage ledger that store data records included in the set of data records; and performing integrity verification on each one of the data blocks that store the data records included in the set of data records.

Claims (77)

1. A computer-implemented method, comprising:

receiving, by a server that stores data using a blockchain-type data storage ledger, a verification request for verifying data that is currently stored in the blockchain-type data storage ledger, wherein the verification request comprises a hash value of a data record of the blockchain-type data storage ledger;

obtaining, by the server, the data record of the blockchain-type data storage ledger that corresponds to the hash value to be verified;

obtaining, by the server, a value of a service attribute included in the data record, wherein the service attribute is an identification field of the data record;

determining, by the server, a set of data records of the blockchain-type data storage ledger that each include the value of the service attribute;

determining, by the server, data blocks of the blockchain-type data storage ledger that store data records included in the set of data records; and

performing, by the server, integrity verification on the data blocks that store the data records included in the set of data records, the performing comprising:

writing, into a shared memory, for each data block of the data blocks that store the data records included in the set of data records, (i) a block height of the data block, and (ii) a verification status of the data block;

creating multiple verification threads for verifying the data blocks;

obtaining each data block having a verification status that indicates that the data block has not been verified, based on the block height and the verification status of the data block according to the shared memory;

using the multiple verification threads to verify, in parallel, the data blocks that have been obtained; and

updating the verification statuses of the data blocks in the shared memory to indicate their current verification statuses.

2. The computer-implemented method of claim 1 , wherein the blockchain-type data storage ledger is a blockchain ledger.

3. The computer-implemented method of claim 1 , wherein the blockchain-type data storage ledger is a blockchain-like ledger that centrally stores data, the method further comprising generating the blockchain-like ledger, wherein the generating comprises:

receiving data records to be stored, wherein the data records include one or more service attributes;

determining hash values of the data records; and

in response to a predetermined block generation condition being reached, determining data records to be written in a new data block, and generating the new data block comprising a hash value of the new data block and the data records, wherein a block height of the new data block monotonically increases based on a sequence of block generation times.

4. The computer-implemented method of claim 3 , wherein the predetermined block generation condition comprises:

a quantity of data records to be stored reaching a quantity threshold; or

a time interval from a last block generation time reaching a time threshold.

5. The computer-implemented method of claim 1 , wherein determining the set of data records of the blockchain-type data storage ledger comprises:

obtaining the set of data records that each include the value of the service attribute by querying one or more previously created indexes associated with the blockchain-type data storage ledger, wherein the previously created indexes comprise mapping relationships between the value of the service attribute and location information of the data records.

6. The computer-implemented method of claim 1 , wherein determining the set of data records of the blockchain-type data storage ledger comprises:

obtaining the set of data records corresponding to the value of the service attribute by traversing data records in the blockchain-type data storage ledger.

7. The computer-implemented method of claim 1 , wherein the verification status being of the data block is unverified, being verified, or verified, wherein the verification status of the data block is updated in the shared memory during verification of the data block and after verification of the data block has been completed.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving, by a server that stores data using a blockchain-type data storage ledger, a verification request for verifying data that is currently stored in the blockchain-type data storage ledger, wherein the verification request comprises a hash value of a data record of the blockchain-type data storage ledger;

obtaining, by the server, the data record of the blockchain-type data storage ledger that corresponds to the hash value to be verified;

obtaining, by the server, a value of a service attribute included in the data record, wherein the service attribute is an identification field of the data record;

determining, by the server, a set of data records of the blockchain-type data storage ledger that each include the value of the service attribute;

determining, by the server, data blocks of the blockchain-type data storage ledger that store data records included in the set of data records; and

performing, by the server, integrity verification on the data blocks that store the data records included in the set of data records, the performing comprising:

writing, into a shared memory, for each data block of the data blocks that store the data records included in the set of data records, (i) a block height of the data block, and (ii) a verification status of the data block;

creating multiple verification threads for verifying the data blocks;

obtaining each data block having a verification status that indicates that the data block has not been verified, based on the block height and the verification status of the data block according to the shared memory;

using the multiple verification threads to verify, in parallel, the data blocks that have been obtained; and

updating the verification statuses of the data blocks in the shared memory to indicate their current verification statuses.

9. The computer-readable medium of claim 8 , wherein the blockchain-type data storage ledger is a blockchain ledger.

10. The computer-readable medium of claim 8 , wherein the blockchain-type data storage ledger is a blockchain-like ledger that centrally stores data, the operations further comprising generating the blockchain-like ledger, wherein the generating comprises:

receiving data records to be stored, wherein the data records include one or more service attributes;

determining hash values of the data records; and

in response to a predetermined block generation condition being reached, determining data records to be written in a new data block, and generating the new data block comprising a hash value of the new data block and the data records, wherein a block height of the new data block monotonically increases based on a sequence of block generation times.

11. The computer-readable medium of claim 10 , wherein the predetermined block generation condition comprises:

a quantity of data records to be stored reaching a quantity threshold; or

a time interval from a last block generation time reaching a time threshold.

12. The computer-readable medium of claim 8 , wherein determining the set of data records of the blockchain-type data storage ledger comprises:

obtaining the set of data records that each include the value of the service attribute by querying one or more previously created indexes associated with the blockchain-type data storage ledger, wherein the previously created indexes comprise mapping relationships between the value of the service attribute and location information of the data records.

13. The computer-readable medium of claim 8 , wherein determining the set of data records of the blockchain-type data storage ledger comprises:

obtaining the set of data records corresponding to the value of the service attribute by traversing data records in the blockchain-type data storage ledger.

14. The computer-readable medium of claim 8 , wherein the verification status of the data block is unverified, being verified, or verified, wherein the verification status of the data block is updated in the shared memory during verification of the data block and after verification of the data block has been completed.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving, by a server that stores data using a blockchain-type data storage ledger, a verification request for verifying data that is currently stored in the blockchain-type data storage ledger, wherein the verification request comprises a hash value of a data record of the blockchain-type data storage ledger;

obtaining, by the server, the data record of the blockchain-type data storage ledger that corresponds to the hash value to be verified;

obtaining, by the server, a value of a service attribute included in the data record, wherein the service attribute is an identification field of the data record;

determining, by the server, a set of data records of the blockchain-type data storage ledger that each include the value of the service attribute;

determining, by the server, data blocks of the blockchain-type data storage ledger that store data records included in the set of data records; and

performing, by the server, integrity verification on the data blocks that store the data records included in the set of data records, the performing comprising:

writing, into a shared memory, for each data block of the data blocks that store the data records included in the set of data records, (i) a block height of the data block, and (ii) a verification status of the data block;

creating multiple verification threads for verifying the data blocks;

obtaining each data block having a verification status that indicates that the data block has not been verified, based on the block height and the verification status of the data block according to the shared memory;

using the multiple verification threads to verify, in parallel, the data blocks that have been obtained; and

updating the verification statuses of the data blocks in the shared memory to indicate their current verification statuses.

16. The computer-implemented system of claim 15 , wherein the blockchain-type data storage ledger is a blockchain ledger.

17. The computer-implemented system of claim 15 , wherein the blockchain-type data storage ledger is a blockchain-like ledger that centrally stores data, the operations further comprising generating the blockchain-like ledger, wherein the generating comprises:

receiving data records to be stored, wherein the data records include one or more service attributes;

determining hash values of the data records; and

in response to a predetermined block generation condition being reached, determining data records to be written in a new data block, and generating the new data block comprising a hash value of the new data block and the data records, wherein a block height of the new data block monotonically increases based on a sequence of block generation times.

18. The computer-implemented system of claim 17 , wherein the predetermined block generation condition comprises:

a quantity of data records to be stored reaching a quantity threshold; or

a time interval from a last block generation time reaching a time threshold.

19. The computer-implemented system of claim 15 , wherein determining the set of data records of the blockchain-type data storage ledger comprises:

obtaining the set of data records that each include the value of the service attribute by querying one or more previously created indexes associated with the blockchain-type data storage ledger, wherein the previously created indexes comprise mapping relationships between the value of the service attribute and location information of the data records.

20. The computer-implemented system of claim 15 , wherein determining the set of data records of the blockchain-type data storage ledger comprises:

obtaining the set of data records corresponding to the value of the service attribute by traversing data records in the blockchain-type data storage ledger.

21. The computer-implemented system of claim 15 , wherein the verification status of the data block is unverified, being verified, or verified, wherein the verification status of the data block is updated in the shared memory during verification of the data block and after verification of the data block has been completed.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2025
From: ADVANCED NEW TECHNOLOGIES CO., LTD.
To: ANTCHAIN TECHNOLOGY PTE. LTD.
Reel/Frame 070253/0064 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2020
From: YANG, XINYING
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052273/0906 →