# US 12,192,347 B2 · Public random number generation method and device based on blockchain

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,347 B2
- Document ID: US12192347B2
- Status: Granted
- Kind: B2
- Application number: 17/917,000
- Filed: 2021-04-08
- Published: 2023-05-25
- Granted: 2025-01-07
- Earliest claimed: 2020-04-09
- Assignees: The Blockhouse Technology Limited
- Applicants: The Blockhouse Technology Limited; Bangdao Chen
- Inventors: Bangdao Chen; Andrew William Roscoe
- Web page: https://patentgrep.com/patent/US12192347B2

## CPC

- H04L 9/0869: {involving random numbers or seeds}
- G06F 7/582: {Pseudo-random number generators}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed is a public random number generation method based on a blockchain, including: selecting a node group G containing N trusted nodes; determining a first time point tm and a second time point tn respectively for generating an m-th/n-th block, wherein the former is earlier, and the m-th block is fixed and cannot be tampered at tn; at the first time point tm, enabling each of the N trusted nodes to separately generate a sub-random number rj as a component forming a random number X, wherein j=1, 2, . . . , N, on which delayed encryption is performed, with corresponding results placed in the m-th block; and at the second time point tn, decrypting the delayed encryption results to obtain decrypted data of them all that are all of sub-random number rj, on which operation is performed to obtain the random number X as a final available public random number.

## Claims

### Claim 1

A public random number generation method based on a blockchain, comprising the following steps:
a selection step of selecting a node group G, wherein the node group G contains N trusted nodes;
a determination step of determining a first time point tm and a second time point tn, wherein the first time point tm is earlier than the second time point tn, the first time point tm is a generation time point of an m-th block, the second time point tn is a generation time point of an n-th block, and the m-th block is fixed and cannot be tampered at the second time point tn;
a generation step of, at the first time point tm, enabling each of the N trusted nodes to separately generate a sub-random number rj, wherein j=1, 2, . . . , N, performing delayed encryption on the sub-random number rj, and placing delayed encryption results in the m-th block, wherein the sub-random number rj is a component forming a random number X, and the delayed encryption determines that the encrypted sub-random numbers rj can only be obtained by means of a decryption operation after delay for a period of time; and
a decryption step of, at the second time point tn, decrypting the delayed encryption results to obtain decrypted data of all the delayed encryption results, the decrypted data being for all of the sub-random number rj, and performing an operation solvable in polynomial time on all of the sub-random number rj to obtain the random number X, wherein the random number X is a final available public random number.

### Claim 2 (depends on 1)

The public random number generation method of claim 1, wherein the generation step further comprises storing a digital fingerprint of the sub-random number rj on the blockchain.

### Claim 3 (depends on 1)

The public random number generation method of claim 1, wherein the decryption step further comprises publishing all of the sub-random number rj at the second time point tn such that the N trusted nodes check all of the sub-random number rj.

### Claim 4 (depends on 1)

The public random number generation method of claim 1, wherein the decryption step further comprises decrypting all of the delayed encryption results in the m-th block in response to occurrence of a specific event, and performing operation on all of the resulting sub-random number rj to obtain the random number X, wherein the specific event comprises at least one of: when a certain transaction occurs and when a certain specific time arrives.

### Claim 5 (depends on 1)

The public random number generation method of claim 1, further comprises testing block generating behavior by all nodes within the node group G so that a trustworthy degree of all nodes within the node group G can be identified, thereby ensuring a trustworthy degree of the random number X.

### Claim 6 (depends on 1)

The public random number generation method of claim 1, wherein a generation process of the random number X can be reversely verified based on a correspondence between a numerical value of the random number X and the N trusted nodes generating the random number X.

### Claim 7

A public random number generation device based on a blockchain, comprising the blockchain and a hardware processor, wherein the blockchain ensures that information published thereon is tamper-proof, and the hardware processor is configured to:
select a node group G, wherein the node group G contains N trusted nodes;
determine a first time point tm and a second time point tn, wherein the first time point tm is earlier than the second time point tn, the first time point tm is a generation time point of an m-th block, the second time point tn is a generation time point of an n-th block, and the m-th block is fixed and cannot be tampered at the second time point tn,
at the first time point tm, enable each of the N trusted nodes to separately generate a sub-random number rj, wherein j=1, 2, . . . , N, perform delayed encryption on the sub-random number rj, and place delayed encryption results in the m-th block, wherein the sub-random number rj is a component forming a random number X, and the delayed encryption determines that the encrypted sub-random numbers rj can only be obtained by means of a decryption operation after delay for a period of time; and
at the second time point tn, decrypt the delayed encryption results to obtain decrypted data of all the delayed encryption results, the decrypted data being for all of the sub-random number rj, and perform an operation solvable in polynomial time on all of the sub-random number rj to obtain the random number X, wherein the random number X is a final available public random number.

