IP Library Granted Patent US 10,951,617
Granted Patent B2
US 10,951,617 · App. 16/735,056 · Granted Mar 16, 2021

System and method for decentralized-identifier creation

Inventors: Renhui Yang (Hangzhou, CN); Jiawei Liu (Hangzhou, CN); Yuan Chen (Hangzhou, CN); Yuqi Lin (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L63/0876G06F16/2379G06F21/31G06F21/45G06Q20/3829H04L9/0637H04L9/0643H04L9/0866H04L9/0877H04L9/3073H04L9/3239H04L9/3247H04L9/3263H04L9/3271H04L63/126H04L2209/38H04L2209/56
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,951,617
App. No.
16/735,056
Granted
Mar 16, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for blockchain-based decentralized-identifier creation, are provided. One of the methods includes: obtaining a request for creating a decentralized identifier (DID), wherein the request comprises a public key of a cryptographic key pair; creating, based on the public key, a blockchain account associated with a blockchain; creating the DID based on information associated with the blockchain account; and returning a confirmation message comprising the created DID.

Claims (90)

1. A computer-implemented method for blockchain-based decentralized-identifier creation, comprising:

obtaining, by a server, a request for creating a decentralized identifier (DID) for a subject, wherein the request comprises a public key of a cryptographic key pair;

creating, by the server based on the public key, a blockchain account associated with a blockchain;

creating, by the server, the DID based on information associated with the blockchain account;

determining, by the server, that the DID is not duplicative of any existing DID associated with the blockchain;

generating, by the server, a DID document corresponding to the DID, the DID document comprising a status associated with the DID indicating that an authentication of the subject's real-world identity is pending, wherein the determining that the DID is not duplicative of any existing DID associated with the blockchain is a precondition for obtaining the DID document;

storing, by the server, a mapping relationship between the DID and a dummy account identifier;

generating, by the server, a blockchain transaction for adding the DID document to the blockchain;

sending, by the server, the generated blockchain transaction to one or more blockchain nodes associated with the blockchain for adding the generated blockchain transaction to the blockchain;

receiving, by the server from an external system, a proof of a real-world identity authentication for the subject;

in response to receiving the proof of the real-world identity authentication:

updating, by the server, the status associated with the DID to indicate that authentication of the subject's real-world identity is complete; and

storing, by the server, a mapping relationship between the DID and an account identifier associated with the subject, wherein the account identifier corresponds to an account of the subject maintained by a business entity.

2. The method of claim 1 , wherein the obtaining a request for creating the DID comprises:

receiving the request from a computing device associated with the business entity for creating the DID on behalf of the subject.

3. The method of claim 2 , wherein the request for creating the DID further comprises:

the account identifier associated with the subject;

profile information associated with the subject;

information about one or more services associated with the DID; or

a callback address associated with the business entity or the subject.

4. The method of claim 1 , wherein:

the request for creating the DID comprises an application programming interface (API) message.

5. The method of claim 1 , wherein the DID document comprises:

the public key;

authentication information associated with the created DID;

authorization information associated with the created DID;

delegation information associated with the created DID;

one or more services associated with the created DID; or

one or more service endpoints associated with the created DID.

6. The method of claim 1 , wherein:

the blockchain transaction invokes a blockchain contract for managing relationships between DIDs and corresponding DID documents; and

the blockchain contract is associated with the blockchain.

7. The method of claim 6 , wherein:

the blockchain contract comprises an interface for adding one or more DID documents to the blockchain.

8. The method of claim 1 , wherein the generating a blockchain transaction for adding the DID document to the blockchain comprises:

generating an unsigned blockchain transaction for adding the DID document to the blockchain;

determining a hash value of the unsigned blockchain transaction;

sending the hash value to a computing device associated with a sender of the request for creating the DID;

receiving a digital signature from the computing device associated with the sender of the request for creating the DID, wherein the digital signature is generated by encrypting the hash value using a private key of the cryptographic key pair; and

adding the digital signature to the unsigned blockchain transaction to generate the blockchain transaction for adding the DID document to the blockchain.

9. The method of claim 8 , wherein the generating the unsigned blockchain transaction comprises including one or more information items in the unsigned blockchain transaction, the one or more information items comprising:

an address associated with the blockchain;

an identifier of a blockchain contract associated with the unsigned blockchain transaction;

version information of the blockchain contract associated with the unsigned blockchain transaction; or

information of one or more interfaces of the blockchain contract associated with the unsigned blockchain transaction.

10. A non-transitory computer-readable storage medium for blockchain-based decentralized-identifier creation, associated with a server and configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining a request for creating a decentralized identifier (DID) for a subject, wherein the request comprises a public key of a cryptographic key pair;

creating, based on the public key, a blockchain account associated with a blockchain;

creating the DID based on information associated with the blockchain account;

determining that the DID is not duplicative of any existing DID associated with the blockchain;

generating a DID document corresponding to the DID, the DID document comprising a status associated with the DID indicating that an authentication of the subject's real-world identity is pending, wherein the determining that the DID is not duplicative of any existing DID associated with the blockchain is a precondition for obtaining the DID document;

storing a mapping relationship between the DID and a dummy account identifier;

generating a blockchain transaction for adding the DID document to the blockchain;

sending the generated blockchain transaction to one or more blockchain nodes associated with the blockchain for adding the generated blockchain transaction to the blockchain;

receiving, from an external system, a proof of a real-world identity authentication for the subject;

in response to receiving the proof of the real-world identity authentication:

updating the status associated with the DID to indicate that authentication of the subject's real-world identity is complete; and

storing a mapping relationship between the DID and an account identifier associated with the subject, wherein the account identifier corresponds to an account of the subject maintained by a business entity.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the obtaining a request for creating the DID comprises:

receiving the request from a computing device associated with the business entity for creating the DID on behalf of the subject.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the request for creating the DID further comprises:

the account identifier associated with the subject;

profile information associated with the subject;

information about one or more services associated with the DID; or

a callback address associated with the business entity or the subject.

13. The non-transitory computer-readable storage medium of claim 10 , wherein:

the request for creating the DID comprises an application programming interface (API) message.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the DID document comprises:

the public key;

authentication information associated with the created DID;

authorization information associated with the created DID;

delegation information associated with the created DID;

one or more services associated with the created DID; or

one or more service endpoints associated with the created DID.

15. The non-transitory computer-readable storage medium of claim 10 , wherein:

the blockchain transaction invokes a blockchain contract for managing relationships between DIDs and corresponding DID documents; and

the blockchain contract is associated with the blockchain.

16. A server system for blockchain-based decentralized-identifier creation, 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 a request for creating a decentralized identifier (DID) for a subject, wherein the request comprises a public key of a cryptographic key pair;

creating, based on the public key, a blockchain account associated with a blockchain;

creating the DID based on information associated with the blockchain account;

determining that the DID is not duplicative of any existing DID associated with the blockchain;

generating a DID document corresponding to the DID, the DID document comprising a status associated with the DID indicating that an authentication of the subject's real-world identity is pending, wherein the determining that the DID is not duplicative of any existing DID associated with the blockchain is a precondition for obtaining the DID document;

storing a mapping relationship between the DID and a dummy account identifier;

generating a blockchain transaction for adding the DID document to the blockchain;

sending the generated blockchain transaction to one or more blockchain nodes associated with the blockchain for adding the generated blockchain transaction to the blockchain,

receiving, from an external system, a proof of a real-world identity authentication for the subject;

in response to receiving the proof of the real-world identity authentication:

updating the status associated with the DID to indicate that authentication of the subject's real-world identity is complete; and

storing a mapping relationship between the DID and an account identifier associated with the subject, wherein the account identifier corresponds to an account of the subject maintained by a business entity.

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 10, 2020
From: YANG, RENHUI; LIU, JIAWEI; CHEN, YUAN; LIN, YUQI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051477/0370 →