IP Library Granted Patent US 10,791,122
Granted Patent B2
US 10,791,122 · App. 16/803,388 · Granted Sep 29, 2020

Blockchain user account data

Inventor: Xinying Yang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
H04L63/102G06F16/325H04L9/006H04L9/0643H04L9/0825H04L9/3073H04L9/3263H04L2209/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,791,122
App. No.
16/803,388
Granted
Sep 29, 2020
Kind
B2
Abstract

A computer-implemented method for storing data of a new user account in a blockchain ledger, the method including: receiving, from a first client, by a server storing data in the blockchain ledger, an operation instruction instructing the server to create a user account corresponding to a user identifier, in which the operation instruction includes the user identifier and a public key parameter; obtaining, based on the public key parameter, a public key corresponding to the user identifier; creating, in the blockchain ledger, the user account corresponding to the user identifier; generating a data record including the operation instruction and the public key; and writing the data record into the blockchain ledger.

Claims (77)

1. A computer-implemented method for storing data of a new user account in a blockchain ledger, the method comprising:

receiving, from a first client, by a server storing data in the blockchain ledger, an operation instruction instructing the server to create a user account corresponding to a user identifier, wherein the operation instruction comprises the user identifier and a public key parameter;

obtaining, based on the public key parameter, a public key corresponding to the user identifier;

creating, in the blockchain ledger, the user account corresponding to the user identifier;

generating a data record comprising the operation instruction and the public key;

writing the data record into the blockchain ledger;

determining position information of the data record in the blockchain ledger, wherein the position information comprises a block height of a data block where the data record is located and an offset of the data record in the data block; and

writing the public key, the position information, and the user identifier to an index, wherein the public key, the position information, and the user identifier are associated with one another in the index, and wherein the public key is used as a primary key of the index.

2. The computer-implemented method of claim 1 , wherein obtaining the public key corresponding to the user identifier comprises:

obtaining the public key from a pre-stored public key information table; or

invoking a key generation algorithm to generate a public-private key pair, obtaining the public key from the public-private key pair, and sending a private key from the public-private key pair to a service end corresponding to the user identifier.

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

establishing a mapping relationship between the user identifier and the public key; and

writing the mapping relationship into a user configuration file corresponding to the blockchain ledger.

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

receiving, from a second client, a request to obtain the public key, wherein the request comprises the user identifier; and

querying the index to obtain the public key corresponding to the user identifier; or

querying the index to obtain the position information, querying the blockchain ledger to obtain the data record corresponding to the position information, and obtaining the public key from the data record.

5. The computer-implemented method of claim 1 , further comprising generating a new data block in the blockchain ledger, wherein generating the new data block in the blockchain ledger comprises:

receiving one or more further data records, and determining a hash value of each further data record;

determining that a predetermined block forming condition is satisfied;

determining that a sequence number of the new data block in the blockchain ledger is greater than 1; and

generating the new data block in the blockchain ledger, the new data block comprising a hash value of the new data block, a block height of the new data block, the one or more further data records, and a block forming time,

wherein the hash value of the new data block is determined based on the hash values of the one or more further data records and a hash value of an adjacent previous block in the blockchain ledger, and

wherein the block height of the new data block is greater than respective block heights of previous data blocks in the blockchain ledger.

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

receiving, from a first client, by a server storing data in a blockchain ledger, an operation instruction instructing the server to create a user account corresponding to a user identifier, wherein the operation instruction comprises the user identifier and a public key parameter;

obtaining, based on the public key parameter, a public key corresponding to the user identifier;

creating, in the blockchain ledger, the user account corresponding to the user identifier;

generating a data record comprising the operation instruction and the public key;

writing the data record into the blockchain ledger;

determining position information of the data record in the blockchain ledger, wherein the position information comprises a block height of a data block where the data record is located and an offset of the data record in the data block; and

writing the public key, the position information, and the user identifier to an index, wherein the public key, the position information, and the user identifier are associated with one another in the index, and wherein the public key is used as a primary key of the index.

7. The computer-readable medium of claim 6 , wherein obtaining the public key corresponding to the user identifier comprises:

obtaining the public key from a pre-stored public key information table; or

