Selector, selection method, and program
The lottery device and method address the predictability of pseudo-random numbers by using blockchain hash values or nonces as initial values for random number generation, ensuring fair and unpredictable lottery outcomes.
Patent Information
- Application Number
- JP2024510765
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-29
- Publication Date
- 2025-07-30
- Estimated Expiration
- 2042-03-29
AI Technical Summary
Existing lottery systems using deterministic algorithms or logic circuits generate pseudo-random numbers that can be easily predicted, leading to doubts about the fairness of the lottery results.
A lottery device and method that utilize the hash value or nonce of a block header from a public blockchain as an initial value for random number generation, ensuring randomness and fairness by incorporating globally shared and unpredictable random numbers.
Enables fair lotteries by generating random numbers that are unpredictable and fair, using deterministic algorithms or logic circuits while leveraging the randomness of blockchain consensus mechanisms.
Smart Images

Figure 0007715281000001 
Figure 0007715281000002 
Figure 0007715281000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a lottery device, a lottery method, and a program. [Background technology]
[0002] Patent Document 1 relates to a method for executing a blockchain.
[0003] Patent document 2 relates to a copyright management method in which copyright management transactions are stored in a blockchain.
[0004] Patent Document 3 relates to a random number generation system that generates random numbers to be used in games and electronic lotteries and verifies the fairness of the generated random numbers.
[0005] Non-Patent Document 1 is about Bitcoin.
[0006] For example, a random number generation system that generates random numbers and verifies the fairness of the generated random numbers, as described in Patent Document 3, is used in games and electronic lotteries.
[0007] Furthermore, in a blockchain such as Bitcoin described in Non-Patent Document 1, transactions are grouped together to form a block, and the block header of each block includes the hash value of the block header of the previous block, making it impossible to rewrite the data in a block on the blockchain, and managing the ledger on the blockchain.
[0008] The blocks that are approved and added to the blockchain are determined by each block-producing node connected via a peer-to-peer (P2P) network using a consensus mechanism such as proof of work (PoW). [Prior art documents] [Patent documents]
[0009] [Patent Document 1] Patent Publication No. 2021-101579 [Patent Document 2] Special Publication No. 2019-512778 [Patent Document 3] Japanese Patent Application Publication No. 2018-050973 [Non-patent literature]
[0010] [Non-Patent Document 1] S. Nakamoto, "Bitcoin: a Peer-to-Peer Electronic Cash System," [online], [Retrieved March 2, 2022], Internet<URL:https: / / bitcoin.org / bitcoin.pdf> Summary of the Invention [Problem to be solved by the invention]
[0011] The following analysis is provided by the present invention.
[0012] Random numbers are generated and used in games, electronic lotteries (for example, online lotteries), etc. However, random numbers that can be generated using deterministic algorithms, calculations, or logic circuits are pseudo-random numbers, and although the sequence of generated numbers may appear to be random, if the random number at a given point in time and the calculation algorithm for the random number are known, the next random number to be generated can be easily determined.
[0013] Therefore, when an online lottery is conducted using a lottery machine that uses random numbers generated by a deterministic algorithm, calculation, or logic circuit, participants in the lottery cannot confirm the fairness of the lottery.
[0014] The present invention aims to provide a lottery device, a lottery method, and a program that contribute to enabling fair lotteries using a lottery device that uses random numbers generated by a deterministic algorithm, calculation, or logic circuit, etc.
Means for Solving the Problem
[0015] According to a first aspect of the present invention, a lottery reception unit that assigns a lottery number to a lottery application, a random number generation unit that generates a random number based on an initial value, and a comparison unit that compares the lottery number assigned by the lottery reception unit with the random number generated by the random number generation unit to determine a lottery result, wherein the initial value used by the random number generation unit is set based on the hash value or nonce of the block header of a block of a public blockchain, and a lottery device can be provided.
[0016] According to a second aspect of the present invention, a lottery method executed by a computer, a lottery reception step of assigning a lottery number to a lottery application, a random number generation step of generating a random number based on an initial value, a comparison step of comparing the lottery number assigned in the lottery reception step with the random number generated in the random number generation step to determine a lottery result, and a step of setting the initial value used in the random number generation step based on the hash value or nonce of the block header of a block of a public blockchain can be provided.
[0017] According to a third aspect of the present invention, a computer is caused to, perform a lottery reception process of assigning a lottery number to a lottery application, perform a random number generation process of generating a random number based on an initial value, perform a comparison process of comparing the lottery number assigned in the lottery reception process with the random number generated in the random number generation process to determine a lottery result, and perform a process of setting the initial value used in the random number generation process based on the hash value or nonce of the block header of a block of a public blockchain. A program to be executed can be provided. This program can be recorded on a computer-readable storage medium. The storage medium can be a non-transient one such as a semiconductor memory, a hard disk, a magnetic recording medium, or an optical recording medium. The present invention can also be embodied as a computer program product.
Advantages of the Invention
[0018] According to the present invention, it is possible to provide a lottery device, a lottery method, and a program that contribute to enabling a fair lottery by using a random number generated by a deterministic algorithm, calculation, or logic circuit, etc.
Brief Description of the Drawings
[0019] [Figure 1] It is a diagram showing an example of the schematic configuration of a lottery device according to an embodiment of the present invention. [Figure 2] It is a diagram showing an example of the schematic overall configuration including a lottery device according to the first embodiment of the present invention. [Figure 3] It is a diagram showing an example of another configuration of the random number generation unit of the lottery device according to the first embodiment of the present invention. [Figure 4] It is a diagram showing an example of the hash calculation of the block header of a public blockchain. [Figure 5] It is a diagram showing an example of the configuration of the hash calculation unit of the block header of the lottery device according to the first embodiment of the present invention. [Figure 6] It is a flowchart showing an example of the schematic operation of the lottery device according to the first embodiment of the present invention. [Figure 7] It is a diagram showing an example of the schematic overall configuration including a lottery device according to the second embodiment of the present invention. [Figure 8] It is a flowchart showing an example of the schematic operation of the determination unit of the lottery device according to the second embodiment of the present invention. [Figure 9] It is a diagram showing the configuration of a computer constituting the lottery device of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0020] First, an overview of one embodiment of the present invention will be described with reference to the drawings. Note that the reference numerals in the drawings attached to this overview are attached to each element for convenience as an example to facilitate understanding, and are not intended to limit the present invention to the illustrated form. Furthermore, connecting lines between blocks in the drawings and the like referred to in the following description include both bidirectional and unidirectional lines. Unidirectional arrows are used to schematically indicate the flow of the main signal (data) and do not exclude bidirectionality.
[0021] FIG. 1 is a diagram showing an example of a schematic configuration of a system according to one embodiment of the present invention. Referring to FIG. 1, the lottery device 300 includes a lottery reception unit 310, a random number generation unit 320, and a comparison unit 330. The lottery reception unit 310 assigns a lottery number to a lottery application. The random number generation unit 320 generates a random number based on an initial value 400. The comparison unit 330 compares the lottery number assigned by the lottery reception unit 310 with the random number generated by the random number generation unit 320 to determine the lottery result. The initial value for the random number generation unit 320 is set based on a hash value or nonce of the block header of a block in the public blockchain.
[0022] In the public blockchains of virtual currencies such as Bitcoin and Ethereum, consensus building functions such as Proof of Work (PoW) that determine block generation nodes randomly determine block generation nodes at regular intervals. This is like rolling dice at regular intervals in front of people all over the world, and it has the properties of random numbers, namely randomness, unpredictability, and irreproducibility.
[0023] By setting the initial value of the random number generation unit 320 based on the hash value or nonce of the block header of the block in the public blockchain, a random number generated at regular intervals and shared by nodes around the world is used as the initial value or Seed, and the random number generation unit 320 generates a new random number, enabling the generation of fair random numbers.
[0024] According to an embodiment of the present invention, a fair random number can be generated by the random number generation unit 320 of the lottery device 300 that uses a random number generated by a deterministic algorithm, calculation, logical circuit, etc., and thus, it is possible to provide the lottery device 300 that contributes to enabling a fair lottery.
[0025] [First Embodiment] Next, an example of the schematic configuration of the lottery device according to the first embodiment of the present invention will be described with reference to the drawings. FIG. 2 is a diagram showing an example of the schematic overall configuration including the lottery device according to the first embodiment of the present invention. In FIG. 2, components denoted by the same reference numerals as those in FIG. 1 are assumed to be the same components, and the description thereof will be omitted.
[0026] Referring to FIG. 2, the block generation nodes 100, 101, 102, and 103 of the public blockchain are connected peer-to-peer by the network 200. The block generation node 100 includes a hash value calculation unit 110 for the block header. The other block generation nodes 101, 102, and 103 have the same configuration, but the description thereof will be omitted. The lottery device 300 includes a lottery reception unit 310, a random number generation unit 320, and a comparison unit 330. In the random number generation unit 320, the hash value or nonce of the block header of the block generated by the block generation nodes 100, 101, 102, and 103 is set as the initial value 400.
[0027] FIG. 3 is a diagram showing an example of another configuration of the random number generation unit 320 of the lottery device according to the first embodiment of the present invention. The random number generation unit 320 may be a pseudo-random number generator 321 that generates a random number by a deterministic algorithm, calculation, logical circuit, etc., such as the linear congruential method or a linear feedback shift register (LFSR).
[0028] Figure 4 is a diagram showing an example of hash calculation of a block header of a public blockchain. The block generated by the block generation node 100 is composed of, for example, a block header 120 and transactions 122, 123, etc. as shown in Block 1. The block header 120 includes the hash value 121 of the block header of the previous block. The hash value 170 of the block header of this block (Block 1) is calculated for the block header 120 including the hash value 121 of the block header of the previous block by the hash value calculation 1101 of the block header.
[0029] Figure 5 is a diagram showing an example of the configuration of a hash calculation unit for a block header of a lottery device according to the first embodiment of the present invention. The block header 120 includes the hash value 121 of the block header of the previous block, values 1221, 1231 based on transactions in the block, a nonce 124, and the like. The hash value calculation processing unit 130 calculates the hash value of the block header including the hash value 121 of the block header of the previous block, values 1221, 1231 based on transactions in the block, a nonce 124, and the like. The condition determination unit 140 determines whether the calculated hash value 135 of the block header satisfies a predetermined condition. When the predetermined condition is satisfied (Yes), the output unit 160 outputs the calculated hash value 135 of the block header as the hash value 170 of the block header of this block. On the other hand, when the predetermined condition is not satisfied (No), the value of the nonce is changed by the change unit 150, and the hash value of the block header is calculated again.
[0030] In this way, the block for which the hash value 170 of the block header is obtained when the calculated predetermined condition is satisfied is sent peer-to-peer via the network 200 to other block generation nodes 101, 102, and 103, consensus formation is performed, and the block is approved.
[0031] Next, an example of the general operation of the lottery device of the present invention will be described. FIG. 6 is a flowchart showing an example of the general operation of the lottery device according to the first embodiment of the present invention. The operation starts at step S101.
[0032] Next, at step S102, the lottery reception unit 310 receives a lottery application.
[0033] Next, at step S103, the lottery reception unit 310 assigns a lottery number 315 to the lottery application.
[0034] Next, after the lottery number is determined at step S104, the hash value or nonce of the block header of the approved public blockchain block is acquired, and at step S105, the hash value or nonce of the block header is set as the initial value of the random number generation unit of the lottery device. When targeting multiple different types of public blockchains, the initial value of the random number generation unit 320 may be set based on the hash value or nonce of the block header of the public blockchain block that was approved earliest after the time when the lottery number was assigned among the multiple different types of public blockchains.
[0035] Then, at step S106, the comparison unit 330 compares the random number 325 generated by the random number generation unit 320 with the lottery number 315 determined by the reception unit to determine the lottery result.
[0036] By setting the initial value of the random number generation unit 320 based on the hash value or nonce of the block header of the public blockchain block, it is possible to generate a new random number by using, as the initial value or Seed, the random numbers generated at regular intervals and shared by nodes around the world, thereby enabling the generation of fair random numbers.
[0037] According to the first embodiment of the present invention, the random number generating unit 320 of the lottery device 300 uses random numbers generated by a deterministic algorithm, calculation, logic circuit, or the like, making it possible to generate fair random numbers, thereby providing a lottery device 300 that contributes to making it possible to hold fair lotteries.
[0038] [Second embodiment] Next, an example of the schematic configuration of a lottery machine according to a second embodiment of the present invention will be described with reference to the drawings. Fig. 7 is a diagram showing an example of the schematic overall configuration including the lottery machine according to the second embodiment of the present invention. In Fig. 7, components with the same reference numerals as those in Fig. 2 are considered to be the same components, and their description will be omitted.
[0039] 7 shows an embodiment in which the lottery device 300 of the first embodiment is provided with a determination unit 340. The determination unit 340 determines whether the hash value or nonce of the block header of the block was approved after the time when the lottery number was assigned, based on the timestamp in the block header of the block and the time when the lottery number was assigned.
[0040] 8 is a flowchart showing an example of the general operation of the determination unit 340 of the lottery device according to the second embodiment of the present invention. The operation starts in step S201.
[0041] In step S202, the time 316 at which the lottery number was assigned is acquired from the lottery reception unit 310.
[0042] In step S203, the timestamp of the block header is obtained from the block header with an initial value of 400.
[0043] In step S204, the timestamp in the block header is determined to be validated after the time the lottery number was assigned.
[0044] If the lottery number is approved after the time it is assigned (Yes in step S204), the hash value or nonce of the block header is set as the initial value of the random number generator 320 in step S205. On the other hand, if the lottery number is not approved after the time it is assigned (No in step S204), the lottery device 300 obtains the hash value or nonce of another block header in step S206. The operation ends in step S207.
[0045] According to the second embodiment of the present invention, the hash value or nonce of the block header of the block approved after the lottery acceptance unit 310 assigns a lottery number to the lottery application is set as the initial value of the random number generation unit 320, thereby enabling a fair lottery to be held.
[0046] Furthermore, the procedures shown in the above-described first to second embodiments can be realized by a program that causes an information processing device or the like that functions as the lottery device 300, for example, a computer (9000 in FIG. 9), to realize the functions of the lottery device 300. Such a computer is exemplified by a configuration that includes a CPU (Central Processing Unit) 9010, a communication interface 9020, a memory 9030, and an auxiliary storage device 9040 in FIG. 9. That is, the CPU 9010 in FIG. 9 executes the lottery program, and performs an update process for each calculation parameter held in the auxiliary storage device 9040 or the like.
[0047] The memory 9030 is a RAM (Random Access Memory), a ROM (Read Only Memory), or the like.
[0048] In other words, each part (processing means, function) of the system shown in the first to second embodiments can be realized by a computer program that causes the processor of the computer to execute each of the above-mentioned processes using its hardware.
[0049] Finally, preferred embodiments of the present invention will be summarized. [First form] (Refer to the lottery selector according to the first perspective above) [Second form] For the lottery selector of the first form, it is preferable that the hash value of the block header or the nonce is the hash value of the block header or the nonce of the block that was approved after the lottery receiving unit assigned the lottery number to the lottery application. [Third form] The lottery selector of the second form preferably further includes a determination unit that determines whether the hash value of the block header of the block or the nonce is approved after the time when the lottery number was assigned, based on the timestamp in the block header of the block and the time when the lottery number was assigned. [Fourth form] For the lottery selector of the first form, it is preferable that the random number generation unit includes a pseudo-random number generator. [Fifth form] For the lottery selector of the first form, it is preferable that the initial value of the random number generation unit is set based on the hash value of the block header or the nonce of the block of the public blockchain that was approved earliest after the time when the lottery number was assigned among a plurality of different types of public blockchains. [Sixth form] (Refer to the lottery method according to the second perspective above) [Seventh form] For the lottery method of the sixth form, it is preferable that the hash value of the block header or the nonce is the hash value of the block header or the nonce of the block that was approved after the lottery number was assigned to the lottery application in the lottery receiving step. [Eighth form] The lottery method of the seventh form is executed by a computer. Preferably, it further includes a determination step of determining whether the hash value of the block header of the block or the nonce is approved after the time when the lottery number was assigned, based on the timestamp in the block header of the block and the time when the lottery number was assigned. [Ninth form] (See the program for the third perspective above) [10th Form] In the ninth form of the program, it is preferable that the hash value of the block header or the nonce is the hash value or nonce of the block header of a block that is approved after the lottery number is assigned to the lottery application in the lottery acceptance process. The sixth embodiment can be developed into the fourth to fifth embodiments. The ninth embodiment can be developed into the third to fifth embodiments.
[0050] The disclosures of the above-mentioned patent documents and non-patent documents are incorporated herein by reference. Modifications and adjustments of the embodiments and examples are possible within the scope of the entire disclosure of the present invention (including the scope of the claims), and further based on the basic technical concept thereof. Furthermore, various combinations and selections of the various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) are possible within the scope of the disclosure of the present invention. In other words, the present invention naturally includes various modifications and alterations that would be possible by a person skilled in the art in accordance with the entire disclosure and technical concept, including the scope of the claims. In particular, with regard to the numerical ranges described herein, any numerical value or subrange included within the range should be construed as being specifically described, even if not otherwise specified. [Explanation of symbols]
[0051] 100, 101, 102, 103 Block-producing nodes 110 Block header hash value calculation part 120 block header 121 Hash value of the block header of the previous block 122, 123 Transactions 124 Nonce 130 Hash value calculation processing unit 140 Condition judgment section 150 Changes 160 Output section Hash value of the block header of block 170 (block 1) 200 Peer-to-peer network 300 Selector 310 Selection reception unit 320 Random number generation unit 321 Pseudo-random number generator 330 Comparison unit 340 Determination unit 400 Initial value Calculation of the hash value of the block header of block 1101 Values based on transactions within blocks 1221 and 1231 9000 Computer 9010 CPU 9020 Communication interface 9030 Memory 9040 Auxiliary storage device
Claims
1. A lottery acceptance unit that assigns a lottery number to a lottery application, A random number generation unit that generates a random number based on an initial value, A comparison unit that compares the lottery number assigned by the lottery acceptance unit with the random number generated by the random number generation unit to determine a lottery result, The initial value used in the random number generation unit is set based on the hash value or nonce of the block header of a block in a public blockchain, and is a lottery device, The hash value or nonce of the block header is the hash value or nonce of the block header of a block approved after the lottery acceptance unit assigns the lottery number to the lottery application, and is a lottery device.
2. The lottery device according to claim 1, further comprising a determination unit that determines whether the hash value or nonce of the block header of the block is approved after the time when the lottery number is assigned, based on the timestamp in the block header of the block and the time when the lottery number is assigned.
3. The lottery device according to claim 1, wherein the random number generation unit includes a pseudo-random number generator.
4. The initial value of the random number generation unit is set based on the hash value or nonce of the block header of a block in a public blockchain that is approved earliest after the time when the lottery number is assigned among a plurality of different types of public blockchains, and is the lottery device according to claim 1.
5. A lottery method executed by a computer, A lottery acceptance step of assigning a lottery number to a lottery application, A random number generation step of generating a random number based on an initial value, A comparison step of comparing the lottery number assigned in the lottery acceptance step with the random number generated in the random number generation step to determine a lottery result, A step of setting the initial value used in the random number generation step based on the hash value or nonce of the block header of a block in a public blockchain, and is a lottery method, The hash value or nonce of the block header is the hash value or nonce of the block header of a block approved after the lottery number is assigned to the lottery application in the lottery acceptance step, and is a lottery method.
6. Executed by a computer, The lottery method according to claim 5, further comprising a determination step of determining whether the hash value of the block header of the block or the nonce is approved after the time when the lottery number is assigned, based on the timestamp in the block header of the block and the time when the lottery number is assigned.
7. A program for causing a computer to perform a lottery acceptance process of assigning a lottery number to a lottery application, perform a random number generation process of generating a random number based on an initial value, perform a comparison process of comparing the lottery number assigned in the lottery acceptance process with the random number generated in the random number generation process to determine a lottery result, perform a process of setting the initial value used in the random number generation process based on the hash value or nonce of the block header of a block in a public blockchain, wherein the hash value or nonce of the block header is the hash value or nonce of the block header of a block approved after the lottery number is assigned to the lottery application in the lottery acceptance process.
Citation Information
Patent Citations
Random number generator
EP3413189A1
Random number generation system, random number generation device, random number generation method and program
JP2018050973A
Copyright management method and system
JP2019512778A
Block chain execution method, device, facility, storage medium and program
JP2021101579A