### Claim 8 (depends on 5)

The public random number generation device of claim 5, wherein the hardware processor is further configured to store a digital fingerprint of the sub-random number rj on the blockchain.

### Claim 9 (depends on 5)

The public random number generation device of claim 5, wherein the hardware processor is further configured to publish all of the sub-random number rj at the second time point tn such that the N trusted nodes check all of the sub-random number rj.

### Claim 10 (depends on 5)

The public random number generation device of claim 5, wherein the hardware processor is further configured to decrypt all of the delayed encryption results in the m-th block in response to occurrence of a specific event, and perform operation on all of the resulting sub-random number rj to obtain the random number X, wherein the specific event comprises at least one of: when a certain transaction occurs and when a certain specific time arrives.

### Claim 11 (depends on 5)

The public random number generation device of claim 5, wherein the hardware processor is further configured to test block generating behavior by all nodes within the node group G so that a trustworthy degree of the all nodes within the node group G can be identified, thereby ensuring a trustworthy degree of the random number X.

### Claim 12 (depends on 5)

The public random number generation device of claim 5, wherein a generation process of the random number X can be reversely verified based on a correspondence between a numerical value of the random number X and the N trusted nodes generating the random number X.

### Claim 13

A non-transitory machine-readable storage medium having stored a computer program thereon, wherein the computer program, when executed by a processor, implements the following steps:
a selection step of selecting a node group G, wherein the node group G contains N trusted nodes:
a determination step of determining a first time point tm and a second time point tn, wherein the first time point tm is earlier than the second time point tn, the first time point tm is a generation time point of an m-th block, the second time point tn is a generation time point of an n-th block, and the m-th block is fixed and cannot be tampered at the second time point tn;
a generation step of at the first time point tm, enabling each of the N trusted nodes to separately generate a sub-random number rj, wherein j=1, 2, . . . N, performing delayed encryption on the sub-random number rj, and placing delayed encryption results in the m-th block, wherein the sub-random number rj is a component forming a random number X, and the delayed encryption determines that the encrypted sub-random numbers rj can only be obtained by means of a decryption operation after delay for a period of time; and
a decryption step of at the second time point tn, decrypting the delayed encryption results to obtain decrypted data of all the delayed encryption results, the decrypted data being for all the sub-random number rj, and performing an operation solvable in polynomial time on all of the sub-random number rj to obtain the random number X, wherein the random number X is a final available public random number.

### Claim 14 (depends on 13)

The non-transitory machine-readable storage medium of claim 13, wherein the generation step further comprises storing a digital fingerprint of the sub-random number rj on a blockchain.

### Claim 15 (depends on 13)

The non-transitory machine-readable storage medium of claim 13, wherein the decryption step further comprises publishing all of the sub-random number rj at the second time point tn such that the N trusted nodes check all of the sub-random number rj.

### Claim 16 (depends on 13)

The non-transitory machine-readable storage medium of claim 13, wherein the decryption step further comprises decrypting all of the delayed encryption results in the m-th block in response to occurrence of a specific event, and performing operation on all of the resulting sub-random number rj to obtain the random number X, wherein the specific event comprises at least one of: when a certain transaction occurs and when a certain specific time arrives.

### Claim 17 (depends on 13)

The non-transitory machine-readable storage medium of claim 13, wherein the computer program further implements testing block generating behavior by all nodes within the node group G so that a trustworthy degree of the all nodes within the node group G can be identified, thereby ensuring a trustworthy degree of the random number X.

### Claim 18 (depends on 13)

The non-transitory machine-readable storage medium of claim 13, wherein a generation process of the random number X can be reversely verified based on a correspondence between a numerical value of the random number X and the N trusted nodes generating the random number X.