invoking a key generation algorithm to generate a public-private key pair, obtaining the public key from the public-private key pair, and sending a private key from the public-private key pair to a service end corresponding to the user identifier.

8. The computer-readable medium of claim 6 , wherein the operations further comprise:

establishing a mapping relationship between the user identifier and the public key; and

writing the mapping relationship into a user configuration file corresponding to the blockchain ledger.

9. The computer-readable medium of claim 6 , wherein the operations further comprise:

receiving, from a second client, a request to obtain the public key, wherein the request comprises the user identifier; and

querying the index to obtain the public key corresponding to the user identifier; or

querying the public key index table to obtain the position information, querying the blockchain ledger to obtain the data record corresponding to the position information, and obtaining the public key from the data record.

10. The computer-readable medium of claim 6 , wherein the operations further comprise generating a new data block in the blockchain ledger, wherein generating the new data block in the blockchain ledger comprises:

receiving one or more further data records, and determining a hash value of each further data record;

determining that a predetermined block forming condition is satisfied;

determining that a sequence number of the new data block in the blockchain ledger is greater than 1; and

generating the new data block in the blockchain ledger, the new data block comprising a hash value of the new data block, a block height of the new data block, the one or more further data records, and a block forming time,

wherein the hash value of the new data block is determined based on the hash values of the one or more further data records and a hash value of an adjacent previous block in the blockchain ledger, and

wherein the block height of the new data block is greater than respective block heights of previous data blocks in the blockchain ledger.

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:

receiving, from a first client, by a server storing data in a blockchain ledger, an operation instruction instructing the server to create a user account corresponding to a user identifier, wherein the operation instruction comprises the user identifier and a public key parameter;

obtaining, based on the public key parameter, a public key corresponding to the user identifier;

creating, in the blockchain ledger, the user account corresponding to the user identifier;

generating a data record comprising the operation instruction and the public key;

writing the data record into the blockchain ledger;

determining position information of the data record in the blockchain ledger, wherein the position information comprises a block height of a data block where the data record is located and an offset of the data record in the data block; and

writing the public key, the position information, and the user identifier to an index, wherein the public key, the position information, and the user identifier are associated with one another in the index, and wherein the public key is used as a primary key of the index.

12. The computer-implemented system of claim 11 , wherein obtaining the public key corresponding to the user identifier comprises:

obtaining the public key from a pre-stored public key information table; or

invoking a key generation algorithm to generate a public-private key pair, obtaining the public key from the public-private key pair, and sending a private key from the public-private key pair to a service end corresponding to the user identifier.

13. The computer-implemented system of claim 11 , wherein the operations further comprise:

establishing a mapping relationship between the user identifier and the public key; and

writing the mapping relationship into a user configuration file corresponding to the blockchain ledger.

14. The computer-implemented system of claim 11 , wherein the operations further comprise:

receiving, from a second client, a request to obtain the public key, wherein the request comprises the user identifier; and

querying the index to obtain the public key corresponding to the user identifier; or

querying the public key index table to obtain the position information, querying the blockchain ledger to obtain the data record corresponding to the position information, and obtaining the public key from the data record.

15. The computer-implemented system of claim 11 , wherein the operations further comprise generating a new data block in the blockchain ledger, wherein generating the new data block in the blockchain ledger comprises:

receiving one or more further data records, and determining a hash value of each further data record;

determining that a predetermined block forming condition is satisfied;

determining that a sequence number of the new data block in the blockchain ledger is greater than 1; and

generating the new data block in the blockchain ledger, the new data block comprising a hash value of the new data block, a block height of the new data block, the one or more further data records, and a block forming time,

wherein the hash value of the new data block is determined based on the hash values of the one or more further data records and a hash value of an adjacent previous block in the blockchain ledger, and

wherein the block height of the new data block is greater than respective block heights of previous data blocks in the blockchain ledger.

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 052276/0829 →
Priority Claims (1)
CN 2019 1 0599878 · Jul 4, 2019 · national
Continuity (2)
Continuation PCTCN2020071840 · Jan 13, 2020
Related Publication 20200204560A1 · Jun 25, 2020