Information processing device, node selection method, and program
By regionally selective node selection in blockchain networks, the device addresses unfairness and variability in block data reception, enhancing fairness and reducing transmission times, thus improving network efficiency.
Patent Information
- Application Number
- JP2023539392
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-02
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-08-02
AI Technical Summary
Existing blockchain networks face issues of unfairness and variability in block data reception times among nodes due to differences in the number and distribution of inbound and outbound neighboring nodes across regions, leading to potential delays and missed mining opportunities.
An information processing device that selectively chooses inbound and outbound neighboring nodes based on their regional affiliation, limiting the number of nodes from outside regions to predetermined values, ensuring fairness by maintaining a balanced distribution of nodes within and outside the specific region.
This approach enhances fairness and reduces block data transmission time, minimizing delays and improving the overall efficiency and equity among nodes in the blockchain network.
Smart Images

Figure 0007597228000001 
Figure 0007597228000002 
Figure 0007597228000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing device, a node selection method, and a program. [Background technology]
[0002] Blockchain is a database that stores data by generating encrypted units of data called blocks and linking the blocks together like a chain. Blockchain technology is widely used as a platform for virtual currencies such as Bitcoin.
[0003] Each node in the blockchain network becomes a miner and generates new blocks that satisfy the hash function conditions. A node that generates a block that is approved by a certain number of nodes can receive a reward. However, if multiple different miners generate blocks that satisfy the hash function conditions at roughly the same time, multiple blocks may be approved at the same time, causing the blockchain to branch (fork). In this case, blocks that belong to the branched chain other than the chain with the longest number of blocks must later be discarded as orphan blocks. One of the causes of this fork is the block propagation time, which is the time it takes for a block to spread throughout the network. If the block propagation time is short enough, blocks generated later will not be approved.
[0004] Each node in a blockchain network has eight neighboring nodes as outbound neighboring nodes by default, and directly transmits blocks generated by the node itself or blocks transferred from other nodes to the outbound neighboring nodes. Each node also has inbound neighboring nodes in addition to outbound neighboring nodes. An inbound neighboring node of a node is an adjacent node from which the node can directly receive blocks. Each node can have up to 125 neighboring nodes, including outbound and inbound, combined.
[0005] Each node has two tables from which it selects outbound adjacent nodes. The first table is the new table, which lists nodes with which the node has never had an adjacent relationship, and information obtained from the DNS (Domain Name System) is initially stored in the new table. The second table is the tried table, which lists nodes with which the node has had an adjacent relationship.
[0006] Eight outbound adjacent nodes are initially set as a default for each node in a blockchain network, but the adjacent nodes can be changed periodically in response to the addition of new nodes, the downtime of adjacent nodes, etc. The source code for the Bitcoin node, a representative blockchain network, can be downloaded from the URL "bitcoin / bitcoin: https: / / github.com / bitcoin / bitcoin", and in the default settings, each node randomly selects eight outbound adjacent nodes from the new table and tried table held by the node. Also, when there is a request from another node to add an inbound adjacent node, the node is stored randomly in the inbound adjacent node list, so long as the total number of adjacent nodes does not exceed 125 (method 1).
[0007] Non-patent document 1 focuses on the fact that when the above-mentioned method 1 randomly selects OutBound neighboring nodes, there is a high possibility that an adjacent node outside the area with a large propagation delay will be selected, and proposes limiting the number of outside-area neighboring nodes among the OutBound neighboring nodes to 1 or 2 or less (method 2).
[0008] However, as with method 1, the inbound adjacent node selection method for each node in method 2 does not impose any restrictions on the number of adjacent nodes outside the region, and when an inbound adjacent node addition request is received from a certain node, it is accepted if the upper limit of the number of inbound adjacent nodes per node has not been reached. For example, if the upper limit of the number of inbound adjacent nodes is set to 30, and a specific node receives a request to add an adjacent node from a requesting node and only 29 adjacent nodes are set in the inbound adjacent node list, the requesting node is added to the inbound adjacent node list of the specific node.
[0009] Compared to method 1, method 2 sets the upper limit of the number of outbound neighboring nodes outside each node's region to 1 or 2, which reduces inter-regional communication until one block reaches all nodes belonging to each region around the world, and as a result, the block transmission time until one block reaches all nodes is shortened. [Prior art documents] [Non-patent literature]
[0010] [Non-Patent Document 1] Hiroshi Matsuura, Yoshinori Goto, Hidehiro Sao, "Region-based Neighbor Node Selection in Blockchain Networks," IEICE General Conference B-6-30, 2021. Summary of the Invention [Problem to be solved by the invention]
[0011] However, the above method 2 has the following problems.
[0012] The first issue is that there is a difference in the number of inbound neighboring nodes for each node, and nodes with fewer inbound neighboring nodes may receive block data later than nodes with more inbound neighboring nodes, or may not receive it within the set time. Nodes that receive block data late may start mining the next block later, and nodes that do not receive the block data will miss the mining opportunity. In other words, this creates an unfair situation between miners.
[0013] The second issue is that there is a difference in the number or ratio of neighboring nodes outside the region among the inbound neighboring nodes of each node. A node with many neighboring nodes outside the region may be able to receive block data from outside the region quickly, but block data from within the region may be delayed. In this way, there is a possibility that the time it takes to receive block data will vary greatly between nodes.
[0014] The present invention has been made in consideration of the above points, and aims to efficiently improve fairness between nodes in a blockchain network. [Means for solving the problem]
[0015] In order to solve the above problem, the invention according to claim 1 is an information processing device as a predetermined node among a plurality of nodes constituting a blockchain network spanning a plurality of regions, the information processing device having a selection means capable of selecting a request source node that has made a request to add an inbound adjacent node as an inbound adjacent node, and a reception means for receiving an inbound adjacent node addition request from the predetermined request source node, and in the case where the region to which the predetermined request source node belongs is different from a specific region to which the information processing device belongs, a node belonging to the region different from the specific region is selected. but Selected as inbound neighbor The number of people who were selected is the first When the predetermined value is reached, the selection means does not perform the selection.
[0016] The invention according to claim 6 is an information processing device as a predetermined node among a plurality of nodes constituting a blockchain network spanning a plurality of regions, the information processing device having a selection means capable of selecting a request source node that has made a request to add an inbound adjacent node as an inbound adjacent node, and a reception means for receiving an inbound adjacent node addition request from the predetermined request source node, in a case where the region to which the predetermined request source node belongs is different from a specific region to which the information processing device belongs, the information processing device having a selection means capable of selecting a request source node that has made a request to add an inbound adjacent node as an inbound adjacent node. Number of nodes This is an information processing device characterized in that, when the upper limit value indicates the proportion of nodes that can be selected as inbound adjacent nodes that belong to an area other than the specific area, the selection means does not perform the selection. Effect of the Invention
[0017] As described above, the present invention has the effect of efficiently improving fairness between nodes in a blockchain network. [Brief description of the drawings]
[0018] [Figure 1] 1 is a schematic diagram of a blockchain network. [Diagram 2] FIG. 2 is a diagram illustrating an electrical hardware configuration of a node. [Diagram 3] FIG. 2 is a functional configuration diagram of a node. [Figure 4] 13 is a flowchart illustrating a method for selecting an outbound adjacent node. [Diagram 5] 13 is a flowchart illustrating a method for selecting an inbound adjacent node. [Figure 6] 13 shows a matrix of propagation delays (in milliseconds) for data transfers in and out of regions in a SimBlock configuration. [Figure 7] 11 is a graph showing the effect of reducing the transmission time of block data in each method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0020] [Outline of the blockchain network] First, an overview of the blockchain network of this embodiment will be described with reference to Fig. 1. Fig. 1 is a schematic diagram of the blockchain network. Note that Fig. 1 is a simplified version of the blockchain network, and only five nodes are shown due to space limitations. For the same reason, only three regions are shown.
[0021] 1, the blockchain network 1 of this embodiment is constructed by a node 2a, a node 2b, a node 3, a node 4a, and a node 4b. The blockchain network 1 is constructed within a communication network such as the Internet. Each node is a computer. In FIG. 1, a notebook computer is shown as an example of a computer. In FIG. 1, nodes 2a, 3, and 4a belong to the same area (specific area A3). Each area is as shown in FIG. 6 described below. Node 2b belongs to area A2, which is different from specific area A3. Node 4b belongs to area A4, which is different from specific area A3. Note that area A2 and area A4 may be the same area.
[0022] Any node can request the addition of an inbound adjacent node, select an inbound adjacent node, and select an outbound adjacent node. In FIG. 1, nodes 2a and 2b are shown as requesting nodes that request node 3 to select an inbound adjacent node. Also, nodes 4a and 4b are shown as candidate nodes that node 3 selects as an outbound adjacent node. Note that all of the nodes are information processing devices, but in FIG. 1, node 3 is shown as an information processing device in order to distinguish node 3 from the other nodes 2a, 2b, 4a, and 4b.
[0023] [Node hardware configuration] Next, the electrical hardware configuration of the node 3 will be described with reference to Fig. 2. Fig. 2 is a diagram showing the electrical hardware configuration of the node.
[0024] As shown in FIG. 2, node 3 is a computer and includes a CPU (Central Processing Unit) 301, a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, an SSD (Solid State Drive) 304, a display 305, a keyboard 306, an external device I / F 307, a network I / F 308, a media I / F 309, and a bus line 310.
[0025] Of these, the CPU 301 controls the overall operation of the node 3. The ROM 302 stores programs, such as an IPL (Initial Program Loader), used to drive the CPU 301. The RAM 303 is used as a work area for the CPU 301.
[0026] The SSD 304 is a storage device that reads and writes various data such as node programs under the control of the CPU 301. Note that instead of an SSD, a storage device such as an HDD (Hard Disk Drive) may also be used.
[0027] The display 305 is a type of display means, such as a liquid crystal display or an organic EL (Electro Luminescence) display, that displays characters, images, and the like.
[0028] The keyboard 306 is a type of input means equipped with a plurality of keys for inputting characters, numbers, various instructions, and the like.
[0029] The external device I / F 307 is an interface for connecting various external devices. In this case, the external devices are an external display as an example of a display means, a mouse as an example of an input means, an external keyboard or a microphone, a printer or a speaker as an example of an output means, a USB (Universal Serial Bus) memory as an example of a storage means, etc.
[0030] The network I / F 308 is a circuit for transmitting and receiving data to and from other nodes via the Internet.
[0031] The media I / F 309 controls reading and writing (storing) of data from and to a recording medium 309m such as a flash memory. The recording medium 309m includes a DVD (Digital Versatile Disc) and a Blu-ray Disc (registered trademark).
[0032] The bus line 310 is an address bus, a data bus, or the like for electrically connecting the various components such as the CPU 301 shown in FIG.
[0033] The other nodes 2a, 2b, 4a, and 4b have the same configuration as the node 3, so the description thereof will be omitted.
[0034] [Node Functional Configuration] Next, the functional configuration of a node will be described with reference to Fig. 3. Fig. 3 is a diagram showing the functional configuration of a node in an embodiment of the present invention.
[0035] 3, the node 3 includes a transmitting / receiving unit 31, a determining unit 33, and a selecting unit 35. Each of these units has a function realized by an instruction from the CPU 301 in FIG. 2 based on a program.
[0036] The node 3 also includes a storage unit 30 constructed from at least one of the RAM 303 and the SSD 304 in FIG.
[0037] <Memorized data> The storage unit 30 stores an inbound adjacent node list L1, a new table Tn, a tried table Tt, and an outbound adjacent node list L2.
[0038] The inbound adjacent node list L1 shows information indicating the latest nodes selected as inbound adjacent nodes for both outside and within the specific area A3. Here, the upper limit value that can be selected as an inbound adjacent node is 8. Also, here, the predetermined value n11 at which a node in an area outside the specific area A3 can be selected as an inbound adjacent node is 2. The predetermined value n12 at which a node in an area within the specific area A3 can be selected as an inbound adjacent node is 6. Note that, when the selection unit 35 randomly selects an inbound adjacent node, it is preferable that the predetermined value n11 is smaller than the average number of nodes that belong to an area other than the specific area A3 are selected.
[0039] The new table contains a list of information including domain names and IP addresses of nodes with which the node 3 connected to the blockchain network 1 has never maintained an adjacent relationship. Initially, information obtained from the Domain Name System (DNS) is registered in the new table. Note that an adjacent relationship is a relationship that allows direct exchange (sending and receiving) of block data.
[0040] The tried table stores a list of information including the domain names and IP addresses of nodes that have had adjacent relationships with node 3.
[0041] The outbound adjacent node list L2 shows information indicating the latest node selected as an outbound adjacent node for each of the outside and inside of the specific region A3. Here, the upper limit value that can be selected as an outbound adjacent node is the same as the upper limit value that can be selected as an inbound adjacent node (for example, 8). In addition, the predetermined value that can select a node in an area outside the specific region A3 as an outbound adjacent node is n11 (for example, 2), which is the same as the predetermined value that can select a node in an area outside the specific region A3 as an inbound adjacent node. The predetermined value that can select a node in an area within the specific region A3 as an outbound adjacent node is n12 (for example, 6), which is the same as the predetermined value that can select a node in an area within the specific region A3 as an inbound adjacent node. In this way, by combining the upper limit value, the predetermined value n11, and the predetermined value n12 in the case of selecting an inbound adjacent node and the case of selecting an outbound adjacent node, the fairness between the nodes of the blockchain network 1 can be further efficiently improved.
[0042] <Each function configuration> Next, each functional configuration of the node will be described.
[0043] The transmission / reception unit 31 is mainly realized by processing of the CPU 301 for the network I / F 307, and transmits and receives various data (or information) to and from other devices (for example, nodes) via the communication network.
[0044] The determination unit 33 is realized by the processing of the CPU 301, and performs various determinations. For example, the determination unit 33 determines whether the region to which the requesting node belongs is different from the specific region A3 to which the node 3 belongs, based on the IP address of the requesting node that has made the request to add an inbound adjacent node.
[0045] The selection unit 35 is realized by the processing of the CPU 301 and selects an Inbound adjacent node or an Outbound adjacent node. At this time, the selection unit 35 determines whether a predetermined value n11 that enables selection of a node belonging to a region different from the specific region A3 as an Inbound adjacent node or an Outbound adjacent node has been reached. Further, the selection unit 35 determines whether a predetermined value n12 that enables selection of a node belonging to the same region as the specific region A3 as an Inbound adjacent node or an Outbound adjacent node has been reached.
[0046] Note that the selection unit 35 may determine whether a ratio of nodes belonging to a region different from the specific region A3 that can be selected as an Inbound adjacent node (or an Outbound adjacent node) reaches a predetermined value n21 at an upper limit value at which selection as an Inbound adjacent node (or an Outbound adjacent node) is possible. Further, the selection unit 35 may determine whether a ratio of nodes belonging to the same region as the specific region A3 that can be selected as an Inbound adjacent node (or an Outbound adjacent node) reaches a predetermined value n22 at an upper limit value at which selection as an Inbound adjacent node (or an Outbound adjacent node) is possible.
[0047] 〔Processing or operation of the embodiment〕 Subsequently, with reference to FIGS. 4 to 7, the processing or operation of this embodiment will be described in detail.
[0048] <Selection of Outbound adjacent node> With reference to FIG. 4, the selection process of the Outbound adjacent node will be described. FIG. 4 is a flowchart showing the selection process of the Outbound adjacent node. Note that the selection process of the Outbound adjacent node shown below details the above-described method 2.
[0049] First, the determination unit 33 initially reads out the domain name and IP address of the nodes that are candidates for the Outbound adjacent node from the new table Tn (S11).
[0050] Next, the determination unit 33 determines whether the region to which the candidate node belongs is different from the specific region A3 to which the node 3 belongs, based on the domain name and IP address (S12). IP addresses are managed by a global organization called ICANN (Internet Corporation Assigned Names and Numbers) ("The Role of ICANN: https: / / www.icann.org / resources / pages / what-2012-02-25-ja"). The determination unit 33 of the node 3 may use the public information to determine whether the node of the IP address registered in the DNS is in the specific region A3 (its own region) or in another region.
[0051] Then, for example, in the case of the candidate node 4b, if the region it belongs to is different (S12; YES), the selection unit 35 judges whether the number of selected outbound adjacent nodes belonging to a region other than the specific region A3 reaches a predetermined value n11 (for example, 2) in the outbound adjacent node list L2. Then, if the predetermined value n11 has not been reached (S13; NO), the selection unit 35 selects the candidate node as an outbound adjacent node (S14). On the other hand, if the predetermined value n11 has been reached in step S13 (S13; YES), the process returns to step S11.
[0052] For example, in the case of Fig. 3, two nodes (4y, 4z) outside the specific area A3 have already been selected, so the predetermined value n11 has been reached. Therefore, the selector 35 does not select the candidate node 4b in Fig. 1 as an outbound adjacent node.
[0053] In step S13, the selection unit 35 may determine whether the percentage of nodes that belong to an area other than the specific area A3 that can be selected as an Outbound adjacent node reaches a predetermined value n21 (e.g., 25%) in the upper limit value that can be selected as an Outbound adjacent node.
[0054] Furthermore, in the above step S12, if they are not different (the same) (S12; NO), the selection unit 35 judges whether the number of selected outbound adjacent nodes belonging to the same region as the specific region A3 reaches a predetermined value n12 (for example, 6) in the outbound adjacent node list L2. Then, if the predetermined value n12 has not been reached (S15; NO), the selection unit 35 selects the candidate node as the outbound adjacent node in step S14. On the other hand, if the predetermined value n12 has been reached in step S15 (S15; YES), the process returns to step S11.
[0055] 3, only five nodes (4d, 4e, 4f, 4g, and 4h) have been selected within the region, so the predetermined value n12 has not been reached. Therefore, the selector 35 selects the candidate node 4a as the outbound adjacent node.
[0056] In step S15, the selection unit 35 may determine whether the percentage of nodes that belong to the same area as the specific area A3 and that can be selected as Outbound adjacent nodes reaches a predetermined value n22 (e.g., 75%) in the upper limit value that can be selected as Outbound adjacent nodes.
[0057] Next, after step S14, the selection unit 35 judges whether the upper limit (e.g., 8) that can be selected as an outbound adjacent node has been reached (S16). If the upper limit has not been reached (S16; NO), the process returns to step S11. If the upper limit has been reached (S16; YES), the outbound adjacent node selection process of FIG. 4 ends.
[0058] By performing the above process, it becomes possible for each node to always keep the number of outbound adjacent nodes outside the region to, for example, two or less.
[0059] <Selection of Inbound Adjacent Nodes> Using FIG. 5, the selection process of Inbound adjacent nodes will be described. FIG. 5 is a flowchart showing the selection process of Inbound adjacent nodes. Note that the selection process of Inbound adjacent nodes described below is the content showing Method 3 in detail.
[0060] First, the transceiver unit 31 of node 3 receives an addition request for an Inbound adjacent node from a predetermined requesting node (S21). In FIG. 1, the transceiver unit 31 of node 3 receives from node 2a or node 2b. At this time, the transceiver unit 31 also receives the IP address of the requesting node. Note that the IP address is an example of identification information for identifying the requesting node on the Internet.
[0061] Next, the determination unit 33 determines whether the region to which the requesting node belongs is different from the specific region A3 to which node 3 belongs based on the IP address received in step S21 (S22). For example, the determination unit 33 can determine whether the region to which the requesting node belongs is different from the specific region 3A (own region) using ICANN public information. And if it is different (S22; YES), the selection unit 35 determines whether a predetermined value n11 that enables selection of a node belonging to a region different from the specific region A3 as an Inbound adjacent node has been reached (S23). Specifically, the selection unit 35 determines whether the number of selected Inbound adjacent nodes belonging outside the specific region A3 in the Inbound adjacent node list L1 has reached the predetermined value n11. And if the predetermined value n11 has not been reached (S23; NO), the selection unit 35 selects the requesting node as an Inbound adjacent node (S24). On the other hand, in step S23, if the predetermined value n11 has been reached (S23; YES), the selection process of the Inbound adjacent nodes in FIG. 5 ends.
[0062] 3, two nodes (2x, 2y) outside the region have already been selected, so the predetermined value n11 has been reached. Therefore, the selector 35 does not select the requesting node 2b as an inbound adjacent node.
[0063] In addition, in step S23, the selection unit 35 may determine whether the percentage of nodes that belong to an area other than the specific area A3 that can be selected as inbound adjacent nodes, in the upper limit value that can be selected as inbound adjacent nodes, has reached a predetermined value n21 (e.g., 25%).
[0064] Furthermore, in the above step S22, if they are not different (the same) (S22; NO), the selection unit 35 judges whether the number of selected inbound adjacent nodes belonging to the same region as the specific region A3 reaches a predetermined value n12 at which it is possible to select a node as an inbound adjacent node that belongs to the same region as the specific region A3 (S25). Specifically, the selection unit 35 judges whether the number of selected inbound adjacent nodes belonging to the specific region A3 reaches a predetermined value n12 in the inbound adjacent node list L1. Then, if the predetermined value n12 has not been reached (S25; NO), the selection unit 35 selects the requesting node as an inbound adjacent node in step S24. On the other hand, in step S25, if the predetermined value n12 has been reached (S25; YES), the inbound adjacent node selection process in FIG. 5 ends.
[0065] 3, for example, since only five nodes (2c, 2d, 2e, 2f, and 2g) have been selected within the specific area A3, the predetermined value n12 has not been reached. Therefore, the selector 35 selects the requesting node 2a as the inbound adjacent node.
[0066] In addition, in step S25, the selection unit 35 may determine whether the percentage of nodes that belong to the same area as the specific area A3 and that can be selected as inbound adjacent nodes reaches a predetermined value n22 (e.g., 75%) in the upper limit value that can be selected as inbound adjacent nodes.
[0067] By the above process, it becomes possible for each node to always keep the number of inbound adjacent nodes outside the region to, for example, two or less.
[0068] [Comparative evaluation of each method] Next, we will explain the comparative evaluation of each method 1, 2, and 3 using Figures 6 and 7. Figure 6 shows a matrix of propagation delays (milliseconds) for data transfers within and outside the region in the SimBlock setting. This matrix is based on statistical information from the Bitcoin network in 2019.
[0069] Below, we provide a quantitative comparison evaluation of methods 1, 2, and 3. As the simulator, we used SimBlock from "Tokyo Tech News: Development and distribution of public blockchain simulator "SimBlock" begins: https: / / www.titech.ac.jp / news / 2019 / 044557.html".
[0070] SimBlock can randomly place nodes in each of the six world regions as shown in Figure 6, and set up adjacent relationships between nodes. In the evaluation environment used in this comparative evaluation, nodes were randomly placed in each world region with the placement possibilities of North America (33.16%), EU (49.98%), South America (0.9%), Asia Pacific (11.77%), Japan (2.24%), and Australia (1.95%), using the placement ratio of Bitcoin nodes in 2019.
[0071] FIG. 7 is a graph showing the effect of reducing the transmission time of block data in each method.
[0072] "Method 1" is a method for randomly selecting eight outbound adjacent nodes. "Method 2" is a method for fixing the number of adjacent nodes outside the specific area A3 among the outbound adjacent nodes to 1 or 2 or less. However, in both methods 1 and 2, the upper limit of the number of inbound adjacent nodes is set to 30, and requests to add inbound adjacent nodes are accepted by each node as long as the number is 30 or less. In method 3, the upper limit of inbound adjacent nodes is set to 8, the same as the upper limit of outbound adjacent nodes, and the predetermined value that is the upper limit of the number of adjacent nodes outside the specific area A3 among the inbound adjacent nodes is set to the same as the predetermined value that is the upper limit of the number of adjacent nodes outside the specific area A3 among the outbound adjacent nodes. In other words, in "Method 3 (outside area 1)" in FIG. 7, the predetermined value that is the upper limit of the number of adjacent nodes outside the specific area A3 for both outbound and inbound is 1.
[0073] As the evaluation condition was a main chain block height of 200, the evaluation was carried out until 201 main chain blocks had spread throughout blockchain network 1. The average block data transmission time indicates the average time from when each main chain block is generated until it spreads to all nodes on blockchain network 1. However, if a block data in the main chain has not spread to all nodes due to a fork or by the specified time (Bitcoin = 10 minutes), the transmission time of that block is not included in this average value.
[0074] Here, we will explain forks in detail. In the blockchain network 1, when different blocks are generated by different miners at almost the same time, both blocks may obtain a prescribed number of approvals and be generated by forking under the same parent block ("Wikipedia: Blockchain: https: / / ja.wikipedia.org / wiki / %E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3" (hereinafter referred to as "References")). In that case, the block that could not become the main chain after the fork is discarded as an orphan block (References), and the transactions performed on this orphan block are also discarded, so it is better not to generate orphan blocks as much as possible. One of the factors that causes orphan blocks to be generated is the transmission time of block data. If block data were to spread rapidly throughout the entire blockchain network 1, when a notification of the generation of another block data arrives at a certain node, the block data has already arrived at that node, and the later arriving block data would not be approved.
[0075] In addition, in the evaluation, Proof of Work (PoW) was used as the blockchain consensus algorithm ("BLOCKCHAIN business community: What is Proof of Work (PoW) the technology that supports blockchain: https: / / www.businessblockchain.org / what-is-proof-of-work-for-blockchain / ").
[0076] Method 2 can significantly reduce the average block data transmission time of method 1 when the number of inbound neighboring nodes outside the specific region A3 is both 1 and 2. However, method 3 (outside region 1) was able to further reduce the average transmission time of method 2 (outside region 1) by an average of 14.8% in all blockchain networks 1. Method 3 (outside region 2) was also able to further reduce the average transmission time of method 2 (outside region 2) by an average of 7.8% in all blockchain networks 1.
[0077] [Main Effects of the Embodiments] As described above, according to this embodiment, when the region to which the node of the predetermined request origin belongs is different from the specific region A3 to which the node 3 belongs (S22; YES), and the predetermined value n11 at which a node belonging to a region other than the specific region A3 can be selected as an inbound adjacent node is reached (S23; YES), the node 3 does not select the node of the predetermined request origin as an inbound adjacent node (S24). This provides the effect of efficiently improving the fairness between the nodes of the blockchain network 1.
[0078] In particular, by adjusting the upper limit values, predetermined values n11, (n21) and predetermined values n12 (n22) that can be selected as inbound adjacent nodes and outbound adjacent nodes in the case of selecting an inbound adjacent node and the case of selecting an outbound adjacent node, it is possible to more efficiently improve fairness between nodes in the blockchain network 1.
[0079] 〔supplement〕 Although the embodiment of the present invention has been described in detail above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims, as described below. (1) Node 3 can be realized by a computer and a program, and this program can be recorded on a recording medium or provided via a communication network. (2) In the above embodiment, a notebook computer is shown as an example of a node. However, the node is not limited to this and may be, for example, a desktop computer, a tablet terminal, a smartphone, etc. (3) Each CPU 301 may be multiple, not just single. [Explanation of symbols]
[0080] 1. Blockchain Network 2a Requesting node (belonging to specific region A3) 2b Requesting node (belonging to region A2) 3 Node (an example of information processing device) 4a Candidate nodes (belonging to specific region A3) 4b Candidate node (belonging to specific region A4) 30 Storage section 31 Transmitting / receiving unit (an example of a receiving means, an example of a transmitting means) 33 Judgment unit (an example of a judgment means) 35 Selection unit (an example of a selection means)
Claims
1. An information processing device as a predetermined node among a plurality of nodes constituting a blockchain network spanning a plurality of regions, A selection means for selecting a request source node that has made a request to add an inbound adjacent node as an inbound adjacent node; A receiving means for receiving a request to add the inbound adjacent node from a predetermined request source node; having An information processing device characterized in that, when the region to which the specified requesting node belongs is different from the specific region to which the information processing device belongs, and the number of nodes belonging to a region other than the specific region selected as inbound adjacent nodes has reached a first specified value, the selection means does not perform the selection.
2. 2. The information processing device according to claim 1, the receiving means receives, from the node that originates the predetermined request, identification information for identifying the node that originates the predetermined request on the Internet; a determination means for determining whether an area to which the node of the predetermined request source belongs is different from the specific area based on the identification information; 2. An information processing apparatus comprising: a first input section for inputting a first number of inputs to the first input section and a second input section for inputting a second number of inputs to the first input section;
3. 3. The information processing device according to claim 1, wherein the predetermined value is smaller than an average number of nodes that belong to a region other than the specific region when the selection means randomly selects an inbound adjacent node.
4. The selection means is capable of selecting a predetermined candidate node as an outbound adjacent node; The information processing device according to claim 1, characterized in that, when a region to which the predetermined candidate node belongs is different from the specific region and the number of nodes belonging to a region different from the specific region selected as outbound adjacent nodes has reached a second predetermined value, the selection means does not select the predetermined candidate node as an outbound adjacent node.
5. The information processing device according to claim 4, characterized in that the upper limit value of the number of nodes that can be selected as inbound adjacent nodes is the same as the upper limit value of the number of nodes that can be selected as outbound adjacent nodes, and the first specified value is the same as the second specified value.
6. An information processing device as a predetermined node among a plurality of nodes constituting a blockchain network spanning a plurality of regions, A selection means for selecting a request source node that has made a request to add an inbound adjacent node as an inbound adjacent node; A receiving means for receiving a request to add the inbound adjacent node from a predetermined request source node; having An information processing device characterized in that, when the region to which the specified requesting node belongs is different from the specific region to which the information processing device belongs, and when the upper limit value of the number of nodes that can be selected as the inbound adjacent node is a percentage that is capable of selecting a node belonging to a region other than the specific region as the inbound adjacent node, the selection means does not perform the selection.
7. A method for selecting a node executed by an information processing device as a predetermined node among a plurality of nodes constituting a blockchain network spanning a plurality of regions, a receiving step of receiving a request to add an inbound adjacent node from a given request source node; a selection step of not selecting the request source node as an inbound adjacent node when the region to which the specified request source node belongs is different from the specific region to which the information processing device belongs, and the number of nodes belonging to the region different from the specific region selected as inbound adjacent nodes has reached a predetermined value; 2. A method for selecting a node, comprising:
8. A program causing a computer to execute the method according to claim 7.
Citation Information
Patent Citations
Organization management support system, organization management support method and organization management support apparatus
JP2020060821A
Computer-implemented system and method for updating a network's awareness of the topology of a network
JP2020505839A
Accelerating transaction delivery in blockchain networks using transaction resubmissions
JP2020516109A
Blockchain System, Information Sharing Method and Related Equipment
US20200403777A1
Method and device for identity verification
US20210152357A1
