IP Library Granted Patent US 11,108,545
Granted Patent B2
US 11,108,545 · App. 16/779,328 · Granted Aug 31, 2021

Creating a blockchain account and verifying blockchain transactions

Inventor: Jun Zuo (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
H04L9/0637H04L9/0643H04L9/30H04L2209/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,108,545
App. No.
16/779,328
Granted
Aug 31, 2021
Kind
B2
Abstract

Implementations of this specification provide a method and an apparatus for creating a blockchain account and verifying blockchain transactions. An example method performed by a blockchain platform includes receiving a transaction, the transaction including at least an initiator field that specifies an account to be created, a receiver field that specifies a pre-determined field value, and a data field that specifies a user-defined key control rule. The user-defined key control rule includes at least one 3-tuple, and each 3-tuple includes a key identifier, an action identifier, and a permission setting. The blockchain platform seals the transaction into a block, and sends the sealed transaction to at least one other full node in the blockchain network.

Claims (78)

1. A method comprising:

receiving, by a blockchain platform serving as a full node in a blockchain network, a first transaction for creating a blockchain account, the first transaction comprising at least an initiator field that specifies the blockchain account to be created, and a data field that specifies a user-defined key control rule, wherein the user-defined key control rule specified in the data field comprises at least one tuple, and each tuple comprises a key identifier, an action identifier that indicates an action to be performed, and a permission setting that specifies whether the action indicated by the action identifier is permitted, wherein the key identifier is used to identify a key pair, the key pair comprising one public key and one private key, the key identifier having been generated based on the public key;

sealing, by the blockchain platform, the first transaction into a block;

sending, by the blockchain platform, the sealed first transaction to at least one other full node in the blockchain network, thereby creating the blockchain account;

after the blockchain account has been created, receiving, by the blockchain platform, a second transaction, the second transaction comprising at least an initiator field that specifies the created blockchain account, and an extension field that includes a first-action identifier corresponding to a first action involved in the second transaction, extension data, and a digital signature of the extension field;

obtaining, by the blockchain platform, the user-defined key control rule defined during creation of the blockchain account;

determining, by the blockchain platform, a first tuple corresponding to the first-action identifier based on the user-defined key control rule;

verifying, by the blockchain platform, the second transaction based on at least the first tuple, wherein verifying the second transaction comprises:

calculating a first digest of the first-action identifier and the extension data;

obtaining a first public key corresponding to a first key identifier in the first tuple;

encrypting the digital signature of the extension field by using the first public key, to obtain a second digest;

comparing the first digest and the second digest; and

in response to determining that the first digest and the second digest are the same, verifying the first action based on the first tuple, wherein verifying the first action comprises:

obtaining permission setting content in the first tuple; and

in response to the permission setting content indicating that the first action is not permitted, determining that the first action is not successfully verified and that the second transaction is not successfully verified; and

in response to determining that the second transaction is not successfully verified, returning prompt information to a client that initiated the second transaction, wherein the prompt information provides a notification that the second transaction has not been successfully verified.

2. The method according to claim 1 , wherein the first transaction is received by the blockchain platform from a client that initiated the first transaction.

3. The method according to claim 2 , wherein the client that initiated the first transaction is configured to perform operations comprising:

receiving an account creation request of a user, wherein the account creation request comprises the user-defined key control rule;

coding the user-defined key control rule by following a pre-determined coding scheme; and

filling the data field of the first transaction with the coded user-defined key control rule in a pre-determined format.

4. The method according to claim 1 , wherein the first transaction is received by the blockchain platform from another node in the blockchain network.

5. The method according to claim 1 , further comprising:

adding account content corresponding to an account identifier of the blockchain account to a local account database, wherein the account content comprises the user-defined key control rule.

6. The method according to claim 1 , wherein the second transaction is received by the blockchain platform from the client that initiated the second transaction, or from another node in the blockchain network.

7. The method according to claim 1 , wherein obtaining the user-defined key control rule comprises:

obtaining, from the blockchain network, the first transaction that had been previously used to create the blockchain account; and

reading the user-defined key control rule from the data field of the first transaction.

8. The method according to claim 1 , wherein obtaining the user-defined key control rule comprises:

reading account content corresponding to an account identifier of the blockchain account from a local account database, wherein the account content comprises the user-defined key control rule.

9. 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 operations comprising:

receiving, by a blockchain platform serving as a full node in a blockchain network, a first transaction for creating a blockchain account, the first transaction comprising at least an initiator field that specifies the blockchain account to be created, and a data field that specifies a user-defined key control rule, wherein the user-defined key control rule specified in the data field comprises at least one tuple, and each tuple comprises a key identifier, an action identifier that indicates an action to be performed, and a permission setting that specifies whether the action indicated by the action identifier is permitted, wherein the key identifier is used to identify a key pair, the key pair comprising one public key and one private key, the key identifier having been generated based on the public key;

sealing, by the blockchain platform, the first transaction into a block;

sending, by the blockchain platform, the sealed first transaction to at least one other full node in the blockchain network, thereby creating the blockchain account;

after the blockchain account has been created, receiving, by the blockchain platform, a second transaction, the second transaction comprising at least an initiator field that specifies the created blockchain account, and an extension field that includes a first-action identifier corresponding to a first action involved in the second transaction, extension data, and a digital signature of the extension field;

obtaining, by the blockchain platform, the user-defined key control rule defined during creation of the blockchain account;

determining, by the blockchain platform, a first tuple corresponding to the first-action identifier based on the user-defined key control rule;

verifying, by the blockchain platform, the second transaction based on at least the first tuple, wherein verifying the second transaction comprises:

calculating a first digest of the first-action identifier and the extension data;

obtaining a first public key corresponding to a first key identifier in the first tuple;

encrypting the digital signature of the extension field by using the first public key, to obtain a second digest;

comparing the first digest and the second digest; and

in response to determining that the first digest and the second digest are the same, verifying the first action based on the first tuple, wherein verifying the first action comprises:

obtaining permission setting content in the first tuple; and

in response to the permission setting content indicating that the first action is not permitted, determining that the first action is not successfully verified and that the second transaction is not successfully verified; and

in response to determining that the second transaction is not successfully verified, returning prompt information to a client that initiated the second transaction, wherein the prompt information provides a notification that the second transaction has not been successfully verified.

10. The computer-implemented system according to claim 9 , the operations further comprising:

adding account content corresponding to an account identifier of the blockchain account to a local account database, wherein the account content comprises the user-defined key control rule.

11. The computer-implemented system according to claim 9 , wherein obtaining the user-defined key control rule comprises:

obtaining, from the blockchain network, the first transaction that had been previously used to create the blockchain account; and

reading the user-defined key control rule from the data field of the first transaction.

12. The computer-implemented system according to claim 9 , wherein obtaining the user-defined key control rule comprises:

reading account content corresponding to an account identifier of the blockchain account from a local account database, wherein the account content comprises the user-defined key control rule.

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

receiving, by a blockchain platform serving as a full node in a blockchain network, a first transaction for creating a blockchain account, the first transaction comprising at least an initiator field that specifies the blockchain account to be created, and a data field that specifies a user-defined key control rule, wherein the user-defined key control rule specified in the data field comprises at least one tuple, and each tuple comprises a key identifier, an action identifier that indicates an action to be performed, and a permission setting that specifies whether the action indicated by the action identifier is permitted, wherein the key identifier is used to identify a key pair, the key pair comprising one public key and one private key, the key identifier having been generated based on the public key;

sealing, by the blockchain platform, the first transaction into a block;

sending, by the blockchain platform, the sealed first transaction to at least one other full node in the blockchain network, thereby creating the blockchain account;

after the blockchain account has been created, receiving, by the blockchain platform, a second transaction, the second transaction comprising at least an initiator field that specifies the created blockchain account, and an extension field that includes a first-action identifier corresponding to a first action involved in the second transaction, extension data, and a digital signature of the extension field;

obtaining, by the blockchain platform, the user-defined key control rule defined during creation of the blockchain account;

determining, by the blockchain platform, a first tuple corresponding to the first-action identifier based on the user-defined key control rule;

verifying, by the blockchain platform, the second transaction based on at least the first tuple, wherein verifying the second transaction comprises:

calculating a first digest of the first-action identifier and the extension data;

obtaining a first public key corresponding to a first key identifier in the first tuple;

encrypting the digital signature of the extension field by using the first public key, to obtain a second digest;

comparing the first digest and the second digest; and

in response to determining that the first digest and the second digest are the same, verifying the first action based on the first tuple, wherein verifying the first action comprises:

obtaining permission setting content in the first tuple; and

in response to the permission setting content indicating that the first action is not permitted, determining that the first action is not successfully verified and that the second transaction is not successfully verified; and

in response to determining that the second transaction is not successfully verified, returning prompt information to a client that initiated the second transaction, wherein the prompt information provides a notification that the second transaction has not been successfully verified.

14. The computer-readable medium according to claim 13 , the operations further comprising:

adding account content corresponding to an account identifier of the blockchain account to a local account database, wherein the account content comprises the user-defined key control rule.

15. The computer-readable medium according to claim 13 , wherein obtaining the user-defined key control rule comprises:

obtaining, from the blockchain network, the first transaction that had been previously used to create the blockchain account; and

reading the user-defined key control rule from the data field of the first transaction.

16. The computer-readable medium according to claim 13 , wherein obtaining the user-defined key control rule comprises:

reading account content corresponding to an account identifier of the blockchain account from a local account database, wherein the account content comprises the user-defined key control rule.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: ZUO, JUN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054754/0311 →
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 →