IP Library Granted Patent US 10,700,851
Granted Patent B2
US 10,700,851 · App. 16/734,972 · Granted Jun 30, 2020

System and method for implementing a resolver service for decentralized identifiers

Inventors: Yuqi Lin (Hangzhou, CN); Yuan Chen (Hangzhou, CN); Renhui Yang (Hangzhou, CN); Jiawei Liu (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
H04L9/0637G06F21/64H04L9/30H04L9/3239H04L63/0876H04L63/126H04L2209/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,700,851
App. No.
16/734,972
Granted
Jun 30, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for implementing a resolver service. One of the methods includes: obtaining event data from a blockchain, wherein the event data comprises a plurality of updates associated with a plurality of decentralized identifier (DID) documents stored on the blockchain; storing the event data in a database; receiving a request for information associated with the event data; and providing information about one or more updates associated with one or more of the DID documents in response to the request.

Claims (61)

1. A computer-implemented method for implementing a resolver service, comprising:

obtaining event data from a blockchain, wherein the event data comprises a plurality of updates associated with a plurality of decentralized identifier (DID) documents stored on the blockchain;

storing the event data in a database;

receiving a request for information associated with the event data, wherein the request comprises one or more account identifiers;

identifying one or more DIDs respectively corresponding to the one or more account identifiers based on pre-stored mapping relationships between the one or more DIDs and the one or more account identifiers; and

providing information about one or more updates associated with one or more of the DID documents in response to the request, wherein the one or more of the DID documents respectively correspond to the identified one or more DIDs.

2. The method of claim 1 , wherein the event data further comprises a plurality of updates associated with a plurality of verifiable claims (VCs).

3. The method of claim 1 , wherein the obtaining event data comprises periodically accessing an up-to-date version of the blockchain.

4. The method of claim 1 , wherein the obtaining event data comprises:

obtaining a current height of the blockchain;

comparing the obtained current height of the blockchain with a maximum height in the blockchain that data currently stored in the database corresponds to; and

obtaining a plurality of blocks from the blockchain, wherein each of the obtained blocks corresponds to a height in the blockchain greater than the maximum height.

5. The method of claim 4 , wherein the obtaining event data further comprises:

searching, in the obtained blocks, for transactions involving one or more blockchain contracts associated with DIDs or VCs; and

collecting one or more inputs and outputs associated with the one or more blockchain contracts.

6. The method of claim 1 , wherein:

the providing information about one or more updates comprises sending the information to an online agent configured to manage DIDs or VCs for a plurality of users.

7. The method of claim 1 , further comprising:

receiving a request for creating a DID; and

sending one or more blockchain transactions for creating the DID and for adding a DID document associated with the DID to a blockchain node for execution.

8. The method of claim 1 , further comprising:

receiving a request for updating a DID document; and

sending a blockchain transaction for updating the DID document to a blockchain node for execution.

9. The method of claim 1 , further comprising:

receiving a query for a DID document, the query comprising a DID; and

sending a blockchain transaction for identifying the DID document based on the DID to a blockchain node for execution.

10. The method of claim 1 , further comprising:

receiving a query for a public key associated with a DID; and

sending, to a blockchain node for execution, a blockchain transaction for accessing a DID document containing the public key based on the DID.

11. The method of claim 1 , further comprising:

receiving a query for information associated with a VC, the query comprising one or more identifiers for the VC; and

sending, to a blockchain node for execution, a blockchain transaction for accessing the information associated with the VC based on the one or more identifiers.

12. A non-transitory computer-readable storage medium for implementing a resolver service, configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining event data from a blockchain, wherein the event data comprises a plurality of updates associated with a plurality of decentralized identifier (DID) documents stored on the blockchain;

storing the event data in a database;

receiving a request for information associated with the event data, wherein the request comprises one or more account identifiers;

identifying one or more DIDs respectively corresponding to the one or more account identifiers based on pre-stored mapping relationships between the one or more DIDs and the one or more account identifiers; and

providing information about one or more updates associated with one or more of the DID documents in response to the request, wherein the one or more of the DID documents respectively correspond to the identified one or more DIDs.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the event data further comprises a plurality of updates associated with a plurality of verifiable claims (VCs).

14. The non-transitory computer-readable storage medium of claim 12 , wherein the obtaining event data comprises periodically accessing an up-to-date version of the blockchain.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the obtaining event data comprises:

obtaining a current height of the blockchain;

comparing the obtained current height of the blockchain with a maximum height in the blockchain that data currently stored in the database corresponds to; and

obtaining a plurality of blocks from the blockchain, wherein each of the obtained blocks corresponds to a height in the blockchain greater than the maximum height.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the obtaining event data further comprises:

searching, in the obtained blocks, for transactions involving one or more blockchain contracts associated with DIDs or VCs; and

collecting one or more inputs and outputs associated with the one or more blockchain contracts.

17. The non-transitory computer-readable storage medium of claim 12 , wherein:

the providing information about one or more updates comprises sending the information to an online agent configured to manage DIDs or VCs for a plurality of users.

18. The non-transitory computer-readable storage medium of claim 12 , wherein the operations further comprise:

receiving a request for creating a DID; and

sending one or more blockchain transactions for creating the DID and for adding a DID document associated with the DID to a blockchain node for execution.

19. The non-transitory computer-readable storage medium of claim 12 , wherein the operations further comprise:

receiving a request for updating a DID document; and

sending a blockchain transaction for updating the DID document to a blockchain node for execution.

20. A system for implementing a resolver service, comprising a processor and a non-transitory computer-readable storage medium storing instructions executable by the processor to cause the system to perform operations comprising:

obtaining event data from a blockchain, wherein the event data comprises a plurality of updates associated with a plurality of decentralized identifier (DID) documents stored on the blockchain;

storing the event data in a database;

receiving a request for information associated with the event data, wherein the request comprises one or more account identifiers;

identifying one or more DIDs respectively corresponding to the one or more account identifiers based on pre-stored mapping relationships between the one or more DIDs and the one or more account identifiers; and

providing information about one or more updates associated with one or more of the DID documents in response to the request, wherein the one or more of the DID documents respectively correspond to the identified one or more DIDs.

Assignments (3)
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 Jan 9, 2020
From: LIN, YUQI; CHEN, YUAN; YANG, RENHUI; LIU, JIAWEI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051554/0793 →