IP Library Granted Patent US 10,979,233
Granted Patent B2
US 10,979,233 · App. 16/812,211 · Granted Apr 13, 2021

Monitoring time certificate generation requests

Inventors: Xinying Yang (Hangzhou, CN); Huabing Du (Hangzhou, CN); Benquan Yu (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L9/3263G06F16/2365G06F16/28H04L9/0637H04L9/3297H04L63/0823H04L2209/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 10,979,233
App. No.
16/812,211
Granted
Apr 13, 2021
Kind
B2
Abstract

Implementations of this specification provide for monitoring time certificate generation requests. An example method performed by a database service that stores data in a blockchain includes, in response to receiving a time certificate generation request, determining a starting block height H 1 and an ending block height H 2 of a target ledger of the blockchain corresponding to the time certificate generation request; in response to determining that the starting block H 1 of the target ledger is greater than a block height H of time authenticated data blocks maintained by the database service, executing the time certificate generation request; and in response to receiving a time certificate generated by a time authentication service for the time certificate generation request, changing a value of the block height H of time authenticated data blocks maintained by the database service to the ending block height H 2 of the target ledger.

Claims (68)

1. A computer-implemented method, comprising:

in response to receiving a time certificate generation request, determining, by a database service that stores data in a blockchain, a starting block height H 1 and an ending block height H 2 of a target ledger of the blockchain corresponding to the time certificate generation request, wherein the target ledger comprises at least one data block or multiple data blocks with consecutive block heights;

in response to determining, by the database service, that the starting block height H 1 of the target ledger is greater than a block height H of time authenticated data blocks maintained by the database service, requesting, by the database service and from a time authentication service, a time certificate that corresponds to the target ledger, wherein requesting the time certificate comprises:

generating a Merkle tree corresponding to the target ledger based on a block height sequence of the data blocks in the target ledger;

determining a root hash of the Merkle tree based on a block hash of each data block; and

sending, to the time authentication service, the root hash of the Merkle tree and related information of the data blocks, wherein the related information of the data blocks comprises the starting block height H 1 and the ending block height H 2 , or a quantity of the data blocks;

receiving, by the database service and from the time authentication service, the time certificate that corresponds to the target ledger, wherein the time certificate comprises the root hash of the Merkle tree, the related information of the data blocks, a trusted timestamp, and a time authority signature; and

in response to receiving, by the database service, the time certificate from the time authentication service for the time certificate generation request, changing a value of the block height H of time authenticated data blocks maintained by the database service to the ending block height H 2 of the target ledger, wherein block heights of data blocks in the target ledger are increased monotonically based on a block generation time sequence.

2. The computer-implemented method of claim 1 , further comprising:

receiving, by the database service, one or more data records to be stored;

for each of the one or more data records, determining, by the database service, a corresponding hash value; and

in response to a predetermined block generation condition being satisfied, determining each data record to be written into a data block and generating an Nth data block that comprises a hash value of the data block and the data record.

3. The computer-implemented method of claim 2 , 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 previous block generation operation reaching a time threshold.

4. The computer-implemented method of claim 1 , wherein determining the target ledger for which time authentication is to be performed comprises:

determining a new data block as being the target ledger; or

determining, based on a starting block height and an ending block height that are indicated by user initiated instruction, the target ledger.

5. The computer-implemented method of claim 1 , wherein determining the target ledger for which time authentication is to be performed comprises:

using a newly generated ledger compliant with a predetermined time authentication condition as the target ledger, wherein the predetermined time authentication condition comprises:

a quantity of newly generated data blocks reaching a quantity threshold; or

a time interval from a previous time authentication operation reaching a time threshold.

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

in response to receiving a time certificate generation request, determining, by a database service that stores data in a blockchain, a starting block height H 1 and an ending block height H 2 of a target ledger of the blockchain corresponding to the time certificate generation request wherein the target ledger comprises at least one data block or multiple data blocks with consecutive block heights;

in response to determining, by the database service, that the starting block height H 1 of the target ledger is greater than a block height H of time authenticated data blocks maintained by the database service, requesting, by the database service and from a time authentication service, a time certificate that corresponds to the target ledger, wherein requesting the time certificate comprises:

generating a Merkle tree corresponding to the target ledger based on a block height sequence of the data blocks in the target ledger;

determining a root hash of the Merkle tree based on a block hash of each data block; and

sending, to the time authentication service, the root hash of the Merkle tree and related information of the data blocks, wherein the related information of the data blocks comprises the starting block height H 1 and the ending block height H 2 , or a quantity of the data blocks;

receiving, by the database service and from the time authentication service, the time certificate that corresponds to the target ledger, wherein the time certificate comprises the root hash of the Merkle tree, the related information of the data blocks, a trusted timestamp, and a time authority signature; and

in response to receiving, by the database service, the time certificate from the time authentication service for the time certificate generation request, changing a value of the block height H of time authenticated data blocks maintained by the database service to the ending block height H 2 of the target ledger, wherein block heights of data blocks in the target ledger are increased monotonically based on a block generation time sequence.

7. The computer-readable medium of claim 6 , the operations further comprising:

receiving, by the database service, one or more data records to be stored;

for each of the one or more data records, determining, by the database service, a corresponding hash value; and

in response to a predetermined block generation condition being satisfied, determining each data record to be written into a data block and generating an Nth data block that comprises a hash value of the data block and the data record.

8. The computer-readable medium of claim 7 , 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 previous block generation operation reaching a time threshold.

9. The computer-readable medium of claim 6 , wherein determining the target ledger for which time authentication is to be performed comprises:

determining a new data block as being the target ledger; or

determining, based on a starting block height and an ending block height that are indicated by user initiated instruction, the target ledger.

10. The computer-readable medium of claim 6 , wherein determining the target ledger for which time authentication is to be performed comprises:

using a newly generated ledger compliant with a predetermined time authentication condition as the target ledger, wherein the predetermined time authentication condition comprises:

a quantity of newly generated data blocks reaching a quantity threshold; or

a time interval from a previous time authentication operation reaching a time threshold.

11. 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:

in response to receiving a time certificate generation request, determining, by a database service that stores data in a blockchain, a starting block height H 1 and an ending block height H 2 of a target ledger of the blockchain corresponding to the time certificate generation request wherein the target ledger comprises at least one data block or multiple data blocks with consecutive block heights;

in response to determining, by the database service, that the starting block height H 1 of the target ledger is greater than a block height H of time authenticated data blocks maintained by the database service, requesting, by the database service and from a time authentication service, a time certificate that corresponds to the target ledger, wherein requesting the time certificate comprises:

generating a Merkle tree corresponding to the target ledger based on a block height sequence of the data blocks in the target ledger;

determining a root hash of the Merkle tree based on a block hash of each data block; and

sending, to the time authentication service, the root hash of the Merkle tree and related information of the data blocks, wherein the related information of the data blocks comprises the starting block height H 1 and the ending block height H 2 , or a quantity of the data blocks;

receiving, by the database service and from the time authentication service, the time certificate that corresponds to the target ledger, wherein the time certificate comprises the root hash of the Merkle tree, the related information of the data blocks, a trusted timestamp, and a time authority signature; and

in response to receiving, by the database service, the time certificate from the time authentication service for the time certificate generation request, changing a value of the block height H of time authenticated data blocks maintained by the database service to the ending block height H 2 of the target ledger, wherein block heights of data blocks in the target ledger are increased monotonically based on a block generation time sequence.

12. The computer-implemented system of claim 11 , the operations further comprising:

receiving, by the database service, one or more data records to be stored;

for each of the one or more data records, determining, by the database service, a corresponding hash value; and

in response to a predetermined block generation condition being satisfied, determining each data record to be written into a data block and generating an Nth data block that comprises a hash value of the data block and the data record.

13. The computer-implemented system of claim 12 , 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 previous block generation operation reaching a time threshold.

14. The computer-implemented system of claim 11 , wherein determining the target ledger for which time authentication is to be performed comprises:

determining a new data block as being the target ledger; or

determining, based on a starting block height and an ending block height that are indicated by user initiated instruction, the target ledger.

15. The computer-implemented system of claim 11 , wherein determining the target ledger for which time authentication is to be performed comprises:

using a newly generated ledger compliant with a predetermined time authentication condition as the target ledger, wherein the predetermined time authentication condition comprises:

a quantity of newly generated data blocks reaching a quantity threshold; or

a time interval from a previous time authentication operation reaching a time threshold.

Assignments (3)
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 May 12, 2020
From: YANG, XINYING; DU, HUABING; YU, BENQUAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052633/0384 →
Priority Claims (1)
CN 201910272452.8 · Apr 4, 2019 · national
Continuity (2)
Continuation PCTCN2020070953 · Jan 8, 2020
Related Publication 20200213136A1 · Jul 2, 2020